what's the version of lm_eval?

hi, I got a problem here:
Traceback (most recent call last):                                                                                File "/home/workingplace/xc/exercise/wanda/main.py", line 119, in <module>                                                                                main()                                                                                File "/home/workingplace/xc/exercise/wanda/main.py", line 108, in main                                                                                results = eval_zero_shot(args.model, model, tokenizer, task_list, num_shot, accelerate)                                                                                File "/home/workingplace/xc/exercise/wanda/lib/eval.py", line 134, in eval_zero_shot                                                                                from lm_eval import tasks, evaluator                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/lm_eval/__init__.py", line 1, in <module>                                                     from .evaluator import evaluate, simple_evaluate                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/lm_eval/evaluator.py", line 15, in <module>                                                   import lm_eval.models                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/lm_eval/models/__init__.py", line 1, in <module>                                              from . import (                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/lm_eval/models/hf_vlms.py", line 13, in <module>                                              from lm_eval.models.huggingface import HFLM                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/lm_eval/models/huggingface.py", line 18, in <module>                                          from peft import PeftModel                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/peft/__init__.py", line 22, in <module>                                                       from .auto import (                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/peft/auto.py", line 32, in <module>                                                           from .mapping import MODEL_TYPE_TO_PEFT_MODEL_MAPPING                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/peft/mapping.py", line 25, in <module>                                                        from .mixed_model import PeftMixedModel                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/peft/mixed_model.py", line 29, in <module>                                                    from .peft_model import PeftModel                                                                                File "/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/peft/peft_model.py", line 37, in <module>                                                     from transformers import Cache, DynamicCache, EncoderDecoderCache, PreTrainedModel                                                                                ImportError: cannot import name 'Cache' from 'transformers' (/home/workingplace/xc/anaconda3/envs/wanda/lib/python3.9/site-packages/transformers/__init__.py)
I suppose the version of lm_eval is wrong. I install the 0.4.5 version of lm_eval. Please tell me the right version of lm_eval. I've seen the install.md, readme.md, and all issues that posted, but I haven't seen any solutions. Please help me, thanks!

I have known that I should download the file that author provided.


Drop Streaming Support

This Issue is for discussion of dropping streaming support. Currently we do not use streaming when fragments are in query.  The proposal is to not use streaming parsing anywhere. The advantage is a far simpler cache implementation.
I'd like buy in from everyone prior to proceeding.

If we already can't do streaming when using fragments (which should be the case most of the time), then the benefit/complexity ratio sounds really poor. I'd recommend 🔥  it

I'm with you, I thought fragments would be much more rare but it seems like you can't write anything without having a fragment in it.

Hmmm, it sounds like it may not be worth the complexity. If we still feel it is important, there may be ways of doing streaming even with fragments though, with some changes to the execution model I've been working on for the iOS client. (Basically, we now rely on a runtime representation of the query, so we can collect all the fields from fragments before starting the parsing.)


leftMargin & rightMargin can be None if glyph is empty

Change to the normalizer.

Actually, on second thought, it's better that an error is raised here, never mind.


[release] v0.8.1

Codecov Report
Base: 91.93% // Head: 91.93% // No change to project coverage :thumbsup:

Coverage data is based on head (0c9e4ac) compared to base (fd3ac5f).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop      #53   +/-   ##
========================================
  Coverage    91.93%   91.93%
========================================
  Files           23       23
  Lines          645      645
========================================
  Hits           593      593
  Misses          52       52

Impacted Files
Coverage Δ

src/ragger/__init__.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


feat: title change

Fixes #2009
Changes proposed in this pull request:

changed title of appointment view

Hi @michaeldaigler, thank you for your submission, we really appreciate it! Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution :)

Thank you. Where can I sign the Contributor License Agreement?
On Sun, Apr 26, 2020 at 8:41 AM Matteo Vivona<EMAIL_ADDRESS>wrote:

Hi @michaeldaigler https://github.com/michaeldaigler, thank you for
your submission, we really appreciate it! Like many open source projects,
we ask that you sign our Contributor License Agreement before we can accept
your contribution :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HospitalRun/hospitalrun-frontend/pull/2014#issuecomment-619543619,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKGPCL6PTLMJXT3CQDHUUQDROQTXVANCNFSM4MQLTYKA
.

Thanks for the contribution @michaeldaigler! However, this bug was fixed via #2016. Closing this PR.


chore: Fix release github action

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


olm: serviceaccount duplication error

What problem are you facing?
The OLM bundle we're producing is not compatible anymore, see https://github.com/redhat-openshift-ecosystem/community-operators-prod/pull/863#issuecomment-1082854270
How could Upbound help solve your problem?
Fixing the supposed duplication.

Future assignee: the use case of OLM users using a private registry is disabled with https://github.com/upbound/universal-crossplane/pull/248 which is a related change. Consider bringing back the use case together with the service account fixes for this issue.

Closing as we are not focusing on market place publishing at the moment.


setScrollOffsetRatio makes scrolling and zooming problematic

I'm using setScrollOffsetRatio() to get map padding as I was advised in #65 and, as I was also warned there, I'm having issues with zooming and scrolling when the map is fully (or nearly fully) zoomed out.
In all demonstration videos below I used setScrollOffsetRatio(0.5f, 0.5f). They are all captured on an emulator but I get the same behavior on a real device.

When the map is fully zoomed out its scrolling is symmetrically constrained along the smaller layout dimension and unsymmetrically along the larger dimension. As can be seen in the video below, I can scroll the map half its size out of the screen horizontally in both directions, but vertically I can only do it at the bottom and not at the top.

https://user-images.githubusercontent.com/71890197/200036116-46fec103-f82b-4669-9ed5-3dcdb7b4a3b1.mp4

The video above also demonstrates an issue with InitialValues.scroll(). There it was set to scroll(0.5, 0.5), which is meant to initially center the map, but it appears at the bottom of the screen instead. Setting it to scroll(0.0, 0.0, Offset(0f, 0f)) (which is the default) actually centers the map.
When the map doesn't fully cover the screen, zooming seems to center somewhere at the bottom instead of where the gesture is actually centered. In the next video I'm zooming precisely into the center of the screen, but instead the zoom centers on a point on the bottom edge of the map. I think that the map tries to first fill the screen (which is reasonable) and then zoom where the user wants, but there is some error in calculations and it ends up at the bottom edge instead. Such behavior is very inconvenient, it is present both when zooming with pinch and with double-tap-and-drag.

https://user-images.githubusercontent.com/71890197/200037629-ac64ff53-e00d-4b5e-9f3a-eb6f6a4dc084.mp4

centerOnMarker() doesn't actually place the marker in the center of the layout when the map is zoomed out. In the video below I used the default "Center on marker" demo but changed the scale to 0 and enabled scrollOffsetRatio.

https://user-images.githubusercontent.com/71890197/200038996-39db788b-4c62-4768-b6dd-bcb03af135a9.mp4

Thanks for the precise description.
The scroll offset ratio is only partially supported at the moment. Having a proper support will require deep investigation for each cases (marker apis, gestures, etc).

Thanks for the reply, I assumed so, but wanted to highlight the issues. For me the third one (the issue with zooming) is the most annoying, because I cannot find a workaround for it.

I actually tried to look into each of them but only managed to find a solution for the first for now

If you manage to solve these issues, that means you get a thorough understanding of the library (or at least the "view" part). And solving the first one is already a good sign!

If you don't solve the other ones, no worry. I believe I'll start investigate in a few days.

@TimPushkin I need to finish some ongoing work before looking into this issue.

So I've started to look in this. And I noticed that when scroll offset ratio is set, all the mentioned issues are caused by the padding applied by the layout when the map is fully zoomed out. In the branch try-fix-#80, I disabled it. From my testing, that fixes the mentioned issues. Can you confirm?

I've tested it and indeed zoom works perfectly now!
But the issue with unsymmetrical scroll constraints along the larger dimension now appears again. Below I used setScrollOffsetRatio(0.5f, 0.5f):

Maximum scroll to the bottom:

Maximum scroll to the top:

That's interesting, good catch !
If I revert the changes you introduced to fix unsymmetrical scroll, it seems to work.

IIUC, the changes you introduced were only applicable when layout padding wad applied. However, now that I disabled it (when setScrollOffsetRatio is used), it's no longer needed.
I've updated the try-fix-#80 branch.

I tried reverting my changes, but this still doesn't work as expected. If I apply setScrollOffsetRatio(0.5f, 0.5f) I expect to be able to scroll the map half its size off the screen and this is what I get along the smaller layout dimension. But along the larger dimension I just cannot scroll the map off the screen:

Maximum scroll to the bottom:

Maximum scroll to the top:

It's ok, your changes fixed some aspects of the issue. However, I thought this issue would require a lot of non trivial changes. In the end, this is really good news.
As usual, thanks for your feedback and testing!

Ha.. I knew it was too easy. When rotation is enabled along with setScrollOffsetRatio(0.5f, 0.5f), rotating the map behaves strangely.

Yep, all issues stay when the map is rotated

I created another branch named try-fix-#80-attempt-2, in which I changed fundamental canvas transformations.
This issue shows that there's something wrong, when :

scroll offset ratio is set
the map is scrolled out beyound MinimumScaleMode.Fill scale

A core design choice of the library is to always rotate
around the center of the screen. This allows for simpler calculations of the scroll. However, rotation could be handled
differently, in theory. Maybe in a future major version, I'll change that to rotate around the focal point (even though
at this point I'm not sure at all that would result in a good behavior, especially when scroll offset ratio is set).
However in this branch, I didn't break core design, otherwise the whole ui part of the library would have to be re-written.
The end result is a compromise, maybe good enough.
One example of downside when setScrollOffsetRatio(0.5f, 0.5f) is used: the map isn't centered in the screen when fully zoomed out, unless scroll(0.5, 0.5) is used on MapState initial values. This is due to the layout padding disable.

Tried it, indeed now zooming and scrolling work great when setScrollOffsetRatio() is set to values large enough. But it seems like it is impossible to center the map at all (even with manual scrolling) when the values are small, (0.1, 0.1), for example. For me personally it's ok since I use (0.5, 0.5).
Now it's also easier to rotate the map partially off the screen when setScrollOffsetRatio() is not used, but since this is what scrollOffsetRatio is for, it doesn't seem like an issue to me.

