OpenXR Motion Compensation causes freeze and very low fps with VDXR

Describe the bug
When using OpenXR Motion Compensation (OXMRC) with a motion platform (DOF reality H2) and running a game like DCS or MSFS (same issue with simracing as well) and when doing a sharp maneuver (which should cause a big compensation from OXRMC), the picture freezes for 2-3 secs and afterwards its running at 10-20 fps with lots of studdering. At that point, if I toggle VR off and on again, the normal framerate is back and everything works fine until the next sharp maneuver.
This issue does not occur when using another OpenXR system like Steam or Oculus. It only occurs with VDXR.
I am attaching the debug trace of the issue:
with OpenXR toolkit and turbo mode enabled: VDXR.zip
With OpenXR toolkit disabled:
VDXR (2).zip
Also attaching my OpenXR.log file:
OpenXR.log
Here is a video of another user having the same issue:  https://youtube.com/shorts/ZqxZtpncIf8?feature=share
Environment

Application/Game and version: DCS or MSFS, or any other flight sim or sim racing game that uses motion compensation
Version of Virtual Desktop: 1.30.1

To Reproduce
Steps to reproduce the behavior:

Run DCS or MSFS or other flight/simracing game.
Enable OpenXR Motion Compensation.
Perform a sharp maneuver in game (quick roll, or crash the plane or car)
Observe a freeze/black screen followed by low fps, jitters and stutters.

Expected behavior
No freeze and no jitters/stutters afterwards.

debug trace with OpenKneeboard turned off:
VDXR (3).zip

debug trace with HTCC and OpenKneeboard disabled:
VDXR (4).zip

I'm adding a (hidden) setting for tuning thread priorities, just in case something of the sort is happening. I'll share how to tune it once the release is out.
112a6aa1bbafbabb0d912b78d5f13617925fb3b3

Preliminary result of my investigation seem to indicate that the issue seems to be related to the eye poses reported to the runtime in xrEndFrame.
Background:
OXRMC needs to manipulate the eye poses coming from the application in xrEndFrame as it manipulated the poses it previously reported to the application via xrLocateViews, so they don't match the actual real hmd pose.
Currently there are two different methods available how oxrmc obtains these 'reconstructed' eye poses:

Default: invert the pose that was used to manipulate the eye poses in XrLocateViews and apply them to the poses reported by the application in xrEndFrame
Save the original eye poses supplied by the runtime in xrLocateViews and reimplant them on xrEndFrame

The issue only seems to occur oonly when using the 1. method. Method 2. seems to be fine in that regard, but has other issues e.g. introduces some camera jitter in MSFS.
The user can switch between both methods using ctrl+e in game or setting the flag use_eye_cache in oxrmc's .ini file
Interestingly, if the issue started to happen partt of it seems to persist even after switching to the other method or even when deactivating motion compensation via ctrl+insert

It's worth adding that it only happens with SSW DISABLED, and cannot be reproduced if SSW is enabled.

Just quick heads up so you don't have to waste too much time on that issue:
After giving some more thought into the things I stated in my previous comnment I had a hunch that the issue might be caused by too much calculation error. So I decided to normalize the quaternions within the eye poses before submitting them in xrEndFrame. At least on my system that seems to have elimnated the issue in the scenarios where I could reliably cause it.
I gave out a quick and dirty version of the fix to have it confirmed by other users as well and the verdict on that is still to come.
So long story short: it seems oxrmc just fed non-normalized quaternions to the runtime.
I can't tell why VDXR seems to be more sensitive to that fact than other runtimes but that might be worthwile to investigate.
If the feedback on my preliminary fix is positive, I'll make sure to go through all poses oxrmc is touching and normalize their quaternions where it seems appropriate

Interesting find. I don't know/think there is a constraint in the API where quaternions need to be normalized. I certain don't have the extra call to do it on VDXR, built I could add it.
Unclear why it would manifest in a beginFrame timeout though...

OK well this is weird, never paid attention to it:
https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#coordinate-system

Rotation is represented by a unit quaternion defined by the XrQuaternionf structure:

A runtime must return XR_ERROR_POSE_INVALID if the orientation norm deviates by more than 1% from unit length.

I guess we are all doing it wrong lol. Runtimes should be rejecting your quaternions with an error, but they probably just always normalize them instead.
🤷

I'm even more puzzled now, because VDXR does check and error-out on non-normalized quaternions: https://github.com/mbucchia/VirtualDesktop-OpenXR/blob/main/virtualdesktop-openxr/frame.cpp#L462
So I'm really not sure what we are looking at here(?)

Looks like some computation on the pose is done further down: https://github.com/mbucchia/VirtualDesktop-OpenXR/blob/0d2a45704aa847f62d819cdbc546237b7c235ccb/virtualdesktop-openxr/frame.cpp#L507
So maybe the quaternions coming in are just on the edge of not being normalized and that last multiplication(s) are what breaks the the camels back.
But that's pure speculation on my part...


⚠ Bofrost.be has degraded performance

In e3e60f8, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1469 ms

Resolved: Bofrost.be performance has improved in 8931303 after 8 minutes.


runtime: rename _TMps8Hashable to HashableProtocolDescriptor

Use __asm__ to give _TMps8Hashable a better name in C++ sources.

@swift-ci Please test


wip showcase options tracing tests

Examining various options to fix tracing tests, as we discussed.

[x] Plumber work to get the correct instrumenter regardless of core-tracing
versions
[ ] Mock createTracingClient and assert on mock

API change check
API changes are not detected in this pull request.


Fix thin lines between cells and right side empty blocks

Fixes https://github.com/FXMisc/RichTextFX/issues/1091 Thin horizontal lines appear between lines of text when rapidly scrolling vertically
Also fixes https://github.com/FXMisc/RichTextFX/issues/1092 Horizontal scrolling of a CodeArea can result in large empty blocks in the upper right of the viewport (although unfortunately white blocks still briefly flash with this change).

Hi.
Probably, after this commit I have noticed a negative impact on RichTextFx - during typing text in editor it starts "minimally" scrolling.
I see, that in this commit there is Math.round(offset) in VirtualizedScrollPane:
   private void setVPosition(double pos) {
        // ....
        content.estimatedScrollYProperty().setValue((double) Math.round(offset));
    }

But farther, when this action goes to VirtualFlow class - to method:
void setLengthOffset(double pixels) {
        double total = totalLengthEstimateProperty().getOrElse(0.0);
        double length = sizeTracker.getViewportLength();
        double max = Math.max(total - length, 0);
        double current = lengthOffsetEstimate.getValue();

        if(pixels > max) pixels = max;
        if(pixels < 0) pixels = 0;

        double diff = pixels - current;
        if(diff == 0) {
            // do nothing
        } else if(Math.abs(diff) <= length) { // distance less than one screen
            navigator.scrollCurrentPositionBy(diff);
        } else {
            jumpToAbsolutePosition(pixels);
        }
    }

The incoming pixels value is rounded, but value in variable current is not rounded, and when we compute diff:
double diff = pixels - current;

... there is very often computed value 0.5 (but it should be 0) and VirtualFlow moves visible content by this diff (navigator.scrollCurrentPositionBy(diff)) instead of // do nothing
(This setLengthOffset method is executed there because is bound by property in VirtualFlow constructor:
lengthOffsetEstimate = new StableBidirectionalVar<>( sizeTracker.lengthOffsetEstimateProperty(), this::setLengthOffset );)

I Have created a proposal fix for this in my PR: https://github.com/FXMisc/Flowless/pull/112


Improves path computation

Hello Thomas,
I created new commit regarding to Holger's comments
Thank you,
Son

Hi Son, very good!
w.r.t. magic number: 30. Can you please look into DetectParentPath how Holger breaks the loop? And change accordingly., too. Thank you, Thomas

Hello Thomas,
I had added the condition to break the loop once it reached a root directory but in different way.
I also will check with Holger regarding his suggestion in #166
Note: The code handling this situation is migrated from TML framework, do we need to improve for TML also?
Thank you,
Son


sitemap.xml is wrong

e1b9baa1f80f184333e8816bfb0449f8b4731745 fixed the documentation fail to update, but sitemap.xml is wrong.
Possible solution : disable sitemap.xml generation, google is smart enough.

I have figured out what the problem was. It was hard to find because the local build is green.
The dates of all the pages of the doc collection were wrong. If fact, when building locally, the build date of the site was displayed instead. You can solve the Github build issue by:

Adding a date: attribute for each pages inside the _doc folder to indicates the latest update (the header of each page from the doc collection has to be updated)
In the sitemap file you could replace p.date | date_to_xmlschema by site.time | date_to_xmlschema and assuming that the modification date of each page is the same as the site date
Or as you suggested just remove the sitemap (and update the robots.txt file)


Add New Voice Channels To Config

Adds a new general voice and text channel to the default config, and renames general and help channels to match the new configuration in the config file and constants file. Announcment with details.

Coverage increased (+0.006%) to 57.357% when pulling 138f9f2825c1c9918c1ea104ea05a1aaa958e82e on HassanAbouelela:add_voice_channel into 8b1276a0c70a020e26037019a8b277e572f88390 on python-discord:master.

Coverage increased (+0.006%) to 57.357% when pulling 138f9f2825c1c9918c1ea104ea05a1aaa958e82e on HassanAbouelela:add_voice_channel into 8b1276a0c70a020e26037019a8b277e572f88390 on python-discord:master.

Can you elaborate on why these are being added? Are they required by #1297? If so, it isn't necessary to open a separate PR.

Can you elaborate on why these are being added? Are they required by #1297? If so, it isn't necessary to open a separate PR.

I originally asked to update it for that PR, but was then asked to update in general (conversation). If you think it should be added on that PR, feel free to close this one.

I originally asked to update it for that PR, but was then asked to update in general (conversation). If you think it should be added on that PR, feel free to close this one.

I believe what was told to you is false; nothing else relies on these constants. I think it makes more sense to make these changes in #1297.

I believe what was told to you is false; nothing else relies on these constants. I think it makes more sense to make these changes in #1297.


fix(amplify-util-uibuilder): update codegen-ui to 2.7.1

Description of changes
Recent upgrades in amplify-codegen in the CLI as well as the major version bump for @aws-amplify/datastore has introduced regressions in UI Builder functionality:

