make sense to integrate general UE4 MacOS hack/fix via some enviroment variable?

Hi,
seeing https://www.youtube.com/watch?v=Yl86dLJjTW0 learned there is a hack/patch allowing lots more UE4 games to render more or less correctly on MacOS M1/M2 using DXVK+MoltenVK..
the patch is here:
https://github.com/nastys/MoltenVK/commit/be6488dede9f0f351cffc08d3d0a0dd488255817
what's new is the SPIRVToMSLConverter.cpp part of the patch.. there other parts enable DXVK+MoltenVK as before..
there is a prebuilt MoltenVK release listing the bug of many UE4 games more precisely:
https://github.com/nastys/MoltenVK/releases/tag/ue4-workaround-1

This happens because, presumably due to a bug, the "CombineLUTs" step generates a 32x32x32 3D texture with all "layers" black except the first one, resulting in a black frame after post-processing.
I have patched the shader to bypass the LUT for now.

would be nice if that part of the patch can be integrated in MoltenVK and enabled via some enviroment variable (like MVK_FIX_UE4_games?).. makes sense?
thanks..

Most of that commit is faking extensions to keep DXVK-CX happy
I’d ripped out the relevant changes to the following commit
https://github.com/The-Wineskin-Project/MoltenVK/commit/6f5dc572cc89b801d4bce9f420dab776aac255fb

I don’t believe these kind of hacks should become part of MoltenVK once the real issue has been tracked down this could probably be fixed correctly.
What might be acceptable is playing private APIs behind an env/compile option.

This happens because, presumably due to a bug, the "CombineLUTs" step generates a 32x32x32 3D texture with all "layers" black except the first one, resulting in a black frame after post-processing.
I have patched the shader to bypass the LUT for now.

And this, in turn, happens because MoltenVK doesn't yet support geometry shaders. UE4 uses geometry shaders for layered rendering, because D3D11 originally didn't let you set the SV_RenderTargetArrayIndex and SV_ViewportArrayIndex sysvals from vertex or tessellation shaders.

The above is why I hate faking Vulkan extensions in MoltenVK to keep DXVK happy.
Allowing DXVK to avoid geometry shaders but provide a message when required helps show things like this.

