recent commits have caused issues

A user (@npreiser) commented on a pr asking why some stuff didn't work. We've had a lot of breaks in the code recently that appear they were never tested properly.
the commit:
0a72b1036925bb54214603697b25d5b6db93f065 (Updates branch to yeti code)
Breaks edge sliding (easy selecting of full saturation colors)
9f0245ce85e08e22a010069de42437ce68b73002 (Reducing image area equals to the thumb radius )
Breaks thumb slider position and image drawing size. forces thumb to be drawn outside of image instead of on the edge as expected
from the summary of the commit it almost sounds intentional but that can''t be the case.
Here is an image npreiser posted about.

Originally posted by @npreiser in https://github.com/netbeast/react-native-color-wheel/pull/15#issuecomment-465348792
I can verify npreiser's findings, happens on both ios and android. I haven't looked deep into the exact lines of code that break the control. But It's not

Hi @RickeyWard, thanks for the issue and your work so far with this repo. I'm right now a little bit off the keyboard, and will take some time before I'm able to contribute back. Do you want to join as maintainer of this repo?

I'm happy to help out, though I can't promise how active I can be.

You have been invited as a collaborator, I can't commit much time, so any voluntary work you do is more than welcome.


Possible memory leak in TransformTable?

Each time the Update method on the TransformTable class is called it rebuilds its table from scratch without freeing the current table. Qt has complex memory model that does a lot of cleanup, but I'm not sure that table is being deleted. The RenderHolder, for example, also builds its table dynamically, but it frees the previous table. Need to confirm cleanup is being done.

Fortunately, QTableWidget handles its memory management for QTableWidgetItems.
https://stackoverflow.com/questions/21997025/qtablewidget-memory-leak-or-not


Added profiling build to CI

From https://github.com/maputnik/editor/pull/557#issuecomment-542103025

Yeah that's right, so what I'm thinking is that we'll create 2 artifacts from the CI builds one will be the normal build we use to show in demos currently. The other for performance testing we'll include the react profiling-in-production

This PR adds a new build with profiling enabled to the artifacts directory /profiling so we can use the react profiler
Demo https://1558-84182601-gh.circle-artifacts.com/0/artifacts/profiling/index.html

Thanks @orangemug, works great!


Full scraping #1

How to wait scraping entire site, and the next day to start again automatically?
@every() - restarting the process works

You can use @every(seconds=24*60*60) and @config(age=24*60*60) together.
It will restart every day and discard the tasks crawled in last 24 hours.

It is not known when the work will end spider (1 day or week), it is known only that the interval between the finish and the new work - day.

What is "finish" and "new work - day" ?

It is not known when the spider finished scraping site
When the spider finished scraping the site to start it again, but after 24 hours

pyspider thinks website is always changing, there is no "finished scraping site" for pyspider.
pyspider do this kind of updating things page by page, that is, there is no finished state for whole site, but for page, you can set a age to it (eg. 24 hours).
When it's scraped within last 24 hours, it will not be scraped again. If you submit it after 24 hours, pyspider will regard it as out-of-date and scrape it again.


Expose Request's information for Reservation endpoint

Currently, there is RequestId only which is not possible to query against anywhere else on API

Reservation exposes requestId and slotIndex, which can be used to obtain the SlotId:
import ./ids

slotId(requestId, slotIndex)


Rename references according to files being moved in the Canton repo

@mziolekda Thanks, but this requires an approval from @digital-asset/daml-docs. 🙂

I realize that. But at least I have checked the paths with respect of the canton source and can vouch for their soundness.
If that helps in getting the final approval from the docs team

I temporarily made this into a draft since we're evaluating the current impact of those path changes. If we confirm we want to move forward, I'll turn this back into a merge-able PR once we can confirm we want to move on with this. I would still appreciate a review so that, if confirmed, we can simply merge.

As mentioned above, unforeseen consequences forced us to roll back the change that made this PR necessary. Closing. Thanks for taking the time anyway, luckily it was trivial. 🙇🏻♂


Improve sky atmosphere

This PR tweaks a few things about how the sky atmosphere is rendered so that there's less artifacts. These artifacts usually show up as white/black (and sometimes red/yellow) patches below the horizon point.

The two main changes are

Compute atmosphere per-fragment instead of per-vertex. This creates a smooth transition line rather than the stair-step effect caused by large discontinuities in per-vertex rayleigh color and mie color.
Compute the ellipsoid intersection in the shader and use the second intersection point as the start of the atmosphere ray. This limits how far a ray traverses so the colors don't get too extreme. This fix works for both per-fragment and per-vertex modes and makes the sky atmosphere look much better when the globe is translucent.  Credit for this idea goes to @IanLilleyT.

Both the per-fragment and per-vertex code paths look nearly identical when the globe is rendered. The per-vertex path still has some stair-step artifacts that become more obvious when globe tiles are loading in or the globe is hidden. The code defaults to per-fragment shading because it looks good all the time. The code always uses per-fragment shading when the globe is translucent in globe-alpha.
There is small runtime cost. On my 2015 Macbook, with viewer.browserRecommendedResolution = false there is a 2-3 fps between per-fragment and per-vertex. Performance critical applications can set viewer.scene.skyAtmosphere.perFragmentAtmosphere to false.
Comparison of the different modes:
master

per-vertex

per-fragment

master

per-fragment

(Note the camera is momentarily considered underground while tiles are loading which causes the globe to look dark, this is a separate problem)
Sandcastle for testing

Thanks for the pull request @lilleyse!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

@IanLilleyT updated

Got per-vertex rendering to look a lot better, almost as good as per-fragment. It's good enough that I'm switching back to per-vertex by default and not taking the performance hit.
The trick was to align the ellipsoid geometry so it always faces the same direction as the camera. So wherever you're looking the tessellation should look the same.
Another thing that helps is https://github.com/CesiumGS/cesium/pull/8866/commits/1409f1d329335d7523297df85378bb500c5bc254 adds a smoother gradient falloff. I'm still deciding whether this is better than doing the original approach.
per-vertex

per-fragment

master

It's possible the results are system dependent. The early discard check if (rgb.b > 1000000.0) is supposed to throw away those pixels but the value might need to be tweaked, or the approach reconsidered.

While digging deep into the atmosphere code I noticed that the sky atmosphere gets yellow-er the further you are from the equator which has always bothered me and doesn't really physically make sense. The atmosphere start position now takes into account the camera's height from the ellipsoid rather than a straight up length(positionWC) to produce the same blueness wherever you are on the globe.
Somewhere in Alaska
master

this branch

Somewhere in the Amazon near the equator
master

this branch

Also comparisons with globe.enableLighting = true. Pretty much the same except that the noon sky is full blue.
master

this branch

@IanLilleyT updated. This also includes a fix to a globe lighting / ground atmosphere crash in master.

One (future) idea for fixing artifacts when the view is pointing through the ellipsoid and the globe isn't visible is to find a tangent line to the ellipsoid from the camera's position and run the atmosphere calculations relative to that. This will (hopefully) make the horizon color consistent throughout the center of the earth and will let use remove some hacks like clamping strength, fading to alpha, etc.
The tangent line could come from intersecting a plane containing the camera view and up vectors against the ellipsoid, giving an ellipse which will have only two tangent lines, and pick one of the two tangent lines based on which is closer to the view direction.

Looks good, thanks @lilleyse !


Stopping Input from the keyboard when max_text_length is reached

How can i stop user from typing when max_text_length is exceeded

@kengoon Check the number of characters in a text field using the on_text method.


Improvement for k8s.io/docs/tasks/tools/install-kubectl-windows/

Maybe add some advice to add kubectl to the path

/language en

Page related to the issue: https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/

Are you advising to add kubectl path in system environment variable

/triage needs-information

I would suggest to add information, how to add the kubectl path to the environment variables, in the install guide for windows. automation would also be nice, but maybe a bit intrusive.

it is up to user. if you want to add kubectl path in environment variables, you can add use it.

if you satisfied, please close the issue

@SSpormann  Due to long time no response on this issue i would like to suggest you please do as suggested  first and then also if you are facing the same issue then raise the new issue or reopen it.

Try to raise the issue with proper description and the brief explanation of the issue that you faced.  Thank you  for your contribution. Keep contributing.

/close


How to add custom agent status using connect streams API

Hi Team,
Is possible to add custom agent status through amazon connect API or Amazon connect streams API.
We have the requirement to add the custom agent status by custom application itself.
Appreciate your help to resolve this.
Thanks and Regards
Siva

Hi Siva,
Unfortunately we don't currently have APIs for actually creating a new agent status from Streams.

Thanks @scoland for your response.


Rewrite of enforce_ssl? and implementation of new options only_methods and except_methods.

For "methods" a 3rd type of options I've rewritten the enforce_ssl? method to generate all condition variants of options from a keys_by_type hash (maybe the variable should be named options_by_type or matcher_options_by_type).
Now we should only need 1 test context with one pair of matcher option types and could remove all the other contexts testing all possible variants.
So I also have not written new test contexts for testing variants like only_method & only_host & only.

Thanks man,
I'll try to review this tomorrow but looks good from what I've seen!