Exactly, this is the drawback. If don't find a better alternative, the documentation of setScrollOffsetRatio() should recommend using (0.5, 0.5) when possible.

Played around with non-square maps and it seems like it is related to non-symmetrical scroll constraints again. Here I use setScrollOffsetRatio(0.5f, 0.5f) and the map is 4096x2048:

Maximum scroll to the top:

Maximum scroll to the bottom:

In my last commit, I'm experimenting another approach. When fully zoomed out, if we allow more scroll than would otherwise be permitted by setScrollOffsetRatio(), we can produce a centering effect (even if the padding is disabled).
I found that if works for non square maps and also for other values than (0.5, 0.5).

Tried it, feels pretty good to me now

Thanks. I found some minor issues with this approach, and I'm still trying to fix them.

Out of curiosity, do you intend to enable rotation along with setScrollOffsetRatio()?

Yes, I do

As I tried to fix the remaining issues, I realized that the padding causes way too many issues. In try-fix-#80-attempt-3, I disabled it entirely.
The consequence is rather big. The behavior changes when fully zoomed out. Now, even without any scroll offset, it's possible to scroll the map freely withing the screen bounds.
This new behavior ensures a consistent scrolling experience when scrolling in and out.
As for setScrollOffsetRatio(), I've tested it on various map sizes, and using different values (0.5f, 0.1f, etc). Looking good to me now.
Again, thanks a lot for helping me to test.

I'm glad to help :) Played with it and haven't found any issues. With this behavior change perhaps it's a good idea to make scroll(0.5, 0.5, Offset(-0.5f, -0.5f)) the default in InitialValues as most people probably expect their maps to appear in the center of the screen.

That's good point. I'll consider that. Thanks!

I've merged on master. Next I'll see if I can fix #79 before publishing the new 2.4.0 version.


Logo Design: SwagGen

Hey, I examined your project and realized that your project has no logo design yet. What do you think about it? If you interested I can contribute on your project with making logo design. Actually  my main aims are supporting open source projects and make my portfolio better. I am waiting your feedback and if you have an idea we can talk about design decisions. Have a nice day! :)
Best Regards,
Baran Pirincal
Visual Communication Designer

Hi @baranpirincal, sounds great.
I had considered a logo when I started the project. The tricky thing is that the repo is called SwagGen as it uses Swagger. But Swagger has now been renamed to OpenApiSpec, so not sure which one it should aim for

@yonaskolb I am not sure but in my opinion, if the basement of your project changed or renamed you must rename your project too. Because, as I understand , there is no repository called 'swagger' anymore.


Benchmark for bit_mask (set_bits)

Which issue does this PR close?
Rationale for this change
Per https://github.com/apache/arrow-rs/pull/6288#discussion_r1729934964
What changes are included in this PR?
Added the benchmark for bit_mask (set_bits)
Are there any user-facing changes?
No

cc @alamb

@alamb when you have a chance, feedbacks would appreciated!

Thank you @andygrove @alamb


GOOGLE_SSO_LOGO_URL points at non-existing image

The URL for the Google logo defined at https://github.com/megalus/django-google-sso/blob/22f87bcfd56d4a2158da45ccef8c459e0e619a80/django_google_sso/conf.py#L43 results in a 404 error:
https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Google_"G"_Logo.svg/512px-Google_"G"_Logo.svg.png
On https://about.google/brand-resource-center/logos-list/ it links to https://lh3.googleusercontent.com/COxitqgJr1sJnIDe8-jiKhxDx1FrYbtRHKJ9z_hELisAlapwE9LUPh6fcXIfb5vwpbMl4xl9H9TRFPc5NOO8Sb3VSgIBrfRYvW6cUA - maybe that could be used as a default?

Hi @blueyed , please check if the new version fixes this. Thanks for report!

Yes, fixed.  Thanks!
ref: https://github.com/megalus/django-google-sso/commit/7212d2c30a25710a507ed26e5640284bd8e87486#diff-c2cc7298bc96c6d7bde975f77bca14ebd783ff2e3c8636910ce1584a0f1bdb5aL43-R47


adds fallback for avatar component

Coverage remained the same at 22.876% when pulling c7cbdbf375e15bdc751074b746ca922a57c7a410 on theseyi:avatar-refac into 5c8a029d696a64863d93d938182bc66b60f7101f on linkedin:master.


Adding allow_(push|pr|tags|deploys) repo properties

Adding allow_(push|pr|tags|deploys) repo properties
Fixing the tests

Commenting out the ones that cannot pass
Upgrading the min go version to 1.8

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

Please use the 0.8.x branch for these fields:
https://github.com/drone/drone-go/blob/v0.8.4/drone/types.go#L31:L34
The master branch is updated for 0.9 which no longer uses these fields.


ShopifyAPI::Order.save fails due to sending source_name attribute

Per the changes outlined here, a recent update to the Shopify API seems to prevent saving existing records when submitting source_name with the attributes (as ActiveResource does), regardless of if it has been changed or not. Others encountering errors as seen here
PUT https://xxx.myshopify.com:443/admin/orders/nnn.json
--> 422 Unprocessable Entity 89 (192.0ms)
Response:
{"errors":{"source_name":["is only assignable during creation and may not be changed."]}}

@costford ^

Yup I looked into this two days ago. Fix is here: https://github.com/Shopify/shopify/pull/41244

@costford sweet, is there an ETA on this being rolled out?  or should we look to temporarily implement MrPunkin's fix

:shrug: It looks like they're shipping it when it passes CI. You can follow the PR or ping the dudes on it, but I'm gonna guess today.

awesome, thanks, looks like Shayne already updated the forum post saying this is likely coming today

@justinstern I'm waiting for :tophat: on https://github.com/Shopify/shopify/pull/41244 and I'll ship it!

Sounds like this has been fixed on Shopify's end, according to the forum update by Shayne.

Cool, thanks for testing!


Q&A in Streaming Datasets

Hello, this update does not work on the streaming data set. I don't have the settings icon in the upper right corner. I can create suggestive questions in the power bi service but I cannot teach Q&A.

Hi, @tomasbaima -- are you referring to a specific article? If so, can you please provide a link? Otherwise, this sounds like it may be a support issue. If so, please submit it at https://powerbi.microsoft.com/en-us/support/
thanks!

Hi, @tomasbaima -- Having not heard back from you, I'm closing this issue. I hope you were able to resolve the issue!


How to find id of element clicked on screen?

I would like to click on elements and store their ids. I have the following code right now which is resulting in an empty event argument in the expose function. What's going wrong?
const puppeteer = require('puppeteer');
const fs = require('fs');

(async () => {
let browser = await puppeteer.launch({ headless: false });
let page = await browser.newPage();
// Expose a handler to the page
  await page.exposeFunction('onClick', (event) => {
    console.log(`Event fired: ${event}`);
});

// listen for events of type 'status' and
// pass 'type' and 'detail' attributes to our exposed function
await page.evaluateOnNewDocument(() => {
    window.addEventListener('click', (event) => {
        window.onClick(event);
    });
});

await page.goto("https://www.facebook.com/login");

})();

Something like this?
const puppeteer = require('puppeteer');

(async function main() {
  try {
    const browser = await puppeteer.launch({ headless: false, defaultViewport: null });
    const [page] = await browser.pages();

    await page.goto('https://example.org/');

    await page.exposeFunction('processClick', (data) => {
      console.log(data); // Here you can save the data in Node.js context.
    });

    await page.evaluate(() => {
      document.addEventListener(
        'click',
        (event) => { window.processClick(event.target.innerHTML); }, // Here you can send the data to Node.js context.
      );
    });
  } catch (err) {
    console.error(err);
  }
})();

I tried something similar (and also what you mentioned) but event variable only contains {isTrusted: true} and no html content

Maybe you send unserializable data? Try to send only strings from browser context to Node.js context.

It works if I send just plain strings to the processClick function. However, I need to find the id of the element clicked and the event variable only has { isTrusted: true } stored inside. Any insight on this?

You can get the id in the browser context and send it: window.processClick(event.target.id);

event only has the isTrusted attribute and nothing else :/
Is there any other way to extract the element id?

Do you get the innerHTML in my example? For me it works.

Maybe you can provide your example with the issue? How do you check that event only has the isTrusted attribute and nothing else?

It's solved! The issue with my code at the beginning was that I was not getting the event.target.id in the browser context, like you mentioned. Furthermore, the empty values for event.target.id were a result of input fields not having id values; I used name values for them instead. Thanks for your help!


Errors out at the initial stage itself

PS C:\WINDOWS\system32> Register-AzResourceProvider -ProviderNamespace 'Microsoft.Security'
Could not load type 'Microsoft.Azure.Commands.Common.Authentication.Abstractions.IAzureContextContainer' from assembly
'Microsoft.Azure.PowerShell.Authentication.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
At line:1 char:1

Register-AzResourceProvider -ProviderNamespace 'Microsoft.Security'

  + CategoryInfo          : OperationStopped: (:) [], TypeLoadException
  + FullyQualifiedErrorId : System.TypeLoadException

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

ID: b3663e88-0fa4-cdd3-7f4c-9660f0592473
Version Independent ID: 05e2cb42-80e3-d26f-7d32-5bb791138948
Content: Use PowerShell to onboard Azure Security Center and protect your network
Content Source: articles/security-center/security-center-powershell-onboarding.md
Service: security-center
GitHub Login: @rkarlin
Microsoft Alias: rkarlin

@prajster Thanks for your feedback! We will investigate and update as appropriate.

@prajster can you please run the cmdlet Get-Module -ListAvailable -Name Az.Security to check if required Security model is installed in your machine.

@prajster We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Not working in Safari 15.3

I am using it in Angular project and the code snippet looks like this
import dialogPolyfill from 'dialog-polyfill';
if (this.dialogBox) {
dialogPolyfill.registerDialog(this.dialogBox.nativeElement);
this.dialogBox.nativeElement.showModal();
}
The dialog is rendered on the normal page and not as a modal window
Please help me understand what is missing.

I didn't give this polyfill a try as the author did, but I know that the same behavior for normal dialog. Hence, it seems that polyfill just recognizes Safari 15.3 as supporrting browser but it isn't?


Show wanted window in all desktops