If it is because of geometry shaders in post-processing (I haven't really had the time to look into it), I think it would make more sense to implement partial support for geometry shaders (using compute shaders, CPU callbacks or whatever) and lock it behind an environment variable.
My hack doesn't work for all games, probably because the recompiled shader is sometimes slightly different.

If it is because of geometry shaders in post-processing (I haven't really had the time to look into it), I think it would make more sense to implement partial support for geometry shaders (using compute shaders, CPU callbacks or whatever) and lock it behind an environment variable.
My hack doesn't work for all games, probably because the recompiled shader is sometimes slightly different.

I guess you could even do full geometry shaders support with compute shaders, with little overhead. It's just a matter of someone's will to do it.

Something for everyone to keep in mind, Bill is the only person working on MoltenVK full-time.
Chips is working on fixing CT failures (Khronos contract)

Something for everyone to keep in mind, Bill is the only person working on MoltenVK full-time.
Chips is working on fixing CT failures (Khronos contract)

When I say someone I mean anyone that opens a pull request in the repo, like me or you or anyone else.

When I say someone I mean anyone that opens a pull request in the repo, like me or you or anyone else.

Issue #1524 is the request for geometry shaders. And @italomandara has made some suggested implementations there. Compute or mesh shaders are options for solutions. Let's continue discussion of geometry shaders in #1524.

Closing as duplicate.


Fix sat_path/row and station data in prep scripts

PR fixes metadata preparation scripts for GA and USGS Landsat data which incorrectly specified the data used for sat_path, sat_row, and gsi according to default-metadata-types.yaml. Corrected row/path to y/x for the path/row data and name to code for the ground station data.
I also moved the aos and los specifications to the correct place when ingesting "telemetry" data, just in case these prep scripts are ever used for anything other than the "eo" datasets (which get the time information through the extent fields).
This all hinges on me understanding the default-metadata-types.yaml usage, but I tried indexing some data with the changes applied and the database is now recording these fields when they previously did not:
$ datacube-search datasets ...
-[ 9 ]-------------------------------------------------------------------------------------------------------------
dataset_type_id  | 1
gsi              |
id               | 104832f9-e09b-45a6-ae58-72a0d5136f8a
instrument       | TM
lat              | [40.7324012646456,42.7768735557142]
lon              | [-72.8858806917623,-69.8556033602703]
metadata_type    | eo
metadata_type_id | 1
orbit            |
platform         | LANDSAT_5
product          | ls5_espa_scene
product_type     | ESPA
sat_path         |
sat_row          |
time             | 2011-11-05T15:14:38+00:00 to 2011-11-05T15:15:02+00:00
-[ 10 ]------------------------------------------------------------------------------------------------------------
dataset_type_id  | 1
gsi              | GNC
id               | 701b03ad-7e9b-4cb9-a21a-44a801737d2d
instrument       | TM
lat              | [40.7728701272661,42.7348565691638]
lon              | [-74.3123605394179,-71.3810836112756]
metadata_type    | eo
metadata_type_id | 1
orbit            |
platform         | LANDSAT_5
product          | ls5_espa_scene
product_type     | ESPA
sat_path         | 13 to 13
sat_row          | 31 to 31
time             | 2011-11-12T15:20:37+00:00 to 2011-11-12T15:21:01+00:00

Any clue if there is an easy way to fix the database info for the existing data? The path/row information is very important to me (not using NBAR so sensor geometry matters!), but I haven't ran AGDC against too much data to make a complete do over troublesome if needed.

Coverage remained the same at 78.627% when pulling f0c67f231568a006da6366a625f924e75d9cb190 on ceholden:develop into c2431c5e5288a907be9348c03d0dbfe4ec6c2199 on data-cube:develop.

Sorry about that. Easiest is probably to write a script that updates the documents in the database. Here's something that should get you close:
import psycopg2

product_id = 12

conn = psycopg2.connect('dbname=datacube host=xxx.xxx.xxx.xxx port=5432')
cur = conn.cursor()
cur.execute('select id, metadata from agdc.dataset where dataset.dataset_type_ref = %s;', (product_id ,))
data = cur.fetchall()
for id_, metadata in data:
    metadata['acquisition']['groundstation']['code'] = metadata['acquisition']['groundstation'].pop('name')

    metadata['acquisition']['aos'] = metadata['acquisition']['groundstation'].pop('aos')
    metadata['acquisition']['los'] = metadata['acquisition']['groundstation'].pop('los')

    metadata['image']['satellite_ref_point_start']['x'] = metadata['image']['satellite_ref_point_start'].pop('path')
    metadata['image']['satellite_ref_point_start']['y'] = metadata['image']['satellite_ref_point_start'].pop('row')

    metadata['image']['satellite_ref_point_end']['x'] = metadata['image']['satellite_ref_point_end'].pop('path')
    metadata['image']['satellite_ref_point_end']['y'] = metadata['image']['satellite_ref_point_end'].pop('row')

    cur.execute('update agdc.dataset set metadata=%s where id=%s', (psycopg2.extras.Json(metadata), id_))
conn.commit()
cur.close()
conn.close()

@v0lat1le Thank you very much for the advice. I hadn't realized how close the pairing is between that table's schema and the metadata documents.


Do not cache transactions from history payload

What it solves
Resolves #3292
How this PR fixes it
Existing transactions in the history payload are no longer cached and instead overwritten with the 'fresh' data instead.
How to test it
This is trivial to test, but the current cancel bug that we are experiencing is a good reference to use: (aka no manul refresh needed)

Create a transaction and execute it immediately on a 1/? Safe.
Copy the (deeplink) URL and open it immediately in another tab. The status should show that it is cancelled.
Remain in the new tab and observe that after the automatic polling, the status should now update.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 10 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.008%) to 32.375%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/logic/safe/store/reducer/gatewayTransactions.ts
0
10
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.008%

Covered Lines:
3116

Relevant Lines:
8564

💛  - Coveralls

Looks good to me. The tx status in the new tab was updated.
Note: "Send funds" tx will show the pending status and the "needs execution" status in the new tab. "Contract interactions" tx will show the cancelled status in both tabs until it updates. Not a bug, just a curious behavior


IGNITE-8969 Restore server latches if needed after node left the topo…

…logy.

The ticket is resolved, closing PR.
Please close PRs for your resolved tickets and other non-needed PRs.
Alternatively, ask a committer

to use GitHub UI (committer  can associate accounts here: https://gitbox.apache.org/setup/ )
or /scripts/apply_pull_request.sh from Apache Ignite source.
or mention in commit message 'Fixes #(a number of PR)'.

These methods will automatically close PR.
Feel free to reopen this PR if it is actual.


OVA failing to import in VMWare due to 2.0 OVF format.

OVA failing to import in VMWare due to 2.0 OVF format.

Changing the OVA to OVF 1.0 fixes the issue. This will be addressed in an upcoming version of WebSploit.

Fixed in WebSploit 2.0


description	Generated from Usability Domain from new BCO		Develop BCO basics here: BCO names and usability domains  and get approval from Raja/team

complete


fix venv (job with spaces in path)

Codecov Report

Merging #128 into master will decrease coverage by 0.02%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master     #128      +/-   ##
==========================================
- Coverage   64.26%   64.23%   -0.03%
==========================================
  Files          44       44
  Lines        3663     3680      +17
  Branches      625      627       +2
==========================================
+ Hits         2354     2364      +10
- Misses       1132     1138       +6
- Partials      177      178       +1

Impacted Files
Coverage Δ

...lugins/performance/build/PerformanceTestBuild.java
63.9% <60%> (-0.57%)
:arrow_down:

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 9ef946b...a0205b5. Read the comment docs.


Fix issue #3 - convert to string array

https://postsharp.tpondemand.com/entity/3

Will simply bumping the version of<EMAIL_ADDRESS>to v1.0.5 resolve the pipeline error?

Thanks @Soothsilver.  I appreciate.

Thanks. How and when will the NuGet be released?


Could not find method sha256Checksum() for arguments

I tried upgrading to 7.0.0 and got an error when local artefact was included in the scanning. This was not an issue before
 Could not find method sha256Checksum() for arguments [com.xyz:common.utils:1.0] on task ':dependencyCheckAggregate' of type org.owasp.dependencycheck.gradle.tasks.Aggregate.

Do we need to add new exclusion file whitelisting all internal artefacts? Are there any other workarounds?

Dupe of #247, please close.


Can't hide bike/run activities under a certain milage

I have selected both run and rides under 9 miles to be hidden, but they still appear in my feed? Is there a fix for this? Thanks for all that you have done. It's way better thanks to you.

Yes - same issue for me  - set cycling dist to 10 km - but they still appear in feed. And add please "Hide Commutes"

I'm not able to reproduce using 6.1.0 version
Are you using same version?

Any update on this? Can i close?


Allow finding in files selected in SCM

Have a symbol, say a which is used in 200 files
Have a symbol, say b which is used in a subset of those 200 files, like in 50 files
Suppose all usages of a where b is used need to be migrated: a -> a2 and b -> b2
Do a replace in files to replace b with b2
At this time, the SCM viewlet contains exactly the 50 files where a needs to be migrated to a2
It is not possible to operate on those 50 files because all instances of a will be found (200 files)
It would be nice if I could right click on the changed files in the SCM viewlet and use that to define the search context.

I've been tracking ideas for "search in specific files/ranges` in this issue https://github.com/microsoft/vscode/issues/20530. Please leave a comment there for this. Once we have better infrastructure for this type of search, I can start implementing these types of ideas (potentially as part of an API).
/duplicate https://github.com/microsoft/vscode/issues/20530


Replaced Json with Gson to rid of its dependency

Per issue #33, I have replaced Json usages with that of Gson. However I have some concerns:

Since JSONException references have to be removed, it had to be removed from numerous method signatures.
Gson throws RuntimExceptions instead of Exceptions on object type incompatibility. This changes some exception handling behaviour vs. Json which uses JSONException. The updated code will just let RuntimeExceptions trickle up.
Gson API is not fluent and requires more chained calls.

Please review and see if these are OK when reviewing the pull request. If it's too much risk we can leave the original code alone. Thanks.

Thank you Anthony for the pull request. Reducing dependencies does make sense, but I share the same concern that probably too many changes are involved. Also we need to guarantee the backward compatibility with existing developers' code using the Identity Toolkit library. We are thinking of a new library version and will put the Json/Gson redundancy into consideration. Due to these reasons, I incline to close the pull request.


"Remember Me" functionality is broken after disabling 2FA

Describe the bug
When 2FA was first enabled I turned it on, but it seems to have broken the Remember Me functionality. I use Bookstack to take notes on a fairly regular basis from my phone and desktop, and decided I'd sooner have automatic login over 2FA. I disabled 2FA on my account, but Remember Me does not work.
Steps To Reproduce
Steps to reproduce the behavior:

Enable 2FA for your user
Log in using Remember Me
Disable 2FA for your user
Log in using Remember Me

Expected behavior
My next bookstack session should have me automatically logged in
Your Configuration (please complete the following information):

Exact BookStack Version (Found in settings): 21.08.5
PHP Version: 7.4
Hosting Method (Nginx/Apache/Docker): Apache

I have the same issue after updating without ever enabling 2FA.
I wasn't sure if it was a Firefox bug or an issue with an addon, so I didn't raise an issue. But after testing for several days with different browser profiles it still logs me out after some time.
Feels like between a few hours or a day, not right after closing the site an reopening it. As if I didn't check the "remember me" box.

@Bolthier You could try setting SESSION_LIFETIME=1 (So sessions only live for 1 minute by default) in your .env then let me know if you remain logged in, when using the "remember me" option, after 2 minutes of inactivity on the homepage.

I have yet to verify the cookie, but this behavior is consistent with what I'm seeing. I log in from my home machine, work machine, and from my phone quite frequently.

Maybe it'd be a case of a manual logout (Via header option click) revoking all existing "remember me" sessions?

Yeah, that would be the ideal solution. Maybe even give the user some info like browser and ip of all active sessions.

The features could be staged, start with a "toast all sessions" button for basic functionality that could be expanded upon easily enough

I'm having the same behavior as @Bolthier  describes. Logging in another device does invalidate my other Bookstack sessions after the bookstack_session cookie has expired. In the past (I think until the version of May?) I did not have this issue.
For now I've 'solved' it by increasing the value of SESSION_LIFETIME in the .env file.


[CMT-1019-1395] Feat: add support for "right-click on logo" to list missing translations

Add support for "right-click on logo" to reach a list of missing translations, by language, same as supported on vaults.yearn.finance:

This is now a feature on https://sync.yearn.farm/


Implement SqlServerConventionSetBuilder.Build() by using the IServiceProvider

Fixes #10671

@ajcvickers Thoughts on this approach?

@roji @ErikEJ Providers that have a static ".Build()" method are encouraged to follow this pattern to avoid future breaking changes.


merge package template from Kronos-Tools/npm-package-template

Updated standard to latest version

Current coverage is 98.57% (diff: 100%)

Merging #92 into master will not change coverage

@@             master        #92   diff @@
==========================================
  Files             1          1
  Lines           140        140
  Methods          37         37
  Messages          0          0
  Branches          9          9
==========================================
  Hits            138        138
  Misses            2          2
  Partials          0          0

Powered by Codecov. Last update 9d33de6...f677733

Current coverage is 98.57% (diff: 100%)

Merging #92 into master will not change coverage

@@             master        #92   diff @@
==========================================
  Files             1          1
  Lines           140        140
  Methods          37         37
  Messages          0          0
  Branches          9          9
==========================================
  Hits            138        138
  Misses            2          2
  Partials          0          0

Powered by Codecov. Last update 9d33de6...f677733


Unpack a .3dtiles database file

It would be convenient to have a stage that takes a .3dtiles file and unpacks it to a tileset folder. It should ungzip tiles in the database.

👍 I just went looking for this and was sad to see we don't have it yet.

Soon - https://github.com/AnalyticalGraphicsInc/3d-tiles-tools/pull/62


Pagination fails on adding column alias and having condition on alias

Laravel Version: 5.1.45
PHP Version: 5.6
Database Driver & Version:Mysql

Description:
Pagination fails on adding column alias and having condition on alias due to the count query that is run without the select query.
Steps To Reproduce:
$data = PropertyRent::select(DB::raw('min(rent) as min_rent,property_id'))->groupBy('property_id')->having('min_rent','>=',1000)->paginate();
Error:
Unknown column 'min_rent' in 'having clause' (SQL: select count(*) as aggregate from property_rents group by condominium_id having min_rent >= 1000)'
Note: the get() query works fine.

Laravel Version: 5.5.35
PHP Version: 7
Database Driver & Version: Mysql

May we open this issue again ? i have same problem with paginate method on having.

It is mentioned in the laravel docs that pagination doesnt work with groupby statements
https://laravel.com/docs/5.6/pagination
You have to create a paginator manually

@funyug thanks, i replaced paginate method with simplePaginate. it works fine.


ShadowList vs FlatList

ShadowList
FlatList

A Comparison between FlashList and ShadowList could also be interesting

I've updated the metrics and included a demo with FlashList. However, it seems to be completely broken with dynamic size items. If anyone has any suggestions or could submit a PR to fix it, I would really appreciate it.


rtl88xxau-aircrack: fc0194 -> c0ce81

Motivation for this change
The version of this driver doesn't work with changes to the Linux kernel, somewhere around 5.8. This pull request updates to the latest version.
Things done
Tested with review, and works on my machine with my adapter, building from my tree.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 121229 at b55e7b78 run on x86_64-linux 1

4 packages marked as broken and skipped:

linuxPackages-libre.rtl88xxau-aircrack
linuxPackages_hardkernel_4_14.rtl88xxau-aircrack
linuxPackages_hardkernel_latest.rtl88xxau-aircrack
linuxPackages_latest-libre.rtl88xxau-aircrack

13 packages built successfully:

linuxPackages.rtl88xxau-aircrack (linuxPackages_5_10.rtl88xxau-aircrack)
linuxPackages_4_14.rtl88xxau-aircrack
linuxPackages_4_19.rtl88xxau-aircrack
linuxPackages_4_4.rtl88xxau-aircrack
linuxPackages_4_9.rtl88xxau-aircrack
linuxPackages_5_11.rtl88xxau-aircrack (linuxPackages_latest.rtl88xxau-aircrack)
linuxPackages_5_4.rtl88xxau-aircrack
linuxPackages_hardened.rtl88xxau-aircrack
linuxPackages_latest_hardened.rtl88xxau-aircrack
linuxPackages_lqx.rtl88xxau-aircrack
linuxPackages_testing_bcachefs.rtl88xxau-aircrack
linuxPackages_xanmod.rtl88xxau-aircrack
linuxPackages_zen.rtl88xxau-aircrack

1 suggestion:

warning: unclear-gpl
gpl2 is a deprecated license, please check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.
Near pkgs/os-specific/linux/rtl88xxau-aircrack/default.nix:36:5:
   |
36 |     license = licenses.gpl2;
   |     ^


GetVoronoiEdges() defaults to non-standard definition of voronoi using centroids rather than circumcenters

https://github.com/nol1fe/delaunator-sharp/blob/f9e28833b4369a73cc2dcc50ce9ebee99b6227f2/DelaunatorSharp/Delaunator.cs#L541
Expected default behaviour of voronoi functions is circumcenter based voronoi. Defaulting to centroids makes the algorithm appear broken.
It's also notable that since ForEachVoronoiEdge ignores the optional parameter, that function also (by proxy) uses centroids, making the function somewhat useless in its current state unless you're using centroid voronoi for whatever reason.
Edit: Going through old issues I see #5 though I'd argue that providing centroid based voronoi is not useful as it's neither voronoi nor an accurate way to approach centroidal voronoi, though my understanding of voronoi may be limited.

Hello
Yeah, ForEachVoronoiEdge should also have it's own equivalent of Centroid/Circumcenters methods same as  ForEachVoronoiCell or it should just accept selector, so Delaunator API would be consistent in this case.
Feel free to create PullRequest, or just use standard
foreach (var edge in GetVoronoiEdgesBasedOnCircumCenter())
or
foreach (var edge in GetVoronoiEdgesBasedOnCentroids())
or
foreach (var edge in GetVoronoiEdges(Func<int, IPoint> yourOwnSelector))
As I already mentioned in #5, at current stage of package I won't change defaults so other people won't have any issues.
Cheers


doc: add create attachedcluster

What type of PR is this?
/kind documentation
What this PR does / why we need it:
doc of attachedcluster
see #287
The example uses a hack/local-dev-setup.sh kind cluster, keep consistent with #294
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/lgtm


Why is react-scripts requiring webpack-dev-server as a prod dep?

Problem:
react-scripts depends on webpack-dev-server which depends (indirectly) on node-forge.  node-forge is causing a security flag for me (possible vuln).
Solution:
Since webpack-dev-server is used only in dev, move it to devDependencies

That's not how dev dependencies work. If it was in there, it would never get installed and you wouldn't be able to run npm start.


Ignore secrets.yaml when using include_dir_named

Description:
Fixes the inclusion of secrets.yml when using the "include_dir_named" directive.
Related issue (if applicable): fixes #22926
Pull request in home-assistant.io with documentation (if applicable):  n/a
Example entry for configuration.yaml (if applicable):
n/a
Checklist:

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

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] [The manifest file][manifest-docs] has all fields filled out correctly ([example][ex-manifest]).
[ ] New dependencies have been added to requirements in the manifest ([example][ex-requir]).
[ ] New dependencies are only imported inside functions that use them ([example][ex-import]).
[ ] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Thanks! 🐬

A question on the PR summary, is the change to Ignore secrets.yaml when using include_dir_named or is it to Not ignore secrets.yaml when using include_dir_named?

👍 a pleasure


Corrected body and title text

Is it just me or are they the wrong way around? Please do correct me if I'm missing the point.
Thanks for a great library 🎉

Nice catch. Thanks!


[SPARK-36540][YARN]YARN-CLIENT mode should check Shutdown message when AMEndpoint disconencted

What changes were proposed in this pull request?
We meet a case AM lose connection
21/08/18 02:14:15 ERROR TransportRequestHandler: Error sending result RpcResponse{requestId=5675952834716124039, body=NioManagedBuffer{buf=java.nio.HeapByteBuffer[pos=0 lim=47 cap=64]}} to xx.xx.xx.xx:41420; closing connection
java.nio.channels.ClosedChannelException
        at io.netty.channel.AbstractChannel$AbstractUnsafe.newClosedChannelException(AbstractChannel.java:957)
        at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:865)
        at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367)
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764)
        at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1104)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)