Thanks, I've merged it.
It also give me motivation for refactoring the whole gem (see #33)! :)


Finally, fixed the master CI

Issue

none

Overview (Required)

Remained buffering caused a failure 🤷♂

Links

let me merge

This was a lie.


Catch up to Ecto 2.0.0, released 21 Jun 2016.

Coverage remained the same at 85.714% when pulling<PHONE_NUMBER>8967842f8f96dec0d6dd5ff47015f4 on ecto-2.0.0 into 39865ed45b092148268590ea0be365ed74108798 on master.

Coverage decreased (-0.03%) to 85.68% when pulling<PHONE_NUMBER>8967842f8f96dec0d6dd5ff47015f4 on ecto-2.0.0 into 39865ed45b092148268590ea0be365ed74108798 on master.

:tada: :tada: :tada:


Validator::make(...)->passes() is in docs (and works), but the function is not in the Facade's contract

Laravel Version: v8.82.0
PHP Version: 7.4.26
Database Driver & Version: N/A

Description:
The Validation Docs show usage of a passes() function like: Validator::make($input, $rules)->passes();
This gets marked as an error in my IDE (via inteliphense), but the code works.
This is because:

The Validator Facade (framework/src/Illuminate/Support/Facades/Validator.php) PHPDoc specifies the return type of function make as \Illuminate\Contracts\Validation\Validator

 * @method static \Illuminate\Contracts\Validation\Validator make(array $data, array $rules, array $messages = [], array $customAttributes = [])

That interface (\Illuminate\Contracts\Validation\Validator) does not declare a passes() function
But the implementation of make() (vendor/laravel/framework/src/Illuminate/Validation/Factory.php) actually returns an object of type \Illuminate\Validation\Validator, which implements not only the Validator contract, but also a passes() function.

Thus the dynamic call Validator::make($input, $rules)->passes() does work, but the IDE is correct to flag passes() as an error, because the function does not exist on the returned interface documented in the Validator Facade.
Questions:

Should this be fixed? I'm hoping the answer is yes, as $validator->passes() is useful for semantic clarity rather than double negation !$validator->fails()
Would a fix be to add the passes() function to \Illuminate\Contracts\Validation\Validator? How does the framework team think about the implications of adding to interfaces, when that could be a breaking change for other implementers of the contract?
If it should not be fixed, should anything be changed about the Validation Docs page, that demonstrate the usage?
Or should I chill about type hinting errors "as long as the code works" ; )

Steps To Reproduce:

Run PHP Intelephense 1.8.0 (in my case, in VS Code 1.64.0)
Have a line of code that calls ->passes() on the result of Validator::make(...), e.g.

Validator::make($input, $rules)->passes();

Observe intelephense error "Undefined method 'passes'." on the above line of code

Feel free to attempt a PR, thanks.

Or should I chill about type hinting errors "as long as the code works"

Btw, mostly this. We'd appreciate PR's to improve docblocks etc but don't actively manage issues for them.


make failed

CC      build-x86_64/main/openssl.o
src/main/openssl.c: In function ‘openssl_init’:
src/main/openssl.c:30:2: warning: implicit declaration of function ‘OPENSSL_init_ssl’ [-Wimplicit-function-declaration]
err = OPENSSL_init_ssl(OPENSSL_INIT_SSL_DEFAULT, NULL);
^
src/main/openssl.c:30:2: warning: nested extern declaration of ‘OPENSSL_init_ssl’ [-Wnested-externs]
src/main/openssl.c:30:25: error: ‘OPENSSL_INIT_SSL_DEFAULT’ undeclared (first use in this function)
err = OPENSSL_init_ssl(OPENSSL_INIT_SSL_DEFAULT, NULL);
^
src/main/openssl.c:30:25: note: each undeclared identifier is reported only once for each function it appears in
make: *** [build-x86_64/main/openssl.o] Error 1

openssl version:
OpenSSL 1.1.1c  28 May 2019
Linux version 3.10.0-1160.53.1.el7.x86_64<EMAIL_ADDRESS>(gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Fri Jan 14 13:59:45 UTC 2022

Looks like the wrong OpenSSL headers are loaded. We dropped OpenSSL 1.0.x Support, I think this is the default on RedHat/Centos 7.

@sreimers I upgrade  the Openssl to 3.0.2, make failed again, show me the same error.

openssl is only the binary, you need also the openssl dev/header files at the right place.
You can give cmake a try:
cmake -B build

Or you can try to build OpenSSL static and give cmake a hint:
OPENSSL_ROOT_DIR=/path/to/openssl cmake -B build
cmake --build build -j

In general we dropped Centos 7 support some months ago. With a newer cmake, compiler and a supported openssl version it can work, but nothing we test or support. v2.3.0 was the last supported release.


Fix decorator docs

@readonly is not a core decorator. The decorator is @visibility with an argument of "read" to indicate a property should be read-only.

No changes needing a change description found.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


feat(component): add new  Progress Bar component

fix #129
What is it?

[x] Feature / enhancement
[ ] Bug
[ ] Docs / tests

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Screenshots/Demo

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

@all-contributors please add @luisbeqja for code

I have read the CLA Document and I hereby sign the CLA


Update benchmark with latest version

Hi! I am very thankful for this lib, sql is really horrible when used in flutter.
I have a question: How can I run my own benchmark? Where is the code do you use for running your benchmark? Thanks

Sorry for the late response. The code is here: https://github.com/hivedb/hive_benchmark

update needed for hive_benchmark repo.

Done ✅


Automated cherry pick of #8338: add aliyun finance environment

Cherry pick of #8338 on release/3.4.
#8338: add aliyun finance environment

/lgtm
/approve


Remove 'Defined as:'

Looks like there was a style at some point to use
Defined as:
at the top of a routine before the method signature. I think this is unnecessary and we can just lead with the method declaration.

@coke could you show the ticket with "Declared as"?
I don't feel strongly about this one, either "for" or "against". Perhaps it could go but again, it would be good to get opinions from others who might be interested. @0rir what do you think, for example?

I didn't find the issue mentioning it, so my opinion is tentative.
As documentation, I think it can go as non-informative.  And it is optional in xt/check-signatures.t 's grammar TypeDocumentation.  That suggests it is just a waste of space.

#3441

I'm trying to somewhat assure it doesn't hit anyone as a big surprise but otherwise I think the situation is in favor of the removal. It could even be removed from the tests and then we could quickly see where there are left-behinds.

Thanks, @coke, I guess I messed up with the quoting to find #3441.
There are roughly a thousand instances all, or nearly all, under /types.  Reading through #3441, my opinion is affirmatively that those should go.
I won't volunteer because I have not dealt with any Not-Invented-By-Me grammars  and feel my match object to action class tooling is weak.   And, I feel like I should continue work on Issue #4117, even without feedback on my plan.   (@Altai-man, is silence consent or lack of time.)

I won't volunteer because I have not dealt with any Not-Invented-By-Me grammars  and feel my match object to action class tooling is weak.   And, I feel like I should continue work on Issue #4117, even without feedback on my plan.   (@Altai-man, is silence consent or lack of time.)

It is lack of time mostly, due to dayjob. If you can suggest a PR for improvements to categories noted - we should have it, it will be a help.


Configuration missing anonymous domain stanza in prosody.cfg.lua

Due to that, all connections will fail because guest.meet.example.com is not defined in prosody configuration.

To be more precise: the current configuration requires it even without LDAP support.

Basically I added
VirtualHost "guest.meet.example.com"
     authentication = "anonymous"
      c2s_require_encryption = false

to the configuration generation.  I think it's because the containers' jitsi-meet config.js specifies an anonymousdomain  setting even when you're not using LDAP (as far as I can read in the jicofo docs, it's not required with the default setup). It should be required only when you're using some form of authentication.

Fantastic. I'll take a peek at it a little bit later on and make the update.


fix: upgrade to version 3.0.691

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
9e7d7fd1e8301d06a3389ffb260806762c4d78d6
link
/test kube

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
9e7d7fd1e8301d06a3389ffb260806762c4d78d6
link
/test kube

gsm
9e7d7fd1e8301d06a3389ffb260806762c4d78d6
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

kube
9e7d7fd1e8301d06a3389ffb260806762c4d78d6
link
/test kube

gsm
9e7d7fd1e8301d06a3389ffb260806762c4d78d6
link
/test gsm

vault
9e7d7fd1e8301d06a3389ffb260806762c4d78d6
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


help