This is a note to self, I found out Windows 10 anniversary edition has this ability, greatly needed in this DLL.

There is now fully functional functions IsPinnedWindow, PinWindow and UnPinWindow.
For pinning "apps" I still need to implement: IsPinnedApp, PinApp, UnPinApp

IsPinnedWindow, PinWindow, UnPinWindow, IsPinnedApp, PinApp, UnPinApp is now implemented and exported in the DLL.


[NEMO-294] Beam-Runner

JIRA: NEMO-294: Support Nemo Runner execution by providing PipelineOptions to the Beam program
Major changes:

Update launch scripts to launch shaded jars with the current project version, instead of 0.1-SNAPSHOT
Refactor JobLauncher so that jobs can be launched from the JobLauncher's main class as well as from a particular Beam application. This also changes so that the job ID can be received from the application itself.
Use Google's AutoService from Beam to register NemoRunner as one of its runners with the NemoRunnerRegistrar.
Rename NemoPipelineRunner into NemoRunner to follow conventions.
Instead of having a default executor_json file, put in a default JSON string instead, so that it doesn't require a JSON file by default.
Add a MinimalWordCount examples from the beam homepage (from the quickstart article)
Now, we can create a QuickStart with the MinimalWordCount example on the Beam site by adding a simple profile on the maven pom.xml on the MinimalWordCount example.

Minor changes to note:

Fix minor typos (e.g., confg --> config)
Fix minor indentation inconsistencies

Tests for the changes:

Existing tests confirm that these changes do not break the code

Other comments:

N/A

Closes #163

@johnyangk @seojangho Could you please take a look?


Download counter with Django-Filer

Would there be an easy way to count the number of times a Django-Filer file is downloaded?

You need to create extra model that will store that information and view that will serve the files and increase the counter.
You need to configure your web server not to serve the files under filer_public folder and instead to pass the request to Django in order your custom view to be able to serve the file.
(Almost required) Because it's not a good idea Django to serve files in production your custom view probably need to leverage django-sendfile (https://pypi.python.org/pypi/django-sendfile) or similar approach of serving these files.

@maltebeckmann I'm sorry because source code is in italian, but you can have a look at this https://github.com/CroceRossaItaliana/jorvik/blob/master/gestione_file/viste.py#L86 for an implementation of a download counter


feat: implement overloads on UpdateInstanceRequestBuilder

Add && overloads to all the fluent functions so that if you start with an R value, you'll just use the && version of Build().

This change is

@coryan Thanks for the review! I inlined all the function and now it's header only. PTAL


Update ExternalShuffleBlockResolver.java

What changes were proposed in this pull request?
Guava cache capacity limit join key size statistics
Why are the changes needed?
When using guava cache, the key size is not counted, resulting in memory overflow. If the value is infinitely small, then the heap memory can store countless File type keys. I think this is a defect
Does this PR introduce any user-facing change?
No
How was this patch tested?
No

YARN GC ALARM

Can one of the admins verify this patch?


[ CX-1196]: feat(submissions): add multiple images at once

Refs CX-1196

Wow, I didn't realize it was this easy!


Bug Found

Challenge Create a Set of Radio Buttons has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">

CatPhotoApp

Click here for cat photos.

Things cats love:

cat nip

laser pointers

lasagna

Top 3 things cats hate:

flea treatment

thunder

other cats

<form action="/submit-cat-photo">
  <input type="text" placeholder="cat photo URL" required>

  <input type="radio" name="indoor">Indoor
  <input type="radio" name="outdoor">Outdoor

  <button type="submit">Submit</button>

</form>

@oregondev, Can you explain about you found bug?  you didnt explain.

@oregondev
Thanks for reporting this. But your code is incorrect.
GitHub Issues are for reporting bugs on the website only.
Please use the Help chat room for getting challenge related help.
Happy Coding!

It was an accident.
Thanks,
Danny Carpenter, Founder | CEO
OregonDev LLC
B:<PHONE_NUMBER> M:<PHONE_NUMBER>
This email (including any attachments) is intended only for the original addressee and may contain confidential and/or privileged material. Any disclosure, distribution, taking of any action in reliance upon, or other use of this information by persons or entities other than the intended recipient is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the email.

On May 15, 2016, at 6:56 AM, Lance<EMAIL_ADDRESS>wrote:
Closed #8636.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub


possible type: blessedCaTherineOfSaintAugustineVirgin

I think blessedCaTherineOfSaintAugustineVirgin key should be renamed to blessedCatherineOfSaintAugustineVirgin. Notice the lower-cased t in Catherine.

Hi @tukusejssirs ,
Thanks for spotting out the typo!
Fix is now added to the romcal-es6 branch.


Filter function seems to be broken in Explore > Collections

What happened?
The filtering function seems to be acting weird, it sometimes shows the same nfts and it definitely doesn't load the last interacted collections, based on "latest sales" on landing page.
Please reproduce in steps
Go to kodadot.xyz
Click on Explore>Collections>Filter by
Expected Behavior
/
What browsers are you seeing the problem on?
Mozilla/Chrome
Are you logged in?
yes
At which address did you encounter bug?
kodadot.xyz
Screenshots
https://user-images.githubusercontent.com/92786519/159474570-9c32dcfa-f4a3-416c-8560-7e27c3289339.mp4
Relevant log output
No response
Code of Conduct

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

Hi, I will fix it.

👀

It seems that there is something wrong with the request

Both 'PRICE_DESC' and 'PRICE_ASC' are not supported to return data.  Any ideas about it? @vikiival

Yup, don't use PRICE should be visible only in NFTs


Add vite blog article

The Issue

introductionary article to vite needed for DDEV to help user

How This PR Solves The Issue

introduce core concepts

Manual Testing Instructions
Automated Testing Overview

no

Related Issue Link(s)
Release/Deployment Notes
Status

work in progress, first draft

Yay!

Thanks, just mark it ready to review when you're ready. Looks like there are just minor textlint complaints.

Thanks, just mark it ready to review when you're ready. Looks like there are just minor textlint complaints.

👍 will do. hope to finish it by the end of next week, maybe a week later. cheers!

Hey @rfay,
I completed the article draft, hope it will be useful for the community.
Questions:

Should I choose / create an article image as well?
I couldn't find an example for Vite + DDEV + Gitpod - should we ask the community before publishing?
I couldn't find an example for Vite + DDEV + Drupal - should we ask the community before publishing?

Cheers! 👋

Yay, thanks! Can you suggest any good reviewers? Will ask @tyler36 - could you take a look?

Went through the example, and was able to to follow along and get it working.
A couple of nitpicking things above.
I didn't try any of the framework guides.
Is it worth mensioning https://github.com/torenware/ddev-viteserve somewhere, or is this focused on do-it-yourself?

And, of course, thank you for taking the time to write up the article.
I know questions often come up on Discord about vite and DDEV and it's great to have a well-written and easy to follow guide to recommend to others.
Thank you @mandrasch !

Went through the example, and was able to to follow along and get it working. A couple of nitpicking things above.

Nice, thanks so much for review! 👍 👍  I'll fix the typo with module later on.

I didn't try any of the framework guides. Is it worth mensioning https://github.com/torenware/ddev-viteserve somewhere, or is this focused on do-it-yourself?

Good point / question. 👍 Also thought about it.
Personally I don't use viteserve because I want to run vite visible - and want to see my errors directly if a JS file has an error for example in the vite output. Therefore I just use ddev npm run dev.
Most JS frameworks like sveltekit, nextjs, etc. work like that as far as I experience it: You run npm run dev when you want to develop locally (https://kit.svelte.dev/docs/creating-a-project) and you see build errors directly in the terminal.
The aspect of log output is adressed here https://github.com/torenware/ddev-viteserve/issues/20
I have much respect for torenwares hard work on this, but personally I don't want to complicate the introduction.
Maybe we could add a vite section on https://github.com/ddev/awesome-ddev, add available add-ons there and link to it? (Or somebody creates another article about viteserve)
Just thought about that maybe this current article could also be split in two parts:

ddev and vite introduction (sample project)
ddev and vite: framework + cms integration

🤔

@mattstein doesn't allow me to use the word "simply". There should be an exception for you, but there's not :)

Thanks for the graphic!

Thanks for the graphic!