Check the code about client, when AMEndpoint disconnected, will finish Application with SUCCESS final status
override def onDisconnected(remoteAddress: RpcAddress): Unit = {
      // In cluster mode or unmanaged am case, do not rely on the disassociated event to exit
      // This avoids potentially reporting incorrect exit codes if the driver fails
      if (!(isClusterMode || sparkConf.get(YARN_UNMANAGED_AM))) {
        logInfo(s"Driver terminated or disconnected! Shutting down. $remoteAddress")
        finish(FinalApplicationStatus.SUCCEEDED, ApplicationMaster.EXIT_SUCCESS)
      }
    }

Normally say in client mode, when application success, driver will stop and AM loss connection, it's ok that exit with SUCCESS, but if there is a not work problem cause disconnected. Still finish with final status is not correct.
Then YarnClientSchedulerBackend will receive application report with final status with success and stop SparkContext cause application failed but mark it as a normal stop.
  private class MonitorThread extends Thread {
    private var allowInterrupt = true

    override def run() {
      try {
        val YarnAppReport(_, state, diags) =
          client.monitorApplication(appId.get, logApplicationReport = false)
        logError(s"YARN application has exited unexpectedly with state $state! " +
          "Check the YARN application logs for more details.")
        diags.foreach { err =>
          logError(s"Diagnostics message: $err")
        }
        allowInterrupt = false
        sc.stop()
      } catch {
        case e: InterruptedException => logInfo("Interrupting monitor thread")
      }
    }

    def stopMonitor(): Unit = {
      if (allowInterrupt) {
        this.interrupt()
      }

IMO, we should send a Shutdown message to yarn client mode AM to make sure the shut down case
Why are the changes needed?
Fix bug
Does this PR introduce any user-facing change?
No
How was this patch tested?

Test build #142598 has started for PR 33780 at commit 7cdffa9.

Test build #142598 has finished for PR 33780 at commit 7cdffa9.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47098/

Test build #142603 has started for PR 33780 at commit 2d9578c.

Test build #142603 has finished for PR 33780 at commit 2d9578c.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

Test build #142607 has started for PR 33780 at commit dd56ddd.

Test build #142607 has finished for PR 33780 at commit dd56ddd.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
  protected class YarnSchedulerEndpoint(override val rpcEnv: RpcEnv)

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

retest this please

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47098/

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

Test build #142608 has started for PR 33780 at commit dd56ddd.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47104/

Test build #142608 has finished for PR 33780 at commit dd56ddd.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
  protected class YarnSchedulerEndpoint(override val rpcEnv: RpcEnv)

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47106/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47108/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47104/

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

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

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47106/

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47108/

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

cc @tgravescs @mridulm FYI

Also ping @vanzin @xkrogen

the main thing here is to make sure we don't report fail when we aren't sure. I need to remember all the cases. I assume in this case you are running client batch mode?  ie not pyspark or spark-shell

the main thing here is to make sure we don't report fail when we aren't sure. I need to remember all the cases. I assume in this case you are running client batch mode? ie not pyspark or spark-shell

Since for yarn-client mode.

there are some other component integration with spark use this exit code to judge if the job running well, the exit code need to be clear.
if we call sc.stop() in program's end or trigger by ShutfownHook, in driver side, it's no matter if MonitorThread get reply and call sc.stop()
If it's a good network env, AM should receive the Shutdown message and finish with SUCCESS.
If's a bad network, AM can't connect with driver, it always be a failed application, but know, it return SUCCESS.

It was intentionally decided to just always return success in those cases.  If this properly handles those cases I'm fine with it but I need to go try to remember what they all were and make sure they are handled. We should not report FAIL unless its truly a failure.

It was intentionally decided to just always return success in those cases. If this properly handles those cases I'm fine with it but I need to go try to remember what they all were and make sure they are handled. We should not report FAIL unless its truly a failure.

Got your point..I miss the case such as killing spark-shell weirdly...then how about:

add a configuration such as spark.yarn.clientModeAMDisconnect as Failed, when true,  make it as failed, when false let it behavior as before? then let user to choose? Two company's scheduler platform meet such case, so we can have a choose. Since we always non't need to rerun  pysaprk/spark-shell/spark-sql?
For pyspark/spark-shell/spark-sql such interactive mode, make it behavior as before and for normal batch job, make it failed when disconnected?

Test build #142878 has started for PR 33780 at commit d90816e.

Test build #142878 has finished for PR 33780 at commit d90816e.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47381/

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47381/

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

Like mentioned in the other issue, I think we should start discussion on spark dev..

Like mentioned in the other issue, I think we should start discussion on spark dev..

The email has been sent, if I missed anything, please add it. Thanks a lot.

ping @mridulm @Ngone51

@tgravescs has much more context on this, I will defer to his advice on this.

@tgravescs has much more context on this, I will defer to his advice on this.

Ok, seem no other dev care about this. Add a configuration is the only I can find that meet different case.

sorry I'm swamped right now, I'll get back to this next week to review and will try to ping a few people directly.

sorry I'm swamped right now, I'll get back to this next week to review and will try to ping a few people directly.

Ok, thanks a lot.

Ok, I talked to a few other people and no one has strong opinions and I'm ok with the config as long as its very clearly documented that could get wrong failure.

Ok, I talked to a few other people and no one has strong opinions and I'm ok with the config as long as its very clearly documented that could get wrong failure.

Thanks a lot, so do you have any other suggestion in current code?

ping @tgravescs

Test build #143720 has started for PR 33780 at commit a0d4b81.

Test build #143720 has finished for PR 33780 at commit a0d4b81.

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48232/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48232/

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

Test build #143786 has started for PR 33780 at commit 26ad1ca.

Test build #143786 has finished for PR 33780 at commit 26ad1ca.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48298/

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

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48298/

ping @tgravescs

retest this please

Test build #144026 has started for PR 33780 at commit 9e14c21.

Test build #144029 has started for PR 33780 at commit 9e14c21.

Test build #144026 has finished for PR 33780 at commit 9e14c21.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48505/

merged to master, thanks everyone


Rely on Groups of users in scope bounded access tokens

This issue is a subtask of #11327, thus continues the discussion from there.
When deriving the permissions of a user during granting an access token, the permissions should be derived by the permission directly assigned to the user(via roles), and implicit permissions assigned via user groups.
Tasks

[ ] Check on how current permission deriving works and incorporate groups if not already done.

This is already done with https://github.com/wso2/product-is/issues/9040.


Add camera reseters for common view planes

Addresses need for convenience methods to orient camera to view certain planes (XY, XZ, YZ) in #111
import vtki
from vtki import examples

data = examples.load_airplane()

p = vtki.Plotter()
p.add_mesh(data)
p.view_xz()
p.show()

Also adds ability to lock the camera view for a renderer so the user cannot change it (see #111):
p.disable()

p.enable()

Codecov Report

Merging #115 into master will decrease coverage by 0.5%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master     #115      +/-   ##
==========================================
- Coverage   89.89%   89.38%   -0.51%
==========================================
  Files          18       18
  Lines        4689     4731      +42
==========================================
+ Hits         4215     4229      +14
- Misses        474      502      +28

Impacted Files
Coverage Δ

vtki/qt_plotting.py
98.91% <100%> (+0.01%)
:arrow_up:

vtki/renderer.py
85.63% <20.68%> (-5.78%)
:arrow_down:

vtki/plotting.py
82.34% <50%> (-0.32%)
:arrow_down:

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 47e3714...9c6eb1b. Read the comment docs.


Add AI service to fitness store quickstart

This PR adds a new quickstart to Azure Spring Apps Enterprise for integrating Azure OpenAI.

cc: @KarlErickson

Thanks, @maly7! As always, I'll recreate this PR internally, and handle edits and internal review there. I'll leave this PR open, and update it with my edits when they're ready, or seek further input if necessary. Then, we'll close this PR when we publish, after any necessary changes are integrated to the internal PR.
CC @bmitchell287 @selvasingh

Hey @KarlErickson if you need anything here please reach out to me as well, I'll be chasing this out

@candicenonsense will do. Currently, we're waiting on feedback from @selvasingh, who I believe will contact you directly.

Team - let's proceed with building a review link for these contents. Good to go

@selvasingh review links are available only in the internal, private repo. The internal PR is linked a few comments above.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/255362

@maly7 @candicenonsense this article is now published. See https://learn.microsoft.com/en-us/azure/spring-apps/quickstart-fitness-store-azure-openai. Thank you for the contribution! Much appreciated.


istio: Use cilium-istioctl instead of helm directly

Istio GSG and Istio CI test are modified to downloading the current
version of the cilium-istioctl and use it for Istio deployment.
Istioctl bundles the helm charts and uses a helm library to configure
Kubernetes. Cilium version (cilium-istioctl) adds support for
Cilium-specific configuration of the sidecar proxies and defaults to
Cilium builds of pilot and sidecar proxy so that the user does not
need to set the images explicitly.
'bookinfo-gateway.yaml' is added to examples so that it can be used in
the GSG without requiring downloading Istio yamls.
Both Istio GSG and the CI test now use a namespace label for automatic
sidecar injection. This simplifies application deployment and allows
easier future CI updates as pre-formed application/Istio yamls can now
be removed.
Istio integration is simplified with Cilium build of istioctl.

test-me-please

test-gke K8sIstio.*

test-gke K8sIstio.*

test-me-please

Coverage increased (+0.007%) to 45.905% when pulling c7f19d714eac2801bfc99f3c6252db0954efae07 on pr/jrajahalme/istio-update-2020-04-03 into e774b9cff86f0714a551dac050a572e4b2ef4563 on master.

test-me-please

test-gke K8sIstio.*

test-gke K8sIstio.*

test-me-please

test-gke K8sIstio.*

test-me-please

test-gke K8sIstio.*

test-me-please


commandline: multiple commandnames support

Can we add this to the project? This way its possible to set multiple commandnames in the attribute. like long and short name.
eg.
[CommandName("codegen ext", "codegen extension")]

Nice, need to write something on the readme for this. Good stuff.


Automated cherry pick of #10217: server create sku parameter fix

Cherry pick of #10217 on release/3.7.
#10217: server create sku parameter fix

Codecov Report

Merging #10218 (cfaadc2) into release/3.7 (0ff3997) will increase coverage by 1.87%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release/3.7   #10218       +/-   ##
================================================
+ Coverage         5.98%    7.86%    +1.87%
================================================
  Files              848      110      -738
  Lines           131795    13366   -118429
================================================
- Hits              7887     1051     -6836
+ Misses          123206    12195   -111011
+ Partials           702      120      -582

Flag
Coverage Δ

aFlag
7.86% <0.00%> (+1.87%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/auth_totp.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/idp.go
1.84% <0.00%> (ø)

pkg/apigateway/handler/misc.go
0.00% <0.00%> (ø)

pkg/apigateway/handler/resource.go
0.00% <0.00%> (ø)

pkg/hostman/diskutils/nbd/driver.go
0.74% <0.00%> (-0.01%)
:arrow_down:

pkg/hostman/diskutils/nbd/lvmutils.go
4.70% <0.00%> (-0.24%)
:arrow_down:

pkg/util/imagetools/imagetools.go
40.50% <0.00%> (-2.74%)
:arrow_down:

pkg/monitor/alerting/eval_context.go
35.45% <0.00%> (-1.55%)
:arrow_down:

pkg/monitor/alerting/rule.go
1.78% <0.00%> (-0.09%)
:arrow_down:

... and 672 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 ee779c0...cfaadc2. Read the comment docs.


multiple php-fpm pools

Hi, I'm wondering. I thought it was possible to clear the opcache for the whole php-fpm master processes, but it seems with cachetool it's need to precise which .sock to clear? Any way to force the clearance of all the pools? Or is there something I'm missing/misunderstanding? Thanks.

You can call cachetool for every pool.
Alternatively you can submit a PR for cachetool to apply its commands to multiple targets at the same time.

Ok cool. I'll grab some more knowledge about how the clearing works (still don't get that it should be a per pool thing) and yeah, might play a bit with a PR. Thanks!

opcode cache is system wide AFAIK .. every pool uses the same central shared memory
I argue if you clear on a pool then you clear every pool at once

Closing due to inactivity.


Wine debug in OSX

I have this launch file and it starts the debugger and stops at breakpoints.
The trouble is that when it stops at the breakpoint it does not show where it stopped and it does not show variables. I tried with VSCode Insiders and the latest stable versions.
I tried with "communication": "pipe" and without pullBreakpointsSupport but they did not affect it, it worked the same way with or without both options.
{
  "name": "lj current wine",
  "type": "lua-local",
  "request": "launch",
  "pullBreakpointsSupport": true,
  "cwd": "${fileDirname}",
  "program": {
    "command": "wine64"
  },
  "args": ["~/nc/bin/bin_win_x64/lj.exe", "-e", "'require([[lldebugger]]).runFile([[${file}]],true)'"]
}

Anyone here with OSX?
I only have Windows10 + WSL.

Anyone out here with OSX? I only have Windows10 + WSL.

Well... me. Send me debug instructions.

I don't have OSX either, however, this looks like the debugger can't find the file.
Have you tried adding the folder to the scripts roots?
"scriptRoots": [
     "${fileDirname}",
],

Though I would not expect it to stop at a breakpoint, if it doesn't know where it is.
Another thing that comes to mind is that the paths in wine64 might be different, than on your host system. If the above doesn't fixes it, could you run a file, where the debug breakpoints won't trigger correctly and print out the following line?
print(debug.traceback())

In addition, have you tried running your file via tomblinds original version? Does the issue occur there too?

In addition, have you tried running your file via tomblinds original version? Does the issue occur there too?

I'm quite sure it worked about a year ago in the original version, but lots of programs have been changed (like wine) and it did not work anymore with the original version.
The debugger does stop in breakpoints correctly, but vscode does not show where the breakpoints are and the variables are not shown when stopped.

In addition you can have a look into the extension logs:
https://stackoverflow.com/a/54381900/3493998
Maybe there is a more precise hint or error.

I tried scriptRoots, no change.
The first error comes when I start debugging and it stops at the breakpoint. The second error comes when I stop debugging.

In addition, have you tried running your file via tomblinds original version? Does the issue occur there too?

I'm quite sure it worked about a year ago in the original version, but lots of programs have been changed (like wine) and it did not work anymore with the original version.
The debugger does stop in breakpoints correctly, but vscode does not show where the breakpoints are and the variables are not shown when stopped.

There were dependency changes on this repo. Especially on vscode dependencies. Might this be a reason? Were there changes on vscode regarding wine?

This looks kinda promising, @stuta:
https://github.com/microsoft/vscode/issues/196948


Validation score inconsistency when using DDP training

When training and validating with multiple GPUs, I have been unable to reproduce the validation scores produced by single-GPU training runs.
I suspect this is in part due to how we split validation amongst GPUs.
Towards the beginning of adopting lightning, I was encountering issues with the training process hanging at the end of the first validation step due to the validation dataloaders being of different lengths on different GPUs. This issue was in part due to the (relatively) complex way we go about splitting validation segments. I resolved this in an extremely hacky way by setting the minimum length of all the GPU validation dataloaders. This is certainly a possible culprit for the disparites in validation scores when training with multi-
GPU.
I propose that we simplify how validation data is split amongst GPUs, even at the cost of a decrease in data entropy / quantity.

One way to verify / debug this would be to call trainer.validate() using the same model weights, and specifying different numbers of GPUs via CUDA_VISIBLE_DEVICES

Closing, since I'm realizing there will always be some sort of discrepancy with the way we do timeslides.
Theres no (easy) way to distribute the same exact timeslides across arbitrary number of gpus


1398 create form for announcements

refactor: move conditional approval form in project.tsx into separate component
feat: add form schema and ui schema for announcements
feat: add announcements form
feat: update announcements schema
feat: improve announcement styling and add headers
feat: add ccbc id select widget
feat: make announcement ccbc id chips clickable
feat: announcements style improvements
refactor: rework announcement form
refactor: remove unneccessary select widget margin
feat: add announcement url validation
feat: add graphql mutation create announcement
chore: add validator types
feat: save announcement
feat: show basic announcement on save
feat: start announcements in edit mode when no announcements
feat: add error borders to announcement widgets
feat: validate announcements form before saving
feat: update url widget error styles
fix: project form submit button displaying when no children
fix: broken project page tests

Implements #1398

I'm getting a bug with the date picker:

I'm getting a bug with the date picker:

Damn that issue is what took me so long to do the animation! Though looks like it's only on a fresh form which is how I missed it, will try and fix that thanks.

@AntBush that should be fixed now thank you.


mail() doesn't work The email could not be sent.

The error from WordPress
The email could not be sent.
Possible reason: your host may have disabled the mail() function.

phpmailerException Object
(
    [message:protected] => Could not instantiate mail function.
    [string:Exception:private] =>
    [code:protected] => 2
    [file:protected] => /var/www/html/wp-includes/class-phpmailer.php
    [line:protected] => 1507
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => /var/www/html/wp-includes/class-phpmailer.php
                    [line] => 1337
                    [function] => mailSend
                    [class] => PHPMailer
                    [type] => ->
                    [args] => Array
                        (
                            [0] => Date: Sat, 13 May 2017 12:29:32 +0000
From: WordPress <wordpress@localhost>
Message-ID: <ba9699dc6a25f380081bfe96c5fde875@localhost>
X-Mailer: PHPMailer 5.2.22 (https://github.com/PHPMailer/PHPMailer)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8

                            [1] => Someone has requested a password reset for the following account:

http://docker-local.dev/

Username: admin

If this was a mistake, just ignore this email and nothing will happen.

To reset your password, visit the following address:

<http://docker-local.dev/wp-login.php?action=rp&key=yEbkCNRBogJiIZwzctAH&login=admin>

                        )

                )

            [1] => Array
                (
                    [file] => /var/www/html/wp-includes/class-phpmailer.php
                    [line] => 1213
                    [function] => postSend
                    [class] => PHPMailer
                    [type] => ->
                    [args] => Array
                        (
                        )

                )

            [2] => Array
                (
                    [file] => /var/www/html/wp-includes/pluggable.php
                    [line] => 471
                    [function] => send
                    [class] => PHPMailer
                    [type] => ->
                    [args] => Array
                        (
                        )

                )

            [3] => Array
                (
                    [file] => /var/www/html/wp-login.php
                    [line] => 372
                    [function] => wp_mail
                    [args] => Array
                        (
                            [0] => Array
                                (
                                    [0] =><EMAIL_ADDRESS>                                )

                            [1] => [admin] Password Reset
                            [2] => Someone has requested a password reset for the following account:

http://docker-local.dev/

Username: admin

If this was a mistake, just ignore this email and nothing will happen.

To reset your password, visit the following address:

<http://docker-local.dev/wp-login.php?action=rp&key=yEbkCNRBogJiIZwzctAH&login=admin>

                        )

                )

            [4] => Array
                (
                    [file] => /var/www/html/wp-login.php
                    [line] => 494
                    [function] => retrieve_password
                    [args] => Array
                        (
                        )

                )

        )

    [previous:Exception:private] =>
    [xdebug_message] =>
( ! ) phpmailerException: Could not instantiate mail function. in /var/www/html/wp-includes/class-phpmailer.php on line 1507

Call Stack

#	Time	Memory	Function	Location

1	0.0029	525584	{main}(  )	.../wp-login.php:0

2	0.4872	17627552	retrieve_password(  )	.../wp-login.php:494

3	0.5142	17647280	wp_mail(  )	.../wp-login.php:372

4	0.5265	18341024	PHPMailer->send(  )	.../pluggable.php:471

)

Tested this locally, and it works for me. I think this bug was solved in #28 and perhaps this issue was never closed to reflect that. Let me know if you still have issues with this, but closing for now.


[ePSKc][dbus] implement dBus API for ePSKc data setting

Is this PR still in the plan?

Is this PR still in the plan?

This is the old one and obsoleted. I will mark to close, thanks!


Placeholder color for input and textarea is off the default color palette

Tailwind's default color palette is great for creating quick and consistent designs. Having some of the colors assigned by default (eg border-color) also contributes to consistency a lot.
Currently placeholder in inputs and textareas has the default half-transparent black color which makes forms look a little off.  Since inputs are present in almost every project (my guess), maybe matching placeholder's color to the Tailwind's palette by default could be a good idea?

By default we actually set the placeholder to the same color as the text for the input, but with the opacity dropped to 50%. We did this because it seemed like a sane way to match the actual text color simply, for example if you have an error state on a form field and you make the text red, the placeholder will become a semi-transparent red:

Agree in a perfect world it would just be a proper color from the palette instead of using the opacity hack, but I think until we natively add support for styling placeholders with utilities (like placeholder-grey-light or something), what we have now is probably the best solution 😕
The tricky thing with providing native support for placeholder styles is it's hard to decide whether it should be a utility (like placeholder-red) or a variant (like placeholder:text-red). A variant probably makes the most sense and would be easy to add, so maybe we can get something like that in for the next release.

Thanks for the detailed explanation! I was also delighted to learn from your latest journal post that people who rely on default styles are not a niche group of Tailwind users.
Having placeholder's opacity set to .5 makes sense, and having access to changing its style through a utility or a variant could be a great addition to the framework. Meanwhile, I have another suggestion on how to fit placeholder's look into palette, and I'm sorry if it gets too picky 😶
Do you think it makes sense to set the default style for placeholder to Tailwind's black instead of pure black (and keeping the opacity set to .5)? The change is not of the most pronounced ones, but it does remove false-red saturation that pure-black placeholder receives from all the blue-saturated greys around it:

I realize this may lead to inconsistencies because the default text color is pure black, and that is done for a reason. But I still believe this minor fix could improve the default look of forms created with Tailwind without breaking Tailwind's design system. For example, iOS — a design system that I believe took saturated greys mainstream — uses purple greys almost everywhere, including placeholders, and pure black for text:

Anyway, thanks for your great work!

Do you think it makes sense to set the default style for placeholder to Tailwind's black instead of pure black (and keeping the opacity set to .5)?

Because the placeholder color is inherited from the current color you can already do this by setting text-black on your input/textarea:
<input class="text-black">

Personally I add text-black (and a few other defaults) to the body tag so that it's used as the default for the entire site:
<body class="text-black leading-tight font-sans">
  <!-- ... -->
</body>

The problem with hardcoding a default for placeholders is that the placeholder color wouldn't update as the text color changes. Currently the placeholder is always based on the text color:

If we hardcoded a default placeholder color, the placeholder would be grey even in the red input:

So I think until we make it possible to customize the placeholder color with utilities, the current default is the most useful.

Personally I add text-black (and a few other defaults) to the body tag so that it's used as the default for the entire site

This actually does the job of styling forms within the color palette, thanks!
Looking forward to a placeholder utility/variant in future releases 🤞


Comparison with JPL Horizons

In comparison with the data from JPL Horizons it gives some error:
JPL: [-1.10659532e+08  9.70047434e+07 -2.39525979e+04]
JL:   [-1.10369890e+08  8.93069592e+07  3.86931886e+07]

Hovewer in the documentation it's stated that The package's test suite uses test files provided by JPL to confirm that the results are correct.
The code:
using JPLEphemeris

spk = SPK("de430.bsp")
jd = parse(Float64,"2457388.33750")
st = state(spk, 0, 3, [jd])

Also, got warning
WARNING: Compat.ASCIIString is deprecated, use String instead.
  likely near /usr/share/nginx/html/orbital/jplephem.jl:3

Thanks for raising this issue!
I know about the warnings and I am working on a new version which will released shortly after release of Julia 1.0.
Do the tests pass on your system, i.e. running Pkg.test("JPLEphemeris")? They do in fact use reference files from JPL (see here and here).

Yes, it's on my system, running Pkg.test("JPLEphemeris").
Probably, there is something to do with the kernel file?
Will the new version affect the accuracy of calculations? May I use it before its official release?

I cannot reproduce the large differences you report above. Since we are dealing with floating point numbers here, some small differences are to be expected but nothing of this magnitude. I cross-checked with another ephemeris libary CALCEPH.jl and also HORIZONS and the results agree.
See below:
using JPLEphemeris
using CALCEPH

#= Results from HORIZONS

*******************************************************************************
Ephemeris / WWW_USER Sun Mar 11 14:22:27 2018 Pasadena, USA      / Horizons
*******************************************************************************
Target body name: Earth-Moon Barycenter (3)       {source: DE431mx}
Center body name: Solar System Barycenter (0)     {source: DE431mx}
Center-site name: BODY CENTER
*******************************************************************************
Start time      : A.D. 2015-Dec-31 20:06:00.0000 TDB
Stop  time      : A.D. 2016-Jan-01 20:06:00.0000 TDB
Step-size       : 0 steps
*******************************************************************************
Center geodetic : 0.00000000,0.00000000,0.0000000 {E-lon(deg),Lat(deg),Alt(km)}
Center cylindric: 0.00000000,0.00000000,0.0000000 {E-lon(deg),Dxy(km),Dz(km)}
Center radii    : (undefined)
Output units    : KM-S
Output type     : GEOMETRIC cartesian states
Output format   : 2 (position and velocity)
Reference frame : ICRF/J2000.0
Coordinate systm: Earth Mean Equator and Equinox of Reference Epoch
*******************************************************************************
JDTDB
   X     Y     Z
   VX    VY    VZ
*******************************************************************************
$$SOE
2457388.337500000 = A.D. 2015-Dec-31 20:06:00.0000 TDB
 X =-2.397369940214402E+07 Y = 1.332783266075707E+08 Z = 5.775135440685978E+07
 VX=-2.985511115924724E+01 VY=-4.649678447772338E+00 VZ=-2.015586548039692E+00
$$EOE
*******************************************************************************

=#

rh = [-2.397369940214402E+07,
      1.332783266075707E+08,
      5.775135440685978E+07]
vh = [-2.985511115924724E+01,
     -4.649678447772338E+00,
     -2.015586548039692E+00]

jd = 2457388.337500000
jd1 = floor(jd)
jd2 = jd - jd1

de431 = SPK("de431_part-2.bsp")
rj = position(de431, 3, jd1, jd2)
vj = velocity(de431, 3, jd1, jd2)

@assert rh ≈ rj
@assert vh ≈ vj

eph = Ephem("de431_part-2.bsp")
prefetch(eph)
ceph = compute(eph, jd1, jd2, 3, 0, useNaifId + unitKM + unitSec,1)
rc = ceph[1:3]
vc = ceph[4:6]

@assert rh ≈ rc
@assert vh ≈ vc

@assert rc ≈ rj
@assert vc ≈ vj

Please note that you need to set the coordinate system to Earth Mean Equator and Equinox of Reference Epoch in HORIZONS.

Yes, you're right. The problem was in chosen coordinate system.
The issue may be closed.
One question: How to convert the result to J2000 frame in Julia?

The output should already be in the J2000 frame.

May I change the coordinate system to ecliptic in JPLEphemeris?

You could use ERFA.jl:
using ERFA

# Obliquity of the ecliptic at reference epoch (J2000)
obliquity = ERFA.obl80(2451545.0, 0.0)
coso = cos(obliquity)
sino = sin(obliquity)

# Transformation matrix
rot = eye(3)
rot[2,2] = coso
rot[2,3] = sino
rot[3,2] = -sino
rot[3,3] = coso

r_ecliptic = rot * r_equatorial
v_ecliptic = rot * v_equatorial


Implemented base CMake installation support

Now this project can be easily installed with CMake:
cmake --install build --prefix install

Closes https://github.com/microsoft/vcpkg/issues/19114.

Thanks for the PR!
Please leave a comment on https://github.com/microsoft/vcpkg/issues/19114#issuecomment-886214126 explaining the need for this when you are able.

@strega-nil-ms What I need to do? I have two options:

The vcpkglib library, headers with config will be installed only if the BUILD_SHARED_LIBRARIES is enabled. Preferred.
The vcpkglib library will be explicitly marked as STATIC. It will not be installed. I will remove headers and configs installation.

@xvitaly I personally think the latter is better; @ras0219, your opinion?

@strega-nil-ms Updated PR. Ready to re-review.

@xvitaly this looks great :D

Thanks for your contribution!


Update documentation to include core.iterators as API

Make sure javadoc and all other documentation includes the org.apache.accumulo.core.iterators package as part of the public API.   This will require updates to the website as well.

I think this is mostly on the website, but the javadoc configuration for publishing our javadocs to the website probably needs to be updated to include this package.


[WIP] New Mu Microsite

This PR brings the new microsite settings for higherkindness.
Additionally, updates the Scala 2.12 version and the sbt version.

7d5cb2a should complete the needed changes @juanpedromoreno

Thank you @calvellido , looks great to me!


Feature/item synchronize

feat(item): _synchronize
finishes unit tests for the most part
closes #6

Current coverage is 97.75% (diff: 85.71%)

Merging #23 into master will increase coverage by 3.01%

@@             master        #23   diff @@
==========================================
  Files            10         10
  Lines           399        400     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            378        391    +13
+ Misses           21          9    -12
  Partials          0          0

Powered by Codecov. Last update 38f8de3...35b7192


[Component] Secondary sticky navigation (new)

Example page that contains sticky nav: https://www.redhat.com/en/events/red-hat-google-cloud-next
Possible code to borrow from: https://gitlab.corp.redhat.com/uxdd/webrh/tree/dev/src/library/patterns/secondary_nav_bar
Interactions: https://gitlab.corp.redhat.com/uxdd/webrh/tree/dev/src/js/smooth-scroll

https://docs.google.com/document/d/153LBNhqijdBwxoeibtAAd7Uf3pmvhZUYOssLJGycDto/edit

Closing this in favor of jump links horizontal


Build failed when i use target sdk 31

i got error in github actions Execution failed for task ':app:kaptStgDebugKotlin
anyone can help me fix this issue?
thank you

Hello. Is the app compiling OK when do you a clean build on your computer?

Hi,
currently I am facing this problem as well and yes clean build works on my local machine.
Any Ideas? :D
Thanks in advance

hi niels
thank you for your reply
there's no trouble in my local
but when i build on github actions, failed
On Thu, Jan 6, 2022, 00:50 Niels @.***> wrote:

Hi,
currently I am facing this problem as well and yes clean build works on my
local machine.
Any Ideas? :D
Thanks in advance
—
Reply to this email directly, view it on GitHub
https://github.com/android-actions/setup-android/issues/233#issuecomment-1005943284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIAK3JZZJC6X6OLIDV2YW7TUUSAGRANCNFSM5KZ6NLTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Works for me. Show the failing github actions run.

Let me know if we should circle back here


pdf size workarounds

pdf caching + service to shrink files
user message in browser (this file will take long to load...) based on filesize indexed in esearch

from iiif: Hey all! Any feedback is welcome here, we’re trying to rendering PDFs into our UniversalViewer and are experiencing long load times, we don’t think it has anything to do with the viewer because when we try to download the pdf from source directly (we use duracloud) it takes just as long to load. Does anyone have experience with making pdfs load faster in your iiif viewer? We are thinking about caching pdfs, so making a second version of pdf that’s a smaller size specifically for the viewer - if you do that any recommendations for tools?

Can update IIIF manifest to render pdf pages. Need to pass in "page" url parameter with page number value. UniversalViewer does not show controls to move on to the next page of the PDF when done this way, it just shows the current page requested as an image

Look into UV config settings to see if it is possible to enable pagination of PDF page images within a PDF file
If there is no way to do #1 then implement a paginator form and append it to the UV content. The form would control the "page" value in the current UV source url

If the IIIF manifest contains a canvas for each page in the PDF, it will render the pagination controls, and load only a single page of the pdf for each canvas.
Each canvas contains an image with the resource url along with the the "page" parameter
Need to determine or know the number of pages in the pdf when the IIIF manifest is generated.

Use pdf library to get page count of file (File would need to be fetched remotely. This should still cause a delay for larger pdfs)
Store the page count in the Elastic index? Can that page count be determined on the back end upon ingesting a pdf?

Intedrated the pdf page count into the manifest data object #353
Added a function to IIIF manifest generator to create multiple canvases for a pdf file and show one page from the pdf on each canvas #353
Updated the IIIF manifest to display a collection of manifests for a compound pdf object and enable manifest generation for individual compound object parts #353
Updated the IIIF thumbnail on click events and index link click events to update the pdf page thumbnail urls and the download object url #353

Intedrated the pdf page count into the manifest data object #353
Added a function to IIIF manifest generator to create multiple canvases for a pdf file and show one page from the pdf on each canvas #353
Updated the IIIF manifest to display a collection of manifests for a compound pdf object and enable manifest generation for individual compound object parts #353
Updated the IIIF thumbnail on click events and index link click events to update the pdf page thumbnail urls and the download object url #353

Summary of updates:

Implemented a function to count the number of pages in a pdf object, for the generation of a multi page pdf manifest
Updated the IIIF manifest generator with a 'paged pdf' function, to create a manifest with multiple canvasses for the pdf pages
Updated the IIIF manifest generator to create manifests for compound object parts
Updated the IIIF manifest generator to create a manifest "list" for compound pdf objects that will be displayed as paged
Updated the universalviewer to display pdf pages in the thumbnails section
Updated the universalviewer index links section to navigate the manifests in the manifest list correctly for our instance
Updated the file download form to work with the above universalviewer changes above

Summary of updates:

Implemented a function to count the number of pages in a pdf object, for the generation of a multi page pdf manifest
Updated the IIIF manifest generator with a 'paged pdf' function, to create a manifest with multiple canvasses for the pdf pages
Updated the IIIF manifest generator to create manifests for compound object parts
Updated the IIIF manifest generator to create a manifest "list" for compound pdf objects that will be displayed as paged
Updated the universalviewer to display pdf pages in the thumbnails section
Updated the universalviewer index links section to navigate the manifests in the manifest list correctly for our instance
Updated the file download form to work with the above universalviewer changes above


Fix golangci-lint code static check

What type of PR is this?
Enhancement
What this PR does / why we need it:
Add code static check
Which issue(s) this PR fixes:

Fixes #262
Static check specification adjustments
Special notes for your reviewer:

/LGTM
@lbbniu  Please squash the commits before merge.


Have simulation state be per scene

Currently the simulation state applies across the whole project, so if a simulation is running, a new scene tab is opened, and a new simulation scene is created, the simulation is automatically running there too, which I don't think makes sense. This is also an issue when viewing and modifying parts scenes, because changes can't be saved until you navigate back and stop the simulation.

Probably needs to be included as part of: https://github.com/Open-Industry-Project/Open-Industry-Project/issues/49


feat: Snowflake connection params & permissions check update

Related Issues

fixes #1179/1181
https://github.com/deepset-ai/haystack-core-integrations/issues/1179
https://github.com/deepset-ai/haystack-core-integrations/issues/1181

Proposed Changes:
Added PrivateKey and PrivateKeyPwd parameters to allow more secure connection methodologies.
Added an additional role parameter and altered the check permissions logic to ensure the role/user has SELECT access, rather than read-only select access.
How did you test it?
Tested locally with dev branch using live Snowflake instance.
Notes for the reviewer
I've added the parameters which are commonly used (at least within our org), there is scope to add further params or custom connections. Happy to make future feature branches for this or discuss these changes further.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Samsung Galaxy S6 edge running on ClassicCameraEngine

I have samsung galaxy s6 edge device, when i run this library on device, it is running with the ClassicCameraEngine's instance whereas device support Camera2. when debug the code, DeviceMatcher.supportsCameraTwo() is returning false for it.

This is intentional. The only devices that will use the android.hardware.camera2 API are ones that I test and that I confirm work OK with that API (and my library's code for it).


HTTP Error 400 on Create

Whenever i try to create an new movie for the table i get HTTP Error 400

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

ID: 6719f08e-3bd7-dc1a-71df-f2ef9fbca9d8
Version Independent ID: 7096fdb3-612e-9e00-bd0b-8ea4886a09ce
Content: Add a model to a Razor Pages app in ASP.NET Core
Content Source: aspnetcore/tutorials/razor-pages/model.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

@Shampit start debugging. Compare the @page directive to the details/edit.

I have the same issue even in debug mode, the details edit and create all seem to be fine


Casting generics ignores --strictNullCheck

TypeScript Version:  2.1.5
Code
Minimal example that compiles just fine:
let x: Promise<string | undefined> = Promise.resolve(undefined);
let y: Promise<string> = x;

Small usage example in which I encountered the bug:
interface ITest {
    test(): Promise<string>;
}

class Test implements ITest{
    test(): Promise<string | undefined> {
        return Promise.resolve(undefined);
    }
}

var test = new Test();
test.test().then(console.log);

Expected behavior:
A compile error: the type Promise<string | undefined> does not match the type Promise<string>. I should not be able to cast undefined to string.
Actual behavior:
No errors.

This might be related to https://github.com/Microsoft/TypeScript/issues/10717 and https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-function-parameters-bivariant

@rbuckton does this get fixed by your recent change?

@RyanCavanaugh: if you mean #13487 then no, I do not believe it addresses this issue. In this case we are running afoul of parameter bivariance and how we handle structural typing. Though the checker sees that the type arguments are not assignable, we continue on to a structural check. During the structural check, we end up comparing the assignability of the onfulfilled callback for then, and we see that (value: string | undefined) => any is assignable to (value: string) => any. Unfortunately, we cannot fix this without branding Promise in some fashion or introducing some form of covariance or contravariance.

Is this an example of the same or a similar issue (in v2.1.5)? Would #10717/#13257 fix this?
class A {
    constructor(readonly message: string) {}
}

class B extends A {
    lastCharacter() {
        return this.message.substring(this.message.length - 1);
    }
}

const pick: (s: string) => Promise<B> = (s: string) =>
    Promise.resolve(new A(s));


[Feature] control vibration on mobile devices

I'm using:

Device: mobile
OS: android
Browser: kiwi/lemur

I want to suggest this feature:
I control vibration on mobile devices: think it would be interesting to implement this feature. I would like to get an answer as to whether or not it is possible to do this. I know that it is not possible to use a keyboard and mouse on Android due to the lack of an API, and I wanted to know if there is a limitation on using the controller's vibration

What do you mean?
Isn't it already implemented: https://better-xcloud.github.io/ingame-features/#controller

O que você quer dizer?
Já não está implementado: https://better-xcloud.github.io/ingame-features/#controller

apenas o dispositivo movel vibra, o joystick não (meu Joystick tem a opção de vibração) mas em nenhum dos navegadores citados anteriormente (lemur e kiwi) o joystick vibra

Does your controller support vibration in browser? You can test it here hardwaretester.com/gamepad

omg, no! but why in test applications does the vibration work normally, and on the website it says N/A?? It's a PS4 controller, is there any way around this?

Browsers don't always have the same controller support as system.
So this is not a bug.


e.map is not a function

Are there any known issues with Angular2 RC.5 and/or webpack that would cause this error? I'm in the process of upgrading my app to RC.5 and also switched to Webpack at the same time so I'm not totally sure what might be causing this error. Using "angular2-text-mask": "^0.16.3"
TypeError: e.map is not a function
at n (angular2TextMask.js:1)
at n (angular2TextMask.js:1)
at Object.update (angular2TextMask.js:1)
at e.onInput (angular2TextMask.js:1)
at angular2TextMask.js:1
at ZoneDelegate.invokeTask (zone.js:356)
at Object.onInvokeTask (ng_zone_impl.js:44)
at ZoneDelegate.invokeTask (zone.js:355)
at Zone.runTask (zone.js:256)
at ZoneTask.invoke (zone.js:423)

The API has changed. The mask is expected to be an array now. Not a string.

Thanks for the quick response, that was the trick. 👍

should be in the docs.


proposal: Create standard option/maybe

(mo.Option)[https://github.com/samber/mo#optiont-any] is a useful implementation of the (Option type)[https://en.wikipedia.org/wiki/Option_type] in Go. It removes one use for nil pointers and thus reduces the potential for nil-dereference bugs.
Having this behaviour in Go’s standard library would amplify those benefits. I’m proposing that the standard library add a maybe package that implements the most useful bits of mo.Option, e.g.:

Some(), None(), and TupleToOption functions
Get(), MustGet(), IsPresent()
OrElse, OrEmpty

Thank you for your consideration.

Duplicate of #59202


Translate tasks/tls/certificate-rotation/ in Korean

This is a Feature Request
What would you like to be added
Translate tasks/tls/certificate-rotation in Korean
Why is this needed
No translation with tasks/tls/certificate-rotation
Comments
Pages to Update
https://kubernetes.io/docs/tasks/tls/certificate-rotation/

/language ko
/assign

resolved by #21838
/close


Hacktoberfest_2021

please add my file to your repository with label as hacktoberfest

Your merge request is not related to the project, please be mindful of merge request you create


Selecting multiple nodes can get the UP/DOWN sorting wrong

To Reproduce
Steps to reproduce the behavior:

Go to the example query
Select a red node
Clear the selection
Select a group of blue nodes
The sorting is still UP

Expected behavior
The sorting should be the same as the colour of the selection (one or more nodes), but only if all the nodes in the selection are the same colour.

This should be fixed now.


fix weed.Delete() crash bugs.

a http post can be closed only if a resp is valid
This hanppend when an fid not exist or removed already.

I think it should be defer resp.Close() if no error occurred,  no matter whether http.StatusCode is StatusOK.

@ginuerzh You're right. but call resp.Close() must judge if http.Do returned an error. I update defer resp.Close() before whether http.StatusCode is StatusOK.

@ginuerzh You're right. but call resp.Close() must judge if http.Do returned an error. I update defer resp.Close() before whether http.StatusCode is StatusOK.

merge chennqqi/weedo

merge chennqqi/weedo


Focus issue when using the keyboard to select an error link

When using the keyboard to select a link in the "please correct the errors on the page" dialog, the screen scrolls to the error, but focus is not moved to the error. Pressing tab scrolls the page back up to the next link or element after the link that was selected using the keyboard.

Is this an example of this ticket, or this other (similar but different) one:
#320

This issue is the same as #295.  See previous issue for additional information

When selecting a link in the error list with 'spacebar' it scrolls to the field that has the error however focus remains on the top of the page.  When pressing tab it jumps back up to the top of the page for the next error in the list.

@falila @craigzour Hey team! Can you please add your planning poker estimates with ZenHub


Request the complete code

Hi, I am very interested in your project, so I downloaded your code and want implement it on my computer. But I found your code just have  recording.py. There is not have the code about CNN and other necessary code. So, can you  complete your project and update other code? Many thanks in adavance.

thank you for this training phase.it looks amazing !
can i have code for testing ? thanks in advance


Snap 2015

Changes proposed in this pull request
Instead of random key, use generate sequentially
Patch testing
(Fill in the details about how this patch was tested)
ReleaseNotes changes
(Does this change require an entry in ReleaseNotes? If yes, has it been added to it?)
Other PRs
(Does this change require changes in other projects- snappydata, spark, spark-jobserver, aqp? Add the links of PR of the other subprojects that are related to this change)

@suranjan please merge this test fix

Merging since this is a safe test change.


Parallel s3 uploads

oops a commit snuck in from my other branch https://github.com/rust-lang/docs.rs/pull/392

during the main loop
can you point me to that?

Ah, the directory reading loop -- in that same function. Right after pushing onto the vector of futures we can check if we've exceeded some constant amount of futures and dispatch based on that.

This looks great! One thing i noticed is that this doesn't include the "refresh the client" logic. Do we think that this will get around that issue? Should we create a new client when we execute a batch of uploads?

Oh, yeah, we probably want a new client for each batch -- that should be low enough overhead wise. I imagine that's not too difficult to add?

The way it was working before, I believe the client was only refreshed if an error occurred. It seems like now we call s3_client() for each file. So I think, if anything, we might be refreshing the client too much?

The way it was working before, I believe the client was only refreshed if an error occurred. It seems like now we call s3_client() for each file. So I think, if anything, we might be refreshing the client too much?

Oh, you're right! In this case, i think this will be fine. I don't think that creating a new client each time is that heavyweight, but i haven't looked that strongly into it. @Mark-Simulacrum, will this work, or do you want to bring back the old logic of "save the client outside the loop and overwrite it after a batch is sent"?

Oh, yeah -- I think a new client for each future is probably not what we want (it seems likely to cause problems of some kind, or be generally slower) -- I'm not sure what a good way to structure this would be though. Maybe we can do a RwLock that we share between all the futures, and then replace it on error? If that proves pretty complicated, then we can likely get away with just creating a new client for every batch and re-running the batch if it was unsuccessful (so, kinda similar to before, but less fine-grained, I guess).

I feel like I'm getting pretty close...
diff --git src/db/file.rs src/db/file.rs
index faf66d2..2465141 100644
--- src/db/file.rs
+++ src/db/file.rs
@@ -10,6 +10,7 @@ use postgres::Connection;
 use rustc_serialize::json::{Json, ToJson};
 use std::fs;
 use std::io::Read;
+use std::sync::RwLock;
 use error::Result;
 use failure::err_msg;
 use rusoto_s3::{S3, PutObjectRequest, GetObjectRequest, S3Client};
@@ -148,6 +149,7 @@ pub fn add_path_into_database<P: AsRef<Path>>(conn: &Connection,
     try!(cookie.load::<&str>(&[]));

     let trans = try!(conn.transaction());
+    let client = s3_client().map(|c| RwLock::new(c));
     let mut file_list_with_mimes: Vec<(String, PathBuf)> = Vec::new();

     let mut rt = ::tokio::runtime::Runtime::new().unwrap();
@@ -188,11 +190,13 @@ pub fn add_path_into_database<P: AsRef<Path>>(conn: &Connection,
             }
         };

-        if let Some(client) = s3_client() {
+        if let Some(client) = client {
             let bucket_path = bucket_path.clone();
             let content = content.clone();
             let mime = mime.clone();

+            let mut client = client.write().unwrap();
+
             futures.push(client.put_object(PutObjectRequest {
                 bucket: "rust-docs-rs".into(),
                 key: bucket_path.clone(),
@@ -201,6 +205,11 @@ pub fn add_path_into_database<P: AsRef<Path>>(conn: &Connection,
                 ..Default::default()
             }).map_err(move |e| {
                 log::error!("failed to upload to {}: {:?}", bucket_path, e);
+                // Get a new client, in case the old one's connection is stale.
+                // AWS will kill our connection if it's alive for too long; this avoids
+                // that preventing us from building the crate entirely.
+                *client = s3_client().unwrap();
+
                 client.put_object(PutObjectRequest {
                     bucket: "rust-docs-rs".into(),
                     key: bucket_path,

...but
error[E0277]: `std::sync::RwLockWriteGuard<'_, rusoto_s3::S3Client>` cannot be sent between threads safely
   --> src/db/file.rs:225:23
    |
225 |                 if rt.block_on(::futures::future::join_all(futures)).is_err() {
    |                       ^^^^^^^^ `std::sync::RwLockWriteGuard<'_, rusoto_s3::S3Client>` cannot be sent between threads safely
    |

Also, acquiring a write lock for each file upload seems like a bad idea... but because of the closure with the "retry" in it, we're moving client during each iteration of the loop. Here's an attempt to only acquire the write lock for the "client refresh":
diff --git src/db/file.rs src/db/file.rs
index faf66d2..5f8c252 100644
--- src/db/file.rs
+++ src/db/file.rs
@@ -10,6 +10,7 @@ use postgres::Connection;
 use rustc_serialize::json::{Json, ToJson};
 use std::fs;
 use std::io::Read;
+use std::sync::RwLock;
 use error::Result;
 use failure::err_msg;
 use rusoto_s3::{S3, PutObjectRequest, GetObjectRequest, S3Client};
@@ -148,6 +149,7 @@ pub fn add_path_into_database<P: AsRef<Path>>(conn: &Connection,
     try!(cookie.load::<&str>(&[]));

     let trans = try!(conn.transaction());
+    let mut client = s3_client().map(|c| RwLock::new(c));
     let mut file_list_with_mimes: Vec<(String, PathBuf)> = Vec::new();

     let mut rt = ::tokio::runtime::Runtime::new().unwrap();
@@ -188,12 +190,12 @@ pub fn add_path_into_database<P: AsRef<Path>>(conn: &Connection,
             }
         };

-        if let Some(client) = s3_client() {
+        if let Some(client) = client {
             let bucket_path = bucket_path.clone();
             let content = content.clone();
             let mime = mime.clone();

-            futures.push(client.put_object(PutObjectRequest {
+            futures.push(client.read().unwrap().put_object(PutObjectRequest {
                 bucket: "rust-docs-rs".into(),
                 key: bucket_path.clone(),
                 body: Some(content.clone().into()),
@@ -201,7 +203,15 @@ pub fn add_path_into_database<P: AsRef<Path>>(conn: &Connection,
                 ..Default::default()
             }).map_err(move |e| {
                 log::error!("failed to upload to {}: {:?}", bucket_path, e);
-                client.put_object(PutObjectRequest {
+                // Get a new client, in case the old one's connection is stale.
+                // AWS will kill our connection if it's alive for too long; this avoids
+                // that preventing us from building the crate entirely.
+                {
+                    let mut c = client.write().unwrap();
+                    *c = s3_client().unwrap();
+                }
+
+                client.read().unwrap().put_object(PutObjectRequest {
                     bucket: "rust-docs-rs".into(),
                     key: bucket_path,
                     body: Some(content.into()),

As expected, the move prevents this from working:
error[E0382]: use of moved value
   --> src/db/file.rs:193:21
    |
193 |         if let Some(client) = client {
    |                     ^^^^^^ value moved here, in previous iteration of loop
    |

error[E0505]: cannot move out of `client` because it is borrowed
   --> src/db/file.rs:204:24
    |
198 |             futures.push(client.read().unwrap().put_object(PutObjectRequest {
    |                          ----------------------
    |                          |
    |                          borrow of `client` occurs here
    |                          a temporary with access to the borrow is created here ...
...
204 |             }).map_err(move |e| {
    |                        ^^^^^^^^ move out of `client` occurs here
...
210 |                     let mut c = client.write().unwrap();
    |                                 ------ move occurs due to use in closure
...
223 |             }));
    |                - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::RwLockReadGuard`

I'll keep poking at this, but any help or insight greatly appreciated! :grinning:

Looking at the diff is pretty horrible (indentation changed and things moved around) but based on a high-level read through of https://github.com/rust-lang/docs.rs/blob/d9beb9e6a5e85348811cee5f5884dc977b02b4c5/src/db/file.rs this looks good.

This looks like it will retry forever if files fail to upload for reasons other than a stale connection, i.e. now there's no panic!() branch. Do we want to have a failure counter and panic on 2-3 failed upload batches?

Seems quite reasonable. We might want to also log the error somewhere (ideally in a way metrics can pick up). But that can be left for future work I think.

Yes, I'm happy with this overall (a few nits but not something we need to fix here, I might try to fix them up when I work on compression this weekend, presuming this lands).
Let's merge and deploy (cc @pietroalbini). I'd like to deploy this quickly after merging and monitor it for a few uploads so not doing so myself.
(Ideally, we'd collect metrics on upload time, and we'd know if this is actually an improvement).

squash first?

Oh, yes, it'd be good to squash this into one commit.

Let's merge and deploy (cc @pietroalbini). I'd like to deploy this quickly after merging and monitor it for a few uploads so not doing so myself.
(Ideally, we'd collect metrics on upload time, and we'd know if this is actually an improvement).

Should we add metrics for a day or two and then merge this PR then? Adding a new one for uploaded files shouldn't be hard.

Is that something I can help out with?

@pietroalbini does this look right to you?
crate::web::metrics::UPLOADED_FILES_TOTAL.inc_by(batch_size as i64);

@miller-time yeah, it's fine. It'd be great to increment by 1 each time a single future completes, but that's not critical and if you want it can be implemented in a later PR. I think merging the speedups first is more important than slightly more accurate metrics.
Huge thanks for the work you put into this! :tada:


Discard rendering of 2d lights with zero energy

Light2D with energy equal to 0 is visually the same as disabled (enabled == false), which means that rendering lights and shadows can be skipped in such case.

This won't work with masked lights I don't think.

This won't work with masked lights I don't think, and might need checking with custom shaders.
You are right. If we discard masked light this way, it stops affecting the canvas (normally it cuts the whole light rectangle with energy = 0 and without). The other consequence is that it frees the "slot" for another masked light colliding with the canvas.

So it'll be better to check if light is set to Mask and custom shaders on lights also need testing here.

I would actually like to argue against this proposed behaviour.
I have found that adding shadow-casting Light2Ds to a scene can result in a single frame where the light renders but does not cast shadows. The following frame behaves as expected with shadows properly cast. I'm using (abusing?) lights by setting an initial energy of 0 and immediately (1 frame later) resetting the energy to the expected value. This avoids the erroneous shadow frame. Presumably, this PR would stop this approach from working.
If there's a better way to avoid this issue (I'm sure there is), I'd love to hear it.
Tested on 3.4.3 242c05d12 and 3.5.beta 99c07c92e.

I would actually like to argue against this proposed behaviour.
I have found that adding shadow-casting Light2Ds to a scene can result in a single frame where the light renders but does not cast shadows. The following frame behaves as expected with shadows properly cast. I'm using (abusing?) lights by setting an initial energy of 0 and immediately (1 frame later) resetting the energy to the expected value. This avoids the erroneous shadow frame. Presumably, this PR would stop this approach from working.
If there's a better way to avoid this issue (I'm sure there is), I'd love to hear it.
Tested on 3.4.3 242c05d12 and 3.5.beta 99c07c92e.

This sounds like a bug that should be reported in its own issue, with a minimal reproduction project attached.

What's the status of this PR? It's been in draft for a year and doesn't seem to progress further towards a full solution.
CC @godotengine/rendering

I'm still in favor of this PR, much like its 3D version. While there are a few possible pitfalls, the overall performance should be greater in most scenarios.

I'll close for now as it's been a draft since more than a year, and there doesn't seem to be a clear consensus that this should be implemented at all.


Permit newline breaks in ternary (a ? b : c), for and if statements

Created from discussion in #146
If, For and Ternary statements often end up taking up a lot of horizontal space, and it would be nice to have the freedom to use line breaks to avoid this in Bicep. See below for some mockups.
Ternary
var foo = abc ? def : ghi
// could be rewritten as
var foo = abc ?
  def :
  ghi

If
resource foo 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' = if (someCondition) {
...
// could be rewritten as
resource foo 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' =
  if (someCondition) {
    ...
  }

For
resource foo 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' = [for (val, i) in someArray: {
...
// could be rewritten as
resource foo 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' =
  [for (val, i) in someArray: {
    ...
   }]

How could look with both if and for
resource foo 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' = [for (val, i) in someArray: if (someCondition) {
...
// could be rewritten as
resource foo 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' =
  [for (val, i) in someArray:
  if (someCondition) {
...

@anthony-c-martin is there any plans to continue the multi-line work for ternary operators and if statements?

@anthony-c-martin @alex-frankel  can this be re-opened? It is not completed and actually I have recently asked for status.

Another case to add here is the lambdas:
Lambda
(a, b, c) => '${a}-${b}-${c}'
(a, b, c) =>
  '${a}-${b}-${c}'

This is somewhat related to the prettier formatter. I'd be interested in implementing this.

I note a difference in the ternary implementation from https://github.com/Azure/bicep/issues/5829#issue-1120812211

Ternary
var foo = abc ? def : ghi
// could be rewritten as
var foo = abc ?
  def :
  ghi

The supported syntax ended up being the following instead.

var foo = abc
  ? def
  : ghi

ref: https://github.com/Azure/bicep/blob/v0.19.5/src/Bicep.Core.Samples/Files/PrettyPrint_LF/main.syntax.bicep#L1430-L1449

@shenglol it seems new line does not work inside for(). Below gives error and it is not the same if you do not use for().
module modules 'modules/power-bi-embedded-capacities.bicep' = [for (resourceGroup, i) in resourceGroups:
  if (!empty(resourceGroup.modules)) {
  name: 'modules-${uniqueString(deploymentLocation)}-${i}'
  scope: resourceGroupsRes[i]
  params: {
    modules: union(defaultResourceGroup, resourceGroup).modules
  }
}]

@shenglol  also does not work on module names