loop = asyncio.get_event_loop()
Traceback (most recent call last):
File "C:\Users\david\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\david\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\david\AppData\Local\Programs\Python\Python310\Scripts\proxybroker.exe_main.py", line 7, in
File "C:\Users\david\AppData\Local\Programs\Python\Python310\lib\site-packages\proxybroker\cli.py", line 386, in cli
proxies = asyncio.Queue(loop=loop)
File "C:\Users\david\AppData\Local\Programs\Python\Python310\lib\asyncio\queues.py", line 34, in init
super().init(loop=loop)
File "C:\Users\david\AppData\Local\Programs\Python\Python310\lib\asyncio\mixins.py", line 17, in init
raise TypeError(
TypeError: As of 3.10, the loop parameter was removed from Queue() since it is no longer necessary

might be related to #74
@NotASkidder can you help on testing that branch?

Since PR #74 fixed the issue and merged to the master branch. This Issued should be solved.


disable package scan

Description
this PR enables the way to scan only using files cataloger without package cataloger
related to an older request I've submitted 3128 (link below)

Fixes #
https://github.com/anchore/syft/issues/3128

Type of change

[ ] New feature (non-breaking change which adds functionality)

Checklist:

[ ] I have added unit tests that cover changed behavior
[ ] I have tested my code in common scenarios and confirmed there are no regressions
[ ] I have added comments to my code, particularly in hard-to-understand sections

Linked PR from @wagoodman. This is the direction we probably want to go where we elevate the file catalogers to be selected in the same way package catalogers are being used.
https://github.com/anchore/syft/pull/3505
TLDR we don't want to hide this and have it happen implicitly when finalTasks is  0.
@tomersein do you mind giving your feedback on 3505?


feature request: ability to create shortcuts

It seems that shortcuts show up as if they were symlinks but ln -s doesn't seem to create something that works as a shortcut.  Or am I just doing it wrong?

It should work like that. Google Drive Shortcuts are supported since version 0.7.19. Are you getting some kind of error?

I don't get an error, they simply don't work when I click on them from the web interface, whereas the ones I create from the web interface work fine in both environments.  I have around 30 people with shares on various subdirectories of a large tree and almost everyone uses the web interface.  I have to create links that everyone can use despite everyone having a different GD Path showing in their web interface.  I see that the GD shortcuts show up in my Linux fielsystem as absolute paths, despite those not being valid paths in GD so I know you're doing translation from GD shortcut to Linux symbolic link.  That suggested to me that with the right path your system might translate a symbolic link to a GD shortcut.  I've tried with absolute and relative paths and neither worked for me.  Is there something which ought to work?

When you create a symlink on the mounted fs, you get a Drive Shortcut only if the target file is in the same mounted fs (they don't work across mountpoints). If the target is outside the mounted fs, you will get an "old" symlink that's a file that contains (as metadata) the target's path in the local fs.

For me, trying to symlink a drive file or folder into a drive directory results in a "No such file or directory" error, even though trying to, say, read the exact same path with cat or ls (or just test -f or test -d) works just fine.


instance variable  was not initialized in all of the 'initialize' methods, rendering it nilable

I have such code:
class SomeClass

  def func1
    @var1 = 6
  end

  def func2
    @var2 = 3
    puts @var1
    puts @var2
  end
end

obj = SomeClass.new
obj.func1()
obj.func2()

It is works fine and output is:
6
3

But, when I change it to next, I get error:
class SomeClass

  def func1
    @var1 = 6
  end

  def func2
    @var2 = 3
    puts @var1
    puts @var2
    puts @var1 - @var2
  end
end

obj = SomeClass.new
obj.func1()
obj.func2()

Output (http://carc.in/#/r/h5):
Error in line 17: instantiating 'SomeClass#func2()'

in line 11: undefined method '-' for Nil

================================================================================

Error: instance variable '@var1' of SomeClass was not initialized in all of the 'initialize' methods, rendering it nilable

Can you explain what happens, and how can I avoid this error(without initializing instance variables in "initialize" method)?

You can puts a nil, because Nil#to_s is defined, but you can't have math operations, because Nil#- isn't defined. Crystal requires most instance vars be:

defined in #initialize
defined to memoize values in getter methods (using @var ||= 0) and use the getters, not the ivars.

@ysbaddaden Thanks, everything fell into place!

Another way around this is to use local variables: http://carc.in/#/r/i9


iPhone X crashing in Safari with Canvas area exceeds the maximum limit

I have a tour consisting of two images, both images are the same size (6912 x 3456 jfif/jpg).
Because the images are the same size it does not matter which I load first, clicking an hotspot to load the image in landscape causes no problems, but in portrait mode gives Canvas area exceeds the maximum limit (width * height > 16777216) pannellum.js:441
Here is the tour https://johnvirtualtours.s3.eu-west-2.amazonaws.com/Prop_1615918414705/tour.html
This error does not happen with Chrome on iPhone X.

Although I don't have a recent iOS device to test with (so I can't reproduce the issue), this sounds like a bug in Safari. Changing between landscape and portrait shouldn't affect anything. Furthermore Chrome on iOS (as with any other browser on iOS) is exactly the same as Safari except with a different user interface, since Apple does not allow alternative browser rendering engines.
That being said, I do have some ideas on how to work around what is likely a browser bug. However, you'll have to do the testing, since I don't have an appropriate device to test with. I'm also assuming you meant to write libpannellum.js:441 instead of pannellum.js:441 for the error line, since the former would make sense but the latter does not. My best guess based on the error is that Safari is not using the default standard <canvas> size of 300px x 150px and instead sizing the <canvas> based on the view dimensions (this would explain the portrait / landscape difference). Try adding the following two lines just before libpannellum.js:441 (between the var cropCanvas = document.createElement('canvas'); and cropCanvas.width = image.width / 2; lines):
console.log(cropCanvas.width, cropCanvas.height, image.width / 2, image.height);
cropCanvas.width = cropCanvas.height = 150;

The first line will log the original canvas and image dimensions, which should provide the data necessary to confirm or reject my hypothesis (please post the result). The second line should fix the issue, by resetting the <canvas> dimensions, if my hypothesis is correct.

                        }
                if (!c.drawInProgress) {
                    c.drawInProgress = !0;
                    a.clear(a.COLOR_BUFFER_BIT);
                    for (g = 0; g < c.currentNodes.length; g++)
                        1 < c.currentNodes[g].textureLoaded && (a.bindBuffer(a.ARRAY_BUFFER, Fa), a.bufferData(a.ARRAY_BUFFER, new Float32Array(c.currentNodes[g].vertices), a.STATIC_DRAW), a.vertexAttribPointer(c.vertPosLocation,
                        3, a.FLOAT, !1, 0, 0), a.bindBuffer(a.ARRAY_BUFFER, Y), a.vertexAttribPointer(c.texCoordLocation, 2, a.FLOAT, !1, 0, 0), a.bindTexture(a.TEXTURE_2D, c.currentNodes[g].texture), a.drawElements(a.TRIANGLES, 6, a.UNSIGNED_SHORT, 0));
                    c.drawInProgress = !1
                }
            }
            if (s.returnImage !== p)
                return A.toDataURL("image/png")    <--- Canvas area exceeds the maximum limit (width * height > 16777216)
        } else
            for (l = $ / 2, s = {
                f: "translate3d(-" + (l + 2) + "px, -" + (l + 2) + "px, -" + l + "px)",
                b: "translate3d(" + (l + 2) + "px, -" + (l + 2) + "px, " + l + "px) rotateX(180deg) rotateZ(180deg)",
                u: "translate3d(-" + (l + 2) + "px, -" + l + "px, " + (l + 2) + "px) rotateX(270deg)",
                d: "translate3d(-" + (l + 2) + "px, " + l + "px, -" + (l + 2) + "px) rotateX(90deg)",
                l: "translate3d(-" + l + "px, -" + (l + 2) + "px, " + (l + 2) + "px) rotateX(180deg) rotateY(90deg) rotateZ(180deg)",
                r: "translate3d(" + l + "px, -" + (l + 2) + "px, -" + (l + 2) + "px) rotateY(270deg)"
            }, k = 1 / Math.tan(k / 2), k = k * A.clientWidth / 2 + "px", e = "perspective(" + k + ") translateZ(" + k + ") rotateX(" + g + "rad) rotateY(" + e + "rad) ", k = Object.keys(s), g = 0; 6 > g; g++)
                if (h = R.querySelector(".pnlm-" + k[g] + "face"))
                    h.style.webkitTransform = e + s[k[g]],
                    h.style.transform = e + s[k[g]]

Above is the code when I view from Safari debugger line with error is
return A.toDataURL("image/png")    <--- Canvas area exceeds the maximum limit (width * height > 16777216)

The html contains 2892 * 5856 = 16935552, I don't understand why loading the first image doesn't complain.  Javascript is my weakest language but I have a developer I work with and he is excellent so we can answer any questions.
kitchen 2

Okay, so the line number you reported was meaningless. It was whatever Safari assigned after expanding the minified code. Ignore what I previous said; the line number you reported and the error message coincidentally made some sense in the context of the current source of libpannellum.js.
Your problem is that you're not setting up the viewport properly, so the view is being rendered at much higher resolution than screen resolution (2436px x 1125px for the iPhone X). Adding <meta name="viewport" content="width=device-width, initial-scale=1.0"> to your page's <head> section, just below <meta charset="utf-8"> (as is done in the Pannellum examples) will fix this; it will also improve performance and make the Pannellum user interface elements a much more reasonable size.
If you didn't set the sceneFadeDuration parameter, you wouldn't have experienced the issue. The issue is being triggered by the section of code that captures the current view in order to fade to the next scene. That's why you don't have an issue when loading the first image (and why it has nothing to do with the image resolution).

Thank you for your support sorry our incorrect usage caused you time to investigate.


Modify vacuum.Run to not return the number of deleted builds

As per discussion on #698

modified vacuum.Run to not return the number of deleted builds. #695  modified deleteBuild behavior and this led to test inconsistencies
refactored tests to explicitly check for deleted/existent pods
the only downside is that vacuum execution now does not report the number of deleted builds. However, relevant deletion messages are logged through deleteBuild, so I guess there's not much harm in that

Closes https://github.com/Azure/brigade/issues/698


"Error: value.split is not a function" when model is int

I'm attempting to use the following mask:
<input ng-model="num" type="text" mask="d?d?d?" mask-restrict="reject"/>

From the documentation, this will mask the input to be up to 3 digits and will reject invalid input.  When the model is a string, it works fine, but when the model is an int, it still works, but I get the following erro in my browser's console:
value.split is not a function

Please see my Plunker: http://plnkr.co/edit/2TZHzMYG3s2K6FutwIhW?p=preview.

I'm running into this same issue.  Thanks for finding it.

@gilm0079 The work around is to toString() the value, but that's not ideal.  Hoping the owner of ngMask will fix this issue soon...

@im1dermike This fix #52 seems to solve the problem... (Tried it mannualy in library) But not merge yet.


LFS-486: Behavior of requireAll property on condition operand nodes is reversed

Proper functionality for the requireAll property when used on operand nodes under condition nodes is to require all comparisons to return True when the requireAll property is set to True and only require one comparison to return True when the requireAll property is set to False.
The behavior is reversed, and therefore this PR fixes it.
To test, build the LFS-486_test branch and create a Form based on the Questionnaire LFS Multi-String Bug Test

Tested, works well :heavy_check_mark:

I created few forms of LFS Multi-String Bug Test type. As soon as I type "hello"  into field "Must be equal to hello", the Confirm okay field shows up.

without "hello"

with "hello"

after deleting "hello"


Chaining $in criteria intersects arguments

I looked around in the current issues on github and dredged up this old thread:
http://groups.google.com/group/mongoid/browse_thread/thread/381e69a9be19f3d0/b82e7f79a79255e4?lnk=gst&q=%24in+intersection#b82e7f79a79255e4
nothing seemed conclusive. so I wanted to bring it up:
Person.where(:name.in => [ "Bob", "Mary" ]).where(:name.in => [ "Bob", "Joe" ])