Collection generation for models with relationships is broken
Accessing hasOne and belongsTo related records is broken in collections

We have several customers reporting issues in Github. Issue: https://github.com/aws-amplify/amplify-studio/issues/763
The new version of codegen-ui addresses the above issues.

Issue #, if available

Description of how you validated changes
unit & e2e tests in codegen-ui
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #11683 (fb7380e) into hotfix (166e6db) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           hotfix   #11683   +/-   ##
=======================================
  Coverage   49.58%   49.58%
=======================================
  Files         688      688
  Lines       33383    33383
  Branches     6835     6835
=======================================
+ Hits        16553    16554    +1
+ Misses      15314    15313    -1
  Partials     1516     1516

Impacted Files
Coverage Δ

...li/src/domain/amplify-usageData/getUsageDataUrl.ts
100.00% <0.00%> (+12.50%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Dynamic Avtar Initials

I want the Avtar initials to change as per the logged in user.. But in this "name" is hard-coded. Please help with a solution for this.

Hi @ShayaneB ,
You can supply any value to the name property that you would like to be used as the basis for the initials.
If that does not fit your use-case you could always provide a function to the initials property which will allow you to customize how initials are generated.
See the example in this condesandbox


Remove fix for amazon-cognito-identity

See: https://github.com/aws-amplify/amplify-js/issues/7098

This fix worked for me, too. The new version of aws-amplifiy does not need to import crypto, and that import was breaking for me.

@MariusMez
Thanks for your contribution.
Would you be able to update amazon-cognito-identity-js within this PR to latest version ^6.0.1 in base and relay packages?
For removing this workaround we need to update package version as well.
Thanks!

@zeljkoX It's done :-)

@zeljkoX You're welcome!


Fix a stability issue relating to switch disconnection/re-connection …

If a switch gets disconnected via a network interruption on the control plane (or a similar event),
the datapath associated with that switch might not be properly cleaned up.
At the same time, the socket associated with that datapath can get leaked.
This ultimately results in file descriptor resource exhaustion for Ryu,
as a socket had the potential to be leaked on each reconnect.
Also, a small typo was corrected in a method name in DPSet.
This was encountered while using Ryu in production at Duke University, with a mix of hardware switches from several vendors.

Thank you!


Relative paths for sqlite databases

I'm using PowerGenome with relative paths in the PUDL_DB and PG_DB settings in powergenome/.env, e.g.,
PUDL_DB="../PowerGenome Data Files/PUDL Data/pudl.sqlite"
PG_DB="../PowerGenome Data Files/pg_misc_tables_efs.sqlite"

On my Mac, the sqlalchemy_prefix() function in powergenome.util prefixes these paths with "sqlite:////" (four slashes). Only the first three slashes are part of the SQLAlchemy connection specification; the fourth becomes part of the path. So using four slashes converts relative paths into absolute paths, which will generally be wrong.
Normally, if users want to provide an absolute path on Mac or Linux, they will include a "/" at the start of the setting in .env, so it is not necessary to add another one here.
So I would recommend changing the prefix to "sqlite:///" (three slashes) on all platforms. Prepending this to relative or absolute paths from the '.env' file will work as expected on all platforms.

This solved my issue. I was using a relative path with Linux and I was getting the following error:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file. Deleting the slash on line 96 of util.py fixed it.


Add output of packets the tool struggled to decode

We ought to be able to emit more info about them, and what the problem we thought we encountered with them.

Error output is generally improved.


The window has crashed

Version: 1.48.2 (user setup)
Commit: a0479759d6e9ea56afa657e454193f72aef85bd0
Date: 2020-08-25T10:13:11.295Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363

Steps to Reproduce:

Open vscode
Get crash window

Does this issue occur when all extensions are disabled?: Yes
I have been dealing with this bug for months now. I am using vscode insider to keep my work going, but would like to get vscode fixed. I have tried as fresh of an install as I know to do (uninstalled vscode, deleted C:\Users<user>\AppData\Roaming\Code folder as well as C:\Users<user>.vscode folder, and reinstalled)
The interesting part is that it will open on a fresh install if I check the "Launch Visual Studio Code" box on the final install screen. But if I close vscode and try to reopen, I get the crash message.
I have tried everything I could find on similar bug reports, but nothing works. Help would be appreciated.
Thanks,
Dustin

Can you launch with code --crash-reporter-directory <path> and attach the dmp files generated in the <path>
Also side note, there is a runtime version difference between insiders and stable, its most likely possible the crash is fixed in the runtime. If insiders is working fine, then the stable coming out this month should also be fine.

VSCode Crashes.zip
I attached the folder that was generated via your instructions. Let me know if I missed anything! Thank you for the info!

Thanks! but I don't see any crash dump generated. Does the crash happen when you launch with code --user-data-dir <path> ?

Yes, it still crashes.
I don't know if this helps, but here is the contents of the main.log file:
[2020-08-27 15:39:03.480] [main] [info] update#setState idle
[2020-08-27 15:39:03.586] [main] [error] [VS Code]: renderer process crashed!
[2020-08-27 15:39:06.282] [main] [error] [VS Code]: renderer process crashed!
[2020-08-27 15:39:06.989] [main] [error] [VS Code]: renderer process crashed!

Nope it doesn't contain any additional details than what we already know.

Thanks for looking into it for me. Hopefully it gets fixed in the next stable release.

I found out what the problem was. It was because my company uses something called CyberArk, and it was blocking code.exe for some reason. If I renamed code.exe to code1.exe, it would work fine. Additionally, once I turned CyberArk off locally, code.exe would start opening as well.


inside test.py, a directory is speicified, please add furtur explanation to the files that leds to

Sorry, I am not really able to parse your question


A proposal to preserve debug line info when passes delete instructions

As part of the bindless validation and instrumentation, I have started looking more at debug/line info in spirv-opt as we are getting feedback that source-level information on the location of errors would be highly desirable.
I have noticed that SPIR-V line information (OpLine and OpNoLine) instructions are not propagated/cloned to all following affected instructions in the current spirv-opt framework, but essentially just attach to their nearest following non-line instruction. If that instruction is deleted during optimization passes, the line information is also deleted and lost for all subsequent, affected, non-deleted instructions.
For example, consider the following:
     %30 = OpLabel
           OpLine %1 31 0
     %47 = OpLoad %uint %u
     %49 = OpAccessChain %_ptr_UniformConstant_42 %g_tColor %47
     %50 = OpLoad %42 %49
     %54 = OpLoad %51 %g_sAniso
     %56 = OpSampledImage %55 %50 %54
     %58 = OpAccessChain %_ptr_Function_v2float %i %int_0
     %59 = OpLoad %v2float %58
     %60 = OpImageSampleImplicitLod %v4float %56 %59
     %62 = OpAccessChain %_ptr_Function_v4float %ps_output %int_0
           OpStore %62 %60

When the load of function-scope variable %u at the top of the block is ultimately optimized away, the OpLine will be deleted along with it, losing the source line information for the remaining instructions.
My current thinking to solving this is the following: two different passes.
One pass propagates/clones line instructions into all instructions they affect. This means every instruction has source info attached to it. It would generally be run before any optimization passes where the user wishes to maintain source line information. This makes line info easier to maintain as instructions are deleted, moved or replicated during optimization.
The other pass eliminates any line-instructions that are redundant. It would be run after optimization and before output of the SPIR-V to reduce the file size of the SPIR-V as much as possible while still retaining all line info for the module.
I think the analyses will be pretty straightforward as the scope of the line instructions ends at every block, thus restricting the analyses to single blocks.
There are alternatives solutions which might be more efficient in maximum space usage, but this solution seemed to be the simplest while maintaining the flexibility of the current infrastructure.

Yes, I agree with this plan.  In general, the way to solve this problem is that every instruction needs to somehow store its own source and file information.  In other compilers, it has been an index into a side table like the llvm metadata.  These types of passes will be needed regardless of how the data is stored.
I think it is a good idea to write them with the current implementation of the instruction class.  Then we can change the implementation of the instruction class later if we need to improve thing.
My only suggestion is to make sure there is good information hiding so that we can easily change thing behind the scenes.


Uncaught ReferenceError: Buffer is not defined (Cloudflare Worker)

Problem
Execution failure of @thirdweb-dev/sdk because of the specific Node's Buffer implementation.
Eventually, I pnpm i -D buffer and manually exposed Buffer in index-4471f8a3.cjs.dev.js with var Buffer = require('buffer');. It worked.
What do you recommend to get it work nicely ?
Context

running against Web standards – Cloudflare Worker
version<EMAIL_ADDRESS>Cloudflare has a node compat mode; but being on or off, I've not seen effect.

I went through issues and past PRs. Notably,

[SDK] Remove usages of Buffer to decode bytecodes
and #459 that mentions such usages.

Error message
service core:user:api: Uncaught ReferenceError: Buffer is not defined
  at index.js:143465:24
  at index.js:143466:7 in node_modules/.pnpm/@thirdweb-dev+sdk@4.0.23_ethers@5.7.2_typescript<EMAIL_ADDRESS>  at index.js:19:50 in __require2
  at index.js:153530:17 in node_modules/.pnpm/@thirdweb-dev+sdk@4.0.23_ethers@5.7.2_typescript<EMAIL_ADDRESS>  at index.js:19:50 in __require2
  at index.js:156612:15 in node_modules/.pnpm/@thirdweb-dev+sdk@4.0.23_ethers@5.7.2_typescript<EMAIL_ADDRESS>  at index.js:19:50 in __require2
  at index.js:157109:24 in node_modules/.pnpm/@thirdweb-dev+sdk@4.0.23_ethers@5.7.2_typescript<EMAIL_ADDRESS>  at index.js:19:50 in __require2
  at index.js:157149:26

hey @tleperou, we're actively working on a major version that's going to solve this. We have ran into the same problem of trying to use the SDK inside cloudflare workers and not being able to. I will ping you the alpha version of this new SDK the moment the APIs are somewhat stable so you can use it.
One thing that would be useful to know is a rough outline of what you're trying to accomplish within the cloudflare worker, it can help me prioritize those features early in the new SDK version. :)

Thanks for the info.
I'm just experimenting, so nothing specific here.

About to start a new project using CF workers, will need this too. From light reading CF's docs, it seems that simply prefixing the nodejs core stuff with "node:" might do it.
https://developers.cloudflare.com/workers/runtime-apis/nodejs/buffer/
For ex:
import { Buffer } from 'node:buffer';
Also, making sure to use only the Uint8Array methods would prob be helpful.

Indeed it helped.
But the piece of code that imports Buffer comes from a thirdweb bundle. So, quiet inconvenient to change the instruction to using node:buffer.
Thanks for the tips about Uint8Array tho. I realised it using other lib too.

@jnsdls

we're actively working on a major version that's going to solve this. We have ran into the same problem of trying to use the SDK inside cloudflare workers and not being able to.

Do you have a rough timeframe on this. Starting a new project and will need something sooner than later.. trying to gauge if we should wait on this or not. We talking days, weeks, months? Anything you can share would be great.
Thank you

sorry about the delay here folks, we'll start testing the new alpha version very soon
Here's the alpha tester sign up link if you're interested: https://docs.google.com/forms/d/e/1FAIpQLSfMTy_1ZKPHAGIs8hQAlLfR_Xur1tw5soF_fEumFawdBEhK5g/viewform?usp=send_form


Feature/stan reference reorder

Summary
Reorder material in "Stan Modeling Language and Reference Manual"
Remove repetition.
New contents:
I Introduction

Overview

II Stan Modeling Language
2. Statements
3. Data Types and Variable Declarations
4. Expressions
5. Program Blocks
6. User-Defined Functions
7. Execution of a Stan Program
III Example Models and Programming Techniques
8. Regression Models
9. Time-Series Models
10. Missing Data & Partially Known Parameters
11. Truncated or Censored Data
12. Finite Mixtures
13. Measurement Error and Meta-Analysis
14. Latent Discrete Parameters
15. Sparse and Ragged Data Structures
16. Clustering Models
17. Gaussian Processes
18. Directions, Rotations, and Hyperspheres
19. Reparameterization & Change of Variables
20. Custom Probability Functions
21. User-Defined Functions
22. Solving Differential Equations
23. Problematic Posteriors
24. Optimizing Stan Code for Efficiency
25. Reproducibility
26. Model Building as Software Development
IV Inference
27. Bayesian Data Analysis
28. Markov Chain Monte Carlo Sampling
29. Penalized Maximum Likelihood Point Estimation
30. Bayesian Point Estimation
31. Variational Inference
V Algorithms & Implementations
32. Hamiltonian Monte Carlo Sampling
33. Transformations of Constrained Variables
34. Optimization Algorithms
35. Variational Inference
36. Diagnostic Mode
VI Built-In Functions
37. Void Functions
38. Integer-Valued Basic Functions
39. Real-Valued Basic Functions
40. Array Operations
41. Matrix Operations
42. Sparse Matrix Operations
43. Mixed Operations
44. Ordinary Differential Equation Solvers
VII Discrete Distributions
45. Conventions for Probability Functions
46. Binary Distributions
47. Bounded Discrete Distributions
48. Unbounded Discrete Distributions
49. Multivariate Discrete Distributions
VIII Continuous Distributions
50. Unbounded Continuous Distributions
51. Positive Continuous Distributions
52. Non-negative Continuous Distributions
53. Positive Lower-Bounded Probabilities
54. Continuous Distributions on [0, 1]
55. Circular Distributions
56. Bounded Continuous Probabilities
57. Distributions over Unbounded Vectors
58. Simplex Distributions
59. Correlation Matrix Distributions
60. Covariance Matrix Distributions
IX Stan Software Development
61. Software Development Lifecycle
62. Contributed Modules
63. Stan Program Style Guide
Appendices
A. Licensing
B. Stan for Users of BUGS
C. Modeling Language Syntax
D. Warning and Error Messages
E. Deprecated Features
F. Mathematical Functions
Intended Effect
Users will find more easily the relevant material.
How to Verify
Test with users.
Side Effects
Users used to the old order may need more time to find what they are looking for.
Documentation
Yes
Reviewer Suggestions
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Aki Vehtari (copyright for work without external funding belongs to me).
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

I like the new organization.  It'll set us up nicely for https://github.com/stan-dev/stan/issues/2103
Now that you've cleaned up the ordering, I'd like to go further and break "Example Models and Programming Techniques" into two parts, the first being chapters 8--18 and the second being 19--26.  I'd be inclined to put the programming techniques first and lead with modeling as software chapter, but I'm not that picky if you think it should go the other way.

We like to have an issue created first then include the issue number in the name of the branch.  That way, we can tell what feature gets implemented with each pull request.  No need to change this now, just a heads up for the future.

I'll clean this up.  I added the new part and will fix the broken references.

I started this task and am now very confused.   I'd like to set up a hangout or something to try to understand the bigger picture in this reorganization so that I can track where the content in the old manual landed in the new one.

I like that it went from 585 to 506 pages, but I want to make sure nothing (that I think is) important got lost.

In tracking down missing references, I realized the problem is that there are whole missing chapters;  did the content get rolled in elsewhere?

Containers: Arrays, Vectors, and Matrices
Multiple Indexing and Range Indexing (some [all?] of this is now in the Optimizing Stan Code for Efficiency chapter, which seems like an odd choice to me as the indexing isn't any more efficient than looping)

The natural order is to have the Expressions and Data Types chapter before the Statements chapter because statements depend on expressions and involve typing.  I'd very much like to order that back the way I have it if the internal changes weren't too dramatic.

There is junk inserted at the end of chapters like

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "stan-reference"
%%% End:

Did this come from some kind of LaTeX IDE or editor mode?  I'd rather not leave this stuff in our docs.
I would strongly suggest in the future creating an issue we can discuss before doing this much work.  I'm happy you did it here, I just want to do a bit of reordering and make sure nothing got dropped in the process.

I'm not certain whether I should continue discussion here in the pull request,
but since Bob wrote here, I'll answer to his comments here.

I would strongly suggest in the future creating an issue we can discuss
before doing this much work. I'm happy you did it here, I just want to do a
bit of reordering and make sure nothing got dropped in the process.

I tried to initiate the discussion in Discourse, and then Bob wrote

We do take pull requests!
which I interpreted to mean that the discussion is not going to happen without
the pull request. I'm sorry that I misunderstood this.

I started this task and am now very confused. I'd like to set up a hangout or
something to try to understand the bigger picture in this reorganization

When?

In tracking down missing references, I realized the problem is that there
are whole missing chapters; did the content get rolled in elsewhere?

Yes.

  o Containers: Arrays, Vectors, and Matrices

Combined to "Data Types and Variable Declarations". This was the part with the
most repetition.

  o Multiple Indexing and Range Indexing (some [all?] of this is now in the
    Optimizing Stan Code for Efficiency chapter, which seems like an odd
    choice to me as the indexing isn't any more efficient than looping)

"Expressions" has the basics of the indexing.
When I read "Multiple Indexing and Range Indexing", it felt more like
additional programming tips as it includes many examples which are more clear
after other examples, so it didn't fit well in "Expressions" chapter.
Furthermore "Multiple Indexing and Range Indexing" section starts:
---clip---
Stan allows multiple indexes to be provided for containers (i.e.,
arrays, vectors, and matrices) in a single position, using either an
array of integer indexes or range bounds.  This allows many models to
be vectorized.  For instance, consider the likelihood for a varying-slope,
varying-intercept hierarchical linear regression, which could be coded
as
%
\begin{stancode}
for (n in 1:N)
y[n] ~ normal(alpha[ii[n]] + beta[ii[n]] * x[n], sigma);
\end{stancode}
%
With multiple indexing, this can be coded in one line, leading to more
efficient vectorized code.
---clip---
I thought "more efficient vectorized code" would mean it is more efficient.

The natural order is to have the Expressions and Data Types chapter before
the Statements chapter because statements depend on expressions and involve
typing. I'd very much like to order that back the way I have it if the
internal changes weren't too dramatic.

I guessed you would think that. I put the Statements first, because the most
important part of the language how to build log density (target += and ~) are
described there. At least I like to first read what I can do with a new
language and only after that I'm interested in reading additional details. If
you want to move expression to be before statements, then there is need to
describe += and ~ in the introduction.

There is junk inserted at the end of chapters like

|%%% Local Variables: %%% mode: latex %%% TeX-master: "stan-reference" %%% End: |
Did this come from some kind of LaTeX IDE or editor mode? I'd rather not leave
this stuff in our docs.

Emacs AUCTeX mode. I thought they would not do harm, but I can remove them.
I have additional comments about splitting and models chapter, but I continue
that discussion in discourse,
Aki

Bob> I like that it went from 585 to 506 pages
Hmm... I have 568 pages.
I thought I had fixed all missing references. Fixed now.
Aki

OK, I'll take a longer read over the whole thing
as you checked it in.  I may have cut things out
in trying to break into two parts, which may also
account for why I thought things went missing.

Bob

On Nov 8, 2016, at 2:42 AM, Aki Vehtari<EMAIL_ADDRESS>wrote:
Bob> I like that it went from 585 to 506 pages
Hmm... I have 568 pages.
I thought I had fixed all missing references. Fixed now.
Aki
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Overall, this looks great and should make it easier to split the docs apart.
I furtherd some of your changes:

broke the Examples and Programming Techniques into two parts
moved reproducibility and stan as software chapters into the new software part you created

And I reverted a couple things to how they were before:

pulled the multi indexing and the matrix vs. arrays out into their own chapters (we get lots of questions on these)

moved statement chapter back to after data types and expression chapters (this is the traditional order due to dependencies)

@avehtari If you could review this, I'm OK with it if you are.

When I compile stan-reference.tex I don't get chapter and section numbers (the latest released manual has them). I couldn't figure out why this happens. Otherwise it seems ok.

Chapter and section numbers work fine for me, so I'm going to go ahead and merge and assume it's something on your side out of sync.  Do you have the Lucida fonts?  If not, then nothing's going to look right anyway (but it shouldn't cause a problem with section numbering).


ReadTimeout when trying to perform prediction

https://github.com/replicate/replicate-python/issues/135#issuecomment-2018529395 recommends users to provide large files via a link.
So, I hosted my own http server, port forwarded it with ngrok and got the required files accessable via a link. The server is configured in a way such that it basically never times out.
(root directory of the server, containing a link to the file)

I then passed in the link to perform a prediction via Client.run (usage shown below), which caused this issue (error logs attached to post).
Essentially I am doing this
default_timeout = httpx.Timeout(
        10080.0,      # default timeout
        read=10080.0,  # 3 hour minutes read timeout
        write=600.0,  # write timeout
        connect=600.0,  # connect timeout
        pool=600.0     # pool timeout
    )

client = replicate.Client(timeout = default_timeout)

client.run(model, input = input)

resulting in the following error
message.txt
other logs:
INFO:summarize_media.host_files.localhost:Local server starting at http://localhost:8000
INFO:ngrok.session:Session created with auth token
INFO:ngrok.listener:Created listener "aad2e8cf59ef69bafb3fac7eba556f6c" with url "https://42d6-203-218-60-205.ngrok-free.app"
INFO:summarize_media.host_files.localhost:Ngrok tunnel established at https://42d6-203-218-60-205.ngrok-free.app
INFO:ngrok.listener:Listener "aad2e8cf59ef69bafb3fac7eba556f6c" forwarding to "tcp://localhost:8000"
INFO:ngrok.tunnel_ext:forward_tunnel; tunnel_id="aad2e8cf59ef69bafb3fac7eba556f6c" url=tcp://localhost:8000
INFO:summarize_media.host_files.localhost:Hosted file Samo Burja on Sam Altman, Elon Musk, Peter Thiel, and George Soros.wav at https://42d6-203-218-60-205.ngrok-free.app/0a7a5b76-26ad-4f73-a592-b7f39cd09c49_Samo Burja on Sam Altman, Elon Musk, Peter Thiel, and George Soros.wav
Audio hosting at https://42d6-203-218-60-205.ngrok-free.app/0a7a5b76-26ad-4f73-a592-b7f39cd09c49_Samo Burja on Sam Altman, Elon Musk, Peter Thiel, and George Soros.wav, transcribing...
INFO:summarize_media.host_files.localhost:"GET / HTTP/1.1" 200 -
INFO:summarize_media.host_files.localhost:Removed hosted file Samo Burja on Sam Altman, Elon Musk, Peter Thiel, and George Soros.wav

Solved, its a ngrok issue not a replicate issue, closing the issue


Getting Error

I am getting this error trying to install this.
npm install node-occ
npm WARN package.json<EMAIL_ADDRESS>No repository field.

<EMAIL_ADDRESS>install C:\Users\Scott\Source\Workspaces\Node-OCC\Node-OCC\Node-OCC\node_modules\node-occ
node-gyp rebuild
C:\Users\Scott\Source\Workspaces\Node-OCC\Node-OCC\Node-OCC\node_modules\node-occ>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild
gyp
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is most likely a problem with the node-occ package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-occ
npm ERR! There is likely additional logging output above.
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "node-occ"
npm ERR! cwd C:\Users\Scott\Source\Workspaces\Node-OCC\Node-OCC\Node-OCC
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
install node-occ completed with errors

version has evolved significantly since this issue was raised. and mechanism to build under windows or ubuntu have been stabilized.


Remove cirq_ft_jupyter_autogen_fatories.py and update stale notebooks.

@tanujkhattar PTAL

wow!

wow!

Surprised it still exists?

end of an era :)


🧹 Don't get TT item as ref when only reading it

The idea of using ref when probing/reading TT is avoiding the struct copy.
However, I can see how that can be problematic in a multi-thread environment, since the element can change between the moment when reference was saved and when the values are read.
Test  | perf/tt-no-ref-on-probe
Elo   | 1.67 +- 2.76 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=32MB
LLR   | 2.93 (-2.25, 2.89) [-3.00, 1.00]
Games | 24346: +6615 -6498 =11233
Penta | [509, 2789, 5457, 2912, 506]
https://openbench.lynx-chess.com/test/1047/

Will merge for now and I'll trigger a multi-threaded test after the merge, there's always time to revert this change if my intuition is wrong.


fix css landing page

this is very trivial and I'd like to have the appliance ready tomorrow morning, so I am merging...


Please do not merge - test only

Trying to repreduce #3545 using Travis

Testing complete, closing the pull request.


feat(dts): add a d.ts and configuration for TS users

This commit enables TypeScript developers to use this library by
providing the minimal set of type definitions along with configuration
in package.json for the TypeScript compiler and a typings.json file for
popular d.ts acquisition tools.

Coverage remained the same at 100.0% when pulling 27d04c242ddeed6ace8c5437a7cfecf558bd1a5e on EisenbergEffect:master into 03862f9a888dd5a7f4573a56e9574fd12689d222 on ansman:master.

Yes, they should. The Aurelia community is using this plugin a lot. We built a nice validation plugin on top of it but we had a lot of issues with TS users who couldn't get the d.ts file. So, I just wanted to put something basic in place that would at least satisfy the main-use APIs.

Released in 0.11.0


Returns female names when asking for male names.

Here is what I put to test this out after I noticed the issue:
for i in range(5):
pop_name = names.get_full_name(gender="Male")
print(pop_name)
Results:
Alvin Heller
George James
Wallace White
Lydia Pastrana
Donna Brubaker

Are you using an uppercase M for gender="Male" and if so does using gender="male" with a lowercase m change the result ?
I didn't manage to replicate the issue nevertheless ;

I would have swore the docs said to use a capital, but I checked and it is lowercase, that's completely my bad I apologize, I will delete this report.


delete vendor

vendor dir too large, delete it now

/cc @pixiake @iNineku @stoneshi-yunify @zheng1

/lgtm


CNBCVideo error

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I'm running yt-dlp version 2023.10.13 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
USA
Provide a description that is worded well enough to be understood
CNBCVideo not working
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['https://www.cnbc.com/video/2023/10/18/the-palestinians-are-not-hamas-says-yeshiva-university-president-rabbi-ari-berman.html', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b634ba742] (pip)
[debug] Python 3.12.0 (CPython arm64 64bit) - macOS-14.0-arm64-arm-64bit (OpenSSL 3.1.3 19 Sep 2023)
[debug] exe versions: ffmpeg 6.0 (setts), ffprobe 6.0, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.19.0, brotli-1.1.0, certifi-2023.07.22, mutagen-1.47.0, sqlite3-3.43.2, websockets-11.0.3
[debug] Proxy map: {}
[debug] Loaded 1890 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[CNBCVideo] Extracting URL: https://www.cnbc.com/video/2023/10/18/the-palestinians-are-not-hamas-says-yeshiva-university-president-rabbi-ari-berman.html
[CNBCVideo] the-palestinians-are-not-hamas-says-yeshiva-university-president-rabbi-ari-berman: Downloading JSON metadata
[CNBC] Extracting URL: http://video.cnbc.com/gallery/?video=7000319414
[ThePlatform] Extracting URL: http://link.theplatform.com/s/gZWlPC/media/guid/2408950221/7000319414?mbr=true&manifest=m3u#__youtubedl_smuggle=%7B%22force_smil_url%22%3A+true%7D
[ThePlatform]<PHONE_NUMBER>: Downloading SMIL data
ERROR: [ThePlatform]<PHONE_NUMBER>: Unable to download XML: HTTP Error 404: Not Found (caused by <HTTPError 404: Not Found>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 715, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/theplatform.py", line 303, in _real_extract
    formats, subtitles = self._extract_theplatform_smil(smil_url, video_id)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/theplatform.py", line 36, in _extract_theplatform_smil
    meta = self._download_xml(
           ^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 1069, in download_content
    res = getattr(self, download_handle.__name__)(url_or_request, video_id, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 1033, in download_handle
    res = self._download_webpage_handle(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/adobepass.py", line 1366, in _download_webpage_handle
    return super(AdobePassIE, self)._download_webpage_handle(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 903, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 860, in _request_webpage
    raise ExtractorError(errmsg, cause=err)

  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/networking/_urllib.py", line 410, in _send
    res = opener.open(urllib_req, timeout=float(request.extensions.get('timeout') or self.timeout))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 521, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 630, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 559, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 639, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 4051, in urlopen
    return self._request_director.send(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/networking/common.py", line 114, in send
    response = handler.send(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/networking/_helper.py", line 204, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/networking/common.py", line 325, in send
    return self._send(request)
           ^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/networking/_urllib.py", line 415, in _send
    raise HTTPError(UrllibResponseAdapter(e.fp), redirect_loop='redirect error' in str(e)) from e
yt_dlp.networking.exceptions.HTTPError: HTTP Error 404: Not Found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/extractor/common.py", line 847, in _request_webpage
    return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/yt-dlp/2023.10.13/libexec/lib/python3.12/site-packages/yt_dlp/YoutubeDL.py", line 4070, in urlopen
    raise _CompatHTTPError(e) from e
yt_dlp.networking.exceptions._CompatHTTPError: HTTP Error 404: Not Found

Related: #5871
But this seems like a different issue

My group and I are in a Software Engineering class in college. We will implement an extractor specifically for CNBC to tackle this issue.


Tilemap: Animated tiles sometimes vanish between repeats of the loop

Godot version
v4.1.1.stable.official [bd6af8e0e]
System information
Windows 10
Issue description
Animated tiles will occasionally vanish for one frame when looping back from the last frame to the first frame.
Here's a video, you can see the animated grass vanish at ~4 seconds and again right before the end
https://github.com/godotengine/godot/assets/89282845/fed761d4-6db8-485b-96c3-440a385ebe87
Steps to reproduce
I am unsure exactly what triggers this, but it appears high cpu load makes it more likely, as does alt-tabbing back and forth.
That said, it happens without my CPU being slammed and without alt-tabbing, and running a bunch of CPU-heavy other processes and furiously alt-tabbing couldn't get it to reproduce in a minimal project with an animated tileset and nothing else.
From messing around with the animated tiles rendering code, when working on the pingpong, my guess is that this segment of tile_map.cpp might be the culprit.
//starting at line 3123
			real_t speed = atlas_source->get_tile_animation_speed(p_atlas_coords);
			real_t animation_duration = atlas_source->get_tile_animation_total_duration(p_atlas_coords) / speed;
			real_t time = 0.0;
			for (int frame = 0; frame < atlas_source->get_tile_animation_frames_count(p_atlas_coords); frame++) {
				real_t frame_duration = atlas_source->get_tile_animation_frame_duration(p_atlas_coords, frame) / speed;
				RenderingServer::get_singleton()->canvas_item_add_animation_slice(p_canvas_item, animation_duration, time, time + frame_duration, p_animation_offset);

				Rect2i source_rect = atlas_source->get_runtime_tile_texture_region(p_atlas_coords, frame);
				tex->draw_rect_region(p_canvas_item, dest_rect, source_rect, modulate, transpose, p_tile_set->is_uv_clipping());

				time += frame_duration;
			}
			RenderingServer::get_singleton()->canvas_item_add_animation_slice(p_canvas_item, 1.0, 0.0, 1.0, 0.0);

The way it currently works, if send too few frames to the renderingserver to occupy the entirety of animation_duration, the animated tile vanishes when it runs out (rather than keeping the previous frame onscreen)
I believe that's basically happening here; with the right level of slowdown, it's possible for the game to skip a frame or something right when the tile animation loops, and since the new frames don't immediately get sent to the renderingserver, in the next frame the animated tile vanishes, then godot catches up and sends all the frames properly, restoring the animated tile.
If that's the case, there's an easy (if dumb) fix: send the first frame to the rendering server twice, once at the beginning and once at the end.  (Or in a similar vein, give the last frame a duration of a million years)
When working on pingpong I added the new frames before changing animation_duration, and noticed that at start of a new cycle, any frame data that extended past the animation_duration period seems to get discarded harmlessly.
Minimal reproduction project
I don't have a minimal project at the moment, it looks like I'm going to have to chop down the project that I'm seeing the glitch in rather than building a tiny one from scratch.  As a random bug that can't be triggered on demand I can't say whether or not my speculative fix would actually address the real issue, and I want to ask other people who know the tile system if they can reproduce and maybe come up with a better explanation.

Here's a video, you can see the animated grass vanish at ~4 seconds and again right before the end

For that grass tile what's the animation_speed and duration for each individual frame? And how many frames are there etc.
In case they're non-default best if you'd share the exact values from the resource file (e.g. from the .tscn file if it's saved as a subresource within a scene).
E.g. for:

the lines starting with 0:0 (tile coords within the TileSet):
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_wit5m"]
texture = ExtResource("1_6g4wg")
texture_region_size = Vector2i(32, 32)
0:0/animation_columns = 2
0:0/animation_speed = 0.3
0:0/animation_frame_0/duration = 0.9975
0:0/animation_frame_1/duration = 1.003
0:0/animation_frame_2/duration = 1.0025
0:0/0 = 0

(if the values are default then they're not being saved within the resource file as there's no point to do so)

Will have more time to screw with this on the weekend, but here's one of the long grass tiles
27:0/animation_separation = Vector2i(0, 4)
27:0/animation_speed = 6.0
27:0/animation_frame_0/duration = 6.0
27:0/animation_frame_1/duration = 1.0
27:0/animation_frame_2/duration = 1.0
27:0/animation_frame_3/duration = 1.0
27:0/0 = 0
27:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
27:0/0/physics_layer_0/angular_velocity = 0.0
27:0/0/physics_layer_1/linear_velocity = Vector2(0, 0)
27:0/0/physics_layer_1/angular_velocity = 0.0
27:0/0/physics_layer_2/linear_velocity = Vector2(0, 0)
27:0/0/physics_layer_2/angular_velocity = 0.0
27:0/0/physics_layer_2/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -4, 1.5)
27:0/0/physics_layer_3/linear_velocity = Vector2(0, 0)
27:0/0/physics_layer_3/angular_velocity = 0.0
27:0/0/physics_layer_3/polygon_0/points = PackedVector2Array(16, -16, -16, -16, -16, -1.5, 4, 16, 16, 16)
27:0/0/custom_data_1 = "GrassTop"
27:0/0/custom_data_3 = 16.0``


fix: compatibility fixes for ActionMailer plugin

Description of the change
This PR fixes several compatibility issues with plugin support for ActionMailer.

Correctly detect whether included in a mailer class.
Report metadata available in subclasses of ActionMailer::Base, and don't reference attributes that aren't. (e.g. arguments)
Prevent double Rollbar reports, caused by the rescue_from handler getting called twice.

Type of change

[x] Bug fix (non-breaking change that fixes an issue)

Related issues
Fixes: https://github.com/rollbar/rollbar-gem/issues/1145

I tested this with our app that has a test that fails with 3.5.0 and everything looks good. Thanks for fixing this ❤


If libcrypto implementation of AES is used, do not compile internal

Hi,
this is somewhat cosmetic change. When libcrypto implementation of
AES is used, rijndael.cc file does not have to be compiled and linked
into the library. This allows us to not list rijndael AES implementation
as bundled feature of libmemcached in Fedora and RHEL package.

Codecov Report

Merging #122 (0dc8017) into v1.x (6079c0e) will increase coverage by 1%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            v1.x    #122     +/-   ##
=======================================
+ Coverage     68%     69%     +1%
=======================================
  Files        194     191      -3
  Lines      17478   15059   -2419
=======================================
- Hits       11929   10440   -1489
+ Misses      5549    4619    -930

Impacted Files
Coverage Δ

test/fixtures/parser.hpp
88% <0%> (-9%)
:arrow_down:

src/libhashkit/string.cc
42% <0%> (-6%)
:arrow_down:

src/bin/memcapable.cc
86% <0%> (-5%)
:arrow_down:

src/libmemcached/dump.cc
65% <0%> (-4%)
:arrow_down:

src/bin/common/checks.hpp
60% <0%> (-3%)
:arrow_down:

contrib/bin/memaslap/ms_task.c
70% <0%> (-3%)
:arrow_down:

test/lib/Shell.cpp
69% <0%> (-2%)
:arrow_down:

contrib/bin/memaslap/ms_conn.c
44% <0%> (-2%)
:arrow_down:

contrib/bin/memaslap/ms_setting.c
75% <0%> (-2%)
:arrow_down:

test/lib/Retry.cpp
92% <0%> (-2%)
:arrow_down:

... and 127 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 6079c0e...0dc8017. Read the comment docs.


FederatedStore Review IT tests

Some tests could be pulled out IT.
Some tests could be in ITS class using a different "publicAccessPredefinedFederatedStore" with zero graphs?

Review requesting Admin code coverage


[modern] Simplify development inside docker container

Is your feature request related to a problem? Please describe.
To simplify & reduce the necessary of npm (& dependencies) for UI developer, I have created a simple docker (& docker-compose) solution to develop inside docker container. That allows developers to edit files without installing all node dependencies, only Docker with Docker-Compose are necessary. It is inspired by this medium article with few modifications.
That launch one docker container with the modern UI and another container with traccar application (as backend). All API requests are automatically forwarded to the backend.
If you are interested, I can create a PR.
Describe the solution you'd like
N/A (Solution already developed)
Describe alternatives you've considered
N/A
Additional context
The current branch is available here.

Doesn't seem like there's a lot of interest in this, so I think we can close this for now. I personally prefer NPM.

Hi @tananaev, it is OK for me. From my side, I prefer to use this docker alternative for the development, but I fully understand if you prefer to use NPM.


TargetPixelFile WCS extraction possibly failed when header is missing

The tpf.wcs would raise KeyError if the requested key (oldkey) is missing in the TPF (line 378 below):
https://github.com/KeplerGO/lightkurve/blob/6265d26655f2bc44c5803d6e12501a3a9490d424/lightkurve/targetpixelfile.py#L376-L380
I believe the line is meant to be:
        if (tpf[1].header.get(oldkey, None) is not None):

Affected version: master, Lightkurve 1 (it has the same code upon inspection)

Agreed, the .get() syntax is no doubt more robust!


Add instructions for local testing.

I added instructions to run the tests with the local version of the source code.
This is useful during development.

Notice that the tests are safe to execute right now because no test is actually doing actions on the databases or calling APIs.
In the future, database references and APIs will be mocked.

Thank you!


Composition Interface should only look at composition scores

Right now it picks the 0th index (because it was built with the assumption that only composition scores would exist)

Resolved via #611


Request matcher not working on grpc

Describe the bug
Trying to match with is + capture doesn't work
To Reproduce
Steps to reproduce the behavior:

Tree structure:

./mocks
    |- /test
        |- Greeter
             |- SayHello.mock
./protos
    |- simple.proto
./config.yml

File content:

// simple.proto
syntax = "proto3";

package test;

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply);
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

// SayHello.mock
{{#is (capture using='jsonpath' selector='$.name') 'Bob' }}
{
  "message": "{{capture using='jsonpath' selector='$.name'}}"
}
{{else}}
{
  "message": "Not Bob, you are: {{capture using='jsonpath' selector='$.name'}}"
}
{{/is}}

// config.yml
...
  grpc:
    enable: true
    #host: localhost
    host: <IP_ADDRESS>
    port: 4312
    mocks_dir: "./mocks"
    protos_dir: "./protos"
    grpc_tls: false

Run camouflage: docker run -d -p 4312:4312  -v $(pwd):/app --name camouflage shubhendumadhukar/camouflage
Hit endpoint with Bob:

grpcurl \
  -proto protos/simple.proto \
  -d '{"name": "Bob"}' \
  -plaintext \
  localhost:4312 \
  test.Greeter/SayHello
{
  "message": "Not Bob, you are: Bob"
}

Hit endpoint with Alice:

grpcurl \
  -proto protos/simple.proto \
  -d '{"name": "Alice"}' \
  -plaintext \
  localhost:4312 \
  test.Greeter/SayHello
{
  "message": "Not Bob, you are: Alice"
}

Expected behavior
Step 4 should print a different message: { "message": "Bob" }.
The jsonpath is correct, because when returning the message, it correctly says "you are: Bob". However, the comparison doesn't seem to be working.
Additional context
2022-09-30 15:07:53 debug: Unary Request: {"name":"Bob"}
2022-09-30 15:07:53 debug: Mock file path: mocks/test/Greeter/SayHello.mock
2022-09-30 15:07:53 debug: Response: {
  "message": "Not Bob, you are: Bob"
}

Hello!
Any updates or ETA on this?
Thanks!

So given this bug, is there any way to return different mock responses for the same API based on request parameters?

I think there's always the option to run arbitrary code (end of this section: https://testinggospels.github.io/camouflage/request-matching/).
I haven't tried it yet, though

Apologies for the delay in response. I have been occupied elsewhere and had only been looking at pull reqeusts.
I have however look into the issue. TLDR; Use regex instead of jsonpath as an interim solution.
Explanation:

Capture helper: It seems like if we use jsonpath to capture a value, the type of value is object.
Is helper: The comparison takes into account the types of the values being compared.
Why the results are unexpected?
a. The left hand side value i.e. (capture using='jsonpath' selector='$.name') has a type of object
b. The right hand side value i.e. 'Bob' has a type of string
c. Since comparison consider types, the condition returns false.
Using regex both left hand and right hand side values are strings hence the comparison returns true. (capture using='regex' selector='\"name\": \"(.*?)\"')

Next Steps:

Add notes in documentation.
Provide fix for the jsonpath path issue.

Added new operator ==, this should disable strict type checking. Modifying mock as shown below would produce appropriate result.
Before
{{#is (capture using='jsonpath' selector='$.name') 'Bob' }}
After
{{#is (capture using='jsonpath' selector='$.name') '==' 'Bob' }}
Updated mock content
{{#is (capture using='jsonpath' selector='$.name') '==' 'Bob' }}
{
  "message": "{{capture using='jsonpath' selector='$.name'}}"
}
{{else}}
{
  "message": "Not Bob, you are: {{capture using='jsonpath' selector='$.name'}}"
}
{{/is}}

Change would be available in next release


IAM roles support

Hi there,
This is great idea, thanks for working on this!
I'm hosting my application(s) on AWS and would rather authenticate with IAM roles than with API keys, any chance you could support this?
I can probably send a PR if you're interested. :)

When used with a Lambda and deployed via Zappa, you get this error:
[ERROR] ClientError: An error occurred (UnrecognizedClientException) when calling the GetSecretValue operation: The security token included in the request is invalid.
This happens because the code loads AWS_ACCESS_KEY_ID and  AWS_SECRET_ACCESS_KEY from the environment variables and creates the session using those while there is a AWS_SESSION_TOKEN and causes the error when trying to access the secrets. To prevent this behaviour, I've added this in the settings:
# Hack to prevent loading wrong credentials
SECRETS.access_key_names = ()
SECRETS.secret_key_names = ()

Maybe there could be an option to prevent loading these env variables at initialising AWSSecretsManagerSecrets.

Hi there,
This is great idea, thanks for working on this!
I'm hosting my application(s) on AWS and would rather authenticate with IAM roles than with API keys, any chance you could support this?
I can probably send a PR if you're interested. :)

Hey @n6g7 did you get anywhere with this? I would be willing to help as well. I have a working version for a fast-api project that uses boto3 with iam permissions (no keys etc required) and aws-secretsmanager-caching-python to boot performance (note there are a few reported issues with python-3.12).
I noticed that other django modules like storage work with iam policies so it would be nice to get this package to do the same.
Let me know if you'd be keen to collaborate (It has been a while since this issue was opened)

@devraj I never got around to building this and am not using Django anymore recently, sorry.


Changed the wording at the beginning of the paragraphs

We start the paragraphs with "When you have version 1902 baseline media, you can upgrade to...." but we already have this, it is confusing to keep saying that I think..
Summarize the change in the pull request title
Describe your change, specifically why you think it's needed.
Fixes #Issue_Number (if necessary)

@kerimhanif : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@mestew : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@kerimhanif Thanks! I pulled the 1606 info too while I was reviewing this. Yell at me if we need to put it back in for some reason =)
#sign-off


No link to IPT homepage displayed on IPT installation page

No link to IPT homepage displayed on IPT installation page
Only the RSS endpoint is currently displayed

fbitem-96b9527ed3c47b4e8e65817ad1ca3f20236b567a
Reported by: @kbraak
System: Safari 10.1.2 / Mac OS X 10.10.5
Referer: https://www.gbif-uat.org/installation/b6bbcb00-d6a6-4c2b-a4a2-c70dbed7f188
Window size: width 1397 - height 801
API log
Site log

The general principle has been to reflect the API in the interface.
And since the API has the option to add a home page and more endpoints (for a website fx), then this seem to me like the place to add that information. If doing so it will show up as a website link on the installation page.
Adding a special rule in the website saying if rss feed contains ipt then guess website seems to me like adding clutter when the option to do it in the API exists already?
@kbraak what is the impact would you say of having this on the page?
@timrobertson100 what is your take - is this something that should go into the API? How do installations get registrered in the first place. Why not add the homepage there?
I'm not sure wether to consider this a bug or an idea.

The homepage URL is essential for IPT installations, but not applicable to other types of installations. It will have a significant impact, as it will make it more convenient to open the IPT in order to do follow-ups, curation, etc.
It would be nice to display the IPT's RSS feed using the RSS icon. For the homepage, it would be nice to reuse the same icon as used for the dataset homepage.

I'd suggest it sensible to do logic of "if type=IPT and has an RSS endpoint, construct a link to the homepage using the RSS endpoint but removing the trailing /rss.do".
That is what the current website does in this line in the template

Seems the wrong place to me, but it is now added


Roll engine a8890fdccd66..2a1debfccfe2 (8 commits)

https://github.com/flutter/engine/compare/a8890fdccd66...2a1debfccfe2
git log a8890fdccd66..2a1debfccfe2 --no-merges --oneline
2a1debfcc Update deprecated subtags from language subtag registry. (flutter/engine#6280)
540cd9626 Add Xib splashscreen support (flutter/engine#6289)
05f21e63a Fix a compilation problem when using iPhoneOS12.0sdk(Xcode10) && clang version 7.0.0. (flutter/engine#6279)
ca6f10389 Roll src/third_party/skia d842557c0724..c25f440d537e (10 commits) (flutter/engine#6304)
3b46705db Roll src/third_party/skia 38ca6d509d9f..d842557c0724 (5 commits) (flutter/engine#6302)
0c166fe3f Roll src/third_party/skia 05cf051f0252..38ca6d509d9f (1 commits) (flutter/engine#6301)
cf0fbadce Roll src/third_party/skia 44c6167c4125..05cf051f0252 (4 commits) (flutter/engine#6299)
2ec20aaeb Remove bottom safe-area padding when keyboard up (flutter/engine#6297)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

@rmistry @liyuqian : New roll has been created by https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Trybots failed. These were the failed builds: https://flutter-dashboard.appspot.com/build.html

Commit queue failed; closing this roll.


Error Using Constrained Type Parameter in Generic Mapped Type

Bug Report
🔎 Search Terms
is:issue is:open mapped type generic constraints label:Bug
🕗 Version & Regression Information

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

⏯ Playground Link
Playground link with relevant code
💻 Code

export type Filter<Type> = {
    [Property in keyof Type]+?: Type[Property];
}

type SpecificType = { _id: string, name: string }

export class MyGenericClass<T extends SpecificType> {
    test(): void {
        const specificFilter: Filter<SpecificType> = {_id: "id"}; // No Error
        const genericFilter: Filter<T> = {_id: "id"}; // Error: Type '{ _id: "id"; }' is not assignable to type 'Filter<T>'
    }
}

🙁 Actual behavior
A ts error occurs. We know all fields on Filter<T> are optional, but we are unable to assign any value with this type without getting a ts error. The error doesn't provide details on why we can't assign the value; just that it is not assignable.
🙂 Expected behavior
No ts error. We have enough information to know that { _id: "id" } is a valid Filter<T> since T extends SpecificType, any subclass of SpecificType will have the _id field, and all fields in Filter<T> are optional.

We have enough information to know that { _id: "id" } is a valid Filter<T>

But we don't. The type of _id could be a more constrained one. For example:
type SpecificId = { _id: "abc", name: string }

Assigning "id" to the property _id would be invalid.

I see, so the issue is that TypeScript lets you constrain even primitive types when extending a type.
Strangely, even if I specify a hard-coded string in the type, it doesn't help.
export type Filter<Type> = {
    [Property in keyof Type]+?: Type[Property];
}

type SpecificType = { _id: string }
interface MoreSpecificType extends SpecificType { _id: "string" }

export class MyGenericClass<T extends MoreSpecificType> {
    test(): void {
        const genericFilter: Filter<T> = {_id: "string"}; // Error: Type '{ _id: "string"; }' is not assignable to type 'Filter<T>'.
    }
}

This much narrower example isn't very useful in the real world though. Closing this issue.

That happens because you could make the string literal even narrower, e.g. "string" & { brand: unknown }


Install command

hi I installed this with the following command
composer require vi-kon/laravel-db-exporter

Hi I changed installation description :)


Remove dependency on Python distutils

As of Python 3.10, the distutils module is deprecated (PEP 632), and importing it triggers a warning.
This PR removes all references to distutils from nanopb.

I think this should be ok and I'll merge it.
@zrno @mathisloge @odolgy @dflogeras If some of you want to try out the CMakeLists changes to verify that they work on your system also, that would be great!

Works on my machine

Works on my machine also


filtering semantic search is not working

When doing a semantic search we cannot filter down the results like with a lexical search.

client = setup_weaviate()
    query = (
        client.query.get(
            "FundusRecordImage",
            ["fundus_id"],
        )
        .with_near_vector({"vector": emb})
        .with_additional(["certainty", "distance", "id"])
        .with_limit(k + 1)
    )

    if search_in_collections is not None and len(search_in_collections) > 0:
        where_filter = {
            "operator": "Or",
            "operands": [
                {
                    "path": ["sdocId"],
                    "operator": "Equal",
                    "valueInt": sId,
                }
                for sIdin filtered_sdoc_ids
            ],
        }
        query = query.with_where(where_filter)

    results = query.do()["data"]["Get"]


[components] include checked member in option component

    @yinonov I think it's better not to include it in the docs right now, and only add it when the listbox will be ready./

Then we could add an example with a listbox and write this comment:
The checked state is used when the parent listbox is in multiple selection mode. To avoid accessibility conflicts, the checked state should not be present in single selection mode.
Originally posted by @rinaok in https://github.com/Vonage/vivid-3/pull/760#discussion_r1009311880

@yinonov
The user should not toggle by himself the checked attribute.
Therefore, I think that we should not add it to our docs.
If we add the checked attribute to the option by ourselves, we will not see any visible change.
Add the following code example here:
<fast-listbox multiple>
    <fast-option value="1" checked>Option 1</fast-option>
    <fast-option value="2">Option 2</fast-option>
    <fast-option value="3">Option 3</fast-option>
</fast-listbox>

that's true


missing context in express get/post/... callback

hi
I edit the express.application.handle like below
var namespace = cls.createNamespace('transaction');
express.application.handle = function(){
namespace.run(function cb(){
namespace.bindEmitter(arguments[0]);
namespace.bindEmitter(arguments[1]);
namespace.set('uuid', require('node-uuid').v4());
express.application.handle.apply(this, arguments);
});
and then I pring the uuid in express.get/post or some other http method, I found I can not get uuid
what's the prolem?
thanks!
zeng

With express 4, your handle function is never called. That doesn't look like a standard pattern..?
The following works fine:
var express= require('express');
var app = express();
var cls = require('continuation-local-storage');
var assert = require('assert');

var namespace = cls.createNamespace('transaction');

// this is never called..? no logs
express.application.handle = function(){
    console.log('handler outer');
    namespace.run(function cb(){
        namespace.bindEmitter(arguments[0]);
        namespace.bindEmitter(arguments[1]);
        namespace.set('uuid', require('node-uuid').v4());
        console.log('handler cb');
        express.application.handle.apply(null, arguments);
    });
}

function handler(req, res) {

    var uuid = require('node-uuid').v4();

    namespace.run(function(){
        namespace.set('uuid', uuid);
        process.nextTick(function(){
            assert(uuid === namespace.get('uuid'));
            res.send(namespace.get('uuid'));
        });
    });
}

app.get('/', handler);
app.listen(3030);
```

Testing concurrency with apachebench as follows:
```
$ ab -c4 -n10000 http://localhost:3030/
```

...with no errors.

oh...
I debug in my express project,it realy console logs,my express version is 4.13.4
and I set express.application.handle = null; log like below
[2016-07-11 17:42:53.895] [ERROR] console - TypeError: app.handle is not a function
at Server.app (/angelia/projects/angelia-portal/angelia-portal/node_modules/express/lib/express.js:38
but I set express.application.handle = null in the examle you give ,it wors right

i couldn't find anything in the docs about how to use express.application.handle - where did you see this?
anyway - this looks like an express problem, and not really a CLS thing.

express.application.handle is an innter function defined by express.application. And It's called in express.createServer.
It's really weird...

I guess you can close this, @peaksnail - btw, saw one more thing - using arguments from the ns.run function, instead of the arguments passed to handle. Almost certainly makes no difference here, but just noticed.


Update pom.xml artifact ID

These commits update the pom.xml artifactId to "sullivan".

@samfalberg I think you commented instead of approved.


Added a way to derive from ElasticsearchSink class so that customized…

… EmitBatch method would be able to analyse Elasticsearch response and get specific errors in case emit was unsuccessful.
Unfortunately existing call _state.Client.Bulk(payload); does not allow to check Elasticsearch response in any way. I have split EmitBatch to two methods:
EmitBatchChecked does what EmitBatch did, but returns ES response.
Existing EmitBatch just calls EmitBatchChecked and drops return value.
Class which overrides ElasticsearchSink may override EmitBatch to call base class EmitBatchChecked, but then do necessary ES response analysis.
Konstantin

A long time item on the wishlist; what to do with errors returned from ES. Sounds like a good way to at least being able to see them if you derive. Would be nicer if we had a solution out of the box, but still no real good clue how. This looks like a non breaking change but it would be nice if others also had a look. So I wait for feedback before I merge to master.
I requeued the build and it appears to work now.

I have the code which parses ES response and extract errors from there. The question is how to handle that information so it is suitable for most users of ES sink. For my case I have created secondary logger (which sends log events to Seq) and when there are ES errors I send them to that secondary logger. I can add this code to pull request if it makes sense, but I'm afraid to make the whole thing more controversial. May be I better do it as a separate pull request.

Another option might be to add an event/function etc to the sink that gets called when there are errors from the elasticsearch server. Then the calling code can attach to that and handle it. But I also see your approach. As there are no other comments till now, I will merge it.

Server response may be of interest even when there are no errors. I'd rather not limit usage options to errors only case. On the other hand the code to parse server response to extract specific errors (if any) appeared to be not trivial, which IMHO is caused by using low level client instead of Nest. So I would provide helper public function to parse server response. I have one and after cleaning it up will send another pull request for it.


Having Error using devise and rails 3.2.0rc1

I just upgraded to rails 3.2.0.rc1 and i tried signing it with devise and it worked very well but if i try signing in with an invalid account i get the following error message undefined method split for :failure:Symbol
this is my server report

NoMethodError (undefined method `split' for :failure:Symbol):
  devise (1.5.3) lib/devise/failure_app.rb:119:in `recall_app'
  devise (1.5.3) lib/devise/failure_app.rb:46:in `recall'
  devise (1.5.3) lib/devise/failure_app.rb:30:in `respond'
  actionpack (3.2.0.rc1) lib/abstract_controller/base.rb:167:in `process_action'
  actionpack (3.2.0.rc1) lib/abstract_controller/base.rb:121:in `process'
  actionpack (3.2.0.rc1) lib/action_controller/metal.rb:199:in `dispatch'
  actionpack (3.2.0.rc1) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
  actionpack (3.2.0.rc1) lib/action_controller/metal.rb:242:in `block in action'
  devise (1.5.3) lib/devise/failure_app.rb:19:in `call'
  devise (1.5.3) lib/devise/failure_app.rb:19:in `call'
  devise (1.5.3) lib/devise/delegator.rb:5:in `call'
  warden (1.1.0) lib/warden/manager.rb:121:in `call_failure_app'
  warden (1.1.0) lib/warden/manager.rb:107:in `process_unauthenticated'
  warden (1.1.0) lib/warden/manager.rb:47:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
  rack (1.3.5) lib/rack/etag.rb:23:in `call'
  rack (1.3.5) lib/rack/conditionalget.rb:35:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/head.rb:14:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/flash.rb:242:in `call'
  rack (1.3.5) lib/rack/session/abstract/id.rb:195:in `context'
  rack (1.3.5) lib/rack/session/abstract/id.rb:190:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/cookies.rb:338:in `call'
  activerecord (3.2.0.rc1) lib/active_record/query_cache.rb:64:in `call'
  activerecord (3.2.0.rc1) lib/active_record/connection_adapters/abstract/connection_pool.rb:443:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  activesupport (3.2.0.rc1) lib/active_support/callbacks.rb:395:in `_run_call_callbacks'
  activesupport (3.2.0.rc1) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/reloader.rb:63:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.0.rc1) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.0.rc1) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.3.5) lib/rack/methodoverride.rb:24:in `call'
  rack (1.3.5) lib/rack/runtime.rb:17:in `call'
  activesupport (3.2.0.rc1) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.3.5) lib/rack/lock.rb:15:in `call'
  actionpack (3.2.0.rc1) lib/action_dispatch/middleware/static.rb:53:in `call'
  railties (3.2.0.rc1) lib/rails/engine.rb:479:in `call'
  rack (1.3.5) lib/rack/content_length.rb:14:in `call'
  railties (3.2.0.rc1) lib/rails/rack/log_tailer.rb:14:in `call'
  rack (1.3.5) lib/rack/handler/webrick.rb:59:in `service'
  /home/rzaartz/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
  /home/rzaartz/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
  /home/rzaartz/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'

  Rendered<EMAIL_ADDRESS>(3.4ms)
  Rendered<EMAIL_ADDRESS>(2.1ms)
  Rendered<EMAIL_ADDRESS>within rescues/layout (9.2ms)```

Could you please provide an application that reproduces the error and push it to Github?

problem solved

Hello ramza1
May I ask how you solve the issue?

warmwater my controller now looks like this

  def create
    respond_to do |format|
      format.html{ super }
      format.json do
       resource = warden.authenticate!(:scope => resource_name, :recall => :failure)
       return sign_in_and_redirect(resource_name, resource)
      end
    end
  end

  #def create
    #resource = warden.authenticate!(:scope => resource_name, :recall => :failure)
    #return sign_in_and_redirect(resource_name, resource)
  #end

  def sign_in_and_redirect(resource_or_scope, resource=nil)
    scope = Devise::Mapping.find_scope!(resource_or_scope)
    resource ||= resource_or_scope
    sign_in(scope, resource) unless warden.user(scope) == resource
    respond_to do |format|
    format.json {render :json => {:success => true, :redirect => stored_location_for(scope) || after_sign_in_path_for(resource)}}
    format.html {redirect_to root_url}
    end
  end

  def failure
     format.json {render:json => {:success => false, :errors => ["Login failed."]}}
  end
end


Compatibility with other UI helper module

Not a real "issue", but it would be nice, if possible, to have AdminThemeCanvas working with the small helper visible here.
For know if both modules are installed, it make somme parts of the UI vanish.

Can you please try the new version (v0.62). It should fix the issue.
There was a bug with more than 2 level dropdown navigation for some menues.
Now it should support any number of levels :)


2.21 throwing the following error when importing graphql-tools

 Test suite failed to run

    /Users/justinwinter/Sites/d8d/front-end/node_modules/graphql-tools/node_modules/iterall/index.mjs:84
    export var $$iterator = SYMBOL_ITERATOR || '@@iterator'
    ^^^^^^

    SyntaxError: Unexpected token export

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/ScriptTransformer.js:289:17)
      at Object.<anonymous> (node_modules/graphql-tools/dist/stitching/observableToAsyncIterable.js:46:17)
      at Object.<anonymous> (node_modules/graphql-tools/dist/stitching/makeRemoteExecutableSchema.js:45:35)

here's my code:
import { graphql } from 'graphql';
import { makeExecutableSchema } from 'graphql-tools';

import schemaString from './schema.json';

import { CURRENT_USER_QUERY, ARTICLES_BY_USER_QUERY } from './apolloProxy';

describe('Testing GraphQL Queries', () => {
  it('Check Current User Query', () => {
  // Make a GraphQL schema with no resolvers
    // const schema = makeExecutableSchema({ typeDefs: schemaString });

    // // Add mocks, modifies schema in place
    // addMockFunctionsToSchema({ schema });

    // graphql(schema, CURRENT_USER_QUERY).then(result => console.log('Got result'));
    expect(1).toEqual(1);
  });
});

@justinlevi Did you ever solve this? I get the exact same error with React + Jest. It breaks if I simply try to import graphql-tools.

I think this is caused by the same issue as https://github.com/graphql/graphql-js/issues/1248 -- .mjs files are consumed in place of .js files if they exist.
There's an open PR here that should address the problem: https://github.com/facebook/create-react-app/pull/4085
As a workaround, you can eject and remove "mjs" from your moduleFileExtensions in package.json. Hope that helps.

If your project is built with Create React App and not ejected<EMAIL_ADDRESS>should fix this.
Here is how to upgrade:
https://github.com/facebook/create-react-app/releases/tag/v1.1.2
Otherwise you can apply a similar fix yourself in your project config. Cheers!

Closing this, as it looks like it has been solved 👍


Issue with registered repositories

I'm working on integrate sysdigcloud agent in the mesosphere universe.
I followed the guide https://mesosphere.github.io/universe/, all the pre-commit hook went well i was able to commit here:
https://github.com/ltagliamonte/universe/tree/sysdigcloud
Before submitting a PR I want to test it and I did:
dcos package repo add Development https://github.com/ltagliamonte/universe/archive/sysdigcloud.zip

navigating the universe from the UI i'm getting to following error:

Can someone please explain what i'm doing wrong?

Hi @ltagliamonte, we just changed how packages are stored in Universe and how they get synchronized to DC/OS. We also updated the README and GitHub page at https://mesosphere.github.io/universe/.
Do mind reading it again and see if your issue is resolved.

Hi @jsancio i followed the new guide thank you for linking me there, i did some build but is seems that the generated docker containers has some problem:
https://teamcity.mesosphere.io/viewType.html?buildTypeId=Oss_Universe_UniverseServer&branch_Oss_Universe_2=pull%2F500&tab=buildTypeStatusDiv
i can successfully deploy the builds 129,130,136
i can't deploy the builds: 137,144,153
the nginx in container is logging the following error:
2016/06/22 21:46:37 [error] 5#5: *1 open() "/etc/nginx/html/repo-empty-v3.json" failed (13: Permission denied), client: <IP_ADDRESS>, server: universe.marathon.mesos, request: "GET /repo-empty-v3.json HTTP/1.1", host: "<IP_ADDRESS>:8085"
<IP_ADDRESS> - - [22/Jun/2016:21:46:37 +0000] "GET /repo-empty-v3.json HTTP/1.1" 403 169 "-" "spray-can/1.3.2"

Can someone please have a look at the generated container?

it seems fixed with https://github.com/mesosphere/universe/commit/af0d2ca24155aa4408dd00f5bac7ee30b01728a9

Thanks for raising this @ltagliamonte.
The issue ended up being that the image that was built for you, was a different base docker image than the one I had tested with :(
The update I made to fix the issue was to ensure that the files will always be accessible regardless of the inherent permissions in the base image.  Sorry for the issue.


whenever() cannot handle Spring-Boot @SpyBean

I'm trying to migrate a spring-boot project from an older mockito-kotlin version to mockitokotlin2, and facing some difficulties.
I'm not entirely sure if I might just be doing something very wrong, but I went as far as checking out mockitokotlin2 and look at the tests to make sure I got the syntax right.
The problem really only seems to be present when working with spring-boot, that is, specifically when using something like a @SpyBean annotation, which means the spy is instantiated by spring-boot and I cannot call mock() directly.
I did try to force spring-boot to use mockito 2, but it doesn't seem to help:
buildscript {
    dependencies {
        classpath("org.jfrog.buildinfo:build-info-extractor-gradle:4.9.6")
        classpath("org.jetbrains.kotlin:kotlin-allopen:1.4.0")
        // liquibase stuff
        classpath("mysql:mysql-connector-java:5.1.44")
        classpath("org.yaml:snakeyaml:1.19")
        classpath("org.liquibase:liquibase-gradle-plugin:1.2.3") {
            exclude("org.liquibase", "liquibase-core")
        }
        classpath("org.liquibase:liquibase-core:3.8.9") // should be in sync with the version included in spring boot
    }
    extra.set("mockito.version", "2.23.0")
}

Most things work without issue, but when I have to use whenever() (like for example for doNothing() or doAnswer()), mockito complains:

org.mockito.exceptions.misusing.NotAMockException:
Argument passed to when() is not a mock!
Example of correct stubbing:
doThrow(new RuntimeException()).when(mock).someMethod();
at com.nhaarman.mockitokotlin2.StubberKt.whenever(Stubber.kt:65)

The syntax I'm using is pretty standard and matches how I saw doNothing() used in the mockitokotlin2 tests. This is what it looked befre the migration (using Mockito calls directly):
doNothing().`when`(imageTableService).moveToTrash(any(), any())

When working with mockitokotlin2, tests using this suddenly fail (doNothing seems to be ignored and the spied method is executed), so I tried to rewrite it using the mockitokotlin calls instead, hoping that would solve the problem (I also changed the imports, obviously):
doNothing().whenever(imageTableService).moveToTrash(any(), any())

However, now it just throws the error I posted above, apparently not liking the spy that was created by spring-boot.
Is there any way around this, or do I just have to stick to older mockito versions while using @MockBean or @SpyBean?

Hello,
Were you able to come up with a solution?
I'm having the same issue, my mock implementation seems to be ignored when I use @SpyBean instead of @Mockbean.


v1.0.2226030 is no longer associated with IPYNB files

with v1.0.2226030

[F1] .Net Interactive Open Notebook. No Ipynb option

Click click temp.ipynb, Open-With... no .net interactive option
rolled back to v1.0.2221020

[F1] .Net Interactive Open Notebook Ipynb option  is present

Click click temp.ipynb, Open-With... .net interactive option present

Thanks for filing the issue, I've opened PR #1308 that addresses this.


Improve instruction on how to run the sample

Add env variable to configure example app.
Link to test Google OAuth

Hey there. Apologies for lateness, this project's been at the very bottom of the priority list (with Authboss just above it I'm afraid :( )
Can we get a file extension for env_sample as it's clearly a shell script.
Also I believe @cintosyntax is correcti n that the go get (until 2.0) should be go get gopkg.in/authboss.v1

Thanks for feedback.
Sorry I made an mistake caused it closed. I opened another with fixes here https://github.com/go-authboss/authboss-sample/pull/15


What is the relationship between TweenJS and EaselJS?

TweenJS and EaselJS are both part of the CreateJS suite. They can each be used separately, with no dependencies, but they can also be used together. For example, the EaselJS MovieClip uses TweenJS for animation, and both use the same Ticker class, inheritance and event models, as well as a number of utilities. They are built to work together nicely.

Thanks for explaining!


maxRows option for executeStatement is not taken into account

Version
I am using the 1.8.4 version
Description
We want to limit the amount of RAM usage. passing a default maxRows option has no effect, the whole query is returned
How to reproduce
    const operation = await this.session.executeStatement(
      `WITH numbers AS (
    SELECT num
    FROM (SELECT EXPLODE(SEQUENCE(1, 100)) AS num) AS seq
)
SELECT num
FROM numbers
ORDER BY RAND()`,
      { maxRows: 10 },
    );
    const fetched = await operation.fetchAll();
    console.log(fetched.length);

You will notice here that fetched has a size of 100, not 10.
Workaround
The workaround is to use fetchChunk instead:
const chunk = await operation.fetchChunk({
        maxRows: limit - result.length,
      });

Please deprecate or fix maxRows options for the executeStatement method of the session object

Hi @quadristan! Your question is a duplicate of databricks/databricks-sql-nodejs#86 and databricks/databricks-sql-nodejs#155 - please read it. In short - maxRows in executeStatement is related to direct results feature and provides a hint to server about how much data it can return immediately


Error when building master

stack --stack-yaml=stack-8.2.1.yaml install                                \
	&& cp '/Users/[REDACTED]/.local/bin/hie' '/Users/[REDACTED]/.local/bin/hie-8.2.1'    \
	&& cp '/Users/[REDACTED]/.local/bin/hie-8.2.1' '/Users/[REDACTED]/.local/bin/hie-8.2'

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for haskell-ide-engine-<IP_ADDRESS>(+pedantic):
    haskell-lsp-<IP_ADDRESS> from stack configuration does not match >=0.2.2  (latest matching version is <IP_ADDRESS>)
needed since haskell-ide-engine is a build target.

Some different approaches to resolving this:

  * Set 'allow-newer: true' to ignore all version constraints and build anyway.

  * Consider trying 'stack solver', which uses the cabal-install solver to attempt to find some working build configuration. This can be convenient when dealing with many complicated constraint
    errors, but results may be unpredictable.

  * Recommended action: try adding the following to your extra-deps in /Users/[REDACTED]/Haskell/haskell-ide-engine/stack-8.2.1.yaml:

- haskell-lsp-<IP_ADDRESS>

Plan construction failed.
gmake: *** [Makefile:27: hie-8.2.1] Error 1

thanks

In another project I added an indication that submodules were outdated during the configure phase (C-based project). Maybe future duplicates of this issue can be avoided if submodule freshness is checked, and warned about some time during the build?

@dsvensson can you point us at a fragment of makefile for that?

@alanz i guess it's just a target that runs git submodule update and it's made a dependency for any other target


Insert oauth2_client in BootstrapCommand

It is possible to insert an oauth2_client entity with Doctrine methods instead of with a 'direct' connection?

@davidnectarestudio probably, but why? Are you having trouble running the tutorial code?

Thanks for your answer @dwgebler
My doubt it was related with why to write a direct SQL insert statement if we previously have defined a related entity and can be used in the command to make the insert like a common Doctrine persist method.