Document and test usage of Palindrom as a Node client

Looking at the source code of the PR https://github.com/Palindrom/Palindrom/pull/227, I assume that it is already possible to use Palindrom.js as a client on Node. However, we need to add tests and docs for such scenario.

However, we need to add tests and docs for such scenario.

The tests do run in Node and test all Palindrom features that are tested in the browser.

@warpech What do you consider sufficient check and proof given what stated above?
I was thinking that maybe we should create (and maintain?) sample apps, like command line node app that works with https://github.com/Starcounter/HelloWorld/
But I'm not sure whether it's an overkill.

We agreed with @tomalec that the only thing left is docs. As an example, I will show how to use Palindrom within Node REPL:


subject in message is sometime truncated

Hi,
On Mac OS (10.13) with the version 1.0 and 1.1-Snapshot of java-nats and using the latest docker nats image, the subject of the message is sometimes truncated (at very low frequency). That is, the subject only partially match the subject the subscription was done one. Still, the message is received correctly.
Attached, you will find a java main that show the problem (after some time).
I fail to understand deeply in the parser why sometime the beginning of the subject is truncated.
Here an output:
BUG: Receive : 1a45 expected : content.path.8db98b6a-7ec2-494f-8cce-d80629911a45
CheckNatsSubject.txt
Thanks for help,
Marc Guiot

Thanks, I will take a look at this.

@MarcGuiot How long do you normally have to run the program before hitting an error? I have not been able to reproduce on MacOS 10.13 with jnats 1.0 and Java 1.9 after running for several minutes.

Hi, less then a minute:
start 2017-12-12T17:21:11.598
Parser.processMsgArgs missing 14
Parser.processMsgArgs 14
Message.setSubject 14
BUG: Receive : b-666bfabbd9e1 expected : content.path.0a79c8b8-efce-4664-b47b-666bfabbd9e1
Reader.startRead 2017-12-12T17:21:40.857
JDK 1.8.0_144

I'm unable to reproduce with JDK 1.8.0_131, JDK 1.8.0_152, and JDK 9.0.1. It's entirely possible there is a race that simply isn't exposed on my machine though. @kozlovic can you try running this test?

Will try...

I am able to reproduce, sometimes, if I run the server from the docker image. May help with the timing...

I will try running with Docker. I was running it natively but missed that @MarcGuiot was running the Docker image.

I've successfully reproduced using the Docker image. Hopefully can debug now...

Thank you for the fix.


Not working...

What would prevent resizing to work?
I see the pointer changing but my columns do not resize

I found it.  I had white-space:nowrap on the datable.  After removing it I was able to resize however when resizing, after releasing the mouse button, the column size revert to what it was :(


Include intermediate dot-path relationships

Recently started using ember-cli-mirage. Was very happy when I found out it already supported the include query param for the JSON::API adapter!
However, per the JSON::API spec, when a dot-path relationship is included, all intermediate relationships should be included as well (see the second text box of the Inclusion of Related Resources section). This PR should make mirage comply with that.

You're absolutely right - great catch! Thank you for this!


⚠ Bofrost.be has degraded performance

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

HTTP code: 200
Response time: 1697 ms

Resolved: Bofrost.be performance has improved in c4e6aa5.


Discriminate between providers when sharing an auth cookie

#859 @Haok
This prevents [Authorize("Github")] from returning an identity produced by Facebook, etc. when they share a cookie middleware.

Hi @Tratcher, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

Can you also add a test exercising the template flow which uses a shared External cookie as opposed to named google/facebook cookies.

I don't follow, they already do use a shared cookie. https://github.com/aspnet/Security/pull/980/files#diff-f6bd2d01f6e995e0fa83a42bb849b920R1010

The configure code path the templates/identity use is slightly different, they use SharedAuthenticationOptions.SignInScheme, would be good to make sure that identity/template configuration works as well with this change

SharedAuthenticationOptions is being used here: https://github.com/aspnet/Security/pull/980/files#diff-f6bd2d01f6e995e0fa83a42bb849b920R1103


Bazel test reports can't be parsed

The glob expression sets followSymLinks to false, but Bazel uses symlinks extensively, and the testlogs are placed in a symlink along the lines of bazel-testlogs -> /private/var/tmp/_bazel_iulian.dragos/8ef0a16ed66666ff343fb34c1fdc0021/execroot/intellij_with_bazel/bazel-out/darwin-fastbuild/testlogs

Hey I don't have experience with Bezel. Would you be able to do a little experiment and enable followSymlinks and see if it actually works?

Do you mean to make the change, deploy and try a fork of this repo? I couldn't find any docs on how to deploy this action (never used GitHub Actions before).
However, I wonder why followSymlinks is off by default? Seems like it could be the other way around at no cost to anyone, and the benefit that it may work for more people :)

I would be careful as symlinks can exponentionally increase the search time for files, even currently is quite slow in medium sized projects. So at best I would provide a flag to turn it on.
For testing, you can just fork the repo, create a branch with the change and use it as a gihtub action, nothing else is required.


replace oned_peer with one_host

This replaces the oned_peer class and type with one_host. Oned_peer was
not working, and we don't need to duplicate as the same functionality is
present in the type one_host.
/CC @tuxmea let me know what you think

@jnoss thanks for removing this. It was the very first implementation and we decided to go another way afterwards. @rwaffen feel free to merge.


usb: hid: macros for report descriptors

Added macros that generate simple report descriptors for mouse
and keyboard. This improves the readability of samples.
Signed-off-by: Marcin Szymczyk<EMAIL_ADDRESS>

Codecov Report

Merging #12158 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12158      +/-   ##
==========================================
- Coverage    48.1%   48.05%   -0.06%
==========================================
  Files         284      284
  Lines       43369    43369
  Branches    10397    10397
==========================================
- Hits        20862    20840      -22
- Misses      18368    18389      +21
- Partials     4139     4140       +1

Impacted Files
Coverage Δ

subsys/logging/log_core.c
74.67% <0%> (-7.87%)
:arrow_down:

subsys/logging/log_msg.c
86.36% <0%> (-2.28%)
:arrow_down:

Continue to review full report at Codecov.

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


This JSON document can not be converted!!!

Hi, I tried to convert this JSON document into POJO using this website:
{
    "id": "K9qJL",
    "created_at": "2018-05-30 10:50:34",
    "visit_record_id": "mjeRL",
    "complaint_what3words": "qwe.asd.zxc",
    "is_assigned": "null",
    "house_id": "null",
    "house_name": "null",
    "house_latitude": 25.4564465,
    "house_longitude": 24.454188,
    "house_what3words": "null",
    "district_id": "NLEqL",
    "district_name": "district_name",
    "owner_id": "AmzD9",
    "owner_name": "owner_name",
    "owner_mobile": "058044111554",
    "owner_email": "null"
}

The JSON is valid. But, I don't know why it didn't generate that.
Could anyone help me out?
Thanks

Did you choose Source Type: JSON?

Works fine for me. I think you choose the wrong Source Type.

Yeah, sure I did.
I choose "JSON Schema" all the time, hahaha
Thanks for your help


Cesium hangs when zooming inside the boundaries of the globe.

Hello!
We're trying to use Cesium to render pointclouds that are not projected into a co-ordinate system (they're derived from stereoscopic photogrammetry using localisation that doesn't involve GPS) and we've run into a snag.
We've removed the globe, moon, skybox, etc, and we're loading the asset and zooming to it via the following:
    const viewer = new Cesium.Viewer('cesium-container', {
      terrainProvider: Cesium.createWorldTerrain(),
      skyBox: new Cesium.SkyBox({
        show: false,
      }),
      navigationHelpButton: false,
      baseLayerPicker: false,
      homeButton: false,
      animation: false,
      scene3DOnly: true,
      timeline: false,
      geocoder: false,
    });

    viewer.scene.globe.show = false;
    viewer.scene.moon.show = false;
    viewer.scene.sun.show = false;

    const url = '/tilesets/test/tileset.json';

    const tileset = viewer.scene.primitives.add(
      new Cesium.Cesium3DTileset({
        url,
      }),
    );

    viewer.zoomTo(tileset, new Cesium.HeadingPitchRange(0.0, -1.0, 50.0));

Everything loads fine, and I'm able to rotate around the 3D Tileset. However, Cesium completely hangs if I try to zoom in or out. This isn't the case if viewer.scene.globe.show is not set to false, though. Instead, when I zoom in/out, I'm brought back to the closest position the camera can be to the globe. I'm going to have a dig around for a solution myself, but any pointers as to which direction I should head in would be brilliant.
Browser: Chrome (Version 86.0.4240.111 (Official Build) (x86_64))
Operating System: macOS Mojave v10.14.6