to me should really be the AND of the two arrays, which means intersection. currently, mongoid does a union (and there's a test for it). I'm pretty sure this should be an intersection to be consistent with all other chained .where() calls, right?

Sorry to ping on such an old issue, but why with latest version, Person.where(:name.in => [ "Bob", "Mary" ]).where(:name.in => [ "Bob", "Joe" ]) will get a selector {"name"=>{"$in"=>["Bob", "Joe"]}}? All former where on the same filed are overwritten.

[16] pry(main)> Person.where(:name.in => [ "Bob", "Mary" ]).where(:name.in => [ "Bob", "Joe" ])
=> #<Mongoid::Criteria
  selector: {"deleted_at"=>nil, "name"=>{"$in"=>["Bob", "Joe"]}}
  options:  {}
  class:    Person
  embedded: false>

@durran what happened to the also_in operator? I can't seem to find it anymore :(

@cblag I'm not sure why exactly this was merged in or when it was taken out, but it hasn't been available for a long time. It wasn't even in Mongoid 3.0 (which used Origin >= 1.0.3: https://github.com/mongoid/origin/blob/v1.0.3/lib/origin/selectable.rb)
Can you tell me more about the kind of query you're trying to do and what version of Mongoid you're using so I can help construct it using the current API?

@estolfo so basically I have this query:
#<Mongoid::Criteria
  selector: {"is_hidden"=>{"$in"=>[false, nil]}, "advisor_id"=>BSON::ObjectId('5817d88f1961400001aad219')}
  options:  {}
  class:    Post
  embedded: false>

When I use directly query.any_in(:is_hidden.in => [true, false, nil]), I get the result I expect:
#<Mongoid::Criteria
  selector: {"is_hidden"=>{"$in"=>[true, false, nil]}, "advisor_id"=>BSON::ObjectId('5818a974834c8600012e7f80')}
  options:  {}
  class:    Post
  embedded: false>

But if I use a scope query.visible_or_hidden, with scope :visible_or_hidden, -> { any_in(:is_hidden.in => [true, false, nil]) }:
#<Mongoid::Criteria
  selector: {"is_hidden"=>{"$in"=>[false, nil]}, "advisor_id"=>BSON::ObjectId('5818a974834c8600012e7f80')}
  options:  {}
  class:    Post
  embedded: false>

The is_hidden condition isn't getting overridden when using the scope, but it does get overriden when using directly the any_in call. I need the latter behavior.
Help :)

Also, I'm on Mongoid 5.1.5

Hi @cblage
What version of Origin are you using?
Can you also provide a simple example of a Model with the scopes, how you are chaining them, and your expected result?
Chaining criteria with $in selectors uses the intersection of the $in lists. See this ticket: https://jira.mongodb.org/browse/MONGOID-4310
Thanks!
Emily

I'm on Origin 2.2.2. The example would be too complex. Is there any way around using the intersections? (A la also_in?)

Missed the @estolfo

Hi @cblage
You could tell the criteria to use the Union strategy for the selector merge:
> crit = Band.in(name: ['test1','test2'])
=> #<Mongoid::Criteria
  selector: {"name"=>{"$in"=>["test1", "test2"]}}
  options:  {}
  class:    Band
  embedded: false>

> crit.union.in(name: ['test3','test4'])
=> #<Mongoid::Criteria
  selector: {"name"=>{"$in"=>["test1", "test2", "test3", "test4"]}}
  options:  {}
  class:    Band
  embedded: false>

Doe that work for your use case ?

I'll try that out :)


ARROW-15200: [C++][Gandiva] Fix UnsatisfiedLinkError when using Gandiva's generated jar files

When generating Gandiva's jar file it is possible that an error of UnsatisfiedLinkError may occur based on a LLVM's symbol being used, more specific the llvm::ObjectCache.
To fix that, the flag -fno-rtti was passed only to the file that uses the llvm::ObjectCache.

@augustoasilva can you close this PR?
I will work in this problem in that one: https://github.com/apache/arrow/pull/12130


"Open Hyper here" with shell zsh is not working

[X] I am on the latest Hyper.app version

[X] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Windows 10

Hyper.app version: 1.0.0

Link of a Gist with the contents of your .hyper.js: https://gist.github.com/con-ssc/26cd65a2888cf26953a801e0799a9ae4

Relevent information from devtools (CMD+SHIFT+I on Mac OS, CTRL+SHIFT+I elsewhere): no errors

The issue is reproducible in vanilla Hyper.app: Yes

Issue
"Open Hyper here" only works for certain shells. I try to use zsh and I cannot get this to work with the context menu.

I have the same issue with bash on windows.
With the default windows shell, hyper starts where I want it to, using
shell: 'C:\\msys64\\usr\\bin\\bash.exe'
in .hyper.js always opens the shell in my home directory (under C:\msys64).

There is another, probably related issue.
My bash (from msys64, as above) is started with a near-empty PATH.
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/u
sr/bin/core_perl

Notably, the only paths pointing outside of / (which is c:\msys64 ) are /c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/, which is missing most of my system PATH and all my user PATH.

As a workaround, I found that running bash inside the default windows shell (by passing it as a command to be run) adresses the issues mentioned above.
C:\WINDOWS\system32\cmd.exe /K C:\msys64\usr\bin\bash.exe
In .hyper.js:
//shell: 'C:\\msys64\\usr\\bin\\bash.exe',
//shell: 'C:\\WINDOWS\\system32\\cmd.exe', //this is the default windows shell
shellArgs: ['/K C:\\msys64\\usr\\bin\\bash.exe'],

The thing is packages like MSYS and CYGWIN use POSIX style paths and may even have different home directories and don't recognize the path given in Windows-style :cry:

MSYS bash recognizes the PATH just fine if called from a cmd.exe-shell rather than being invoked directly by hyper.
I don't know what mature Windows shells like Cmder (or the underlying ConEmu) do to avoid or address this issue, but Cmder at least does not exhibit the issues described above. Maybe they found a workaround, or they might be using a different way to invoke the shell than whatever is used by npm/pty.js, which hyper uses.

If your on Windows using Hyper with Zsh through Cygwin and "Open Hyper Here" isn't working properly, it may be due to a function in cygwin64/etc/profile that unless invoked by CHERE, will start zsh in the users $Home directory instead of the cwd [current working directory] as originaly intended by the "Open Hyper Here" context menu functionality.
To fix this, you need to specify CHERE_INVOKING: 1 in your hyper.js config file under the environmental variables section, e.g:
// for environment variables
    env: {
      CHERE_INVOKING: 1  // Fix for "Open Hyper Here" with zsh / cygwin / hyper on windows
         },

Big Thanks to @schmic for posting this hyper.js config which helped me figure out where to add the variable to invoke CHERE.

I fixed this by changing C:\\Windows\\System32\\bash.exe to C:\\WINDOWS\\System32\\bash.exe

CHERE_INVOKING: 1 works everywhere except when Explorer is on drive letters.
E.g. it works for C:\Windows or D:\Video, but don't work for just C:\, D:\, etc (it opens $HOME).
I am using Hyper 3.0.2 (stable)
shell: 'C:\\Program Files\\Git\\bin\\bash.exe'
shellArgs: ['--login']

CHERE_INVOKING: 1 works everywhere except when Explorer is on drive letters.
E.g. it works for C:\Windows or D:\Video, but don't work for just C:\, D:\, etc (it opens $HOME).
I am using Hyper 3.0.2 (stable)
shell: 'C:\\Program Files\\Git\\bin\\bash.exe'
shellArgs: ['--login']

Same problem. In my hyper.js it's written:
 shell: 'C:\\Program Files\\Git\\git-cmd.exe',
// for setting shell arguments (i.e. for using interactive shellArgs: ['-i'])
// by default ['--login'] will be used
shellArgs: ['--command=usr/bin/bash.exe', '-l', '-i'],


Remove version: Bosyun.BoardMix.CN version 1.6.1

installers return following HTTP status code: 404
Microsoft Reviewers: Open in CodeFlow

URL: https://cms-oss.boardmix.cn/packages/download/desktop/bosyun/1.6.1/boardmix_win_1.6.1_x64.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 920)


Symantec ID not working anymore

Hello,
First let me thank you for this great package!
Login started to fail today and even logging into the app or web is not working stating security code is not valid. I called customer support and when they tried the Symantec Id I had or any new one generated by the script it is not working. Would it be possible for you to look into that? I mean is the vipaccess package not the latest version or its author might have addressed the issue in a newer version ?
Sorry if I'm making some assumptions here, my python knowledge is rather limited.
Michel

Did you try updating to 0.3.11?
It has a fix for login issues.

I have upgraded to 0.3.11

Am I missing something? Now I tried generating a completely new TOTP and it works fine via the web app, mobile app fine but still the login routine falls into the SMS flow like the following

I did some testing. If your password or login are incorrect, you'd raise the error:
Exception: Login was not successful; please check username and password|
When the TOTP is either missing or entered incorrectly, it will return that error message you are seeing.
You might really want to make sure you're passing the correct TOTP.

I tried a brand newly generated TOTP and it did not work then I retried the original one and the second time it worked. I'm pretty sure I'm sending the correct secret every time but anyway it might have been copy/paste error. Thanks for the response. I'm closing the issue.

When was your daylight savings time change? As of this morning, I am having this issue and we just changed time. I wonder if it may be linked to time change.

I believe it was like 2 days ago.

@4rumprom  are you still facing the issue? I had some  login time outs this morning.

Not anymore but the issue was a change of the landing page url on the schwab side.
I saw a pull request to check for the updated url on schwab with version 0.3.12 but it's not deployed yet.
I've submitted a modification in my async pull request to make it more robust by looking for the keywords app/trade in the url rather than looking for an exact url match.
In the meantime, you may want to update urls.py under the schwab_api package with the following code:
def trade_ticket():     return "https://client.schwab.com/app/trade/tom/trade?ShowUN=YES"