Sure thing. 👍  (I used https://www.adobe.com/express/feature/image/remove-background and a canva template https://www.canva.com/templates/?query=youtube-thumbnail)

@rfay thanks for review / fixes. from my point of view we're good to go. 👍


How to use libaries with this tool

I am trying to use this package to build a Rust crate however I get the error error: no packages found with binaries or examples  when I run colcon build since the crate I'm building is a library. What's the proper way to get ROS 2 to build a Rust crate that's a library?

I wonder, what is your use case for trying to build a library?
Building a Rust crate usually involves compiling from source all its dependencies, dynamic linking is not really used much in the ecosystem. This is also the approach we take for messages, where the ros2-rust message generator actually just generates source code, where crates that need to use the message will find it and build it from source (compared to prebuilding then linking against it, which is done for example in C++).
What did you have in mind exactly? Would the approach of just making sure the source of your library is visible to other crates in the workspace be OK for your use case?


initial changes for Gantt-like feature

For my bachelor thesis, I will implement a Gantt-like timeline view for processes that should work synchronously with bpmn diagram modulation. to keep the impact on the main project as small as possible and not to obstruct any ongoing developments, most work will happen in the new bpmn-timeline.tsx component.
In order to render either the bpmn-timeline or the existing bpmn-modeler, some adjustments to the process page.tsx and wrapper had to be made.
Because the toggle for switching to the timeline-mode should be inside the toolbar, a new state-store had to be introduced. There might be a more elegant way of realising this and with less overhead, but this was the best way I could implement it due to the page.tsx being a server component and how the client component structure with children inside wrapper.tsx works.

@OhKai thank you for the feedback. I've implemented the changes suggested by you and opted to change the env variable as well, as in its current usage it improves clarity in my opinion.


Fixed #1421 Allow lastError to be cleared from outside

Issue #1421
Allow lastError to be cleared from outside once the error is handled.

@vbenso Thank you for your PR.
We will review as soon as we released 1.3.1.

clearLastError() is not public API. With current implementation of CBL Android/Java, this method is required. We should revisit this in future.

I think we shouldn't merge this feature as it requires new API changes. If this feature is required, it should be listed as cross-platform and created a new proposed API at couchbase-lite-api repo.

@vbenso,
After I discussed with team mate, clear lastError variable by application might cause the problem. So I reverted this commit. We will treat the issue as bug, and we will fix this as soon as possible.

@hideki
Ok,
I'll handle this in another way.
Thanks for the effort.
:+1:


Use associated functions for Decoders

proposal
use associated functions instead of methods in all decoder crates (get rid of self in the function signature)
current situation
impl<'a> carbon_core::instruction::InstructionDecoder<'a> for ProgramDecoder {
    type InstructionType = ProgramInstruction;

    fn decode_instruction(
        &self,
        instruction: &solana_sdk::instruction::Instruction,
    ) -> Option<carbon_core::instruction::DecodedInstruction<Self::InstructionType>> {
        // ...
    }
}

this self is not used
reasoning
there should be no internal state in any of the decoders, so using methods is redundant
esp. when trying to call those methods on the top of the call stack it looks something like this:
for nested_ix in nested_instructions {
    let ix = nested_ix.instruction;
    let decoded_ix = AnyProgramDecoder.decode_instruction(&ix);
    println!("Decoded ix: {:#?}", decoded_ix);
}

the same applies for ArrangeAccounts trait

if we get rid of the &self in the function signature for the AccountDecoder trait, it will make the trait non-object-safe which will be an issue since the pipeline stores Box<dyn AccountDecoder>
for arrange accounts, we can do the change, will require to modify each decoder.


Updated Kotlin version to 1.2.40

Updated Kotlin to 1.2.40 to work with Java 10

Shall I also update the Gradle wrapper to 4.7?

OBE


Markdown parsing regression: Image inside a link

Description
Up to 0.70, Tina correctly parsed the following markdown (a link with a single image as content):
[![My image](http://placekitten.com/200/300)](https://example.com/)

In both 0.70.2 and 1.0.0, content that contains the above line is serialized as invalid_markdown and displayed as such:

Steps to reproduce
The above is from the barebones 1.0.0 starter. Here's how to get the same result:

 npx create-tina-app@latest - Follow as usual, select the Barebones starter.
Append the following in content/page/home.mdx:

  [![My image](http://placekitten.com/200/300)](https://example.com/)

yarn dev and visit the home page

Expected result
The AST contains a link element under which is an image, and <TinaMarkdown /> displays it correctly.
Actual result
The AST contains a single object of type invalid_markdown, with the whole of the rich-text field as its value.
Tinacms Package Versions

├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

Thanks for the report @L-A I am assuming this is related to #3334. Taking a look now.
cc @jeffsee55

@L-A It looks like this Syntax should work ![My image](http://placekitten.com/200/300 "https://example.com/"). We will look at a fix for the other one ASAP. Sorry for the inconvenience in the mean time.

@logan-anderson did you folks have some time to look at it? Just wondering if it's likely to be fixed soon-ish :)

Perfect, thanks! Hope the conf was both good and fun :)

@jipiboily This will be fixed in the next release

Perfect; thanks!


Implementation: Task Sets

Add support for ECS *_task_set endpoints for support of CODE_DEPLOY and EXTERNAL ECS service deploymentController.
Endpoints include:

create_task_set
describe_task_sets
update_task_set
delete_task_set
update_service_primary_task_set

This implementation requires fixing a bug with moto ECS create_service which incorrectly assumes taskDefinition is a required attribute to support task set taskDefinition properly.

This is now part of moto >= 1.3.15.dev979


Align definePackage behavior with JRE modular classloaders

This is an obvious breaking change
SJH will currently "manually" definePackage every package it comes across. The revised Javadoc for definePackage says this is discouraged, and the JRE itself does not do this.
This leads to a discrepancy between SJH and platform modular loaders which prevents us from using them, currently. (As a consequence we cannot put FML or ML directly onto the JRE module path).
A version of SJH with this change will no longer return the implementation version and specification version of packages, and calls to Package#isCompatibleWith will not work.

Do we know why this is discouraged by the JDK?

Was the use of the package in fabric mixin fixed?


Remove Pete Muir's credentials from CICO

This PR changes the following things

Replace Pete's NPM token with fabric8cd's NPM token
Replace Pete's Github token with fabric8cd's Github token

This PR depends on https://gitlab.cee.redhat.com/dtsd/housekeeping/issues/1721
Please merge only after https://gitlab.cee.redhat.com/dtsd/housekeeping/issues/1721 is resolved.

looks good to me, let me know when you are around and we can merge, test , delete creds as needed

a9450b57-2492-4c47-9bd1-cabf87f74bb1 deleted from cico

@kbsingh Thank you

f8f7db1d-87c8-4f64-bae7-584142e44f8e also removed

I can confirm the new tokens are working fine. The planner master build https://ci.centos.org/view/Devtools/job/devtools-fabric8-planner-npm-publish-build-master/50/console was successful.


Fix for ticket #252

There is already a fix (SHA: 0b34a67) by fzaninotto for the above ticket, but it does not care about custom migration table names. This PR fixes this issue.

@fzaninotto agreed?

You may write a unit test by the way..

I don't see why it's in relation with #252. It's a fix for another problem. But it seems valid.

@fzaninotto But before your change on #252 it was not relevant for this part. :)

@tbpro thank you. Can you port this patch on Propel2 too?


Ghostfolio - fix redis host name in docker-compose.yml

I noticed that the configuration for redis is not correct which results in problems in the functioning of the application by not connecting to the redis server

Thank you for fixing it!


STO-faq

STO-faq
Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: STO-faq

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[X] Successful preview build.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66a29e6b62b39d917f495031--harness-developer.netlify.app

This pull request has been automatically closed due to 30 days of inactivity. If you believe this was done in error, please feel free to reopen the PR or reach out to the BT team for further assistance. Thank you for your contributions!


Discuss: extend schemas for context

Defining schemas for parameters communicate with the platform availability of features and knobs. In some cases, certain context items could be deemed mandatory for the broker, like platform_id, etc. Having these requirements in the schema can be useful?
Because context schemas do not exist in the spec as is (only extended to parameters), I wonder what people think of extending this?
Thanks

@lyubo1 Just so I understand are you talking about allowing schemas for https://github.com/openservicebrokerapi/servicebroker/blob/master/profile.md ?
Is the idea that the broker could use the schema to inform platforms what context data it requires? Do you imagine the platform would change it's behaviour based on the schema?

Yes, I was referring to the Context Object.

Is the idea that the broker could use the schema to inform platforms what context data it requires?

Something like that yes. Though if more deterministic context is required it can be established through parameters. In the case of a single broker implementation which caters to different platforms, it could be useful for the broker to advertise what is absolutely necessary.
In turn it could be useful for the platform to know this and adjust, providing a more self-service approach rather than tight coupling between platform/broker.
I keep on going back and forth between lose schema or no schema.

In our brokers, we added an array field supported_platforms to the plan meta data, which indicates where this plan can be used. The Service Manager makes sure that the plan is only visible to platforms of these types.
The brokers can then assume that the context object contains what is documented in the profile document (or elsewhere).
I think, just making sure that a field like platform_id is part of the context object is not sufficient. The semantics are important too and cannot be expressed with a schema.

Thanks Florian, yea that's one way of doing it. We use Broker instances to which we can eventually tie service offerings and plan.


[Enhancement] Take the "name" property of Dubbo Config as Spring Bean If its "id" property is blank[Enhancement] Take the "name" property of Dubbo Config as Spring Bean If its "id" property is blank

Codecov Report

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

@@             Coverage Diff              @@
##             master    #6063      +/-   ##
============================================
- Coverage     61.14%   61.12%   -0.03%
- Complexity      491      492       +1
============================================
  Files           991      991
  Lines         39597    39597
  Branches       5719     5719
============================================
- Hits          24213    24204       -9
- Misses        12698    12709      +11
+ Partials       2686     2684       -2

Impacted Files
Coverage Δ
Complexity Δ

...ache/dubbo/remoting/transport/AbstractChannel.java
75.00% <0.00%> (-12.50%)
0.00% <0.00%> (ø%)

...pache/dubbo/remoting/transport/AbstractServer.java
53.75% <0.00%> (-3.75%)
0.00% <0.00%> (ø%)

...pache/dubbo/registry/support/AbstractRegistry.java
78.06% <0.00%> (-2.98%)
0.00% <0.00%> (ø%)

...g/apache/dubbo/registry/consul/ConsulRegistry.java
62.11% <0.00%> (-0.63%)
30.00% <0.00%> (ø%)

...rg/apache/dubbo/common/timer/HashedWheelTimer.java
63.10% <0.00%> (-0.35%)
0.00% <0.00%> (ø%)

.../apache/dubbo/config/bootstrap/DubboBootstrap.java
52.73% <0.00%> (+0.18%)
0.00% <0.00%> (ø%)

...a/org/apache/dubbo/monitor/dubbo/DubboMonitor.java
89.52% <0.00%> (+0.95%)
17.00% <0.00%> (+1.00%)

...mmon/threadpool/support/AbortPolicyWithReport.java
90.00% <0.00%> (+5.00%)
0.00% <0.00%> (ø%)

...rg/apache/dubbo/remoting/utils/PayloadDropper.java
38.46% <0.00%> (+7.69%)
0.00% <0.00%> (ø%)

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 9769a1d...e54eee9. Read the comment docs.


fix(i18n): add intl support to request expiry label

Description:
Add intl support to invoice expiry label

How Has This Been Tested?
Manually

Types of changes:
Bugfix

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 20.131% when pulling 5bc78227cb5e3377a22bda26c7103df9d807931e on korhaliv:fix/request-expiry into 705068904d73e9befc043f7923d7b1126d9879e1 on LN-Zap:master.


nightly wheels fail to upload

There is still a small issue in the nightly wheel building. it seems that the nightly tag is not properly set and so the built packages, while valid don't have the correct name to be uploaded:
The issue is most likely here:
https://github.com/BlueBrain/nmodl/blob/6c85112faa07e5a7dba252715534eb4d1051960f/azure-pipelines.yml#L147
and here:
https://github.com/BlueBrain/nmodl/blob/6c85112faa07e5a7dba252715534eb4d1051960f/azure-pipelines.yml#L207

@ohm314 : I thought this was fixed with your last changes.

just a naiive question (probably): shouldn't it be
${buildWheel}==true


NECO-63: Added an installation method with CococaPods.

Changes

README.md

Added an installation method with CococaPods.
Modified the existing installation method for "submodule".
Changed headlines to adjust the changes above.
Added a new part "Dependencies" to put a link to Auth Swift, referring AlamofireImage.
Fixed some grammatical mistakes.

MediaStorageSample/README.md

Combined Setup and Using the Sample.
Modified the existing installation method for "submodule".

How It Looks Like

README.md
MediaStorageSample/README.md

Tests

Tested all the links which were newly added or modified.

I cannot close https://github.com/okunoyuki/media-storage-swift/pull/1, and I created this pull request.

I reviewed all the changes and didn't find any problems.
So, I'm going to merge this pull request.


RuntimeError: Could not find libmono

The problem
Using python 3.9 and stock-indicators v0.8.1, installed using pip on Ubuntu 20.04, I get
Error message(s):
RuntimeError: Could not find libmono

The problem seems to originate from pythonnet (pip automatically installs v3.0.0a1 for me). Traceback below.
To Reproduce
Simply using import statements such as import stock_indicators or from stock_indicators.indicators.common.quote import Quote
Full traceback:
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [1], in <cell line: 1>()
----> 1 import stock_indicators

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/stock_indicators/__init__.py:17, in <module>
      1 """
      2 Stock Indicators for Python
      3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
   (...)
     14 library. A Stock Indicators for .NET is also available.
     15 """
---> 17 from stock_indicators import indicators
     18 from stock_indicators.indicators.common import *

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/stock_indicators/indicators/__init__.py:3, in <module>
      1 """All available APIs for calculating indicators."""
----> 3 from stock_indicators import _cslib
      5 from .adl import (get_adl)
      6 from .adx import (get_adx)

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/stock_indicators/_cslib/__init__.py:12, in <module>
      1 """
      2 Skender.Stock.Indicators
      3 ~~~~~~~~~~~~~~~~~~~~~~~~
   (...)
      8 It is currently using `.NET Standard 2.1`.
      9 """
     11 import os
---> 12 import clr
     14 skender_stock_indicators_dll_path = os.path.join(
     15     os.path.dirname(__file__),
     16     "lib/Skender.Stock.Indicators.dll"
     17 )
     18 clr.AddReference(skender_stock_indicators_dll_path)

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/clr.py:6, in <module>
      1 """
      2 Legacy Python.NET loader for backwards compatibility
      3 """
      5 from pythonnet import load
----> 6 load()

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/pythonnet/__init__.py:36, in load()
     31 from os.path import join, dirname
     33 if _RUNTIME is None:
     34     # TODO: Warn, in the future the runtime must be set explicitly, either
     35     # as a config/env variable or via set_runtime
---> 36     set_default_runtime()
     38 dll_path = join(dirname(__file__), "runtime", "Python.Runtime.dll")
     40 _LOADER_ASSEMBLY = _RUNTIME.get_assembly(dll_path)

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/pythonnet/__init__.py:22, in set_default_runtime()
     20     set_runtime(clr_loader.get_netfx())
     21 else:
---> 22     set_runtime(clr_loader.get_mono())

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/clr_loader/__init__.py:21, in get_mono(domain, config_file, global_config_file, libmono, sgen, debug, jit_options)
     18 from .mono import Mono
     20 if libmono is None:
---> 21     libmono = find_libmono(sgen)
     23 impl = Mono(
     24     domain=domain,
     25     debug=debug,
   (...)
     29     libmono=libmono,
     30 )
     31 return Runtime(impl)

File ~/miniconda3/envs/trading/lib/python3.9/site-packages/clr_loader/util/find.py:67, in find_libmono(sgen)
     64     path = find_library(unix_name)
     66 if path is None:
---> 67     raise RuntimeError("Could not find libmono")
     69 return path

RuntimeError: Could not find libmono

@sensharma Thank you for detail report.
To use our library, make sure that you have CLR runtime on your machine.
You can download from here:

https://dotnet.microsoft.com/en-us/download/dotnet

@LeeDongGeon1996 Hi, I first installed the ASP.NET runtime as per instructions here, following from the link you provided. When that did not work, I installed the full .NET sdk. Also tried uninstalling and re-installing stock-indicators after installing the runtime and sdk. But I keep getting the same error. What am I missing? Thanks.
Current dotnet --info output below
.NET SDK (reflecting any global.json):
 Version:   6.0.400
 Commit:    7771abd614

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  20.04
 OS Platform: Linux
 RID:         ubuntu.20.04-x64
 Base Path:   /usr/share/dotnet/sdk/6.0.400/

global.json file:
  Not found

Host:
  Version:      6.0.8
  Architecture: x64
  Commit:       55fb7ef977

.NET SDKs installed:
  6.0.400 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Download .NET:
  https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs:
  https://aka.ms/dotnet/runtimes-sdk-info

Ok, I have managed to sort this issue out by installing pythonnet separately using conda as mentioned here, before installing stock-indicators using pip.
This automatically installs mono within the virtual environment. No .NET runtime/sdk required separately. pip dependencies, either for stock-indicators or pythonnet, are not properly defined.
This step should definitely find mention in Installation and setup.
Closing this issue.


Output on every CLI command

Every command on CLI outputs the same weird text:

This is related to running node6.2.2.
Node 6.3 was released yesterday which fixes this issue.

SInce this issue does seem to be fixed in Node 6.3 i will be closing this issue. Thanks for using Ionic!


bug:

Provide environment information
System:
OS: macOS 14.1.2
CPU: (8) arm64 Apple M1 Pro
Memory: 112.47 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.16.1 - ~/.nvm/versions/node/v18.16.1/bin/node
Yarn: 1.22.21 - ~/.nvm/versions/node/v18.16.1/bin/yarn
npm: 9.5.1 - ~/.nvm/versions/node/v18.16.1/bin/npm
pnpm: 8.15.1 - ~/.nvm/versions/node/v18.16.1/bin/pnpm
Browsers:
Chrome: 121.0.6167.139
Safari: 17.1.2
npmPackages:
@ts-ghost/admin-api: ^4.0.0 => 4.0.0
typescript: ^5.3.2 => 5.3.2
Describe the bug
const response = await this.tsAdminApi.posts.add(
  {
    title: 'some title',
    lexical: contentLexical,
    visibility: 'public',
    meta_title: 'meta title',
    feature_image: featuredImageUrl,
    tags: postTags,
    meta_description: 'blab blab',
    codeinjection_head: '<script>...</script>',
  }
);

The above code can create a post with proper title,  lexical, meta_title, visibility, tags, feature_image but not populating meta_description and codeinjection_head.
Target Ghost Blog version
v5.74
To reproduce

Run the above code
Check the created Ghost post
Verified the meta_description and codeinjection_head are not populated

Additional information
No response
👨👧👦 Contributing

[ ] 🙋♂ Yes, I'd be down to file a PR fixing this bug!

Never mind. It's my code change not going through in live reload...


Removal of user Pooja Rani

PR for removing user<EMAIL_ADDRESS>as the user has left Red Hat.
This includes her role as a maintainer, reviewer and approver.

/label tide/merge-method-squash

/lgtm


Parsing of float as datetime changes depending on the deprecation warnings handling setting

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
The result of parsing a float value into a datetime field appears to depend on the setting of -W flag for the python interpreter. Here is some explanation:

validate_datetime method uses extract_i64 which itself relies on PyLong_AsLong method
In case the underlying object is not an integer but can be implicitly casted to int (such as with float), the return value depends on the return value of PyErr_WarnFormat function.

This peculiar bug conveniently avoids being detected by automated tests, because most of those do run under -Werror.
Example Code
from pydantic import BaseModel
from datetime import datetime

class TestModel(BaseModel):
    dt: datetime

# With `python -Werror`: datetime(2017, 5, 5, 19, 27, 24, 883309)
# With `python -Walways`: datetime(2017, 5, 5, 19, 27, 24) <- without microseconds
# Also shows the following warning:
#  DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
print(TestModel(dt=1_494_012_444.883_309))

Python, Pydantic & OS Version
pydantic version: 2.6.4
        pydantic-core version: 2.16.3
          pydantic-core build: profile=release pgo=true
                 install path: <redacted>
               python version: 3.9.5 (default, Nov 23 2021, 15:27:38)  [GCC 9.3.0]
                     platform: Linux-5.15.0-91-generic-x86_64-with-glibc2.31
             related packages: typing_extensions-4.10.0
                       commit: unknown

Also I don't know whether it's related but handling of floats as strings for input is also a bit awkward:
print(TestModel(dt="1494012444.883309"))
# dt=datetime.datetime(2017, 5, 5, 19, 27, 24, 883309, tzinfo=TzInfo(UTC))

print(TestModel(dt="1494012444883.309"))
# dt=datetime.datetime(2017, 5, 5, 19, 27, 25, 192082, tzinfo=TzInfo(UTC))
# Loss of precision?

Thanks @Dlougach for reporting. This could perhaps be related to https://github.com/PyO3/pyo3/pull/3742 cc @davidhewitt


Character encoding does not support chinese character in Email function

superset==0.15.4
Character encoding does not support chinese character in Email function...

@asdf2014 I am not sure what is wrong. What do you expect to see in that screenshot?


Disk space can' be free !

Hi  !
After  i  deleted the big file in WSL2  ,  the free space of C-disk  in Win10  had no change !
My  C-disk in Win10  is  now in danger of data corruption ,  how  deal with it ? Thanks !

That's because WSL2 uses a VHDX that needs to be shrunk manually.
See https://github.com/microsoft/WSL/issues/4699#issuecomment-635332770

/dupe #4699


Stop-limit order not working properly

Whenever I try to place a stop-limit order using:
_**client = Client(api_key="key", api_secret="secret")
client.futures_create_order(**dict(
symbol="BTCUSDT",
quantity=0.02,
stopPrice=50000,  # As of writing this the price of BTC is ≈51000
price=40000,
side="BUY",
positionSide="LONG",
type="STOP",
timeInForce="GTC,
newOrderRespType="FULL"
))
**_
I get the following error:
Traceback (most recent call last):
File "/Users/yamansirajaldeen/Documents/Gismo_0/OrderPlacer.py", line 117, in
print(client.open_long_stop_limit("BTC", 0.02, stopPrice=50000, price=40000))
File "/Users/yamansirajaldeen/Documents/Gismo_0/OrderPlacer.py", line 98, in open_long_stop_limit
result: dict = self.futures_create_order(**dict(
File "/usr/local/lib/python3.9/site-packages/binance/client.py", line 5852, in futures_create_order
return self._request_futures_api('post', 'order', True, data=params)
File "/usr/local/lib/python3.9/site-packages/binance/client.py", line 339, in _request_futures_api
return self._request(method, uri, signed, True, **kwargs)
File "/usr/local/lib/python3.9/site-packages/binance/client.py", line 315, in _request
return self._handle_response(self.response)
File "/usr/local/lib/python3.9/site-packages/binance/client.py", line 324, in _handle_response
raise BinanceAPIException(response, response.status_code, response.text)
binance.exceptions.BinanceAPIException: APIError(code=-2021): Order would immediately trigger.
However, when I enter the same order on the application manually it works:

`from binance.futures import Futures
client = Futures()
api_key = "xxxx"
api_secret ="xxx"
pairs = "LTCUSDT"
quentity = 0.5
client = Futures(key=api_key, secret=api_secret)
order = client.new_order
current_price = 150.01
stop_price = 145.01
take_profit_price = 155.01
#stop market
params = {
"symbol": pairs,
"side": "SELL",
"type": "STOP_MARKET",
"quantity": quentity,
"timeInForce": "GTC",
"stopPrice":stop_price,
"closePosition":"STOP_MARKET "
}
response = order(**params)
print(response)
#stop LIMIT
params = {
"symbol": pairs,
"side": "SELL",
"price": stop_price,
"type": "STOP",
"quantity": quentity,
"timeInForce": "GTC",
"stopPrice":stop_price,
"closePosition":"STOP_MARKET "
}
response = order(**params)
print(response)
#TAKE PROFIT MARKEY
params = {
"symbol": pairs,
"side": "SELL",
"price": 150,
"type": "TAKE_PROFIT_MARKET",
"quantity": quentity,
"timeInForce": "GTC",
"stopPrice":take_profit_price,
"closePosition":"TAKE_PROFIT_MARKET "

}
response = order(**params)
print(response)
#TAKE PROFITE LIMIT
params = {
"symbol": pairs,
"side": "SELL",
"price": take_profit_price,
"type": "TAKE_PROFIT",
"quantity": quentity,
"timeInForce": "GTC",
"stopPrice":take_profit_price,
"closePosition":"TAKE_PROFIT"
}
response = order(**params)
print(response)
`

this is not an issue of the library/


Action failures don't reset the FSM state to its source state.

The FSM transition occurs regardless of the outcome of 'actions'. This will let the Since the only link between FSM framework & application logic is 'State', it is desired to reset the state of the FSM to its source state in the event of action triggered by transition throws Exception.
Any thoughts?

I purposely don't do this since Actions are side effects.  The only thing that effects the State is the event.  The correct way to deal with "rollbacks" is to model it.  So, the event that kicks off the Actions should put the state into a "pending" state.  At the end of the Action, the Action should emit an "Action Successful" event which would transition into a "success" state.  If there is a failure, the Action should emit "Action Failed" event which would transition the State back to the previous state.

Thanks for the response. I have a different view here. Cause & Effect are the heart of event model. Undoubtedly, the event must trigger the transition. But the action must complete the transition.
The side effects of above-suggested model are -

We end up creating many pseudo states. In fact every state is now divided into 2. Does not sound good from the readability point of view.

The action code is overwhelmed with re-initiating the events. Kind of clumsy. I want my action to focus just on core business logic.. not FSM logic.

It would be nice the if the framework creates such pseudo states and takes intelligence decision to either rollback / forward based on the action's outcome.
What do you say?

@developer-x, @nepolean came up with some good suggestion that statefulj should take it into consideration. in real world,
it's not suggested that pending state should be raised and persisted so that each state transition would first lead to pending state.

StatefulJ is an event driven state machine.  As such, only events determine state transitions.
More practically, StatefulJ was written so that transitions occur atomically within a database or repository.  This leverages the database's concurrency mechanism.  If we were to do what you suggest, we'd have to hold open a transaction while an action is occurring, committing only on success.  Not only is holding open long running transactions problematic - but databases like Mongo don't offer transaction support - only atomic updates.
If you suggest we don't only open a transaction but reset the state on failure, then you've introduced a concurrency issue.  What happens when thread-1 transitions to StateA to StateB then invokes an Action1.  While Action1 is executing, thread-2 transitions from StateB to StateC.  Then Action1 fails.  What should we do in this instance?  Should we reset back to StateA?  Should we leave it alone?
So as you can see, the only solution to handle to rollbacks is to model it via the State Model.


v4 is coming

@Contributors
@elisherer @hansoksendahl @vanthiyathevan @klassicd @FlorianRappl @jgbright @mottox2 @emilioicai @callumlocke @chrismcleod
I've started to rewrite react-waterfall from scratch here https://github.com/didierfranc/react-waterfall/tree/master, in order to make the code cleaner, splited and with a better flow type coverage to facilitate contributions and comprehension.
Some questions

Is <Consumer /> really useful ? I'm not using it in my projects, I prefer connect, should we keep it ?
We used to access actions from two way: store.actions or directly from the consumer/connect props/arguments. In the current v4 draft you can only connect the state, and actions are available through store.actions only.

I believe if we make API even simpler, with only one way to do something it could be better.

1- drop Component.
2- seems right.

Hi @didierfranc - thanks for initiating the discussion.

Fully agree, we do the same.
We have some use-case for also exporting actions even though it could be also solved within a component. Overall, I feel that having the ability to export actions gives more flexibility (hence I guess the initial design). Either way works. Personally, I would leave this part as it is.

Thanks for this wonderful abstraction!

I love the fact that you can export actions; it also allows us to call actions within actions.

I tried to connect a little part of redux devtools to react-waterfall only during dev https://github.com/didierfranc/react-waterfall/commit/7a8455bff69149bad4174faeb135fdcbd80b4b1c#diff-dd92fe9d8fb8e8088bb0eaae3244cce2

One feature that would be nice is to pass part of initial state to Provider as prop.

Current WIP on master seems good for me, I'm waiting for more feedback before releasing it. Thanks all !

Don't know if it's possible, but could there be a way to get a promise when calling an async action?

I think it will be easy to implement it do you have usecase example ?

For example waiting for an action to finish before changing views with a navigator? Is this a good use case?

I run into a similar use case a lot.
To insure an action completed successfully, you have to connect the store variable that was  modified and use getDerivedStateFromProps to watch for changes and then take action (e.g. Redirect).  This is strange as many of my actions simply update a catch all message in the store which displays a snackbar confirmation.  I have to overcomplicate the store design by tracking individual entities that have been updated to properly redirect/close components.
Being able to await an action is interesting way to tackle this, although I'm not sure what the promise would return as it's value?  Would it return the modified state or just resolve/reject undefined?

Using getDerivedStateFromProps is definitely a good idea, but forces us to connect everything that must use actions.
I would vote to simply resolve.

Hey @didierfranc , just wanted to mention that new developments should rather not be done on master directly, this is confusing for newcomers like me, as it looks like I have to use the v3 branch to be able to consult the doc/code/examples I need to.

sure, will try it

I published a new beta don't hesitate to try it ;)

Where I can view migration notes? After upgrade to 4 version and change initStore to createStore I have not understandable eror: Uncaught TypeError: Invalid attempt to spread non-iterable instance

https://github.com/didierfranc/react-waterfall#basics your config store shape is probably wrong

@kirsantov It seems that now you need to list your middleware in an array in createStore. Otherwise it throws the same error for me
createStore( store, [myCustomMiddleware] )

store/

index.js
`import createStore from 'react-waterfall';
import reduxDevTools from 'react-waterfall-redux-devtools-middleware';
import RealAPI from '../api/RealAPI';
import config from '../config';

import initialState from './state';
import actionsCreators from './actions';
export const api = new RealAPI(config.apiUrl);
const store = {
initialState,
actionsCreators,
};
export const {
Provider, connect, actions,
} = (config.DEV) ?
createStore(store, reduxDevTools()) :
createStore(store);`
state.js:
export default {   userTimeZone: '',   mobileScreen: 1,   showTransactionDetail: null,   order: {     id: null,     redirect: null,   },  ... };
actions.js:
export default {   increment: ({ count }) => ({ count: count + 1 }),   setLang: ({ lang }, language) => ({     lang: language,   }), ... };
index.jsx
`
...
import { Provider, connect, actions, api } from './store';
...
let Application = ({ lang }) => {
let locale;
switch (lang) {
case 'ru':
case 'ua':
locale = 'ru';
break;
default:
locale = 'en';
}
return (

);
};
Application = connect(state => ({ lang: state.lang }))(Application);
ReactDOM.render(

,
document.getElementById('root'),
);
`
Where I did mistake?

@uxzc it works

BTW you don't need redux devtools anymore it's included by default https://github.com/didierfranc/react-waterfall#devtools

Another yet error:
let Inputer = (props) => {
  console.log(props);
  const { intl, purchaseForm } = props;
  const { changePurchaseForm, checkWalletAddr } = props.actions;
  return (
...
    <input
          value={purchaseForm.walletAddress}
          onChange={({ target: { value } }) => changePurchaseForm('walletAddress', value)}
          onBlur={() => checkWalletAddr()}
          onKeyUp={() => checkWalletAddr()}
          onPaste={({ clipboardData }) => checkWalletAddr(clipboardData)}
        />
...
  );
};

Inputer = compose(
  injectIntl,
  connect(state => ({
    lang: state.lang,
    purchaseForm: state.purchaseForm,
  })),
)(Inputer);

Uncaught TypeError: Cannot destructure property changePurchaseForm of 'undefined'
and in console.log(props) no actions in props

Open new issues if you encounter any problem, fyi actions have been removed from props


Add eth_getBlockTransactionCountByNumber

Description
Added https://eth.wiki/json-rpc/API#eth_getblocktransactioncountbynumber
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Breaking changes
Please complete this section if any breaking changes have been made, otherwise delete it
Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have tested this code
[ ] I have updated the README and other relevant documents (guides...)
[ ] I have added sufficient documentation both in code, as well as in the READMEs

Additional comments
Please post additional comments in this section if you have them, otherwise delete it

@Kourin1996 Is it possible to support the pending block parameter? I notice this is not supported but part of the spec
https://eth.wiki/json-rpc/API#the-default-block-parameter
I assume pending in this context actually means blocks that aren't yet mined?

@Kourin1996 Is it possible to support the pending block parameter? I notice this is not supported but part of the spec
https://eth.wiki/json-rpc/API#the-default-block-parameter
I assume pending in this context actually means blocks that aren't yet mined?

Hello, @mrwillis. Thank you for your suggestions! I think so, pending means a block which is created but not completed mining yet.
We're starting discussion about this. And we can do this task in different PR.

@Kourin1996 Is it possible to support the pending block parameter? I notice this is not supported but part of the spec
https://eth.wiki/json-rpc/API#the-default-block-parameter
I assume pending in this context actually means blocks that aren't yet mined?

Hello, @mrwillis. Thank you for your suggestions! I think so, pending means a block which is created but not completed mining yet. In IBFT, there is no such block. (But there is a block which has been produced but not confirmed)
We're starting discussion about this. And we can do this task in different PR.

Thanks @Kourin1996! Sounds good.

@Kourin1996 Is it possible to support the pending block parameter? I notice this is not supported but part of the spec
https://eth.wiki/json-rpc/API#the-default-block-parameter
I assume pending in this context actually means blocks that aren't yet mined?

Hey @mrwillis,
Currently we don't have any support for pending or I think earliest. Would this be something that you'd need soon?

Hey @zivkovicmilos, so I only ask for this as it seems to be used by block explorers to see the transactions in the "pending" block


bump argocd-2.1.16

Codecov Report

Merging #198 (ce49e27) into main (1306109) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #198   +/-   ##
=======================================
  Coverage   24.86%   24.86%
=======================================
  Files           1        1
  Lines         189      189
=======================================
  Hits           47       47
  Misses        136      136
  Partials        6        6

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 1306109...ce49e27. Read the comment docs.


Update zio-sbt-ci, zio-sbt-ecosystem, ... to 0.4.0-alpha.23

About this PR
📦 Updates

dev.zio:zio-sbt-ci
dev.zio:zio-sbt-ecosystem
dev.zio:zio-sbt-website

from 0.4.0-alpha.6+40-c57e764c-SNAPSHOT to 0.4.0-alpha.23
📜 GitHub Release Notes
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: sbt-plugin-update, early-semver-pre-release, semver-spec-pre-release, commit-count:1

Superseded by #279.


how to achieve nested filters query?

Friends.scan({
or: [
{and: [{userRef: {eq: {id: param.user}}, friend: {eq: {id: param.friend}}}]},
{and:[{userRef: {eq: {id: param.friend}}, friend: {eq: {id: param.user}}}]}
]
}
Example.

Currently, this isn't supported in Dynamooose.  While DynamoDB does support this logic, it requires the use of a FilterExpression:
http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html#DDB-Scan-request-FilterExpression
Dynamoose uses the legacy ScanFilter which doesn't support nesting:
http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html#DDB-Scan-request-ScanFilter
This is something I would like to implement int he future, but haven't had the time to do.
See #65

thanks @brandongoode

Hi all
I think it would be a nice idea for now that dynamoose allows raw filter in scan i.e. Model.scan(filter, options, callback) where a new option useRawAwsFilter could be added, so that we could use what is currently supported in aws-sdk.
const filter = {
  TableName: 'TestTable',
  FilterExpression: 'test.title = :title',
  ExpressionAttributeValues: {
    ':title': 'dynamotest'
  }
};
TestTable.scan(filter,{ 'useRawAwsFilter': true }).exec().then(...).catch(...)

I would like to try to fork one to see how it goes.
Regards
Hans

@lrcry That great.  I was thinking about this some over the past week and wanted to share my thoughts.
I don't think the useRawAwsFilter flag is needed. We could just assume if the filterExpression option is present then it should take priority.  We need to make sure to account for attribute names.  Also, in addition to passing in a filter option, I think having the scan building function too would be great.
Something like this:
GameResults
  .scan()
  .filterExpression('#s > :score')
  .expressionAttributeValues({ score : 100 })
  .expressionAttributeNames({ s : 'score'})

or
GameResults
  .scan({
    filterExpression: '#s > :score',
    expressionAttributeValues: { score : 100 },
    expressionAttributeNames: { s : 'score'}
  })

@brandongoode  This syntax you suggested seems similar to this. BTW I got the one I raised implemented just now.
Just wondering if it is enough for now as I can see that quite a few people need the nested scan.

Yes, it is very similar.  A few minor differences around name and value definition.  My goal is to have it align the current implementation of conditions (really just filter expressions) in .save - https://dynamoosejs.com/api#modelputoptions-callback--modelsaveoptions-callback.
I try to make sure all query and scans can be build using and object or the helper function.
Please go ahead and submit the PR for review.  The functions can be added later.

@lrcry I'm looking forward to this... thanks for the effort!

@lrcry Do you know when you plan to have this PR ready.  I'm planning to release 0.8 sometime over the next week.  I would like to include this in that release if you think it will be ready.

@brandongoode @jderose9 I'm still tackling with some problem over there. Trying to get it in v0.8. Thanks

#158
I've opened a PR here. Please feel free to tell me your thoughts.
Cheers ;)

Closes by #158


Fix TZ cache exception blocking import

Hopefully fix TZ cache exception blocking import #1700
The Singleton pattern makes unit testing this tricky, so can someone affected try branch? @rickturner2001
Also:

relocate cache init lock
add test for setTzCacheLocation()

Just tested the code on a readonly docker container and it works just fine. I wanted to ask you bout _TzCacheDummy
since the tz cache is registered by _get_ticker_tz in base.py, what made you want to initialize a cache with an instance of either _TzCache or _TzCache dummy instead of simply returning the tz value in the evnet  that we don't have r/w access
what made you want to crate the Dummy class instead of doing something like this?
 def _get_ticker_tz(self, proxy, timeout):
        if self._tz is not None:
            return self._tz

        # assume this exists
        has_rw_permissions = utils.can_rw_to_fs()

        tz = None
        cache = None

        if has_rw_permissions:
            cache = utils.get_tz_cache()
            tz = cache.lookup(self.ticker)

            if tz and not utils.is_valid_timezone(tz):
                # Clear from cache and force re-fetch
                cache.store(self.ticker, None)
                tz = None

        if tz is None:
            tz = self._fetch_ticker_tz(proxy, timeout)

            if utils.is_valid_timezone(tz):
                # info fetch is relatively slow so cache timezone
                if has_rw_permissions:
                    cache.store(self.ticker, tz)
            else:
                tz = None

        self._tz = tz
        return tz

I think maybe the class makes it easier to test, but maybe you can shed some light on this. Thanks

I didn't implement the sqlite architecture so couldn't answer. The person that did, seemed to know more about Python engineering than me so I didn't question design, but they aren't active anymore.
First implementation - #1105
_TzCacheDummy - #1113
If I had to guess, maybe it's to avoid checking filesystem (can_rw_to_fs) every time need timezone. I believe the Python philosophy is, just try and catch exceptions, instead of meticulous if-else https://stackoverflow.com/a/7604717

is anyone still working on this?

I half forgot, half wasn't sure if you wanted changes.


Fix strerror_r on some esoteric platforms

Defining _XOPEN_SOURCE=1 causes strange behavior on Debian kfreebsd archs -- i.e. the GNU userspace with FreeBSD kernel -- when _GNU_SOURCE is not defined (the default).
Not sure I fully understand the bizarre semantics, but it seems to use the XSI-compliant interface (int strerror_r(int, char*, size_t)) but the GNU implementation (char strerror_r(int, char, size_t)) such that strerror_r returns 32-bits of a 64-bit char * on x86_64 kfreebsd. We would expect strerror_r to return zero when using the XSI-compliant strerror_r implementation or a 64-bit char* when using the GNU version. Instead, we get something in between!
Unless I'm missing something, being more explicit about what version of _XOPEN_SOURCE we want seems to be the prudent thing to do here -- and if folks want the GNU implementation of strerror_r for some reason they can always -D_GNU_SOURCE explicitly.

Seems to not break anything so far, not even Windows. I might test on a BSD machine again.

@badboy everything wind up looking okay RE: this and #379?

@not-a-robot r+

@badboy sorry to keep prodding, but looks like @not-a-robot never got around to this.

@not-a-robot r+

Now it did. Thanks for the bump.

awesome, thanks!


Avoid recompilation caused by variably shaped arrays?

I'm working with a function that computes a likelihood given a 1D array. The problem is that this array has variable length, and so the jit'ed function triggers recompilation when the length of this array changes, which happens frequently in my program, causing a significant hit in performance.
I know that there are various levels of abstraction, and see the existence of an Unshaped arrays in the docs: "JAX can also trace at higher levels of abstraction, like Unshaped, but that’s not currently the default for any transformation".
First, is it even possible with JAX to compile without declaring the shape a compile-time constant? Would using Unshaped arrays solve this? If so, how can I tell JAX to trace with this level of abstraction?
Thank you!

Another great question!
There are two separate issues here worth disentangling:

staging programs out of Python by trace-specializing, and
compiling those staged-out programs using XLA.

The levels of abstraction in JAX pertain to the former. It's true that JAX can trace-specialize at the Unshaped level, but semi-tangentially there's an interesting tradeoff between amount of abstraction and the restrictions required for Python code to be traceable. For example, we couldn't trace mean0 = lambda x: x.sum(0) / x.shape[0] at the Unshaped level, while if we specialize on shape that Python function is traceable. (We could trace lambda x: np.sin(np.cos(x)) at Unshaped just fine though.) There's a relationship to reverse-mode autodiff too: we can transpose lambda x: x.sum(0) specialized on shape, but not unshaped, because we need to know what size to broadcast to. (We could transpose lambda x: x * 5. though.) Just from the point of view of this tradeoff, it's been a nice sweet spot to specialize on shapes.
But you asked about compilation in particular. Let's set issue 1 aside (say we have a Python function that we can specialize and transform at the Unshaped level, like lambda x: np.sin(np.cos(x))). Once we have a staged-out program (i.e. a jaxpr) that is only specialized at the Unshaped level, could we compile one XLA program for it, and thus not have to recompile for different shapes?
The answer is no: XLA HLO programs include concrete shapes in their type system. That is, just for issue 2 and unrelated to issue 1, we'd need to specialize the staged-out Unshaped program on argument shapes to be able to generate an XLA HLO program for it, and we'd have to re-invoke the compiler for each new shape specialization. XLA has its own reasons for specializing on shape: for instance, shape-specialized programs can be statically memory allocated and layout-optimized, and decisions like whether to fuse certain operations or rematerialize intermediates depend entirely on the shapes/sizes involved.
You could say you're willing to give up on some of those shape-specialized optimization opportunities if it meant you didn't have to recompile as often. That makes sense! (In fact, on CPU and GPU we're used to not compile-time specializing on shapes for GEMM kernels, though they may be selected at runtime based on argument shapes.) People are exploring array-oriented compilers at those different points in the design space, and it's exciting stuff. I expect JAX will take advantage of these kinds of capabilities as they emerge, in XLA and/or related technologies in the MLIR world. But for now the best compiler (XLA) requires shape-specialized programs. (You could actually lower an Unshaped-specialized jaxpr to a TensorFlow program pretty effectively, though I'm not sure if the TF graph executor (aka interpreter) has the right performance characteristics you're looking for. Does it?)
But wait! We have a secret weapon here! JAX, transform!
One of the most exciting new JAX transformations is mask. It's a prototype that needs a few weeks more work, and of course it's totally undocumented as per our custom, but it can help us because mask can let us automatically implement shape-polymorphic semantics in shape-monomorphic programs. Here's what I mean:
import jax.numpy as np
from jax import jit, mask

def bucket_jit(f):
  compiled_f = jit(mask(f, ['n'], ''))
  def wrapped(x):
    amount = 128 - x.shape[0] % 128
    padded_x = np.pad(x, (0, amount))
    return compiled_f([padded_x], dict(n=x.shape[0]))
  return wrapped

@bucket_jit
def foo(x):
  print("recompiling!")  # actually retracing, but effectively correct
  return np.tanh(np.sum(x))

foo(np.arange(4))  # recompiling!
foo(np.arange(5))
foo(np.arange(6))
foo(np.arange(300))  # recompiling!

from jax import grad
grad(foo)(np.arange(3.))  # recompiling!
grad(foo)(np.arange(4.))
grad(foo)(np.arange(129.))  # recompiling!

I'm not sure I'd recommend you use mask quite yet, but this is one example of what it can do. (There's more! While we can do jit + mask to avoid recompilations, we can do vmap+mask to do ragged batching, e.g. for RNNs. We can also use the same machinery to do import-time shape checking of your code.) There are some examples in the tests.
We realized at one point that Unshaped (which doesn't specialize on any shape information or even rank) was way too big a leap away from Shaped to be useful. Instead, mask specializes on partial shape information, in particular on parametrically polymorphic dimensions (which can be concrete too: do as much specialization as you like).
The mask transform doesn't do anything you couldn't do by hand. That is, you can pad and mask things by hand so as to implement shape-polymorphic semantics in a shape-monomorphic way. But it's a big pain which scales badly with the complexity of the programs you want to handle. It's just like autodiff: sure you can write derivative code by hand, but it's much better to have an automatic, composable transformation do it for you.
Anyway, here's the short version of answers to your questions:

First, is it even possible with JAX to compile without declaring the shape a compile-time constant?

No, XLA HLO programs we compile must be shape-specialized, even though JAX can stage some programs out of Python based on less specialization.

Would using Unshaped arrays solve this?

No, because while it would avoid trace-specializing on shapes, we have no way to compile a single program with no shape specialization. (Forward-looking, it's probably better to specialize on some shape information, even if just parametric polymorphism.)

If so, how can I tell JAX to trace with this level of abstraction?

There's no user API for that, though if you want to fiddle with it for fun you can change make_jaxpr not to use xla.abstractify (which is effectively just lambda x: raise_to_shaped(core.get_aval(x))) and instead abstract to the Unshaped level (maybe like lambda x: Unshaped(core.get_aval(x).dtype)).
Hope that answers your question, though unfortunately I'm answering it in the negative. You could play with mask, but I suspect it might be tricky until we post at least minimal documentation, and even then we don't know whether it'll work well for your use case (are you on CPU or GPU?).
I'm going to close this issue on the hunch that this was enough of an answer, but please reopen (or open new ones) as needed. Questions are always welcome!

One more thing: if your function is reasonably self-contained, post it here and maybe we can use it as a motivating example for mask!

Hi Matt, thanks so much again for the incredible response (I also noticed you were an MIT grad student, I'm an MENG currently)!
This information cleared up a lot. mask seems like it'd be very useful for me (I am on CPU with lots of cores), so I'm excited for the documentation!
My function is not self-contained at all, but the work I am doing uses Reversible Jump MCMC, which allows inference when the number of model parameters is unknown (hence the constantly varying size of the array passed to the likelihood function!).
Once the chain has warmed up, there is a typical set where n (the number of parameters and the size of the array) hangs out. So, I was thinking of doing something hacky like having a pre-sampling step where I essentially jit many versions of the same function with various shapes. Of course this doesn't scale well, but it might help me out for my experiments. Does this sound reasonable? Does JAX already cache these different "versions" of the jited functions? Do you have a better idea?
Thank you again Matt!
(I reopened the issue as you suggested, but feel free to close as your answer was what I was looking for).

Does this sound reasonable? Does JAX already cache these different "versions" of the jited functions? Do you have a better idea?

Yes, that'll work; JAX indeed caches compiled versions of functions. In fact, I'd say this is the canonical way to do it. (Fancier tracing JIT compilers, like from JavaScript, have more fancy trace formation and management, but in JAX you're basically doing it manually and explicitly. The upside is fewer performance surprises and a simpler implementation.)
The way mask+jit works, with XLA seeing a shape-monomorphic program that happens to have padding and masking logic built into it, is great on SIMD-style accelerators like TPU and GPU, but not very smart on CPU. It'd be better if we could lower our shape polymorphic information to the compiler, and have it do something smart in a backend-dependent way. Unfortunately we don't have the right compiler tools for the job yet, though we're starting to advocate for compiler improvements like this. (XLA:CPU is actually the least developed backend, and in particular it has longer compile times and is less optimized than the GPU and especially TPU backends. It's still the best game in town that I know of, though.)
If you can afford doing all the compilation then that's the way to go for now. If you can't, you can use mask and shape bucketing to do less compilation, but that'll likely sacrifice some runtime performance (because the masking computations cost something). Other than that, we can all advocate for more array-oriented CPU compiler development!

(I also noticed you were an MIT grad student, I'm an MENG currently)!

That's right! It's great to have these little connections. I first met many of my present-day collaborators while I was there.

Makes sense! Thanks for all the help, I'm sure I'll be back!

One last question relevant to this thread: how "smart" is the JAX tracing?
What I mean is, say I have a highest-level sample method, that I can easily jit, whose arguments never change and so will never recompile. However, at each iteration, the sampler calls a likelihood function whose argument changes shape (described above), and will retrace often. Will this trigger a retracing of the entire sample method, or does JAX know to only recompile necessary parts?
The opposite example is also found in my code: the likelihood function essentially sums up the individual likelihoods likelihood_1 ... likelihood_n, and so the subfunction, i'll call single_likelihood, should never need to be recompiled, while the outer function will upon changing shape. Would JAX recompile everything here? (It's still worth compiling the outer function as we're summing up many matrices).
The performance impact may be insignificant, I'm not really sure! I guess what I'm asking is if I should write my code in a "smart" way to avoid unnecessary recompilation, or if it's as easy as calling jit at the highest level, and letting JAX handle the rest.

Hm, to check in detail it might be worth setting up a toy example (in a new issue, so it doesn't get missed). But in general JAX's jit is all-or-nothing: either all the computation under the jit-decorated function gets staged out and compiled into one XLA computation (for each set of input argument shapes), or it'll fail loudly. Sub-components don't get compiled separately.
So if you can jit a function, you don't have to worry about any recompilation underneath it.

@mattjj just curious, is the mask transformation documented somewhere that I can refer to? I am similarly facing the problem that one of my function arguments is dynamic in array shape, thus triggering recompilation. Hopefully mask could help!

It's not documented yet, but it will be when it's ready for any general use. I think it'll happen in 2020, but I have been wrong before...

@mattjj A follow-up question to the toy example given above. Suppose I have a function f that returns an array of dynamic size determined by one of the function argument indices which is a 1D int array. Effectively, the function would return foo[indices], where foo itself is an array to be sliced. Can I use mask for this purpose to avoid recompilation?

Yes that's part of the design, but no not in its current implementation. Of course, it's all vaporware and you shouldn't believe anything I say until you can actually use it :P
Here's a slide from a talk I gave on it last week. The middle two examples, under (2), are versions of exactly this use case.

Looks like this is happening very actively behind the scene, will definitely keep an eye out for upcoming updates.
For now I'll make the function return a constant size array (and knowing that only some of the array elements are getting updated by indices).

Bump - any updates on this?


[regression] debbugger not going to correct line in vscode

First of all, this is NOT the same as #484 (this one does NOT happen with v22 while #484 is reported for v22)

Issue

In vscode, the debugger won't go to correct line after upgrading to version 23 of ts-jest:

...while throwing an exception in tests will output the correct line:

Expected behavior

VSCode debug should stop at the line where debugger statement is, as it used to do with ts-jest version 22

Link to a minimal repo that reproduces this issue

huafu/issue-ts-jest-wrong-line

After cloning and opening in vscode, start the jest debug session, you'll see it's stopping totally on the wrong line.
yarn add --dev ts-jest@'<23' && yarn jest --clearCache, start again the debug session and you'll be on the right line

I'm getting the same thing. When I downgrade to ts-jest < 23 things seem to work.

I get a similar issue with IntelliJ. In IntelliJ debugging jest unit tests with ts-jest version 23.0.1 doesn't work. When I downgrade to ts-jest < 23 it works.

Same issue, too. After downgrade to ts-jest 22.4.6, it worked.

fixed in 23.1.2