Hey Scott, when you say completely hangs, does that mean you're unable to do anything else (including rotating the camera, or clicking on any buttons etc) ? Is there any error in the console?
If you are able to provide sample data to reproduce this that'd help us confirm whether this is a bug or not (either by uploading your 3D Tiles to Cesium ion https://cesium.com/docs/tutorials/ion-intro/ or by creating some geometry in that same location and sharing a Sandcastle).
Otherwise, this may be a good question for the community forum (https://community.cesium.com/).I would try disabling the globe (by passing globe: false in the viewer constructor) instead of creating the terrain and hiding it. If we can reproduce/confirm this is a bug we can re-open this issue.

Hi Omar,
It completely hangs as in you can't do anything else at all. Any interaction with Cesium stops entirely, but strangely there's no error in the console. I've tried disabling the globe like you mentioned, but unfortunately the result is the same.
However, I've made a Sandcastle for you this time around. Here you go!
https://sandcastle.cesium.com/#c=jVPbctowEP0VDQ8dM5PKIdeSkEwTSKlpDE0gpcn4RcgLFsiSK8kE08m/V76QkPQyfZK9e85ezu66LuoqIgxqg2Zp3BsiQilojYxEmUwVYlIgojUYHYgSgz0pcAhTknJzUYBHcgECnaGgBlkvmnQpG7Ced7f2Gn3maU/cHtK2d+Qtku/f2r0mtqAfYXdhQd7qfnx/2I/70cNw9/BhTlfXo9vI73hm0Anng/Zu5nfuDvy53+iPe7G/d8Wu273kwQbz5/TAX+fB+/PJ/iWnmXc0tsnpvpdjxH3WC3Ps/fcbNphfNQaji5W/XmT+Ompi/ikZjtOefD8XX/rZbNaMb5r04Di685fH3Wh8Sz+RSdJsNsaXs6B2GohALIlCSwaPoGybAh4rufC3wuYENVr8t6UwhAlQQW0H/QwEQnqRXcrVyTZnWJicwm0BkXw8QVPCNezklqd68QiyZDNirPqfgSeXqTFSbMMmRMM1yUB9ZXQBatsVyRh+JxDB4iLetlFTELDfGQienSCj0tJqWAzcdrGNnIGkMnydaMblZAv0VC+lKiTBRWgcS7sreYtWtgJ3+gag09/8pdqGcbBbZ+2v8IliMTNsCRqTMHQKqV6kLZ/9zqgkbzROFT9BL8t7C9puNgU8VTK+yHfbC53Gh73mh+N6NYNAlM1UVWAFJMy+WjjTkCOwiUA401TQXFLk1FGVqip2LWU8kk5FL2PlbtdFF0nCM2T5qLohpE3GAbEpYgbBiun81IpYVgZYGUW0VWFTSXGLuDSfljjLdMovtOnShrYDDJ0SV0fv3v0TgG0T/wXa3P0wL7lewp97R89Flh2d/W00BfuvUauunjaTsGpLK5d6tNpvSQ5KSfWcm0qhJQfM5azynJZ8+9R2aq2iovPc9JHFiVQmXwoHY9dAnHBiQLuT1F6SwVTrnNRyN5RWyJaIhWd/OHJEuZ2H9UxTzodsDUHtvOVa/CsalyRkYjZYguIks5C8jFbUOL8uHRjjlmt/86RvuUZKPiFqK+4v


Clarify specification around endianness and header padding

What does this PR do?
This PR clarifies the readme around the spec a little; the endianness of the header size was not specified.
Further, as discussed in https://github.com/huggingface/safetensors/issues/291#issuecomment-1660365431 serde_json (and in fact any spec-compliant JSON parser, I suppose) allows padding the JSON data with whitespace characters, so note that – and add a test for that, too.

As an aside: it's not very clear for a contributor that you shouldn't modify README.md directly... 😁

Hi @akx ,
I'm very fine adding a test, and the endianness precision.
I don't feel easy adding the whitespace to the SPEC. the spec says VALID JSON which should imo be plenty.
The additional notes do mention that there is no one single valid JSON spec, so weird tricks like this are not really defined on purpose (so we can revoke clearly ill defined JSON that cause actual security issues).
The space padding seems ok in the long term but it doesn't really suit my notion of "obviously valid json".
So adding in the notes feels better instead.
Currently the space padding is used to get alignment and is a "trick" and implementation detail, not something that should ever be required.
Mentioning in the docs that this particular implementation uses that is fine in my book ! I would keep only right hand side padding maybe (despite many more options being available as you mention) just so that implementors try to stick with that.
Are you ok with the proposed change about padding ?

I'm totally okay with specifying that only trailing whitespace (or null, but that's presently not accepted by serde-json) padding is allowed, but that doesn't reflect the reality of this current canonical implementation (which evidently allows leading whitespace padding).
Whether it's okay that this implementation is more lenient than the spec is up to you - if we do hammer it down in the spec that only trailing spacing is allowed, I would suggest we add a check that the first byte of the header is { in this implementation too, to make it less probable that leading-padded safetensors files begin appearing in the wild.
Ps. I'm just boarding a plane so I'm not able to reply immediately 😁

null, but that's presently not accepted by serde-json
Educated guess but this prevents polyglot files because all C-strings are null terminated.

we do hammer it down in the spec that only trailing spacing is allowed,
I would suggest we add a check that the first byte of the header is { i

That's actually a neat idea.

Educated guess but this prevents polyglot files because all C-strings are null terminated.

Or maybe just that NUL isn't at all in the JSON spec whereas the documented ws characters are, and it's easier for a parser to just consume them when outside a string literal regardless of other parser state :)

@Narsil Okiedoke, I amended the second commit to