With the change you suggested it is working now. I hope Schwab releases the API soon the traversing of the UI is very flaky.

Currently, the login is what's problematic. Once logged in, the Schwab API
is already being used.
You'd probably still want to have a python wrapper to interface with the
Schwab API anyways, as it was the case with TDA. Once authentication can be
done via the API, it will be better.
On Thu, Mar 14, 2024, 11:19 AM Michel Eissa @.***>
wrote:

With the change you suggested it is working now. I hope Schwab releases
the API soon the traversing of the UI is very flaky.
—
Reply to this email directly, view it on GitHub
https://github.com/itsjafer/schwab-api/issues/52#issuecomment-1997703717,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUBF3VBP6DG265UBHNBKLG3YYG5Y3AVCNFSM6AAAAABEJ36SB6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJXG4YDGNZRG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

I understand Schwab API is being used after the login, what I meant is the how currently the login is implemented. I also used to use TDA when it was working. Even at my job when QA teams decide to do E2E via Selenium the tests are fragile due to the nature of the system under test being  the UI.

Hey @4rumprom  quick question.
now your async changes are merged in. This means I can run a script via Jupyter right? sorry if the question is silly :) I'm using this as an opportunity to strengthen my skills in python.

I didn't specifically try it on Jupyter but yes, the idea was that running
async would be more compatible with spyder / jupyter / steamlit or other
systems that don't support synchronous playwright.
On Fri, Mar 15, 2024 at 10:04 AM Michel Eissa @.***>
wrote:

Hey @4rumprom https://github.com/4rumprom quick question.
now your async changes are merged in. This means I can run a script via
Jupyter right? sorry if the question is silly :) I'm using this as an
opportunity to strengthen my skills in python.
—
Reply to this email directly, view it on GitHub
https://github.com/itsjafer/schwab-api/issues/52#issuecomment-1999740083,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUBF3VEQOKKXJKEDIVV7TU3YYL5WRAVCNFSM6AAAAABEJ36SB6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJZG42DAMBYGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

yea I tried in jupyter but getting the following error, it seems to be conflicting with Jupyter's running event loop.

Do you mind opening a new issue for this? In your new issue, if you could also please share what code are you running. Did you try running the example to test it?

I have copied and pasted from the example but I can try again then open a new issue.


Jesse: Watch (relaxingmusicsanctuary)(?#YouTube)

Jesse requests the watch of the watch_keyword (relaxingmusicsanctuary)(?#YouTube). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Rejected by cigien in Charcoal HQ. Reason: 'Uses a capturing group'


OCPBUGS-17157: sync

It depends on what the server does with unknown fields on the CatalogSource API - it's backwards compatible so likely the fields will just be ignored on versions of the server that don't understand them. That being said, while it's likely safe to merge before, no need to do it.

@joelanford I think your comment (and my response) are actually for https://github.com/operator-framework/operator-marketplace/pull/527

/retest

/retest

/approve


Built-in JSDoc @example block testing

Clear and concise description of the problem
In JS/TS libraries, API documentation – written with JSDoc syntax – is really important:

It allows to communicate meaning and example usage for other (current & future) developers of the library
It allows creation of API reference docs (as a separate static site) for the users of the library

… this means that having up-to-date and functioning examples in the JSDoc is critical.
Without any testing for the JSDoc documentation examples, it can easily happen (especially over time as the project evolves), for those JSDoc examples to be invalid, incorrect and/or outdated.
Having the possibility to actually test the JSDoc examples would greatly lessen the possibility of invalid examples.
Suggested solution
Similar to Deno's Documentation Tests.
Basically I'd like to have both CLI option and config option to enable documentation tests:

CLI: vitest --doc
config: doc: true

Then, in JSDoc, one could have an @example block of code with any test assertion (such as expect) and Vitest would parse the code block and execute the test:
/**
 * # Examples
 *
 * @example
 * ```ts
 * const sum = add(ONE, getTwo());
 * expect(sum).toBe(3);
 * ```
 */
export function add(a: number, b: number): number {
  return a + b;
}

export const ONE = 1;
export default function getTwo() {
  return 2;
}

Alternative
There is a community plugin for Vitest (vite-plugin-doctest) and few others like it, but these plugins are not actively/well maintained and adding them as dependency feels bad as you can't be sure they will keep working in the future. For example in case of vite-plugin-doctest, it's already having issues with upcoming Vite versions, causing warnings like:
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.

I believe this feature should be part of the core Vitest feature set, as it's so critical functionality.
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Duplicate of https://github.com/vitest-dev/vitest/issues/3035.
We've discussed this feature with the team earlier and decided that this is not something we are going to support.

Okay.
(Also, sorry about the duplicate issue, I tried searching with JSDoc so didn't spot that #3035.)


Support for Combine

Add support for annotation attributes for Combine subjects and publishers so they too can be easily mocked.

@vsanthanam  Per discussion, could you add examples here?

When mockolo is mocking a property, is does something special if the property is an Observable<Element>
The generated mock will not crash you try to access the property before assignment, and is instead automatically backed PublishSubject. An additional ivar is created to allow the consumer to add values to the sequence, and additional options exist to control what kind of subject is used to back the Observable (e.g. replay, behavior, etc.)
I think we should add the same functionality when a property is of type AnyPublisher (Apple's equivalent of Observable — a ready only, type erased value that the consumer can subscribe to but cannot add values to)
We should also back these types automatically with a combine subject, and provide some controls over what kind of subjects could be used. Unlike Observables which are generics specialized against a single type, Publishers are specialized with two types (the value to emit, as well as the error), so this could add some complexity. On the plus side though, Combine has much fewer features than RxSwift as of now, and only there are only two subject types to choose from.
For example:
/// @mockable
protocol StateManaging {
   var myState: AnyPublisher<State, Error>
}

Could generate the following mock:
class StateManagingMock: StateManaging {
   var myState: AnyPublisher<State, Error> {
      myStateSubject.eraseToAnyPublisher() // the Combine equivalent of `.asObservable()` to perform type erasure of the mutable interface.
   }

   var myStateSubject = PassthroughSubject<State, Error>()
}

Combine really only has two subjects: PassthroughSubject (the equivalent of PublishSubject, initialized with no arguments), and CurrentValueSubject (the equivalent of BehaviorSubject, initialized with one value to start the sequence), so you'd have full coverage by supporting just those two.


Fix thread parent message stays highlighted

Details

Going to a thread report from the context menu will make the thread parent message stays highlighted.
Fixed Issues

$ https://github.com/Expensify/App/issues/19776
PROPOSAL: https://github.com/Expensify/App/issues/19776#issuecomment-1568089616
Tests

Same as QA Steps

[ ] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open any chat
Send a message
Long press/right-click the message to open a context menu
Press Reply in thread
Verify the thread parent message is not highlighted

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/50919443/1ac187fc-9f8b-46b3-97f4-d7c9ce50f126

Mobile Web - Chrome

https://github.com/Expensify/App/assets/50919443/dfd6516c-aeb3-4370-8fbc-f07a08b5accb

Mobile Web - Safari

https://github.com/Expensify/App/assets/50919443/f8f1ff5d-6d78-470f-aec1-fa7880eba29b

Desktop

https://github.com/Expensify/App/assets/50919443/e689345d-3ba3-414a-9c26-956200eb564e

iOS

https://github.com/Expensify/App/assets/50919443/f00162a1-3cf7-4cd7-a0c3-cb271e691202

Android

https://github.com/Expensify/App/assets/50919443/d311002c-4151-4f73-ba1e-153dd00213e6

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/puneetlath in version: 1.3.34-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.3.34-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Allow Page switch

Deliverables:

[ ]  Add a page state to home page and selectively render the required pages
[ ]  create the main page
[ ]  configure the go button in input block to change the state in the page and then selectively render only the required page.

okkk


#Add CODE_OF_CONDUCT.md

closes #3
This is a PR raised to address the creation of code of conduct markdown file as a part of WOB24. The code of conduct has been modified with thr users of the blockchain project and email ID of the author has been added for reporting purposes. Please review the PR and share the feedback accordingly. Thank you!

Thanks


Test Ruby 2.6

Ruby 2.6 is out! let's ensure it works :smile:

It seems like coverall fails in Ruby 2.6. :thinking:


Dolphin Emulator

RPW 0.2.3a is able to create invites for dolphin emu after I add it to Steam but once my friend clicks on the invite, they are instantly expired. My system is on linux and my friends is on windows if that matters

Have you tried restarting steam/pc or the alternative method from #7 ?


Update release doc

Update the reference PR because the website has been refactored
Add remove old releases part

Codecov Report

Merging #91 (359115a) into master (406c732) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #91   +/-   ##
=======================================
  Coverage   48.07%   48.07%
=======================================
  Files          10       10
  Lines         156      156
=======================================
  Hits           75       75
  Misses         73       73
  Partials        8        8

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 406c732...359115a. Read the comment docs.


DOC: stats: Fix typo in the doc of the Kstwobign distribution

Reference issue
#20142
What does this implement/fix?
Remove the sqrt around $D_{n,m}$.

Waiting for docs to render. Will merge if that looks good.

Thanks @gianlucadetommaso !


(markdown) Horizontal rule with 3 asterisks (***) causes bold text highlight

Describe the issue
In Markdown, a line that contains only *** is supposed to be a horizontal rule, but highlightjs interprets it as the start of bold text.
Which language seems to have the issue?
markdown
Are you using highlight or highlightAuto?
highlight
Sample Code to Reproduce
see https://jsfiddle.net/4kwz8Ld9/ where this snippet causes the issue:
# Hello
this should be a horizonal rule:
***
but it gets highlighed as bold text, followed by *
It's pretty minor since most people would use --- instead
***
That is another horizontal rule, but ends the bold block instead

Expected behavior
It appears that GitHub renders it as expected (grey highlights to the ***) instead of bolding the following characters.
Additional context
I only noticed this because I was fiddling with a specific format that I wanted to use in revealjs slides. Super minor issue, but figured it would be worth mentioning.

just messing around locally and I think putting HORIZONTAL_RULE ahead of BOLD fixes it:
diff --git a/src/languages/markdown.js b/src/languages/markdown.js
index 7d5a1506..0a6dd182 100644
--- a/src/languages/markdown.js
+++ b/src/languages/markdown.js
@@ -225,13 +225,13 @@ export default function(hljs) {
     ],
     contains: [
       HEADER,
+      HORIZONTAL_RULE,
       INLINE_HTML,
       LIST,
       BOLD,
       ITALIC,
       BLOCKQUOTE,
       CODE,
-      HORIZONTAL_RULE,
       LINK,
       LINK_REFERENCE
     ]

I can test it out a bit more and put up a PR

ah, it's not that simple. There's kinda a race for priority between bold+italic and this horizontal rule. I might be able to untangle them some day

One could use variants and expose custom matchers for ruled lines that match say ^***$, etc... so that you could catch the most common cases... I wonder if the current rule matcher isn't a little bit too loose though?


Forum topic locking and auto-locking

[ ] Allow forum topics to be locked from further discussion.
[ ] Auto-lock forum topics with no activity for a certain amount of time.

Closed by 438d983500f27de578cb4c4695f2d3b0ff8f34fb


Live Draft watch list doesn't update right

As the draft progresses and the live draft updates, the watch list slowly gets emptied out with the new endless scroll.

Fixed in 2019.1.0


Market Flagging

Would be cool to eventually be able to flag markets as "likely indeterminate."  This would basically serve as an ability to filter out all of these grey certainty markets for people buying/selling shares in markets.  It'd be helpful for people who don't understand the indeterminate reporting / 50 cent payout structure and are just regular users, and by default these flagged markets should probably be filtered out, with the ability to (and a caution notice) to make them appear.

I like this idea in principle.  May be tricky to implement in a user-friendly way though.  Two basic ways to implement it that I can see:

Bundle it with the other market metadata and store in IPFS.  Upside: easy and free.  Downside: abusable, e.g. sibyl attack competing markets.
Rep weight the flagging and store them on-chain.  Upside: secure.  Downside: spendy.

Hmm...

Rep weight the flagging and store them off-chain using signed messages by reporters ??? profit

meh, too complicated and comments allow this in practice


Change paper white color

How can I change the color of the paper? I do not want to apply the color over the picture, only the white page.

You change the color of the paper,the below line added in CurlActivity class file.
curl.setBackgroundColor(-0xffffff)


Links are not converted correctly

I have a Link like this:
[Google Maps Time Zone API](https://developers.google.com/maps/documentation/timezone/intro)
The specs say this is a correct link, but the converter (to pdf) outputs the text and then the link instead.
If helpful:
I use the link within a nested list
I use version 0.10.1

Sorry, but currently phantom.js can not print links. Once there are better options here, I am happy about proposals!!!

OK sorry, you are right
For everyone searching for this: https://github.com/ariya/phantomjs/pull/13250
It is planned for 2.0.1 release of phantom.js

A workaround at the moment is to write [](http://example.com). It will render as a clickable link, but it isn't possible to set the title text.


Update sharp and add extract options

Update to latest version of sharp which, also fixes a build error during npm install.
Add extract function options.

Hi there. Sorry for late response. I've rarely log in to my private Github account because of other responsibilities, but I really appreciate this PR! Looks good, thanks!


Module 'google_maps_flutter' not found

Steps to Reproduce

On Xcode, select Product > Archive
Update the files as follows (private project):
Pubspec.yaml: https://gist.github.com/andesappal/5d6141d89e2b73a4456e101c83abca0b
(This project was done by one other developer, so please, bear with me. There are many deps that aren't necessary, which are gradually being removed. But for now, I need to build an archive on Xcode and release the app on TestFlight as it is)

Expected results:
I expected to produce a build archive
Actual results:

Logs
flutter run --verbose: https://gist.github.com/andesappal/a70a664fd87105fe13fcc9020a836753
Dart analysis presents 632 hints, and 0 errors
flutter doctor -v: https://gist.github.com/andesappal/b724e0dee312708f95b4c593b54d0e9a

Hi @andesappal
isn't https://github.com/flutter/flutter/issues/43986#issuecomment-573171119 your case?
have you followed https://flutter.dev/docs/deployment/ios#create-a-build-archive?

Hi @VladyslavBondarenko. Apparently this solved the issue https://github.com/flutter/flutter/issues/50568#issuecomment-584996079
Thanks for your help!


ATSIndicatorQSBStrategyInfoBar.PNL  not being updated

The P&L indicator is used in ATSQuadroStrategyBaseTradingUILayerBase.cs layer (url)
Yes it should be updated somewhere:
eg onBarUpdate":
aTSIndicatorQSBStrategyInfoBar.PNL=GetRealised etc

The P&L indicator is used in ATSQuadroStrategyBaseTradingUILayerBase.cs layer (url)
Yes it should be updated somewhere: eg onBarUpdate": aTSIndicatorQSBStrategyInfoBar.PNL=GetRealised etc

this is now exposed as "Protected" so it can be accessed and set
ideally it would be done an abstract layer and derived from etc


build: add Makefile for Rust noobs

With this minimal wrappers, one could just download&install Rust and after that just type 'make', no need to be knowledgeable about how to build things in Rust ecosystem.

So that's effectively simply an alias for cargo build? I don't think that's worth it. The annoying part is installing the Rust toolchain, once that's done typing cargo build in place of make makes no difference.

once that's done typing cargo build in place of make makes no difference.

For developing, it's much faster to type it. I could also add a Makefile target for doing a release build via make rel?

For developing, it's much faster to type it. I could also add a Makefile target for doing a release build via make rel?

Also, it is a convention to run the tests with make check, and from the CI file I can gather that the best flags for running them are kinda long to type.

So that's effectively simply an alias for cargo build? I don't think that's worth it. The annoying part is installing the Rust toolchain, once that's done typing cargo build in place of make makes no difference.

agree, what is annoying for a noob is toolchain + linux dependencies

agree, what is annoying for a noob is toolchain + linux dependencies

To that end, I could contribute a configure.sh script that checks if all necessary Rust tools (and proper minimal versions) are installed, and if they are not, it would advise the user how to install them.

To that end, I could contribute a configure.sh script that checks if all necessary Rust tools (and proper minimal versions) are installed, and if they are not, it would advise the user how to install them.

I added a 2nd commit that adds this check inside the Makefile actually (and gives the user a hint of 2 examples of how to install Rust). I could improve this later so that it checks the specific version of Rust that is needed.

I will submit ‘make help’ configuration PR

https://github.com/wizardsardine/liana/pull/1352

I will submit ‘make help’ configuration PR

IMHO that PR doesn't follow the K.I.S.S. principle 😅


Scrape Facebook Video URL received a login screen instead Video infos

Maybe Facebook blacklist my IP address because after I use VPN I can scrape video URL, title,...
If I use a real IP address I got a login screen instead response includes video metadata

actually its working well on localhost not working while access from proxy or servers


feat: add Apple and Facebook authentication

WARNING: Facebook it's a demo app, so only added testers may login.
Apple uses supertokens.io demo account, remember to change to one of ours in the future.

New version of this PR deployed on: https://feat-facebook-auth.paybutton.io

New version of this PR deployed on: https://feat-facebook-auth.paybutton.io

I assume this works although it doesn't let me test it due to my FB account not being in "development mode".

New version of this PR deployed on: https://feat-facebook-auth.paybutton.io

I'm just going to accept this one.


[move-book and move-book-zh] update signer

Motivation
Update contents of signer in move-book and move-book-zh.

Already done. @sblackshear


Upgrade to gradle 8.4, junit 5. Fix configuration cache issues.

This is a large MR, but mostly touches unit tests.
Fixes #4062 #3132 https://github.com/GoogleContainerTools/jib/issues/4070

"kokoro-windows" check failed, but I don't have access to view the check's output.

@wwadge We're having some issues with viewing our checks from the PR so pasting the error here:
Caused by: java.io.IOException: Unable to delete directory 'C:\tmpfs\src\github\jib\jib-build-plan\build'
  Failed to delete some children. This might happen because a process has files open or has its working directory set in the target directory.
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp\.cache\expanded\expanded.lock
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp\.cache\expanded
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp\.cache
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp
	at org.gradle.internal.file.impl.DefaultDeleter.throwWithHelpMessage(DefaultDeleter.java:181)
	at org.gradle.internal.file.impl.DefaultDeleter.deleteRecursively(DefaultDeleter.java:114)
	at org.gradle.internal.file.impl.DefaultDeleter.deleteRecursively(DefaultDeleter.java:65)
	at org.gradle.api.tasks.Delete.clean(Delete.java:54)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
	... 147 more

From the initial glance, this looks like a concurrency issue. Could you try rebasing with main? We recently merged a change that updates gradle 8.2 (https://github.com/GoogleContainerTools/jib/pull/3892) and turns off parallel build in gradle due to another concurrency issue (https://github.com/GoogleContainerTools/jib/commit/0ab45c6f0507bc3c288b7145971c8791a522af60). This may help minimize the changes required in this PR and also (hopefully) address the issue.

Bump for kokoro

kokoro failing?

Thanks for your patience on this @wwadge. We are currently working through an issue (unrelated to the PR) in our test infrastructure that is causing the jobs to stall.

Updated by removing the workaround for gradle which only applies to v6 (this PR bumps to v8.3). PR still fails on kokoro-windows but I'm afraid I don't have access to logs so I'm going to need your help to diagnose what's up with that.

The windows issues are related to windows fs things I believe:
Caused by: java.io.IOException: Unable to delete directory 'C:\tmpfs\src\github\jib\jib-build-plan\build'
  Failed to delete some children. This might happen because a process has files open or has its working directory set in the target directory.
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp\.cache\expanded\expanded.lock
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp\.cache\expanded
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp\.cache
  - C:\tmpfs\src\github\jib\jib-build-plan\build\tmp

This PR is almost too large to review. Can you find a way to separate the parts and we can look into getting it in? Perhaps separates out the gradle update, the plugin updates and Junit5 updates per project?

Hmmm probably a little difficult though I'd agree the PR is pretty big, but most of it is silly stuff like removing "public" from test methods (junit 5 thing, triggered a lot of code smells in Sonar). If you think it's worth the effort I'll try to give it a shot

Alright lemme give this review a shot and see how it goes.

+1 to @loosebazooka. @wwadge would it be possible to split this up into smaller PRs? It looks like we are trying to solve multiple problems here but it may help to break it down problem by problem.

@mpeddada1 yes I'll try to do that

Closing in favour of: https://github.com/GoogleContainerTools/jib/pull/4139


Implement DCF (Device Code auth flow)

We should implement this with the correct grants.
I'm a bit conflicted though about how the interface should look like. Maybe a builder like the other auth flows, but then two different methods for public or confidential type.
We also need to implement refresh tokens without client_secret. We'd have to either change https://github.com/twitch-rs/twitch_oauth2/blob/bf0eada4a8dcb2a82162f54fe575663f650bd607/src/lib.rs#L244 or provide two new functions

I'm opting to use DCF in my desktop app and have had to use the popular oauth2 crate for it. Unfortunately, Twitch (surprise) doesn't follow the spec, which requires the 400 statuses to return the auth status in an error property. Twitch in this case returns the status in a message property which panics the crate. So I'm having to manually do a lot of this.
I'd love to have to not deal with it, but unfortunately I'm too new of a Rust dev to really contribute otherwise. I do like how painless oauth2's method of implementing DCF is though!

I think something like the following will work
let mut builder = DeviceUserTokenBuilder::new(id, scopes);
let code = builder.exchange_device_code(client).await?;
println!("Enter {code}");
...
let token: UserToken = UserTokenbuilder.finish().await?;


Write a Camping New helper

Camping needs a new project helper. This should be the first generator that we write. Example:
camping new Blog

Which could generate a directory listing like this:
blog/
    .ruby-version
    camp.rb
    Gemfile
    README.md

Or an expanded directory list like this:
blog/
    public/
    views/
    test/
    env/
    lib/
    src/
    .gitignore
    .ruby-version
    camp.rb
    Gemfile
    README.md

This requires that there is a set directory structure for Camping apps, and a more formal standard for how to organize Camping apps that live together in the same directory.
The Camping reloader currently only reloads changes if the file that Camping was initialized from changes, but not any files that are required or locally required. Having a formal Camping directory structure would make this much easier. The only issue I see is how to deal with multiple apps when working with the reloader and the server.
Multiple Apps
Running more than one app is as easy as calling Camping.goes more than once. I believe this behaviour should be preserved. The simplicity is a big advantage. Understanding the routes of a multi app Camping server is much easier now with the routes helper.
There are problems that arise when trying to reference code outside of a Camping app's core file. Camping looks for views in the views folder relative to wherever your Camping app is mounted. There is also an assumed public folder as well.
The Solution

Default to single file camping apps, and by convention, call it camp.rb and place it in the root directory.
Provide a Camping add app command that will add another camping app to an apps/ directory, and then mount that at the end of camp.rb.
Add a special require_app command to help Camping::Server know what's loaded and where to place the apps root.
Provide a default way to have global code included into multiple apps. like a lib/ directory with sub directories: views, models, helpers, plugins.

With this method, new camping apps can be added, and mounted without much fuss. A default camping directory structure for each app in their own app directory. Code shared across apps have a place to live. and the Camping::Reloader works well.
The downside of this is that it brings more complexity to Camping. The greatest advantage of Camping is it's simplicity. How do we add these features while maintaining great simplicity? Perhaps the app mounting command is a bit more comprehensive and tries a few things when loading apps?
for example:
Camping.loads :Nuts

This command could load the :Nuts app by looking in a few places. First locally where Camping.loads is called, then in an apps/ directory looking for apps/nuts.rb then in a directory named after the app: apps/nuts/nuts.rb. Consequently Camping.loads could be adapted to load predictable resources, like views, if you have lots of views. Camping.loads 'views', which would first look for a file nearby named views.rb, then look in a folder named views/ for views: views/views.rb or, even better, if it doesn't find those, look in a folder named views/ but just load everything in that folder. This would purely be a tool to manage complex camping deployments with multiple apps. It might even be easier for this to be an official plugin for Camping. Just include it at the top of your camp.rb and you've got complex camping app management tools.
I'll probably edit this issue as I clarify my thoughts on this.

To focus the camping New helper, The directory structure camping new my_app:
my_app/
    public/
    test/
    .gitignore
    .ruby-version
    camp.rb
    config.kdl
    Rakefile
    Gemfile
    README.md

An extend setup: camping new my_app -extended:
my_app/
    public/
    views/
    test/
    lib/
    src/
    .gitignore
    .ruby-version
    camp.rb
    config.kdl
    Rakefile
    Gemfile
    README.md

You could also include the omnibus camping new my_app -extended -omnibus. Which would add the omnibus to the Gemfile, and setup a default database system.
Adding another app would add an apps/ folder, and would be called like this, camping add app nuts:
apps/
    nuts.rb
    auth/
        auth.rb
        views/
        models/
        helpers/
        lib/
    wiki/
        wiki.rb

In camp.rb:
# my_app/camp.rb
# ...

# Include and start the nuts app:
require 'apps/nuts.rb'
Camping.goes :Nuts

In apps/nuts.rb:
# my_app/apps/nuts.rb

module Nuts
    module Controllers
        class Index
            def get; render :index end
        end
    end
    module Views
        def index; h1 "Welcome" end
        def layout;
            self  <<  '<!DOCTYPE html>'
            html do
                head do
                    title "Nuts"
                end

                body { yield }
            end
        end
    end
end

I got a simple generator working. Still not sure what to include in it but it works, and that makes me happy.

Needs Test.


Not working in Visual Studio Community 2022 (64-bit) - Preview

Not working in Microsoft Visual Studio Community 2022 (64-bit) - Version 17.8.0 Preview 2.0.
I try to put .runcommandonsave in the solution directory, and in the project directory, in both cases they don't work, nothing happen.
How can I check if the "Run Command On Save" extension is enabled in my Visual Studio?

Strange thing... it started working today.
I have the .runcommandonsave file in the solution directory.

Hi @marbel82,
Great to hear it's functioning correctly. I'm using VS 17.5.4 and haven't run into similar issues, but I'll also test it with your version for completeness.
Concerning the .runcommandonsave file, if it's located at /base and your code resides in /base/1/2/3/file.cpp, the extension should find it by traversing up the directory tree.
If you face any more issues, you can activate debug mode by adding the following to your .runcommandonsave:
[Debug] On = true
Best regards,
Galtza


Fix typo introduced in #592.

Oops :(

Codecov Report

Merging #601 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #601   +/-   ##
=========================================
  Coverage     75.01%   75.01%
  Complexity      933      933
=========================================
  Files           176      176
  Lines          4074     4074
  Branches        322      322
=========================================
  Hits           3056     3056
  Misses          865      865
  Partials        153      153

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 ed11321...b669beb. Read the comment docs.


toGlobalId/fromGlobalId not working inside React Native

I tried using this library's toGlobalId and fromGlobalId from a React Native application, however I got an error that Buffer is not defined (it's used in src/utils/base64.js). It seems that Buffer is only available from NodeJS...
If you consider that this library should also be available from React Native (or a browser), at least some changes need to be made to base64.js.
In the time being I'll probably just use join/split.
By the way, the reason I was trying to use this library from React Native is to do something similar to http://graphql.org/blog/rest-api-graphql-wrapper/.

Thanks for the report @vincentisambart.

In the time being I'll probably just use join/split.

This is a reasonable approach. Note that the use of base64 encoding is a convention but not a requirement. The main reason we have used base64 historically is to make it clear that the identifiers should be considered opaque, and the client should avoid doing any operations that depend on their internal structure; in many (most?) cases you can write a client without needing the functionality of toGlobalId/fromGlobalId at all. (At the same time, base64 is an easily enough removed form of obfuscation that you can trivially undo if you need to look "inside" an ID for debugging purposes.)

I ran into exactly the same issue. Any ways to make this cross-platform?

@vincentisambart how did you solved your problem?

You can create a simple helper
import { Buffer } from 'buffer';

export type Base64String = string;

export function base64(i: string): Base64String {
  return new Buffer(i, 'utf8').toString('base64');
}

export const toGlobalId = (type: string, id: string): string => {
  return base64([type, id].join(':'));
};


Can be a drop-in replace for the official fzf.vim plugin?

Just asking because various plugin integrates with that and will simplify the migration to pure lua stuff.

Closing until further updates


fix: fix bubble and overlay shapes padding

bubbleDimensions and overlayDimensions are present but not being utilized in the ShapeBorder implementation.

thank you


[17.06] progress: Show progress of replicated tasks before they are assigned

Backport fix:

docker/cli/pull/237 progress: Show progress of replicated tasks before they are assigned

LGTM

@andrewhsu looks ready to merge


Implement exclusion proofs and a proof spec that supports ICS-23 nonexistence proofs

To properly support IBC, we need to implement nonexistence proofs for the JMT. ICS23 currently only supports nonexistence-by-exclusion proofs, where the key path is not hashed. There is a changeset here which supports exclusion proof verification with a keyhashed tree, such as the JMT or SMT. This changeset adds two new fields to the ICS23 proof proto, but since proto defaults to 0 for unknown fields, this changeset is backwards compatible. To support JMT ICS23 nonexistence proofs with this, we need to:

[x] Implement a get_with_exclusion_proof method on the JMT that returns an exclusion proof for the requested value if it doesn't exist
[x] Add code to ics23_impl that can package an exclusion proof into the correct ics23 exclusion proof format.

On the second point, I think that in order to convert the raw merkle data into ICS23 format, we'll also need to have the full leaf values, since the ICS23 nonexistence proofs supply existence proofs of the left and right leaves.  We can do this in penumbra_storage using the index in https://github.com/penumbra-zone/penumbra/issues/1647 , but we'll have to figure out how we want to connect that with the JMT code (which shouldn't assume any extra storage beyond the TreeReader/TreeWriter interface).
Either we'll need to put the ICS23 nonexistence proof conversion code in penumbra_storage (where it can look up the leaf data), or we'll need a way to supply the leaf data in the jmt API.

@avahowell Status update? I believe recent Discord discussion indicates this is very close to finished, but I don't want to speak for you.

The PoC has been done, so closing!


maps-difference analog?

Guava has a nice little utility for computing the difference between maps (along with the non-differing portions):
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Maps.html#difference(java.util.Map, java.util.Map)
Implementing similar functionality in JS code today, I was wondering if it's a good fit for the library. Here's one implementation:
http://goo.gl/zbSMwR

While I could be convinced, my first thought is that this is more likely Cookbook material.  I have used functions like this... but only once or twice in my career.  That to me doesn't reach some fuzzy threshold necessary to mark it for inclusion in the core.
But I'm not dead-set against it.

That was my initial thought too. The reason I think this might be worth it anyway (and I believe that's why Guava has it) is that the implementation isn't trivial at all.

I'm not in favour of including this in Ramda, though I'd love to see it in the cookbook.

:+1: :cookie: :book:

Fair enough!

Add here: https://github.com/ramda/ramda/wiki/Cookbook#use-ramda-fantasy-future-to-wrap-ajax
But I don't know how to update the ToC.

@raine has told me how to do it several times, and I always forget.  It involves running some build script in some project somewhere.  I'll try to look at my notes tomorrow.


[torchbench] moco model fails because it tries to initialize distributed processing with NCCL backend

Symptom: moco fails with exception in DistributedDataParallel:
Traceback (most recent call last):
  File "/home/jovyan/work/triton-no-conda/pytorch/benchmarks/dynamo/torchbench.py", line 481, in <module>
    torchbench_main()
  File "/home/jovyan/work/triton-no-conda/pytorch/benchmarks/dynamo/torchbench.py", line 477, in torchbench_main
    main(TorchBenchmarkRunner(), original_dir)
  File "/home/jovyan/work/triton-no-conda/pytorch/benchmarks/dynamo/common.py", line 3045, in main
    process_entry(0, runner, original_dir, args)
  File "/home/jovyan/work/triton-no-conda/pytorch/benchmarks/dynamo/common.py", line 3002, in process_entry
    return maybe_fresh_cache(
  File "/home/jovyan/work/triton-no-conda/pytorch/benchmarks/dynamo/common.py", line 1665, in inner
    return fn(*args, **kwargs)
  File "/home/jovyan/work/triton-no-conda/pytorch/benchmarks/dynamo/common.py", line 3455, in run
    ) = runner.load_model(
  File "/home/jovyan/work/triton-no-conda/pytorch/benchmarks/dynamo/torchbench.py", line 366, in load_model
    benchmark = benchmark_cls(
  File "/home/jovyan/work/triton-no-conda/benchmark/torchbenchmark/util/model.py", line 24, in __call__
    obj = type.__call__(cls, *args, **kwargs)
  File "/home/jovyan/work/triton-no-conda/benchmark/torchbenchmark/models/moco/__init__.py", line 85, in __init__
    self.model = torch.nn.parallel.DistributedDataParallel(
  File "/home/jovyan/.conda/envs/triton-no-conda-3.10-stonepia/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 734, in __init__
    self.process_group = _get_default_group()
  File "/home/jovyan/.conda/envs/triton-no-conda-3.10-stonepia/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 940, in _get_default_group
    raise RuntimeError(
RuntimeError: Default process group has not been initialized, please make sure to call init_process_group.

The problem actually is that moco calls init_process_group but ignores an exception risen by it:
  File "/home/jovyan/work/triton-no-conda/benchmark/torchbenchmark/models/moco/__init__.py", line 60, in __init__
    dist.init_process_group(
  File "/home/jovyan/.conda/envs/triton-no-conda-3.10-stonepia/lib/python3.10/site-packages/torch/distributed/c10d_logger.py", line 74, in wrapper
    func_return = func(*args, **kwargs)
  File "/home/jovyan/.conda/envs/triton-no-conda-3.10-stonepia/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 1148, in init_process_group
    default_pg, _ = _new_process_group_helper(
  File "/home/jovyan/.conda/envs/triton-no-conda-3.10-stonepia/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 1268, in _new_process_group_helper
    raise RuntimeError("Distributed package doesn't have NCCL built in")
RuntimeError: Distributed package doesn't have NCCL built in

We currently have pytorch that is built without NCCL support.

Looks like pytorch cannot be built with NCCL support when there is no CUDA:
CMake Warning at cmake/Dependencies.cmake:1340 (message):
  Not using CUDA/ROCM, so disabling USE_NCCL.  Suppress this warning with
  -DUSE_NCCL=OFF.

moco.patch
Attached is a patch that seems to allow to run this model on PVC with triton. The problem is that if I comment the print statement in concat_all_gather I am getting an exception. When print is not commented the model works normally although it fails accuracy test.


Pr 16bit addressing support

TMS320 have 16-bits addressing, so

(uint8_t) same (uint16_t)
sizeof(float) is 2
union not same like STM32, because type uint8_t does not exist in hardware

Example:
union
{
uint64_t u8;
uint64_t u16;
uint64_t u32;
uint64_t u64;
uint8_t bytes[8];
} storage;
 address:|   bytes:        |   u64:                      |   u32:                       |   u16:    |   u8:
 0x00      |   bytes[0]    |   (u64         )&0xFF  |   (u32         )&0xFF  |   u16     |   u8
 0x01      |   bytes[1]    |   (u64>>16)&0xFF  |   (u32>>16)&0xFF  |
 0x02      |   bytes[2]    |   (u64>>32)&0xFF  |
 0x03      |   bytes[3]    |   (u64>>48)&0xFF  |
 0x04      |   bytes[4]    |
 0x05      |   bytes[5]    |
 0x06      |   bytes[6]    |
 0x07      |   bytes[7]    |

@viorz thanks for the contribution!
what testing have you done on this?

I've pushed some fixes to try to get CI to pass

@viorz it now builds and passes tests, but please let me know what testing you have done so I can be sure it really works

@viorz any update?

@viorz have you tested this commit with any TMS320 microcontroller

I believe this will work, and will merge, hopefully someone with this type of MCU will test

I tested it on TMS320F280049 and it work.


The style property of all interactions does not work with JSX or React styles

<RLayers.RInteraction.RDraw type='LineString' style={this.style} condition={shiftKeyOnly} maxPoints={5} />
<RLayers.RStyle.RStyle ref={this.style}>
  <RLayers.RStyle.RStroke color='red' width={3} />
</RLayers.RStyle.RStyle>

In this example RDraw doesn't pick up the style

As Draw and Modify in Openlayers do not support setting the style after creation, these React component cannot be used with JSX or React style - they can only be used with Openlayers static styles.


Unregistered features and structures

According to Blame, a few features and structures were not configured, which can break other mods.
****************** Blame Report 1.16.5-3.2.3-forge ******************

 This is an experimental report. It is suppose to automatically read
 the JSON of all the unregistered ConfiguredFeatures, ConfiguredStructures,
 and ConfiguredCarvers. Then does its best to collect the terms that seem to
 state whose mod the unregistered stuff belongs to.

Possible mods responsible for unregistered stuff:

apotheosis:boss_dungeon
apotheosis:boss_dungeon_2
apotheosis:rogue_spawner
apotheosis:trove

****************** Blame Report 1.16.5-3.2.3-forge ******************

 This ConfiguredFeature was found to be not registered. Look at the JSON info and try to
 find which mod it belongs to. Then go tell that mod owner to register their ConfiguredFeature
 as otherwise, it will break other mods or datapacks that registered their stuff.

  I've been a software developer since 1981, so I understand what you're saying, but clearly something isn't working as intended. Shouldn't BOSS_DUNGEON, BOSS_DUNGEON_2 and TOME_TOWER be registered as structures? Perhaps this is why Blame reports it as an error?

all configured features within apotheosis are registered, the code responsible is here https://github.com/Shadows-of-Fire/Apotheosis/blob/1.16/src/main/java/shadows/apotheosis/deadly/DeadlyWorldGen.java#L24

Actually, blame is right. If you breakpoint here:
https://github.com/TelepathicGrunt/Apotheosis/blob/7c4b3788ab122aa06501de31535d6029aad8cee5/src/main/java/shadows/apotheosis/deadly/DeadlyWorldGen.java#L30
and look at what f.feature is, it is "minecraft:decorated". All of these ConfiguredFeatures were registered under that name which means all but one were registry replaced and now are unregistered. Which triggered the Blame report.

Remember, every placement you do on a configuredfeature, wraps that configuredfeature in a NEW one that runs the placement code. For your Boss Dungeon, it actually waaaaay buried inside nested configuredfeatures like this:

My recommendation is to just register each configuredfeature field separately and with a resourcelocation you create yourself. Short, simple, and less likely to have an issue. Hope this helps!