write the spec more clearly
add the constraint that the first character of the decoded UTF-8 string must be { (i.e. leading padding is disallowed)

WDYT?

@Narsil Rebased + ran make.

I'm making a release without this in. So we can have the deepspeed fix (DS shares tensors without actually shared tensors).
I will then go ahead and merge this so and advertise to other safetensors implementors see if what we're doing here is actually break free for them. (Which it should).


The code statements do not have the correct indentation.

Does this issue occur when all extensions are disabled?: Yes

Version: 1.90.0 (system setup)
Commit: 89de5a8d4d6205e5b11647eb6a74844ca23d2573
Date: 2024-06-04T19:33:54.889Z
Electron: 29.4.0
ElectronBuildId: 9593362
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.17763
When using the Alt + Down arrow shortcut to move the last line of a code block down, the newly entered statement into the code block does not achieve the correct indentation, which was normal in previous versions of VSCode. I have disabled all plugins, but the problem still exists, so I am quite sure this is an issue with VSCode itself.
Reproduction is also very easy, this is a piece of Lua code:

Use the shortcut key to move the 'end' statement down one line, resulting in the following content, the 'local count = 5' statement does not have the correct indentation.

This is fixed in https://github.com/microsoft/vscode/issues/214569


Can't go past /setup/license

Installed the master branch and uploaded it to my server using SFTP. However, when clicking continue on /setup/license nothing happens. Any solutions?

Use issues to report bugs, please post your questions on the forums or better still search the forums for existing solutions.

exactly same issue i am facing, it stucks on license screen

same here.

same here


remove cli

remove the cli component for now until we have a better idea of what we want to do

?brawl merge


The execution order of the Mocha

I discussed this offline with Eric.  We both agree that we don't really want to use the "require" statements, but we found a pretty good workaround.
If you do all of the deleteAccount actions in the suiteTeardown of global.resource.test.ts , you can guarantee that it will be run last.  Then you can run the accountDoesExist command for all of the accounts that were supposed to be deleted.  I confirmed that if an assert fails in the suiteTeardown, the build will fail like so:

So in conclusion, please make the following changes:

Please revert all the file names back to what they were
Move the createAccount promises back to the suiteSetup of global.resource.test.ts
Add the deleteAccount promises to the suiteTeardown of global.resource.test.ts
Change the delay command back to what it was, but change the ms parameter to s


[BERTE-571] If two branch ave different result on same commit chose b…

…est one

Incorrect fix version
The Fix Version/s in issue BERTE-571 contains:

None

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

3.6.17

Please check the Fix Version/s of BERTE-571, or the target
branch of this pull request.

Incorrect fix version
The Fix Version/s in issue BERTE-571 contains:

None

Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:

3.6.17

Please check the Fix Version/s of BERTE-571, or the target
branch of this pull request.


New Contribution

Contributor: [contributor information - Optional]
SSH Public key: [contributor SSH public key (if you don't have one, submit the issue to receive instructions)"- Required]
Attestation: [any form of attestation for contribution (e.g., signature) - Optional]

git@github.com:zircuit-labs/ceremony.git


Regression with recent admin.E023 error fix.

8e43e13fc218b61f6a83a50eb682fc12e8274ed3 introduced a validation error when creating a page in the admin.

This is on a clean install with only feincms (master, next_1.x, or next with this change applied). My register_templates is pretty basic as well:
Page.register_templates(
    {
        'title': _('Base'),
        'path': 'base.html',
        'regions': (
            ('main', 'Main content area'),
        ),
    },
    {
        'title': _('Single Column'),
        'path': 'basic.html',
        'regions': (
            ('main', 'Main content area'),
        ),
    },
)

Thanks, also for the pull request! Unfortunately your PR fails with Django 1.9.
I think I've found the reason for this failure, a fix is here: https://github.com/matthiask/feincms/commit/4740409b459ba1680fdab9780d73c3828feeb698 — let's see what Travis says.

Cool, that works. Thanks.


Change auto ping/pong log message to debug

Fixes https://github.com/crossbario/autobahn-python/issues/1524

yeah, thanks! no need to wait for CI .. I do the version bump to v22.2.2 and push a release


Implement floating on upload stemcell

cc: @kcboyle

Thanks @ryanmoran. Fixed!

Merged, going thru CI now. Thanks for the PR!


Add standard mechanism for adding non-Python tools as normal and dev dependencies

Currently thinking of adding a new pyproject.toml section for this, something like this, pulling the named attributes out of nixpkgs automatically:
[tool.nixpkgs]
dependencies = [ "curl" ]
dev-dependencies = [ "jq" ]

Done in 9fd58af8fd7243c448e5435f683e869ee7a53125


Add OSM example to website

Change List

rename openstreets-map -> map-tile
add map-tile to website/demos
fix bitmap artifact

I think this is a great example to convert to WebVR using VRAnimationLoop.
@xintongxia / @Pessimistress What do you think?

I think this is a great example to convert to WebVR using VRAnimationLoop.

I still think we should design things so that we can inject the VRAnimationLoop in the website without modifying it in the example source code.
This way we don't need to pull in an experimental class in our official source code, and we don't need to "choose" which examples are VR enabled.

I think this is a great example to convert to WebVR using VRAnimationLoop.

I still think we should design things so that we can inject the VRAnimationLoop in the website without modifying it in the example source code.
This way we don't need to pull in an experimental class in our official source code, and we don't need to "choose" which examples are VR enabled.

How inject is going to work?

How inject is going to work?
Couple of options.

We could change the API to make the "VRDisplay" into an AnimationLoop "plugin" rather than an AnimationLoop subclass. Maybe we offer a Display base class that can define viewports, matrices etc and make the AnimationLoop understand that.
Or we could just mess around with imports and aliases when building the website.
or we could just use the simple JS hack where a constructor can return something else:

class AnimationLoop {
  constructor({...}) {
	if (AnimationLoopClass) {
      return new AnimationLoopClass(...)
      // Some fiddling here to avoid going recurse...
    }
    ...
  }

Coverage remained the same at 61.433% when pulling 81d15aa7d21ed7f96769246d47a35030cf0bb3a8 on xx/openstreet-example into 8f8d5e60bb375ae2d05502736945c418b96f18a8 on master.


Q2 of iDesign Classes and objects

Ebox doesn't accept the solution even though its valid.
50% test cases solved.

Issue has now been solved.
The issue was the method setCostPD() had to be changed to setCostPerDay() according to the instructions in the question.


fix fatal error on sessionhandler

I made this little change becouse there was a problem when i was erase the entery pages cache an after that load it on smarthphone showed me the next error
The error "Fatal error: SessionHandler::create_sid(): Cannot call default session handler in Unknown on line 0"
the changes just fix that

Those settings work for everyone else that's using the pagecache, so I can't do anything with this pull request.
There's probably something unique about your php environment, host, etc, that's broken around sessions.

FYI, was able to test this and will incorporate the code.   I can't take pull requests from github because we push in an odd way, but this will make it in.   Thanks.


Release the three Xamarin versions as a single multi-platform Net Standard package

It would be very nice if we wouldn't have to handle different packages for different platforms with Carto Xamarin. It would also allow us to develop multi-platform libraries using PCL projects instead of Shared Projects, and make our code easier to test and reuse / distribute. Since all Xamarin platforms are now compatible with NetStandard 1.3, it wouldn't probably be too hard to create a single Net Standard package containing all three versions of the library.

Hey
Great proposal! Unfortunately, the implementation is not as simple as one would think, as our MapView is a native Android/iOS/UWP view. PCL projects are for pure C# libraries, our library is not a native C# library. It would be like wrapping Android's RelativeLayout and iOS's UIView together – something the Xamarin.Forms team hasn't yet perfected.
However, Microsoft is constantly building upon PCL and updating .NET standard. Perhaps some time in the future it'll allow to wrap native code!
Best wishes
Aare
CARTO Mobile


mixitup.kunkalabs.com is down

Verified by is http://www.isitdownrightnow.com/mixitup.kunkalabs.com.html
Been this way for at least a month now.
Has this project been abandoned?

Hmm thanks for letting me know - its fine here. Will look into it ASAP!

I can't seem to find any issues. Have checked it through various international proxies, and seems to be fine. Google analytics is reporting regular traffic as usual over the last month.
My SSL certificate is renewing this month so could possibly be related to that. I will contact my provider and see if they have any insights. Are you still unable to view the site?
Happy to report the project has not been abandoned - Version 3 is currently in development.

Very weird. It appears to be working totally fine now.
Thanks for the quick reply and the continued development. Mixitup has been invaluable in a recent project.

No problem - thanks again for the heads up. Will keep a look out for any more issues.


[feat] support navigation handler on android

Is your feature request related to a problem? Please describe.
I would like to be able to apply a navigation handler to android clients.
Describe the solution you'd like
Add support for setting the navigation handler on android.
Describe alternatives you've considered
None, this is a feature parity request.
Would you want to assign yourself to implement this feature?

[x] Yes
[ ] No

Additional context
This should be pretty straight forward.

This is one way that could be added https://github.com/tauri-apps/wry/pull/974


Graphics: Use indexed GL_TRIANGLES instead of GL_TRIANGLE_FAN to draw Ellipse

Maintainer merge checklist

[x] Title is descriptive/clear for inclusion in release notes.
[x] Applied a Component: xxx label.
[ ] Applied the api-deprecation or api-break label.
[ ] Applied the release-highlight label to be highlighted in release notes.
[x] Added to the milestone version it was merged into.
[ ] Unittests are included in PR.
[ ] Properly documented, including versionadded, versionchanged as needed.

After adding ANGLE support for iOS, I noticed a small performance boost on some sides, but I was also starting to be affected by a huge performance drop when drawing complex UIs (so I noticed it only after the actual merge).
It wasn't clear initially what the actual issue was, as in a complex UI a lot of things happen, and none of the simple reproducible examples I created showed such a huge performance drop.
The nice thing is that the whole process made me aware of the potential improvements we can make in the future (See: #8664 )
But, finally, we found the root cause for this performance drop, and it's related to usage of GL_TRIANGLE_FAN. GL_TRIANGLE_FAN primitive is used by Kivy graphics by Ellipse and RoundedRectangle objects.
Unfortunately, when it comes to Metal or DirectX>=10, triangle fans are not natively supported, and in the case of ANGLE this missing primitive is emulated and therefore is incredibly slow (at least on iOS) (See: https://bugs.webkit.org/show_bug.cgi?id=237533)
This PR switches from GL_TRIANGLE_FAN to indexed GL_TRIANGLES for drawing ellipses. The changes are kept intentionally minimal to follow an incremental path, but the whole code can be improved to increase efficiency. (Again, as an example see: #8664 )
An additional PR will take care of RoundedRectangle, even if here the performance drop seems to be less visibile.
Indexed GL_TRIANGLES are on an OpenGL side, as much as fast as a GL_TRIANGLE_FAN, but the need of allocating (improvable, as we need to allocate it only when segments or angle_start / angle_end are changed) more memory for the index, can make it slightly slower on certain platforms.
The following example has been used to stress the Ellipse drawing:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Ellipse
from kivy.clock import Clock

class EllipseDemo(Widget):
    def __init__(self, **kwargs):
        super(EllipseDemo, self).__init__(**kwargs)
        self.ellipses = []
        self.scroll_y = 0
        self.direction = 1

        # Create x ellipses
        for i in range(800):
            # Position the ellipses on a 10x10 grid
            ellipse = Ellipse(size=(50, 50), angle_start=0, angle_end=360)
            self.ellipses.append(ellipse)
            self.canvas.add(ellipse)

        # Update the scroll every 1/120s
        Clock.schedule_interval(self.update_scroll, 1 / 120)

    def update_scroll(self, dt):
        if self.scroll_y >= self.height:
            self.direction = -20
        if self.scroll_y <= 0:
            self.direction = 20

        self.scroll_y += self.direction

        # Update the segments for all ellipses
        for i in range(800):
            pos = (self.width / 20) * (i % 20), (self.height / 20) * (
                i // 20
            ) + self.scroll_y
            self.ellipses[i].pos = pos

        print(f"FPS: {Clock.get_fps()}")

class EllipseDemoApp(App):
    def build(self):
        return EllipseDemo()

if __name__ == "__main__":
    EllipseDemoApp().run()

Test results:

-
GL_TRIANGLE_FAN
GL_TRIANGLES (indexed)
Other

iOS (ANGLE)
~10fps
~60fps
iPhone 14 Pro, iOS 17.4.1

macOS (ANGLE)
~81fps
~94fps
Macbook M1 Pro, macOS 14.4.1

Android (OpenGLES)
~34fps
~37fps
Samsung Galaxy s10e, Android 12

Ubuntu (OpenGL)
~44fps
~38fps
Intel i7-7700HQ + HD Graphics 630, Ubuntu 22.04

Windows (OpenGL)
~30fps
~33fps
Intel i7-7700HQ + HD Graphics 630, Windows 11

As we can see, the change is not only beneficial to platforms backed by ANGLE, but also on Android and Windows which still rely on OpenGLES / OpenGL.
On Ubuntu, at least on my configuration, GL_TRIANGLE_FAN is slightly faster, but I'm quite sure that with additional optimizations (See above), we can reach even better fps.
Some screenshots and videos:
iOS before:

https://github.com/kivy/kivy/assets/8177736/175ea4f7-b0ec-4fd6-814f-31ad77ba726b
iOS after::

https://github.com/kivy/kivy/assets/8177736/29306cb6-c146-4f83-ab02-b7188278eb73

Consider n → triangles count, for 360 triangles:

GL_TRIANGLE_FAN = n + 2 = 360 + 2 = 362 vertices
GL_TRIANGLES = 3 * n = 3 * 360 = 1080 vertices

It is interesting that even though it requires more vertices to compute, you have found a way to optimize the code, by using indexed GL_TRIANGLES.
Do you think that the extra amount of memory allocated could be causing a small drop in performance on some platforms, or could it have to do with something else?

Consider n → triangles count, for 360 triangles:

GL_TRIANGLE_FAN = n + 2 = 360 + 2 = 362 vertices
GL_TRIANGLES = 3 * n = 3 * 360 = 1080 vertices

It is interesting that even though it requires more vertices to compute, you have found a way to optimize the code, by using indexed GL_TRIANGLES.

Vertices are re-used to compute triangles with indexed triangles, so:

GL_TRIANGLE_FAN =  n + 2 = 360 + 2 = 362 vertices
GL_TRIANGLES  with same start and end point = n + 1 = 361 vertices
GL_TRIANGLES with different star and end point = n + 2 = 362 vertices

Only the indices for GL_TRIANGLES are 1080.

Do you think that the extra amount of memory allocated could be causing a small drop in performance on some platforms, or could it have to do with something else?

We can't be sure, and should be measured, but certainly allocating more memory does not help.
(Will move this discussion in #8664, as we may try to make some performance tweaks while fixing the issue)


Finding out past one years prices of multiple api's and saving to csv.

Hey,
I am working on a task where I have to find out the past prices of some asins and save it in csv. I Know there was an issue here previously solved. So I was able to find out the prices for one asin. But now I am stuck trying to loop through multiple asins.
Here's the code that I have been working on.
 asins = ['B08B2MRL58','B004S8F7QM','B00062J99K','B084C2HVQK',
         'B0747ZGTTG','B083VMKDCF','B07XSPCBVP','B08F5GS37X',
         'B00005C5H4']

products = api.query(asins)
product = products[0]

from keepa import Keepa

import pandas as pd

newprice = product['data']['NEW']
newpricetime = product['data']['NEW_time']

# get datetime a year ago
from datetime import datetime
from dateutil.relativedelta import relativedelta
year_ago = datetime.now() - relativedelta(years=1)

# arrays from the product you're interested in
newprice = product['data']['NEW']
newpricetime = product['data']['NEW_time']

# data for only the past year
time_mask = newpricetime> year_ago
print(newprice[time_mask])
print(newpricetime[time_mask])

# to get only the dates

df= pd.DataFrame(
    {   'Time':newpricetime[time_mask],
        'Price': newprice[time_mask]
   })
df['Date'] = df['Time'].dt.date
df2 = df[['Date', 'Price']].copy()

print(df2)

# taking out avg of daily prices
import numpy as np
grouped = df2.groupby('Date')
df3= grouped['Price'].agg(np.mean)

avg_value_df = pd.DataFrame(df3)
print(avg_value_df)
len(avg_value_df)

All the above is for one asin. I want to do it for multiple asins and save it in a  csv. I know my code is very basic I am learning all of this myself I will probably optimize once I achieve the task.
Thank you in advance.

Hello,
I've updated the code a bit so you can merge multiple data frames into one final data frame that you can write to disk.  I think the key here is reindex so each product data frame can share the same main index.  It's also not optimized, but it works, and the bottleneck won't be pandas but rather api.query, and if you're passing multiple ASINs to that, you're good to go.
import numpy as np
from datetime import datetime
from dateutil.relativedelta import relativedelta
import pandas as pd
import matplotlib.pyplot as plt

import keepa

api = keepa.Keepa(mykey)

# one date range for all products
dates = pd.date_range('2019-08-27', '2020-08-27', freq='D').astype('datetime64[ns]')

# products =

asins = ['B08B2MRL58','B004S8F7QM','B00062J99K','B084C2HVQK',
         'B0747ZGTTG','B083VMKDCF','B07XSPCBVP','B08F5GS37X',
         'B00005C5H4']

products = api.query(asins)

product_dfs = []  # data frame for each product
for product in products:

    newprice = product['data']['NEW']
    newpricetime = product['data']['NEW_time']

    # get datetime a year ago
    year_ago = datetime.now() - relativedelta(years=1)

    # arrays from the product you're interested in
    newprice = product['data']['NEW']
    newpricetime = product['data']['NEW_time']

    # data for only the past year
    time_mask = newpricetime> year_ago
    # print(newprice[time_mask])
    # print(newpricetime[time_mask])

    # to get only the dates

    df= pd.DataFrame(
        {   'Time':newpricetime[time_mask],
            'Price': newprice[time_mask]
       })
    df['Date'] = df['Time'].dt.date
    df2 = df[['Date', 'Price']].copy()

    # taking out avg of daily prices
    grouped = df2.groupby('Date')
    df3= grouped['Price'].agg(np.mean)

    avg_value_df = pd.DataFrame(df3)

    # make the index match our main dates
    product_df = df3.reindex(dates)

    # forward fill as these prices are valid until keepa identifies there
    # is a price change
    product_df = product_df.ffill()
    product_df.rename(product['asin'])
    product_dfs.append(product_df)

df = pd.concat(product_dfs, axis=1)

# write to disk.
df.to_csv('out.csv')

Hi, thank you so much for such  a prompt response. But all I am getting is one value for some dates.
My desired result (which I was able to get for one asin was like this)
date                 B08B2MRL58
2020-08-21        17.49
for 365 days and different asins.
Thank you.

Hello,
Keepa only requests data for products when a user requests it, and as a result some products only have one data point.  Since the script forward fills, it's going to use the same data for all dates forward unless keepa has another data point.


Add Ansible 2.7 testing

Ansible 2.7 is about to be finalized, according to schedule that should be October 4th [0]
Release candidates are already available from PyPI. This project should start testing against this version to catch issues as soon as possible.
[0] https://docs.ansible.com/ansible/devel/roadmap/ROADMAP_2_7.html#expected

This was closed almost a month after 2.7 was officially released. The idea here is to be able to test in advance before the actual release, so that fixes can be implemented (or at least issues are known) beforehand.
As soon as 2.8 RC's are announced, the work to add the tests should be enabled.


parallel-exec

Remember this is still WIP, I wanted to just put it up for early comments, tests etc will be coming up when I continue working on this.

@prashantv should be ready for review, I addressed all comments except splitting up one function that I think should stay as it is.

Ya I think we just should ship this and deal with follow-up later

All comments should be addressed.

OK just going to ship for now, will do cleanup later, note clearly not committing to the API as of now, there will be iterations I think, but this is a good start

Does that sound good?


Return arrays?

In my case, I am most often taking the output of a query and mapping each row object to a different object.  I think that in that case it would be more efficient to return rows as arrays in column order…

Iterating objects is not slow:
https://jsperf.com/array-vs-object-iteration-speed

In some cases it will be useful to have raw arrays as return values such as when the returned result is large and the result needs to be immediately sent as an array over the network.

@JoshuaWise
i'll add another vote for this. for example, https://github.com/leeoniya/uPlot takes columnar arrays as input, which also gzip and json.parse() exceedingly well. it would be useful to have this as direct output rather than running an additional transform pass in js.

@leeoniya @b4git I opened this issue not realizing how the vm stores objects; probably returning an array of arrays is actually more resource intensive.
I think your use cases could be handled by having sqlite return a single field with the row values as a json string?

This has been supported for a long time now: https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/api.md#rawtogglestate---this


toolkito/larasap V1.2.3 requires illuminate/support 5.6.x|5.7.x -> satisfiable by illuminate

This package doesn't support Laravel 5.8.
It will. be better to update this package based on Laravel version.
 Problem 1
    - Conclusion: remove laravel/framework v5.8.7
    - Conclusion: don't install laravel/framework v5.8.7
    - toolkito/larasap V1.2.3 requires illuminate/support 5.6.x|5.7.x -> satisfiable by illuminate/support[5.6.x-dev, 5.7.17, 5.7.18, 5.7.19, 5.7.x-dev, v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13, v5.6.14, v5.6.15, v5.6.16, v5.6.17, v5.6.19, v5.6.2, v5.6.20, v5.6.21, v5.6.22, v5.6.23, v5.6.24, v5.6.25, v5.6.26, v5.6.27, v5.6.28, v5.6.29, v5.6.3, v5.6.30, v5.6.31, v5.6.32, v5.6.33, v5.6.34, v5.6.35, v5.6.36, v5.6.37, v5.6.38, v5.6.39, v5.6.4, v5.6.5, v5.6.6, v5.6.7, v5.6.8, v5.6.9, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.15, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.26, v5.7.27, v5.7.28, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9].

same issue here
there is a solution without downgrade laravel version?

found any solution? I'm using laravel 5.8

No solution yet in my side. I have postponed this task. To be honest, it seems that, this package is not maintained regularly.

other packages that do something similar? searching i found nothing...

Fixed #32


Why generic?

Can I ask you why are you using:
struct AppState<BS: BlogService> {
    author_service: Arc<BS>,
}

instead of for example a simpler:
struct AppState {
    author_service: Arc<BlogService>,
}

Did you mean
struct AppState {
    author_service: Arc<dyn BlogService>,
}

?

Yeah, sorry, the question is why generic? To avoid dynamic dispatch?

I think it was answered here: https://github.com/howtocodeit/comments/discussions/5#discussioncomment-9936143.


Sleep effecting Scheduling

I noticed a strange behaviour. Here is a simple code
import schedule
import time
import datetime

def job():
	print(datetime.datetime.now())

schedule.every(10).seconds.do(job) # SCHEDULE TIME = 10 seconds

while True:
	schedule.run_pending()
	time.sleep(1) # SLEEP TIME = 1 second

When my sleep time is <= 5 which is less than and equal to half of scheduled time, my code run after every 10 seconds.
But when sleep time is > 5 which is greater than half of scheduled time, my code run after (10 + some_seconds_depends_on_sleep_time). Below is a chart which will explain it in detail

Scheduled Time (sec)
Sleep Time (sec)
Execution 1
Execution 2
Difference (sec)

10
5
16:03:03
16:03:13
10

10
9
16:21:22
16:21:40
18

20
10
16:12:45
16:13:05
20

20
15
16:13:46
16:14:16
30

I do not know whether it is intended behaviour or some bug in my code or library.

Hi @mhassan91! Great question. This is indeed intended behaviour. run_pending() will run all tasks that were scheduled to run since the last time run_pending() was called. After running a job it re-schedules the job to run x time after the current time. Let's inspect your example:

Time (sec)
action

t=0
schedule.every(10).seconds.do(job) is called. Job is being schedule to run at t=10

t=5
schedule.run_pending(). Nothing to do.

t=10
schedule.run_pending(). Run the job and schedule it to run at t=20

t=15
schedule.run_pending(). Nothing to do.

t=20
schedule.run_pending(). Run the job and schedule it to run at t=30

This works fine! Now let's sleep 9 seconds:

Time (sec)
action

t=0
schedule.every(10).seconds.do(job) is called. Job is being schedule to run at t=10

t=9
schedule.run_pending(). Nothing to do.

t=18
schedule.run_pending(). Run the job because it was scheduled to run since the last run_pending(). After execution, schedule it to run at t=28

t=27
schedule.run_pending(). Nothing to do.

t=36
schedule.run_pending(). Run the job because it was scheduled to run since the last run_pending(). After execution ,schedule it to run at t=46

So now the job was executed at t=18 and t=46.


[reconciler] Lookup by Index + Orphan Race Condition Fix

Related: https://github.com/coinbase/rosetta-sdk-go/pull/213
Related: https://github.com/coinbase/rosetta-sdk-go/pull/214
This PR updates rosetta-sdk-go to fix a potential race condition in the reconciler.
Changelog

[x] Update verison
[x] Update rosetta-sdk-go
[x] Update pkg to reflect reconciler interface changes

Pull Request Test Coverage Report for Build 5907

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.408%

Totals

Change from base Build 5864:
0.0%

Covered Lines:
186

Relevant Lines:
223

💛  - Coveralls


Feat cylc template

This PR sets the framework to run the IceFloeTracker tasks in a Cylc pipeline. For now, we run the pipeline one, but using Cylc allows for cycling and more complicated workflows in the future.

I believe all the Register files were caught by the formatter.

Replaced by #297 and by https://github.com/WilhelmusLab/ice-floe-tracker-pipeline/pull/13


:lipstick: fix: sort-package-json

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #266   👈

This comment was auto-generated by Graphite.


Add support for adding externally defined spouts and bolts to pyleus topologies

Hello!
Awesome framework! I've really enjoyed hacking around with it so far so thank you for that!
I'm working on integrating a new pyleus topology into an existing application that receives input from amqp. It would be great to have a way to add the  storm-amqp spout (and/or others) to a pyleus topology the way that the kafka spout is supported.
I was thinking of being able to add something like this to the pyleus.conf:
[Plugins]
amqp=com.my.custom.AMQPSpoutProvider
amqp_lib=/path/to/my/jars_dir
otherone=com.some.other.SpoutProvider
otherone_lib=/path/to/another/jars_dir

and that referenced class com.my.custom.AMQPSpoutProvider extending some interface like:
public class AMQPSpoutProvider implements SpoutProvider {
    @Overrides
    public IRichSpout provideSpout(final TopologyBuilder builder, final SpoutSpec spec) {
       ...

and would probably look a lot like the handleKafkaSpout() method in PyleusTopologyBuilder.
If this seems like something that you would like to include in your project I would be stoked to submit a PR as a first draft...

Personally, I like the idea of being able to plug custom java classes to a pyleus topology. I guess we should also have the possibility to pass configuration parameters directly to the plugin, similarly to what we do with the KafkaSpout.


chore(master): release 0.30.1

:robot: I have created a release beep boop
0.30.1 (2024-06-27)
Miscellaneous Chores

deps: update everything (d26aa7f)

add batch and tda integration tests (2b5f443)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.30.1
:sunflower:


Organize dates according to levels, and test them against functions.

@somexpert @ldko
This is ready for review. I have added dates of all three levels, invalid dates, invalid date intervals, invalid datetimes separately and used them for testing the functions.
This closes #14

Oh, one more thing: those new intervals lists have some duplication. I mean beyond that one exact duplicate already mentioned. Like in L1 intervals there are two intervals with exactly the same form, though not the same numbers. I don't think there's any benefit in keeping multiple inputs that have the exact same form.

Oh, one more thing: those new intervals lists have some duplication. I mean beyond that one exact duplicate already mentioned. Like in L1 intervals there are two intervals with exactly the same form, though not the same numbers. I don't think there's any benefit in keeping multiple inputs that have the exact same form.

I'll go through all the dates again and get rid of the duplicates.

I have tried ../.. which is currently valid for Level 1. I'm not sure if this is supposed to be valid.

I believe ../.. is technically allowed per:

Double-dot (“..”) may be used when either the start or end date is not specified, either because there is none or for any other reason.

The specification does not specify it can't be both start and end date.

well...yeah, but I'm thinking is it a meaningful or  useful interval, with both the starting and ending to be open?

I think it is fine to leave it as-is for now, since we were already counting it valid, and it does not explicitly say otherwise in the spec. If we later determine it should be invalid or @vphill or @htarver want it invalid, we can change it then.


Ensure we can upload to pypi

Hi @dougiesquire
When you have a chance, can you add access-nri as owner on pypi?
Thank you

I've just made the access-nri PyPI account an owner of both access-nri-intake and intake-dataframe-catalog

Thanks. Sorry for the bother 🙏


Start CSI Chapter

@shivank01 Do have a look for the procedures to open up the CSI chapter, I think for CSI, Paper We love and OWASP, we should try to open them up in August. Will be helpful to plan out the events accordingly.

@arijeetsat  I will look into it.


GitHub Sync

This is an automatically generated pull request.

Looks like we need to bump the minimum SDK version: https://travis-ci.org/dart-lang/angular/jobs/438840055 (Future is exported by dart:core in 2.1.0-dev...). I'll send out a fix.

I don't think we want to require another dev SDK just yet. Can we instead keep importing dart:async?


Drop-down menu

Functionality is similar to a WPF ComboBox. To allow grouping (use-case: Options > Screen resolution [Standard/Widescreen]) and sorting, a CollectionView and Model helpers classes were created (operating similar to their WPF counterparts with a few differences; see Test Case for an example).
Pending tasks (requesting suggestions):

[ ] ComboBox and MenuItems created via reflection. Want to avoid this.

Proposal: making DropDownMenu a template <T, U> where T : DropDownComboBox new() where U : DropDownMenuItem new(). However, objects require their DropDownMenu parent as a ctor() parameter (not allowed by the new() constraint), and I can't figure out a simple way to resolve this.

[ ] Clicks outside a ComboBox should close them.
[ ] Confirm no WPF components are being used (to ensure compatibility with Mono).
[ ] Operations on Load(). Will move to LoadComplete() when relevant PR is merged, or elsewhere.

This feels a touch too over-engineered for our purposes. Keep things simple and add extra logic when necessary, IMHO.

Rather than adding header/item grouping logic inside the dropdown and requiring a huge function to handle that, why not just allow items to be added in the order they are to be displayed? I can't think of a use-case where we would ever need/want the dropdown to have internal sort / group logic.
Don't use reflection. If you want to offer customisation, have a virtual method like virtual DropdownItem  CreateDropdownItem() => new DropdownItem().
Use IStateful to handle whether DropDownMenu is open/closed.
Use FlowContainer to handle layout of items inside the menu rather than doing it manually.

Keep in mind we will also need to devise a method to make dropdowns display (and handle input) on top of everything else when they expand. I believe this will involve a temporary Depth change (and thus require dropdowns to be in the same parent container as all other drawables they want to draw above).
To handle clicks outside the dropdown, you can look into Focus, which is used by TextBox for a similar purpose. It'll require some basic additions in InputManager to give FocusedDrawable precedence for mouse-based events (currently it's tailored only for key events) and you would have to temporarily override your Contains method to accept all mouse clicks in order to cancel focus.

Superseded by #277.


Question: changelog

Hi !
Great lib !
Is there any changelog for it ?

Thanks, unfortunately I wasn't actively tracking a log of the development other then the git descriptions on the comits.
It's a good idea :)

I wanted to see difference between 1.16.3 and 1.17.3, but for that there is no changelog, no releases, no tags, hard to compare changes (even in git like `git log v1.16.3..v1.17.3)
:(

It's a mess! :) That's my fault, thanks for letting me know your comments and concerns.

if you would at least make tags it would be super awesome ! anything above that is extra as well, but requires some work.
thanks for understanding !

I've added a description to the 1.17.3, it mostly highlights the difference between  1.16 > 1.17.
https://github.com/DenisCarriere/geocoder/releases/tag/1.17.3

I will try to organise my releases a bit better, at the moment I'm just doing minor maintenance on the project. As long as it doesn't break I'm happy :)

great ! Thank you !


overly eager evaluation of macro arguments

This seems to happen when an object macro expands to a function macro.
From looking in the debugger, in expandFuncMacro, the first element of args is 1 instead of A.
#define FOO(X) X##OK
#define BAR FOO

#define A 1
#if BAR(A)
#endif

clang and gcc don't complain about this; aro says:
./test.c:35:16: error: pasting formed '1OK', an invalid preprocessing token
#define FOO(X) X##OK
               ^
./test.c:44:9: note: expanded from here
#if BAR(A)
        ^
./test.c:43:11: note: expanded from here
#define A 1
          ^
1 error generated.

This only seems to happen in expression contexts - BAR(A) by itself correctly expands to AOK


Parent issue to allow Sleeper to support lots of tables

Description
We would like to be able to run a Sleeper instance with several hundred tables. We would like a system test that tests that Sleeper can run with 100 tables.
Analysis
Currently each Sleeper table requires its own S3 bucket, and 3 DynamoDB tables. If we wanted to have a Sleeper instance with 100 tables that means we would need 100 S3 buckets and 300 DynamoDB tables. This has several problems and potential problems:

It would take a long time for the cdk deploy to deploy all of these resources.
It is likely you would hit limits on the number of buckets or tables allowed in the account.
There may be hidden limits to the number of permissions that can be granted to resources, e.g. the compaction task would need permission to read/write from 100 buckets and 200 DynamoDB tables. This may not be possible.
In theory it's easy to test whether it would work with 100 tables but in practice it would be very slow and likely brittle due to the  above problems.
Some of the logic, e.g. the creation of compaction jobs, iterates through all the tables within one lambda invocation. With lots of tables this may take a long time and potentially time out.
The query executor currently retrieves all the relevant information (partitions and active files) from the state store before it can run a query. This is then cached for a period so that if it has to execute another query for the same table it does not need to go back to the state store to retrieve the information. In future, we may want to only cache the partition information for a table and retrieve the active files in a partition at query time, as caching all the information about all the active files for all tables may be too much. This means we need to be able to retrieve the list of active files for a partition quickly, and this requires them to be in adjacent records in the DynamoDB table. We are not intending to make any such changes to the query code in this parent issue but we want to make sure that the changes to the state store supports this efficiently.

Steps to solve the above issues

There are no functional or non-functional reasons to have each table's data in its own bucket. All the data can be in one bucket. Change the current table stack so that all data goes in one bucket. The data for a table should go in the prefix table-name. This change can me made in a single PR as it is independent of the following.
Change the state store stack so that it deploys 3 DynamoDB tables in total rather than 3 per Sleeper table. This will require changing the key structure. The active and gc file tables currently have a key of the filename; the partition table currently has a key of the partition id. We can change this so that the hash key is the table name and the sort key is the partition id or filename. We need everything about a table to be together in the DynamoDB tables so that it can be retrieved with one query. The challenge is that we also want to be able retrieve all the files for a partition quickly, so the sort key in the files table can be "partition id-filename". This will allow us to do a range scan to find all files for a partition. The current state store class can remain the same in the sense that you create an instance of DynamoDBStore for each table (instances of this will be pointing at the same underlying DynamoDB tables but that is not visible from the interface). Nothing here should require any changes to any of the other stacks (ingest, compaction, etc) as they will be using the same interfaces as before.
The logic that creates compaction jobs can be changed so that the initial lambda lists the tables and then puts a message on a queue for each table asking for compaction jobs to be created for that table. This is independent of the above issues.
The logic that looks for partitions that need splitting can be changed so that the initial lambda lists the tables and then puts a message on a queue for each table which requests that each table is checked to see whether any partitions need to be split. This is independent of the above issues.
Add a system test that checks Sleeper works with 100 tables.

Closing as all child issues are complete.


.btn backgrounds

a.btn doesn't have a background, button.btn has a background (browser default)
See https://codepen.io/MartijnCuppens/pen/pZpxmr
If we add background-color: transparent; to .btn the 2 elements are rendered the same. We can than also remove this line from the .btn-outline-* buttons.

but .btn isn't meant to be used in isolation, but only in conjunction with more explicit secondary classes like .btn-primary http://getbootstrap.com/docs/4.1/components/buttons/
i guess we could normalize this, but it's not the intended use of .btn per se

I know, but if people want to extend the .btn functionality, I think the base should always render the same? And if we move the transparent background from the .btn-outline-* classes to the .btn, we also same a tiny bit of css.

Hmm, also the color is different for a.btn and button.btn. Maybe we should also fix this? And what color should we use, the default text color or the link color?


feat: Add posts from user to profile page

is used for further tickets. Clean up follows in part 2


How to preprocess a new dataset ?

I have 2 files separate each having around 20k sentences in respective languages . Since , there is no documentation to explain how and in which format should i pre-process the dataset so as to run the training , i was having some difficulty .
Can anyone help with the pre-processing instructions ?
Thanks.

We provide example commands: https://github.com/pytorch/fairseq/tree/master/examples/translation


Support HemisphereLight

What problem does this solve or what need does it fill?
three.js supports a HemisphereLight: https://threejs.org/docs/#api/en/lights/HemisphereLight - this is an ambient light which has a sky color and a ground color, and fades between them. It's a quick way to get outdoorsy-looking or dramatic lighting without the expense and trouble of creating an environment map.
What solution would you like?
I'd like Bevy to support a hemisphere light.
What alternative(s) have you considered?
It's possible to do this using an environment map, assuming you can get the env map command-line tools to run on your system (I haven't).

Part of the reason why I want this, BTW, is that I've never been able to build an environment map under MacOS, getting the Vulkan-based tooling to compile is just too difficult. Having a hemispherical ambient light is a very poor man's substitute for environment maps, but it would at least let me have lighting that doesn't look quite so stark and flat.


Enhancement Request: making initial mode customizable for ibus-mozc

Recently, IBus developers are changing the design of IBus; they try to let
users use Eisu input mode of ibus-anthy or ibus-mozc instead of Japanese
keyboard engine (xkb:jp::jpn).

A problem is ibus-mozc always starts with Hiragana mode although many users
expect that it starts with Eisu mode.

Is is possible to make the initial mode of Mozc customizable?

My proposal is that users can choose one from:
- Always Eisu
- Always Hiragana
- Start with the previous mode (Mac OS X-like behavior)
The third option allows to save the last input mode and restore it at the next
session. It is useful to use ibus-mozc in both the new way above and the old
way with xkb:jp::jpn.

ibus-anthy will support this feature.
http://code.google.com/p/ibus/issues/detail?id=1662

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 24 Oct 2013 at 3:51

Blocked on: #287

Although I haven't tested, I guess you can start ibus-mozc in DIRECT mode as
follows.

https://code.google.com/p/mozc/source/browse/trunk/src/unix/ibus/mozc_engine_pro
perty.cc?r=171#135
const commands::CompositionMode kMozcEngineInitialCompositionMode =
#if IBUS_CHECK_VERSION(1, 5, 0)
    commands::DIRECT;
#else
    commands::HIRAGANA;
#endif

https://code.google.com/p/mozc/source/browse/trunk/src/unix/ibus/property_handle
r.cc?r=171#74
PropertyHandler::PropertyHandler(MessageTranslatorInterface *translator,
                                 client::ClientInterface *client)
    : prop_root_(ibus_prop_list_new()),
      prop_composition_mode_(NULL),
      prop_mozc_tool_(NULL),
      client_(client),
      translator_(translator),
      original_composition_mode_(kMozcEngineInitialCompositionMode),
#if IBUS_CHECK_VERSION(1, 5, 0)
      is_activated_(false) {
#else
      is_activated_(true) {
#endif

As a first step, could you test if the above change satisfies your request?

Original comment by<EMAIL_ADDRESS>on 24 Oct 2013 at 4:29

Oops, probably you should change |PropertyHandler::is_activated_| only.

https://code.google.com/p/mozc/source/browse/trunk/src/unix/ibus/property_handle
r.cc?r=171#74
PropertyHandler::PropertyHandler(MessageTranslatorInterface *translator,
                                 client::ClientInterface *client)
    : prop_root_(ibus_prop_list_new()),
      prop_composition_mode_(NULL),
      prop_mozc_tool_(NULL),
      client_(client),
      translator_(translator),
      original_composition_mode_(kMozcEngineInitialCompositionMode),
#if IBUS_CHECK_VERSION(1, 5, 0)
      is_activated_(false) {
#else
      is_activated_(true) {
#endif

Original comment by<EMAIL_ADDRESS>on 25 Oct 2013 at 1:40

Note that *mode* of Mozc is a bit more complex than you might expect.  The
internal state of ibus-mozc is actually a tuple of (bool,
commands::CompositionMode), while a user observes "Mode Label" only.  The
following table describes how each pair is mapped into "Mode Label".  (*1) is
the current initial state of ibus-mozc.  "Eisu input mode" you mentioned
actually corresponds to (*2).

| is_activated_ | original_composition_mode_ |       Mode Label      |
----------------------------------------------------------------------
|     true      |  commands::HIRAGANA        |  Hiragana             | (*1)
|     true      |  commands::FULL_KATAKANA   |  Katakana             |
|     true      |  commands::HALF_ASCII      |  Latin                |
|     true      |  commands::FULL_ASCII      |  Wide Latin           |
|     true      |  commands::HALF_KATAKANA   |  Half width katakana  |
|     false     |  commands::HIRAGANA        |  Direct input         | (*2)
|     false     |  commands::FULL_KATAKANA   |  Direct input         |
|     false     |  commands::HALF_ASCII      |  Direct input         |
|     false     |  commands::FULL_ASCII      |  Direct input         |
|     false     |  commands::HALF_KATAKANA   |  Direct input         |

Original comment by<EMAIL_ADDRESS>on 25 Oct 2013 at 2:59

Hmm, ibus-mozc still starts with hiragana mode ("あ") though I tried both
modifications.

> (*1) is the current initial state of ibus-mozc.
> "Eisu input mode" you mentioned actually corresponds to (*2).
I understand.
The symbol of (*1) is "あ" and the symbol of (*2) is "A" (not "_A").
# The behavior of direct input mode ("A") looks same as latin mode ("_A") in
IBus 1.5.

Original comment by<EMAIL_ADDRESS>on 25 Oct 2013 at 5:59

[deleted comment]

> Hmm, ibus-mozc still starts with hiragana mode ("あ") though I tried both
modifications.

Sorry for taking your time.  I found that we need a bit more code to achieve
your request.  Could you try the attached patch?  It seems to be working well
on Ubuntu 13.10.

Original comment by<EMAIL_ADDRESS>on 25 Oct 2013 at 1:33
Attachments:

mozc_issue_201_diff.patch

Thank you. I also confirmed ibus-mozc start with Direct input mode though the
property of ibus was not updated (it was still Hiragana).

# Initial mode of ibus-anthy have been already customizable.

Original comment by<EMAIL_ADDRESS>on 26 Oct 2013 at 7:53

> Thank you. I also confirmed ibus-mozc start with Direct input mode though the
property of ibus was not updated (it was still Hiragana).

Oops, reproduced on Fedora rawhide with the previous patch.  The new patch
attached to this post should fix the icon issue too.  PTAL?

> # Initial mode of ibus-anthy have been already customizable.

Making something customizable through mozc_tool is not a trivial job.
mozc_tool is used not only by ibus-mozc but also by emacs-mozc, uim-mozc,
fcitx-mozc, Mozc client for IMM32 (on Windows), Mozc client for TSF (on
Windows), and Mozc client for IMKit (on OSX).  In addition to that, we need to
consider the portability of ~/.mozc/config1.db because users may want to use
different *default* mode for each environment.

Original comment by<EMAIL_ADDRESS>on 27 Oct 2013 at 1:47

Added labels: OpSys-Android, OpSys-Linux, OpSys-Windows

Attachments:

mozc_issue_201_rev2.patch

Original comment by<EMAIL_ADDRESS>on 27 Oct 2013 at 1:47

Added labels: OpSys-OSX
Removed labels: OpSys-Android

The new patch works fine. I tested on openSUSE 12.3 + KDE + IBus 1.5.3 (with
show-input-mode-icon.patch).

> Making something customizable through mozc_tool is not a trivial job
Now I think we need ibus-mozc configuration tool additionally to the existing
property tool. This is because ibus-mozc will need to support selecting
keyboard layouts as ibus-anthy does.

I have an idea (just workaround for now):
- specifying initial mode by a command line parameter of ibus-engine-mozc and
registering two mozc engines to ibus; one starts with direct input mode and the
other start with Hiragana mode

Original comment by<EMAIL_ADDRESS>on 28 Oct 2013 at 3:32

(Narrowing down the scope to ibus-mozc.  Lowering the priority as announced in
Issue 194)

> specifying initial mode by a command line parameter of ibus-engine-mozc and
registering two mozc engines to ibus

Even though it's easy to add some command line parameter for ibus-engine-mozc
to customize something, we are able to specify only one command line settings
per IBus component.  See this example https://code.google.com/p/ibus/wiki/DevXML
Did I misunderstand your point?

Probably we need to treat some of properties ("setup" or something?) which are
available in IBusEngineDesc as a marker to change the behavior of ibus-mozc.
http://ibus.googlecode.com/svn/docs/ibus-1.5/IBusEngineDesc.html#IBusEngineDesc-
-name
http://ibus.googlecode.com/svn/docs/ibus-1.5/IBusEngineDesc.html#IBusEngineDesc-
-setup

Original comment by<EMAIL_ADDRESS>on 29 Oct 2013 at 4:09

Changed title: Enhancement Request: making initial mode customizable for ibus-mozc
Added labels: Priority-Low
Removed labels: OpSys-OSX, OpSys-Windows, Priority-Medium

I have not tried yet, but we can install multiple ibus components like
ibus-mozc.xml and ibus-mozc-hiragana.xml

I am not sure this patch is related, after run ibus restart, ibus-mozc seems
not to work at all (I can type just alphabets) on GNOME. Once I switch to
another engine and back to ibus-mozc, it starts to work correctly.

Original comment by<EMAIL_ADDRESS>on 1 Nov 2013 at 5:36

> I have not tried yet, but we can install multiple ibus components like
ibus-mozc.xml and ibus-mozc-hiragana.xml

In such case, multiple instances of ibus-engine-mozc can be spawned but I don't
think the original author of ibus-engine-mozc considered such situation.
Anyway, you can try it because mozc_server supports multiple clients as long as
each client is properly implemented.

> I am not sure this patch is related, after run ibus restart, ibus-mozc seems
not to work at all (I can type just alphabets) on GNOME. Once I switch to
another engine and back to ibus-mozc, it starts to work correctly.

I'm not sure the 'restart' feature of IBus is documented and tested well now a
days.  Is there any document and/or test cases in IBus upstream?  Is there any
behavioral change between IBus 1.4 and IBus 1.5?

Original comment by<EMAIL_ADDRESS>on 2 Nov 2013 at 4:40

Note: r185 didn't contain mozc_issue_201_rev2.patch because its branch was cut
before the patch was committed.  mozc_issue_201_rev2.patch will be merged into
the next release.

Original comment by<EMAIL_ADDRESS>on 5 Feb 2014 at 2:56

ibus-mozc in r192 and later will start in DIRECT mode when running on IBus 1.5
and later.

As for the ability to customize the initial mode only for ibus-mozc, let me
close as WontFix. This is because:
1. In general, we don't want to introduce platform specific config options.
2. No one in Mozc team is actively working on ibus-mozc. ibus-mozc has been in
maintenance mode and as announced as Issue 194.

If you want to make this happen, please file another feature request that is
targeting for all the desktop platforms, not for ibus-mozc only.

Thanks again for your suggestion.

Original comment by<EMAIL_ADDRESS>on 16 May 2014 at 4:57

Changed state: WontFix

Issue 238 has been merged into this issue.

Original comment by<EMAIL_ADDRESS>on 12 Jul 2014 at 3:47

Issue 238 has been merged into this issue.

Original comment by<EMAIL_ADDRESS>on 12 Jul 2014 at 3:47

Hm, I wasn't aware of #201 but okay.

I'm surprised that people wanted Eisu (direct input) rather than Hiragana as
the default.  Oh well, there doesn't seem to be a change of direction at this
point.

Thanks!

Original comment by<EMAIL_ADDRESS>on 12 Jul 2014 at 4:26

intermilan04@:
As of Mozc 1.15.1829.102 (r266), the simplest way to let Mozc launched with
Hiragana mode is modifying the following code and then rebuilding Mozc.

https://code.google.com/p/mozc/source/browse/trunk/src/unix/ibus/property_handle
r.cc?r=251#78
> // Some users expect that Mozc is turned off by default on IBus 1.5.0 and
later.
> // https://code.google.com/p/mozc/issues/detail?id=201
> // On IBus 1.4.x, IBus expects that an IME should always be turned on and
> // IME on/off keys are handled by IBus itself rather than each IME.
> #if IBUS_CHECK_VERSION(1, 5, 0)
> const bool kActivatedOnLaunch = false;
> #else
> const bool kActivatedOnLaunch = true;
> #endif  // IBus>=1.5.0

All you need to do is is to replace "kActivatedOnLaunch = false" with
"kActivatedOnLaunch = true".

Perhaps we could do something suggested in comment #10 and #12, but at least I
don't have enough spare time to handle it.  Feel free to contact me if you or
someone you know is ready to be a responsible owner of this feature.

Thanks.

Original comment by<EMAIL_ADDRESS>on 12 Jul 2014 at 6:22

Original comment by<EMAIL_ADDRESS>on 12 Jul 2014 at 6:23

Changed state: VolunteersNeeded

Original comment by<EMAIL_ADDRESS>on 12 Jul 2014 at 9:13

Original comment by<EMAIL_ADDRESS>on 21 Apr 2015 at 6:15

Now blocked on: #287

Many of us depended on the default behaviour of starting in hiragana mode and now I'm unable to find a meaningful way to configure it to go to hiragana mode by default which means every time I switch input methods I also have to select hiragana from the system tray (on the few remaining desktop environments where it still works). How is this progress? How do we restore the original behaviour?

Unfortunately there is no update since no one has volunteered to work on that. That's actually one of the the reasons why we decided to deprecate ibus-mozc (#287).  I wish I could help, but I'm unable to spend as much time with ibus-mozc anymore as I'm also in charge of many projects such as Chromium and Android as well as other clients of Mozc such as Mozc for Android and Mozc for Windows.
If you wish to change the default behavior to the original one, I would do that if you could make a consensus among ibus-mozc maintainers in major Linux distributions (Fedora, Ubuntu, Debian, openSuse, Arch, Gentoo, ...).  Please note that some people don't like the previous behavior as pointed out in the first post in this thread.
Also, as I pointed it out in my previous comment, you can change the behavior by modifying the source code and rebuild the binaries by yourself.
See src/unix/ibus/property_handler.cc Line 78 - 86
// Some users expect that Mozc is turned off by default on IBus 1.5.0 and later.
// https://code.google.com/p/mozc/issues/detail?id=201
// On IBus 1.4.x, IBus expects that an IME should always be turned on and
// IME on/off keys are handled by IBus itself rather than each IME.
#if IBUS_CHECK_VERSION(1, 5, 0)
const bool kActivatedOnLaunch = false;
#else
const bool kActivatedOnLaunch = true;
#endif  // IBus>=1.5.0

All you need to do is to replace const bool kActivatedOnLaunch = false; with const bool kActivatedOnLaunch = true; and rebuild the ibus-mozc binary.

A problem is ibus-mozc always starts with Hiragana mode although many users expect that it starts with Eisu mode.

Thank you for your understanding.

Thanks for responding. Ubuntu is defaulting to direct input which is the problem for me. As ibus-mozc is being deprecated I shall return to using ibus-anthy which defaults to hiragana, thank you.

Just for your reference, Ubuntu 15.10 is supposed to start using Fcitx rather than ibus as their default input method (input method framework), which is another reason for me to hesitate to spend my time to improve ibus-mozc. Probably fcitx-mozc would be in far better situation than ibus-mozc in terms of maintenance resources.
See following pages about the direction of Ubuntu.

language-selector 0.144 source package in Ubuntu
im-config 0.29-1ubuntu3 source package in Ubuntu

I am wondering why ibus-mozc behaves deferently as fcitx-mozc.
Which behavior should be right? How ibus-anthy and fcity-anthy behaves as default?
ibus-mozc's behavior now is just because somebody requests this. But I request for default method of HIRAGANA and  I think more people request the same than who requests for default of DIRECT.

ibus-mozc's behavior now is just because somebody requests this. But I request for default method of HIRAGANA and I think more people request the same than who requests for default of DIRECT.

I do understand you frustration, but the behavior change was actually based on recommendation by ibus core committer and ibus-mozc package maintainers of multiple Linux distributions (AFAIK package maintainers in openSUSE and Ubuntu preferred this default behavior). It's not a random somebody at all. So if you really think we should change the behavior again, let me reiterate my previous comment.

If you wish to change the default behavior to the original one, I would do that if you could make a consensus among ibus-mozc maintainers in major Linux distributions (Fedora, Ubuntu, Debian, openSuse, Arch, Gentoo, ...).

So please reach out ibus-mozc package maintainers of major Linux distributions to make a consensus to do that. If they (or most of them) agree to change the behavior, I'm happy to do that (if ibus-mozc is not removed from our repository yet. See #287 for details. Basically our plan is to discontinue the support of ibus some time soon)

Thank you very much for your reply.
I just upgraded my Fedora and it took too much time for me to modify ibus-mozc's source code and rebuild the package.
Thank you very much for your explain. I know it is very difficult to change the behavior of ibus-mozc now. Thank you.


fix(api): OT2 fixed trash load fix and API 2,15 support for new trash container structure

Overview
This seeks to close:
https://opentrons.atlassian.net/browse/RSS-417
https://opentrons.atlassian.net/browse/RQA-2022
Also seeks to add coverage for API 2.15 protocols expected fixed trash behavior.
Test Plan

Ensure no analysis failures!
Test a 2.16 Protocol on OT2, it should execute correctly
Test a 2,16 protocol on Flex with multiple trashes
Test a 2.15 protocol with trashing behavior on OT2 and Flex, legacy trash behavior should be expected.

This seeks to close [...] https://opentrons.atlassian.net/browse/RQA-2022

Are we sure that this closes that? That looks like something from within Protocol Engine, unrelated to PAPI. Notice how the error message complains about a missing fixedTrash (camelCase), not a missing fixed_trash (snake_case).

Unfortunately I don't think this fully resolves RSS-417. Try this:
requirements = {
    # "apiLevel": "2.15",  # Works
    "apiLevel": "2.16",  # Does not work
    "robotType": "OT-2",
}

def run(protocol):
    # Note: ProtocolContext.fixed_trash, not InstrumentContext.trash_container.
    #
    # This raises NoTrashDefinedError.
    protocol.fixed_trash

I caught this by running this against the tests in #14142. I'm going to pull those into this PR.


WebApp report: wrong scope

Hi,
there is an issue in the table view (in webApp report) with the scope.
Context:

a repository with 2 projects : 1 gradle and 1 npm
do an audit on the whole repository and use the webapp reporter
use a ORT docker image build the 12/12/2022

Actual behavior:
the webapp reporter shows a wrong scope for npm dependencies.
npm dependencies are associated to a gradle scope, ex: testRuntimeClasspath

But the html reporter shows the good scope:

Expected behavior:
the webapp reporter should show the good npm scope for npm dependencies

Complement:
You can reproduce with the small project structure : https://github.com/fb33/gradle-npm-ort.git
If the audit is done only on subfolder /client which contains only the npm project, the webapp report is good.

@fb33 I've forked your test project to https://github.com/sschuberth/gradle-npm-ort in order to make some fixes that were required to reproduce the issue, but now I can indeed confirm the issue. The analyzer-result is attached for further inspection (I don't have time right now).

I've verified it's also still correct in the evaluated-model (e.g. NPM::abab:2.0.6 uses scope 15 which is dependencies), so it's again a display issue in the webapp report.


Added validation for timestamp comparison

I want to merge this change because it fixes #13763
Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations

Docs

[ ] Link to documentation:

Pull Request Checklist

[ ] Privileged queries and mutations are either absent or guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migrations are either absent or optimized for zero downtime
[ ] The changes are covered by test cases

Could you also add a unit test for this case?

@fowczarek  I have added unit test as requested. Kindly review.

All checks green, thanks for contributing to Saleor!


The leaderboard is removed...

Check this linkage but found:

We are currently transfering our leaderboard to FinOS. The leaderboard is currently at https://huggingface.co/spaces/TheFinAI/Open-Financial-LLM-Leaderboard. Will be transfered soon. We will update the link once it transfered .

We are currently transfering our leaderboard to FinOS. The leaderboard is currently at https://huggingface.co/spaces/TheFinAI/Open-Financial-LLM-Leaderboard. Will be transfered soon. We will update the link once it transfered .

Thus, these two leaderboards mentioned in https://github.com/The-FinAI/PIXIU/issues/79 are the same?

No big difference. The FinBen one will be removed soon.

No big difference. The FinBen one will be removed soon.

Thanks for clarification.

Closed since the link is redirected to https://huggingface.co/spaces/finosfoundation/Open-Financial-LLM-Leaderboard correctly 👍


Exception: Cannot Download File

Hi,
I got an error after following all the steps following the below link. Any help?
https://faun.pub/quick-etl-with-python-part-1-download-files-from-sharepoint-online-40bf23711662
Authen OK
<few logs for the exception>
Exception: Cannot Download File

If you followed every steps in that article,
Can you test these?

Try to print the "download_path" variable, is it start with "/sites...." and end with your file's suffix? (for example ".pptx" for power point file)

When create object, try to change from "client_id" and "client_secret" to "user" = {your o365 email} and "password" = {your o365 password", if it can download, then it may because of some problems with the app user's permission. (Most of my cases are from this problem)

By the way, thank you for your feedback.
This class is the first class I created which I found my bad coding from that time because of you.
if nothing works, try to uninstall the library and install the newest version directly from GitHub
pip uninstall py-topping -y
pip install git+https://github.com/chanon-kr/Shared_Function.git

And use the class "lazy_SP365" instead of "da_tran_SP365", this newest version will print the error message.

Works like a charm. Thank you!


Model attributes translation

how can I use this translation with this method ?
I've tried this step
class Example extends Model
{
use Waavi\Translation\Traits\Translatable;
protected $translatableAttributes = ['title', 'text'];
}
how can I get 'title' object with translate or original value?

If you want the original value, you can do $example->rawTitle

@sildraug what if i want the translated title?


vscode.engine is not checked while running web extensions

vscode.engine is not checked while running web extensions

CC @alexdima

To verify:

Open https://insiders.vscode.dev
Run Command - Developer: Open Installed Web Extensions Resource
Add following entry

{
        "identifier": {
            "id": "sandy081.998-test-web-only"
        },
        "version": "0.0.4",
        "location": {
            "$mid": 1,
            "path": "/sandy081/998-test-web-only/0.0.4/extension",
            "scheme": "https",
            "authority": "sandy081.vscode-unpkg.net"
        }
    }

Reload and make sure the extension is not loaded. You shall see following message in the window log
Skipping user installed extension sandy081.998-test-web-only because it is not valid. ["Extension is not compatible with Code 1.66.0-dev. Extension requires: ^1.67.0."]


Update generic-text-mappings-in-tchar-h.md

fix typo

@drvoss : Thanks for your contribution! The author, @, has been notified to review your proposed change.


Aliases are inconsistent in Variables.options

Describe the bug
Aliases are inconsistent in Variables.options. Second member of tuple (which represents option) does contain original name if option doesn't have aliases. But it doesn't contain original name if option has aliases.
import SCons

env = Environment()

options = Variables()

options.Add(["option_with_alias", "alias", "alias2"], "", "")
options.Add("option_without_alias", "", "")

print(options)

Output:
Variables(
  options=[
    ('option_with_alias', ['alias', 'alias2'], '', '', validator=None, converter=None),
    ('option_without_alias', ['option_without_alias'], '', '', validator=None, converter=None),
  ],
  args={},
  files=[],
  unknown={},
)

Required information

Version of SCons 4.8.1
Version of Python 3.12.6
How you installed SCons :woman_shrugging: maybe pip maybe apt from debian testing

agree, it's inconsistent. when I found that, we didn't want to change existing behavior if nobody was complaining. which version feels more natural? name in aliases or not?

Today I needed to implement custom UnknownVariables [^1] . I needed to manually check if something provided bu user is inside env or opts. And failed with env because env["alias"] as like "alias" in env failed with KeyError. Ok... I though... Env is env a n object which is used for actual process while Variables object generally is ruleset so ok lets check inside Variables and found this inconsistency... In my case it would be easier if I have ("name" ["name" + aliases] but from perspective of general logic it is better to have empty aliases array for option without aliases :woman_shrugging:
[^1]: because it is broken too. It doesn't list variables defined inside files (because I read code and IIUC it pushes to unknown list only options which came from cli). Variables in general is too restrictive... It doesn't allow you to easily distinguish what came from files and what from cli args and etc...

agree, it's inconsistent. when I found that, we didn't want to change existing behavior if nobody was complaining

Do you need someone to complain? I am ready to complain! I've already seen tons of workarounds and needed to create them myself. I only work with scons for 1~1.5 months... From now I will report everything I find

Or is it a published api? If no, then it will hurt many people, I will be hurted too but there is option better. Tuples doesn't have embedded names so is there any difference to do options.options[0] to get actual name or do options.options[0][0]? I propose here to merge these two options so if you doesn't have aliases you will get (["name"] and if you have aliases you will get (["name", "alias1", "alias2"]

And just formally as option itself is a tuple, why not to use tuple instead of list for aliases? Does SCons allow to modify aliases at runtime? If no why not to use tuple? More constness

@bdbaddog any opinions here?  When I ran across this before, I left it as-is, because tests were written to the existing behavior, and I left a comment about it. I didn't remember, but it looks like I preferred the eventual approach of leaving the name out of the alias list in both cases.
        if SCons.Util.is_Sequence(key):
            option.key = key[0]
            option.aliases = list(key[1:])
        else:
            option.key = key
            # TODO: normalize to not include key in aliases. Currently breaks tests.
            option.aliases = [key,]

The name (key) is added later for processing anyway, so it doesn't really need to be there, e.g. like this:
                if arg in option.aliases + [option.key,]:

I don't have an opinion on tuple-vs-list, which is a separate question above.

agree, it's inconsistent. when I found that, we didn't want to change existing behavior if nobody was complaining

Do you need someone to complain? I am ready to complain! I've already seen tons of workarounds and needed to create them myself. I only work with scons for 1~1.5 months... From now I will report everything I find

Please don't just file issue without discussing them first. To ensure they are a) actually a issue and not user error, and b) that there isn't already an issue filed.

After a recent commit, this now looks like:
Variables(
  options=[
    Variable(key='option_with_alias', aliases=['alias', 'alias2'], help='', default='', validator=None, converter=None, do_subst=True),
    Variable(key='option_without_alias', aliases=[], help='', default='', validator=None, converter=None, do_subst=True)
  ],
  args={},
  files=[],
  unknown={},
  defaulted=[],
)```

Specifically, the variable without aliases no longer shows the name in its aliases (this will be in 4.9).

OK to close?

Yeah I think it can be closed then


License

I know this is just a demo but I'm wondering if you'd be willing to release it under a permissive license so others can mess around with it.

Usually I'd put this kind of thing under AGPL or LGPL, but I guess here it doesn't matter much. I've added an MIT license, same license as tantivy. Let me know if you do anything interesting.

I appreciate it! I'm exploring using it as a geocoding backend for Headway (demo) which is Apache 2.0. Considering how big the read chunks are, adding a little bit of noise to the byte ranges it requests could do a lot to obfuscate what the user is searching for, not to mention it would be much cheaper to host an index at scale with this compared to running a real geocoder. I think I'm close to having the demo up and running so we'll see what the latency characteristics are :)

Neat! I don't know what your requirements are (except for FTS i guess) but did you also look at sql.js-httpvfs (or similar)? It's less efficient for FTS than tantivy but SQLite is easier to build on and more popular, and might be useful since there seems to be some existing geocoding things for SQLite. Something related to spatialite in general or e.g. this: https://github.com/pelias/placeholder in particular.
Feel free to contact me if I can help any more.


Add code coverage badge

https://codecov.io/github/rstudio/sparklyr

Planning to merge this one once code coverage is a bit higher, maybe at 70%?


Thanks your  ,There was show  two files  how to fix it.

Can you try the solution from this ticket:  https://github.com/ionutvmi/path-autocomplete/issues/70 ?


Instance: Fix VM QEMU feature detection on aarch64

Fixes detection on aarch64 (fixes #11254).
Switches to integer architecture constants for config architecture logic.

Tested working in custom sideloaded build of snap package on:

[x] AMD64
[x] Aarch64
[x] S390x

@stgraber confirmed all tested archs are working as intended.


Budget Alerts - Update to new API

Description
Update Budget Alerts policy to use new public Bill Analysis API
Issues Resolved
N/A
Contribution Check List

[x] All tests pass.
[x] New functionality includes testing.
[x] New functionality has been documented in the README if applicable
[x] New functionality has been documented in CHANGELOG.MD

          1 Warning

:warning:
Should this include readme changes

  Generated by :no_entry_sign: Danger


Updating variable in Azure DevOps Variable group from Pipeline

Hi Team,
I am retrieving new consumer key  from SFDC sandbox. and trying to update variable group with this command.
npx sfdx sfpowerkit:azpipelines:updatevariable -u $(azure_devops_user) -p $(pat) -k env.consumerkey -v $(newconsumerkey)  -i $(variable_group_id) -o xx.com  -g xxxx
I am getting below error.
Warning: sfpowerkit:azpipelines:updatevariable is not a sfdx command.

@ayadav4 Thank you for the question.
Please note the support options here are limited to documentation examples.
Otherwise, please move this issue to one of the following support channels:

Azure DevOps community
Azure DevOps support
Azure DevOps on Stack Overflow