Logging Abstraction Layer

Addressing Issue #5 by adding an internal Logging layer.
This defaults to NoOp logging but has an implementation of a Console logger to maintain the existing console logging functionality.
Expected usage is for users to implement ILog and LogManager for their specific logging solution. The LogManager and ILog interfaces are intentionally kept small so there's little to implement.
LogManager.Current needs to be assigned before using any of the framework. See the test console for example usage setting the Console logger.

I like the idea, but I think it would be far better to pull in the new common logging interfaces from .Net Core (that don't depend on .Net Core) as they advance - likely safe after RC2: https://www.nuget.org/packages/Microsoft.Extensions.Logging
Every module we have with their own logging interfaces simply doesn't scale - it creates more and more pain points and adapters. To maintain sanity, we need to standardized. I nudge Microsoft to clarify intent on the package, which they have done: https://github.com/aspnet/Logging/issues/349
@mgravell @gdalgas thoughts?

I understand the concern having a isolated internal logging abstraction and the associated setup work.
This was done because there was a lack of stable third-party logging abstraction layer. If there is one from Microsoft that we're relatively certain:

won't introduce breaking and/or conflicting changes
will be used by multiple libraries (so we get the benefits of scale)

then that is better than having an internally defined one.
Some background on why the internally defined layer was proposed:
We've used Common.Logging in the past as a "common" logging abstraction layer for our internal shared libraries (partially because many third-party libraries we use were already using it) but are now in the situation where some of our dependencies require C.L v2 and some v3. These are not able to run side-by-side so we have had to maintain our own forks of several libraries (internal and third-party) to standardize on v3. We've actually removed the hard C.L dependency on all of our internal libraries and are starting to look at contributing updates to our third-party dependencies.
Definitely want to investigate the Microsoft offering.

Looks like there are other opinions in favor of separate internal ILog implementations:
https://github.com/aspnet/Logging/issues/332#issuecomment-184636080
That said, the M.E.L conversion looks pretty straight forward (after updating to 4.5.1)

This abstraction was implemented by https://github.com/StackExchange/NetGain/commit/e43fbeaf7220e4cb4b74109f5aba9d3c2ccc026f


fix: convert number IDs to BigInt

Convert all number identifiers to BigInt.
Closes: #975

@moltar we'll have to cover all the ids right? keywordId, adgroupId etc.
Also while sending a request to amazon we can send them as a string (but not sure if all the APIs accept them as String).

Ya that's the hardest part is to feed them ints back. Not sure if the api will accept strings. Need to experiment. However, it should be still possible to use some custom serialization method to convert stringified ints to proper ints. Even if it means just using a regex to strip off " from string json.


Tailor with Express js

Is there any way to use Tailor with express?

@deepmy sure, in the simplest case tailor.requestHandler function takes standard nodejs.http objects which are available in express. Do you think of some more advance/concrete integration?

Indeed you can, you could simply do this
app.get('/*', tailor.requestHandler) // for all html pages


Train Multi-KANs simultaneously! Coding realization

Hey, guys. Now I have this problem, the structure is like following:
y_pred = KAN_1(X1)*f1(X1) + KAN_2(X2)*f2(X2) + KAN_3(X3)*f3(X3),f1,f2,f3 is all fixed and known functions, how can I train KAN_i，i=1,2,3 simultaneously?
I am wondering how can I realize this training process.

maybe you can use torch.distributed to train your different models in the multiprocess, and allreduce the results

#mlp is MLP class defined with torch.nn
mlp_p1 = mlp().to(device)
mlp_p2 = mlp().to(device)
mlp_p3 = mlp().to(device)
optimizer = torch.optim.Adam([
{'params': mlp_p1.parameters()},
{'params': mlp_p2.parameters()},
{'params': mlp_p3.parameters()}
], lr=learning_rate)
for epoch in range(epochs):
epoch_loss = 0.0
p1s = mlp_p1(inputs)
p2s = mlp_p2(inputs)
p3s = mlp_p3(inputs)
y_pred = p1sp1_coefs + p2sp2_coefs + p3s*p3_coefs
total_loss = CAL_loss(y_true,y_pred)
optimizer.zero_grad()
total_loss.backward()
optimizer.step()
This is how I do this task with MLPs. How shall I modify it to use KAN substitute mlps?


Fix temporary thread message disappear

Explanation of Change

Fix temporary thread message disappear
Fixed Issues

$ https://github.com/Expensify/App/issues/52146
PROPOSAL: https://github.com/Expensify/App/issues/52146#issuecomment-2500265986
Tests

Open any report
Send a message
Reply in thread
Click on parent report action and delete the message
Verify that the temporary thread doesn't disappear

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

Offline tests

None
QA Steps

// TODO: These must be filled out, or the issue title must include "[No QA]."

Open any report
Send a message
Reply in thread
Click on parent report action and delete the message
Verify that the temporary thread doesn't disappear

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

PR Author Checklist

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

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

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

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

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

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/71800c5f-5d31-46c2-ba7f-3f689694a609

Android: mWeb Chrome
https://github.com/user-attachments/assets/45941301-9de6-48ef-b29e-79f552203d13

iOS: Native
https://github.com/user-attachments/assets/c4869780-08be-4012-b766-cdc3d6398b41

iOS: mWeb Safari
https://github.com/user-attachments/assets/22165549-9677-48ec-ba3e-4c825a2d8478

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/fa5fc0a6-84c2-4068-99ae-c8914dd29a11

MacOS: Desktop
https://github.com/user-attachments/assets/8cd2a5f1-8901-49e0-9148-826ffdc723d0

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


Use enum instead of symbols for indexing

Some containers in Trixi.jl contain symbols, e.g. node_indices in P4estInterfaceContainer. Symbols are not isbits, which could e.g. prevent GPU offloading.

Thanks for taking care of this! Once you're ready, please mark this PR as ready for review and request one from me.


Validate That Throwing Link Event Has Corresponding Catching Link Event

Validation of link events was introduced with https://github.com/camunda/bpmnlint-plugin-camunda-compat/issues/62. Zeebe validates that for a throwing link event there is a catching link event with the corresponding name. The link-event rule should validate this, too.

Follow-up to https://github.com/camunda/bpmnlint-plugin-camunda-compat/issues/62

This should be a core validation rule, as none of this is Zeebe specific, but how the BPMN works.

Closed in favor of https://github.com/bpmn-io/bpmnlint/pull/128.


Makefile: Fix native pandoc invocation

In #428 I'd misunderstood vbatts/pandoc as a call to a locally-installed pandoc, when it's actually the name of a Docker image.  With this series, we prefer a local pandoc if one exists, fall back to Docker and vbatts/pandoc if a local docker exists, and raise an error if neither pandoc nor docker exist.
This is an alternative to #440, which reverts dc9daf9e and doesn't allow for a locally-installed pandoc.

Fixes #454

LGTM

I think the default should be vbatts/pandoc.
we should produce the host-independent output in the default cases.

@laijs oh good point. I merged it because it's presently broken. Though for consistency sake that is a good point.

On Wed, May 25, 2016 at 05:19:53AM -0700, Lai Jiangshan wrote:

I think the default should be vbatts/pandoc.
we should produce the host-independent output in the default cases.

Unless we specify a specific version of vbatts/pandoc, I don't see how
it would be any more host-independent than a local pandoc.


Removing collections from solr document

This method is untested and unused

Coverage increased (+0.2%) to 92.131% when pulling 0391aa43a693447ee90397b3334c3702ea2d5a5b on test into dffa6cf2de92e5cdfe8407db9630ae8fa5dbada6 on develop.


Multiple outputs for regression

Hi,
I'm trying to predict yields that sum to 100 percents... Is there a possibility to do this in lightgbm? Basically it is a multioutput regression that have softmax layer and mse loss. I've tried using multiclass classifier as a base and wrote a custom objective. But apparently this doesn't work... I've checked derivatives of objective and they are correct. So most probably the reason is in trees which give single prediciton instead of probs for each leaf. Is there any other way to do this? Thanks
def my_logistic_obj(y_hat, dtrain):

    y_true = y.values
    n_data = y_true.shape[0]
    n_classes = y_true.shape[1]

    ## get yields
    y_hat = np.reshape(y_hat, [n_data, n_classes])
    y_hat = np.exp(y_hat)

    probs = y_hat / np.sum(y_hat,axis=1).reshape([-1,1])

    L = (y_true - probs)**2
    L = L.sum(axis=1)

    grad = np.zeros_like(probs) * 1.0
    hess = np.zeros_like(probs) * 1.0

    for k in range(n_classes):
        I = np.zeros ([n_data,n_classes])
        I[:,k] = 1
        prob_k = probs[:,k].reshape([-1,1])
        prob_k_hat = y_true[:,k].reshape([-1,1])
        ss = 2 * (prob_k - prob_k_hat) * prob_k * (I - probs )
        grad += ss

        ss = 2 * (2 * prob_k - prob_k_hat) * prob_k * np.power(I - probs,2) + \
             2 * (prob_k * prob_k - prob_k * prob_k_hat) * (-probs) * (1-probs)
        hess += ss
    grad = grad / n_data
    hess = hess / n_data

    return grad.flatten("F"), hess.flatten("F")

categoricals = None
lgb_train = lgb.Dataset(X)

params = {
        'seed': 15,
        'boosting_type': 'gbdt', ## rf, gbdt, dart
        'num_class': y.shape[1],
        'max_depth': 25,
        'learning_rate': 0.05,
        'feature_fraction': 1,
        'bagging_fraction': 0.8,
        'bagging_freq': 1,
        'verbose': 1,
        'rate_drop': 0.1,
        'skip_drop': 0.5,
        'num_leaves': 10,
        'lambda_l2': 0
                }

evals_result = {}
gbm = lgb.train(params,
                lgb_train,
                num_boost_round = 200,
                valid_sets=[lgb_train],
                fobj = my_logistic_obj,
                verbose_eval=1
               )

maybe you can use https://scikit-learn.org/stable/modules/generated/sklearn.multioutput.MultiOutputRegressor.html

guolinke this wouldn't work, because I want to have all coefficients summed up to 100%

@IvanPetrovMck
Use multi-class as base, and customed objective function should work.
However, the probability is not given by the leaves in single tree, it uses one tree for one class.
For example, assuming there are 3 classes, A, B and C. And trees are orderder like A1, B1, C1, A2, B2, C2, ...
And the score for class A is sum(A1, A2, ...), and the same for B and C.
BTW, you should provide the gradient and hessian for each class too. And the order of gradient and hessian is different with trees. For example, grad[i * k + j] means the gradient for j-th class of i-th sample, and the total class number is k.

@guolinke Does same state for 'preds'? Are they also ordered in [n_classes, n_datapoints]?

Ок, everything works. The problem was with dimensions of gradients and predictions. Here is full working code for history. Thanks for helping.
def my_softmax_rmse(y_hat, dtrain):
    ##
    ##
    """
        Softmax probabilities with RMSE loss
        :y_hat: y_hat is predictions, if 1D list that reflects [n_classes, n_observations]

    """
    y_true = y.values.T
    n_classes = y_true.shape[0]
    n_data = y_true.shape[1]

    ## get yields
    y_hat = np.reshape(y_hat, [n_classes, n_data])

    y_hat = y_hat + np.log(y_true.mean(axis=1)).reshape([-1,1])
    y_hat = np.exp(y_hat)

    probs = y_hat / np.sum(y_hat,axis=0).reshape([1,-1])

    L = (y_true - probs)**2
    L = L.sum()
    print (L)

    grad = np.zeros_like(probs) * 1.0
    hess = np.zeros_like(probs) * 1.0

    for k in range(n_classes):

        I = np.zeros ([n_classes, n_data])
        I[k,:] = 1

        prob_k = probs[k,:].reshape([1,-1])
        prob_k_hat = y_true[k,:].reshape([1,-1])

        ss = 2 * (prob_k - prob_k_hat) * prob_k * (I - probs )
        grad += ss

        ss = 2 * (2 * prob_k - prob_k_hat) * prob_k * np.power(I - probs, 2) + \
             2 * (prob_k * prob_k - prob_k * prob_k_hat) * (-probs) * (1-probs)
        hess += ss

    grad = grad
    hess = hess

    return grad.flatten(), hess.flatten()

I'm working on a same problem recently. I think your code is quite effective. But I'm confused what the 'ss' means, and what the fomula:
"ss = 2 * (prob_k - prob_k_hat) * prob_k * (I - probs )" and
"ss = 2 * (2 * prob_k - prob_k_hat) * prob_k * np.power(I - probs, 2) + 2 * (prob_k * prob_k - prob_k * prob_k_hat) * (-probs) * (1-probs)"
is calculating?


Packed scene files sometimes get "corrupted" when moving files within editor

Godot version
4.0.3
System information
Windows 11
Issue description
I reorganised a project by dragging some files (various types including .tscn, .tres, .gd, images) into subdirectories within the project's filetree. This was all done within the editor.
After doing this I found two scene files would not open, giving the alarming popup message "scene file is invalid/corrupt".
After panicked googling and deleting the .godot directory (which did not fix the problem), I found that the problem was that scene A (the scene named in the message) contained an instance of scene B, and in scene B's .tscn file, the root node had been saved with a name but no type, i.e. instead of the line in the .tscn file saying:
[node name="PlayerScene" type="ActorScene" groups=["players"]]
It said:
[node name="PlayerScene"]
So Godot seems to have "lost" the root node's type when moving the scene file. Manually typing in the missing info enabled the file to load. The other "corrupt" scene depended on this scene, so it now loaded as well.
This seems like a really serious bug, as it means Godot's management of the project filetree is untrustworthy. It's worsened by the fact that the message produced by the editor is so opaque and unhelpful. It doesn't even identify the file causing the problem (scene B).
Steps to reproduce
Not sure but I think it would involve having a scene that contains child nodes which are instances of other scenes, then moving the .tscn files to other directories.
Minimal reproduction project
N/A

Can you reproduce this on 3.5.2?

I also got a corrupt scene today after moving files in the editor (4.0.3 RC1), likely same issue but not sure. I believe I had one of the relevant scenes open while doing the move, and I got a glitched popup with some pinkish background but no visible text. Next time I opened that scene it was corrupt. Fixed it with version control.

I got a corrupted tscn file yesterday as well, using 4.0.3. It was regarding an inherited scene, but I can't recall if it was the base or the derived scene that lost the type attribute.
I quickly found the problem since I'm using git and could just do a diff to spot the corruption, so I fixed it and went on with what I was doing and forgot about it 😅 I'll take better note if it happens again.

this happended to me today, moved a scene and all its materials to another folder in the editor and now the scene is corrupted. v4.0.3.stable.mono.official [5222a99f5]

This just bit me as well using 4.1.1.stable.mono.  In my experience it only happens when you move an inherited scene.

Steps to reproduce in 4.1.1:

Create new scene a.tscn
Create new inherited scene a_inherited.tscn (rightclick a.tscn, "New Inherited Scene")
Create directory
Move a.tscn into subdirectory
Move a_inherited.tscn into subdirectory
When opening B, a message will appear that the scene is corrupted.

a_inherited.tscn before move
[gd_scene load_steps=2 format=3 uid="uid://bxeqxduc17tid"]

[ext_resource type="PackedScene" uid="uid://bmq63y5aqfrxo" path="res://a.tscn" id="1_6fl5w"]

[node name="a" instance=ExtResource("1_6fl5w")]

a_inherited.tscn after move
[gd_scene format=3 uid="uid://bxeqxduc17tid"]

[node name="a"]

When you move both files at the same time, Godot will crash (#79850)

It seems to be due to the timing of saving the scene. Therefore, to reproduce this issue, it is necessary to ensure that the inherited scene is opened.
https://github.com/godotengine/godot/blob/c495eb5102278a110c14bbffbf833ed436d1594d/editor/filesystem_dock.cpp#L1877-L1897
There are two _save_scenes_after_move(file_renames) calls, the purpose of the first one (L1885) is to save the modifications of the scene before moving (In order not to lose modifications when reload_scene()). This should happen before scene files movement occurs (L1878), as the paths cached in node are not fully updated, especially those dependencies.
I'm not sure about the purpose of the second call (L1897). If it is necessary, then save_scene_list() should be a deferred call to ensure that saving happens after reload_scene().
https://github.com/godotengine/godot/blob/c495eb5102278a110c14bbffbf833ed436d1594d/editor/filesystem_dock.cpp#L1534
https://github.com/godotengine/godot/blob/c495eb5102278a110c14bbffbf833ed436d1594d/editor/filesystem_dock.cpp#L1625

Moving the directory may result in the path not being updated.
https://github.com/godotengine/godot/assets/30386067/fbeac889-86de-4b73-bee1-4d090919e57b

Thank you so much. I've been looking around for answers and this was by far the most useful. Saved me a tonne of pain of remaking the scene(s)

I just encountered this in 4.2.1.
I moved a scene and it's two inherited scenes to a new folder in the editor. The program crashed and it corrupted all of them. When I remade one of them and opened it and the original in vscode I could see the corrupted one was missing this line:
[ext_resource type="PackedScene" uid="uid://ddf87wu2brttt" path="res://collectables/collectable.tscn" id="1_flveo"]
And the second half of this line:
[node name="Lifepot" instance=ExtResource("1_flveo")]
When I updated the original with the above it mostly fixed it. I had to redo the sprite to get it to show up when used in a tilemap.


cascader can not filter correctly when a node has no children

Version
1.4.1
Environment
Angular 6.1.3,Chrome  67.0.3396.87
Reproduction link
https://stackblitz.com/edit/ng-zorro-antd-start-mshvaz
Steps to reproduce

触发Cascader，并使焦点聚集在输入框
输入Test这个单词的任意结果

What is expected?
能出现高亮的Test选项
What is actually happening?
Not Found
Other?

@zd5043039119 Please provide the edit link, not just the demo.

@zd5043039119 Thanks for reporting this. You don't need to provide that link now.

@wendzhue Updated

@zd5043039119 You didn't mark the node as isLeaf so it would treated as a non-leaf node, which means it shouldn't be able to dispatch a value at all.

But it do have a problem. I would fix it for another issue.

@wendzhue i config the isLeaf, and will get the same result, and i read the source code,
const loopParent = (node: CascaderOption, forceDisabled = false) => {
      const disabled = forceDisabled || node.disabled;
      path.push(node);
      node.children.forEach((sNode) => {
        if (!sNode.parent) { sNode.parent = node; } /** 搜索的同时建立 parent 连接，因为用户直接搜索的话是没有建立连接的，会提升从叶子节点回溯的难度 */
        if (!sNode.isLeaf) { loopParent(sNode, disabled); }
        if (sNode.isLeaf || !sNode.children) { loopChild(sNode, disabled); }
      });
      path.pop();
    };

node.children is empty and will never be execute loopChild, so will never execute filter

@zd5043039119 Yes that's a reason.
Since you have found the reason, are you interested in firing a pull request to fix this?

sure, i'll try


Better Main Menu Panorama & Buttons Everywhere

Hiya, So I Created This Resource Pack That Changes The Buttons And Panorama to The Better Main Menu Panorama & Buttons On 1.21 As All Menus On 1.21 Have A Panorama, And I was Thinking Maybe it Could Be Implemented in The Mod By Default.

Hello!
Im thinking of adding support for custom background and icon through just putting a image into a file.
I might do the widget texture pack switch maybe. Basically the buttons are taken from a 1.8.9 pvp texture pack called bombies 180k
Slight modifications but i might make a custom thing for all the buttons and widgets.

Cool 👍


body might be in a different spot

When sending email with codeigniter the body is inside $structure->parts.
I should look into what mail objects variants are out there.

see my latest update


Update Chevrotain syntax for defining rules.

The duplication in the rule name is no longer required.
I've also updated to tutorial to demonstrate this.

fantastic, thanks!


Refactor bdd test input parameters to struct

With how many arguments are in this function, it makes sense to create a custom struct type to hold them all instead. This will also help to resolve the lll linter complaint.
Originally posted by @DRK3 in https://github.com/trustbloc/adapter/pull/586#discussion_r793960952

Since the params are called from feat file, this can't be changed - @sudeshrshetty @talwinder50 .
Closing the issue.


Use copy for info response and add intake test

This PR contains these changes:

Uses copy as per @stuartnelson3's suggestion to forward the apm server's info response back to the agent
It adds an intake test and a test that the extension forwards an error from an info request
Removes a check that the body is nil, as the documentation says it won't ever be nil

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2021-11-22T11:23:27.344+0000

Duration: 7 min 51 sec

Commit: 0205117fbe5917c3bc439f9a4154d32c26ac0246

Test stats :test_tube:

Test
Results

Failed
0

Passed
66

Skipped
0

Total
66

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)


[flash_ctrl] Add initialized

Address part of https://github.com/lowRISC/opentitan/issues/15783
Make sure there is both a status indication and a busy indication.
This disambiguates not-busy-initialized from not initialized at all.

Looks like I need up review my init routine associated with this.

Looks like I need up review my init routine associated with this.

o no this doesn't change anything existing. It just gives a separate state notification.
You can just read to ensure it's "1" after you call initi.

SG


Query-Method EpocTime always Nanoseconds in WHERE clause

InfluxDB version: 1.7.7
InfluxDB-python version: 5.2.3
Python version: e.g. 3.6.8
Operating system version: CentOS

Hello,
Sadly i found a Bug with the .querymethod:
I try to select a certain data from my table slaStats:
"SELECT * FROM slaStats WHERE time =<PHONE_NUMBER>297 AND slaId = '2101'"

I individually tested both WHERE clauses, the later does work, though the first does not work.
I did send it with following configuration, while other statements - as well as selects without timedo work.
.query(query=query,epoch='ms', database=self.influx_dbName)

By testing i noticed, that the timestamp was in NS required, so i tested now with time =<PHONE_NUMBER>297000000
Now it does work, even though i still have specified epoch='ms'.
if i replace the ms by ns while maintaining the extended timestamp it does also work without a change -> The epoch-arg is of no use.
For information:
Yes the result did change from ms to ns, though I am not able to find my data unless i do `timeStamp * 1000000'
Thank you for your time

noticed i can use 'ms' extension in query


Add chat cmd handler with default chat_id filtering

Closes #257

[x] Custom wrapper for CommandHandler

[x] support both chat_id (int) and chat_username (str)
[x] chat_id filtering by default
[x] run_async=True by default

LGTM!


Attempt getting protocol version before certificate

This could potentially help to send version service check at least
What does this PR do?

Motivation

Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Changelog entries must be created for modifications to shipped code
[ ] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.

Don't forget to fix the lint issues


Apple Shortcuts input

Hi, I am unable to Apple Shortcuts working.
I get the error "Unable to run. The input of the shortcut could not be processed."
Could you please show an example on how to use it.
Thank you for your time.

Here is an example Shortcut, it will show captured text in a notification.

@melonamin the provided example gives the same error.
trex: Version 1.6.0 (104)
macos: 14.3.1 (23D60)

Looks like a regression introduced in 1.7.0, you can go back to 1.6.0 while I'm fixing this

trex: Version 1.6.0 (104)

Interesting, I can reproduce it on 1.7.0 but not on 1.6.0, looking into it

If it works on your machine but not mine, it is probably sandbox entitlement. How do you execute the shortcuts?

How do you execute the shortcuts?

/usr/bin/shortcuts run <shortcut name> -i <input>
As a quick test, can you try launching the shortcut from TRex Settings? Press "Play" button:


Permit disallowing certain structures

Problem
See https://github.com/azdavis/millet/issues/24
Solution
We should do it for structures as well.

Done in 6a87fff64ecd254dec6ea78a3b481dac716165ed


Terminal flashes when scrolling up on vim if its already on first line.

Version 1.21.0
Commit 9a199d77c82fcb82f39c68bb33c614af01c111ba
Date 2018-03-07T10:54:22.798Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
Steps to Reproduce:

Open a simple file with vim.
Scroll to the end. Works fine
Scroll to the top. Keep on moving mouse wheel or touchpad to go up.
Seems terminal scrolls up and then down in janky motion.

Expected: Scrolling should be smooth.
See vscode-scrolling.zip for video.

Does this issue occur when all extensions are disabled?: Yes
Fix should be that if terminal is in an alternate screen-buffer then it should only send up/down arrow commands. It shouldn't use native scrolling.

I noticed this recently as well, for some reason the scrollback buffer isn't going away when we enter the alt buffer. When I repro'd last I saw that it happened inconsistently. Created https://github.com/xtermjs/xterm.js/issues/1349

I haven't seen this for a while.


Not mobile responsive

I've tested the demo and my own deployment of this cart plugin and while things look OK while resizing the window in Chrome/Firefox, if you actually view it on a mobile browser or with FireFox's IOS presets, the sliding cart breaks out of the viewport and overflows.

On the previously mentioned deployment this is what we have:

@trev-dev im checking on this link: https://ajax-cart-plugin-npm-test.myshopify.com/products/classic-leather-jacket and responsive seems ok, also we are using gocart on every project and never experienced this kind of behaviour, can you please check your implementation?

@trev-dev im checking on this link: https://ajax-cart-plugin-npm-test.myshopify.com/products/classic-leather-jacket and responsive seems ok, also we are using gocart on every project and never experienced this kind of behaviour, can you please check your implementation?

@marioloncarek The second screenshot I gave was definitely way out of wack due to some transform breaking fixed positioning. It's brutal, but solved by killing the overflow on the html element.
The link you provided, however, does not work in Firefox's iOS emulation and on Firefox & Chrome on my Android device. It overflows and I have to scroll horizontally/vertically to find the buttons.
Making my own adjustments to the styles gets results for my project so it's a small issue.

@marioloncarek The second screenshot I gave was definitely way out of wack due to some transform breaking fixed positioning. It's brutal, but solved by killing the overflow on the html element.
The link you provided, however, does not work in Firefox's iOS emulation and on Firefox & Chrome on my Android device. It overflows and I have to scroll horizontally/vertically to find the buttons.
Making my own adjustments to the styles gets results for my project so it's a small issue.

probably the best option is to take scss and just make adjustments for your project

probably the best option is to take scss and just make adjustments for your project

Okay, but my remark here still stands and has nothing to do with me:

The link you provided, however, does not work in Firefox's iOS emulation and on Firefox & Chrome on my Android device. It overflows and I have to scroll horizontally/vertically to find the buttons.

You should be able to replicate it.

Okay, but my remark here still stands and has nothing to do with me:

The link you provided, however, does not work in Firefox's iOS emulation and on Firefox & Chrome on my Android device. It overflows and I have to scroll horizontally/vertically to find the buttons.

You should be able to replicate it.


Issue 01 GitHub actions

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@8fcdd17). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #14   +/-   ##
=======================================
  Coverage        ?   49.12%
=======================================
  Files           ?        3
  Lines           ?       57
  Branches        ?        0
=======================================
  Hits            ?       28
  Misses          ?       29
  Partials        ?        0

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 8fcdd17...8c3d858. Read the comment docs.

Hi @siting-miao
this looks really good!
I've just created a new branch called issue-06-SEIR-model, so we can work on the implementation of the model separate from the github actions.

This would just require us to revert a couple of changes that have to do with the SEIR model for this branch, and add them to the main branch through the branch issue-06-SEIR-model. I hope that makes sense.

@DavAug Yes, that makes perfect sense! :) please give me some comments on the SEIRModel, I'll continue that tomorrow when I get up (probably at noon haha).

@DavAug Yes, that makes perfect sense! :) please give me some comments on the SEIRModel, I'll continue that tomorrow when I get up (probably at noon haha).

Ok, I'll make some comments on the implementation of the SEIRModel in the associated issue #6 .

@DavAug Yes, that makes perfect sense! :) please give me some comments on the SEIRModel, I'll continue that tomorrow when I get up (probably at noon haha).

Ok, I'll make some comments on the implementation of the SEIRModel in the associated issue #6 .

Thx! And I'll do those modifications you've suggested now.

No worries I’ll do that 😉

From: David Augustin<EMAIL_ADDRESS>Sent: Wednesday, October 28, 2020 4:27:35 AM
To: SABS-R3-Epidemiology/seirmo<EMAIL_ADDRESS>Cc: Siting Miao<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [SABS-R3-Epidemiology/seirmo] Issue 01 GitHub actions (#14)
@DavAug commented on this pull request.

In seirmo/models.pyhttps://github.com/SABS-R3-Epidemiology/seirmo/pull/14#discussion_r513008428:

ForwardModel Class

Could you also please add a self to the simulate method? Seems like I've missed quite a few slips when reviewing the other PR :D sorry!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/SABS-R3-Epidemiology/seirmo/pull/14#pullrequestreview-518114034, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ARMVMBTUIXH5HB7Q34R37DTSM4ULPANCNFSM4TAW2I2Q.


CWI scripts - Artificial data generation

= Description =

Integrate the artificial data generation script as a !BioPreDyn function.

= Context =

Artificial data generation uses a model to generate calibration / validation data; the type of noise to be added to the generated data points should be configurable (homoscedastic vs heteroscedastic).

= Success criteria =

Artificial data generation available in the !BioPreDyn API.

= Expected issues =

None.

Imported from trac issue 47.  Created by bmoreau on 2014-08-28T12:01:10, last modified: 2014-08-29T11:05:37


"Gura Văii", "Popești", "Turturești" and "Verșești" are listed in the drop-down menu

Description:
"Gura Văii", "Popești", "Turturești" and "Verșești" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Gura Văii" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Gura Văii, NEAMȚ (Girov)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Turturești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Turturești, NEAMȚ (Girov)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Type "Verșești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Verșești, NEAMȚ (Girov)".


ENFO User Search should be case insensitive

The search function is currently case sensitive when searching for the first or last name.

Case-sensitivity is database-platform specific.


MySQL user management syntax without FLUSH PRIVILEGES

System information:

Operating system (distribution) and version: Linux Mint 19.3 Cinnamon
DBeaver version: 7.1.0

Connection specification:

Database name and version: MySQL 5.6.10
Driver name: Driver for MySQL 4.x+
Do you use tunnels or proxies (SSH, SOCKS, etc)? SSH Tunnel, yes

Describe the problem you're observing:
Wouldn't call it a problem, more like an inconvenient I'm facing on my particular case that I would like to find a workaround:
Using DBeaver's GUI to create or update an user, I noticed that the query used is like the following:
GRANT Usage ON *.* TO<EMAIL_ADDRESS>CREATE USER<EMAIL_ADDRESS>UPDATE mysql.user SET Password=PASSWORD('example') WHERE User='test' AND Host='10.1.%.%';
GRANT Select ON example.* TO<EMAIL_ADDRESS>FLUSH PRIVILEGES;

Well in my case I don't have server permissions to execute FLUSH PRIVILEGES, making it impossible for me to use the GUI to update user password/privileges using that kind of syntax.
What I would love would be to have the option to use an alternative syntax that does not require FLUSH PRIVILEGES to take effect.
Perhaps DBeaver could intelligently suggest it based on the currently connected user RELOAD permission, or have any way to set that preference, or simply suggest both (one could appear as commented code, for example)
Steps to reproduce, if exist:
Create New User through GUI
Thanks in advance and sorry if this isn't acceptable, but it's a little detail that would help me and probably more people.

thanks for suggestion

DBeaver uses new syntax (ALTER USER instead of UPDATE mysql.user) for MariaDB >= 10.2 and MySQL >= 5.7.
In this case FLUSH PRIVILEGES won't be added to the final script (I've just committed the fix).
Otherwise there is no other way to refresh user privileges.

verified

Hi
Just checked you released the new version with the fix, great work, thanks a lot !
Although I just noticed that it still won't solve the problem where mysql version is < 5.7 (which is my case)
I'm wondering if it would be possible/feasible to use this alternative syntax for those cases?
SET PASSWORD FOR 'user-name-here'@'hostname' = PASSWORD('new-password')
Sorry for not mentioning it earlier.
Thanks once again and congratulations on this project!


Add Filter for identifier in GET volume API

Is this a BUG REPORT or FEATURE REQUEST?:

/kind feature

What happened:
NBP plugin (VMWARe NGC and VRO ) need to query volume by ading filter unique_identifier (wwn)
What you expected to happen:
GET /block/volumes?unique_id=<wwn/eui> should be supported
How to reproduce it (as minimally and precisely as possible):
NA
Anything else we need to know?:
As of now unique identifier is implemnted only for lvm backend
Environment:

Hotpot(release/branch) version:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

It's Fixed. Confirmed by Naju. The PR for this fix are #1099 and #1142


chore: Improve unit test coverage

This PR contains 100% unit test coverage against BooleanToStringTypeAdapter.

 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.

Let's hold off on this PR for a while.

@Andras-Csanyi I don't want to burst your bubble, however... :)   I did a quick search and it looks like we do not actually use the BooleanToStringTypeAdapter.  Perhaps at one time (before I joined the team) we did in fact register that type adapter with Gson, but it looks like we currently do not.  With that in mind, I think the best way to handle this one is to simply delete the class, rather than add testcases for it.
Perhaps we can meet up on webex and take a look at the jacoco report to see where we can achieve the "biggest bang for the buck" in terms of improving test coverage.  For example, the jacoco report doesn't include any test coverage for the CloudPakForDataServiceAuthenticator despite the fact that it appears to be run during the "mvn test" phase.   Not sure why that is not contributing any test coverage data.   Also, there are probably a few other classes that are causing the coverage numbers to be dragged down.

:tada: This PR is included in version 9.11.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add --max_batch_size and --batch_size auto:N

--max_batch_size is needed because find_executable_batch_size(512) from accelerate can cause segfaults on some systems. Also a bit faster with lower values.
--batch_size auto:N will perform batch size detection ~N times during the run, which can be faster in some situations.

--max_batch_size is needed because find_executable_batch_size(512) from accelerate can cause segfaults on some systems. Also a bit faster with lower values.

Is this the best way to handle this, or is this segfault a sign that the user has configured accelerate incorrectly on their system?

--batch_size auto:N will perform batch size detection ~N times during the run, which can be faster in some situations.

This looks good to me

find_executable_batch_size here is a simple function only using torch, so the same segfault can happen in torch/transformers if the right (wrong) sized thing is passed to the model.

@gakada Okay, so your suggestion is to merge as-is?

For now, yeah. I think turning 512 into a parameter is meaningful anyway, since 512 is kinda arbitrary (and maybe too high). For the segfault, it can be fixed properly, but at that point there will be 3 heuristic parameters: default max_batch_size, 5 in range (not sure why it is needed), and something like 1 GB of reserved memory per GPU to fix the segfault (it seems to happen when test_batch almost OOMs before running the model). Or alternatively batch sizes can be computed from available memory, etc. without trying to run anything. Maybe the framework can start using environment variables for such things instead?

Merging for now, but if you can open an issue regarding this @gakada to remind us to revisit in the future that’d be appreciated.

New PR leads to a crash:
lm_eval/evaluator.py", line 112, in simple_evaluate
"batch_sizes": list(lm.batch_sizes.values()),
AttributeError: 'function' object has no attribute 'values'

Met the same issue

New PR leads to a crash: lm_eval/evaluator.py", line 112, in simple_evaluate "batch_sizes": list(lm.batch_sizes.values()), AttributeError: 'function' object has no attribute 'values'

met the same issue

New PR leads to a crash: lm_eval/evaluator.py", line 112, in simple_evaluate "batch_sizes": list(lm.batch_sizes.values()), AttributeError: 'function' object has no attribute 'values'

same issue, anyone has solution?

@SebastianBodza @v-xchen-v @IgorWang can you share the exact command you're using? I currently have things running using the main branch so I'm surprised to see this.

@StellaAthena:
python main.py \     --model hf-causal \     --model_args pretrained=TheBloke/wizardLM-7B-HF  \     --tasks hellaswag \     --device cuda:0
Should also happen with the EleutherAI/gpt-j-6B model.
@IgorWang: as of now clone the repo and then git checkout with the commits of yesterday

Try using hf-causal-experimental, I'm going to look at hf-causal shortly.

here is my commands and printout logs, and when I reset back to skip the recent commit things works fine @StellaAthena :
$ python3 main.py     --model hf-causal     --model_args pretrained=yahma/llama-7b-hf      --tasks hellaswag     --device cuda:0 Selected Tasks: ['hellaswag'] Using device 'cuda:0' Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:02<00:00,  1.35s/it] Downloading builder script: 100%|████████████████████████████████████████████████████████████████████████████████████████████████| 4.36k/4.36k [00:00<00:00, 22.4MB/s] Downloading metadata: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████| 2.53k/2.53k [00:00<00:00, 19.4MB/s] Downloading readme: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 6.85k/6.85k [00:00<00:00, 32.9MB/s] Downloading and preparing dataset hellaswag/default to /root/.cache/huggingface/datasets/hellaswag/default/0.1.0/512a66dd8b1b1643ab4a48aa4f150d04c91680da6a4096498a5e5f799623d5ae... Downloading data: 47.5MB [00:00, 92.8MB/s]                                                                                | 0/3 [00:00<?, ?it/s] Downloading data: 11.8MB [00:00, 50.9MB/s]██████████████████████▋                                                                       | 1/3 [00:04<00:08,  4.43s/it] Downloading data: 12.2MB [00:00, 80.4MB/s]██████████████████████████████████████████████████████████▎                                   | 2/3 [00:05<00:02,  2.18s/it] Downloading data files: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:06<00:00,  2.21s/it] Extracting data files: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 2518.60it/s] Dataset hellaswag downloaded and prepared to /root/.cache/huggingface/datasets/hellaswag/default/0.1.0/512a66dd8b1b1643ab4a48aa4f150d04c91680da6a4096498a5e5f799623d5ae. Subsequent calls will reuse this data. 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 724.66it/s] Task: hellaswag; number of docs: 10042 Task: hellaswag; document 0; context prompt (starting on next line): Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you. (end of prompt on previous line) Requests: [Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' You can visit a lingerie shop and have them measure you to help you fit a bra to your size, or measure yourself before you shop for a new bra to ensure that you get a good fit. Use a flexible tape measure, like one found in a sewing kit.')[0] , Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' This is why it is important to keep your breasts under protection when in the shower and only wear bras that are larger than your breast size. If you are not wearing a bra, try wearing something that is a little bigger.')[0] , Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' For a girl, a bra with a support strap will be easier for her, because most women are unable to pull through bra straps and bras that are too small will not be able to support breasts from side-to-side. Many bras have even been created that cover the breast side, and can be sent to other women in the world to make them look bigger.')[0] , Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' Choose a color that is flattering to your breast type and specific event, in addition to those that make you uncomfortable. Look for sports bras made from natural material, such as spandex or lycra, as this is a more breathable bra.')[0] ] Running loglikelihood requests 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 40145/40145 [23:06<00:00, 28.95it/s] Traceback (most recent call last):   File "/lm-evaluation-harness/main.py", line 93, in <module>     main()   File "/lm-evaluation-harness/main.py", line 59, in main     results = evaluator.simple_evaluate(   File "/lm-evaluation-harness/lm_eval/utils.py", line 243, in _wrapper     return fn(*args, **kwargs)   File "/lm-evaluation-harness/lm_eval/evaluator.py", line 112, in simple_evaluate     "batch_sizes": list(lm.batch_sizes.values()), AttributeError: 'function' object has no attribute 'values'

@v-xchen-v it is fixed now, try pulling the latest changes from master.

Here is my commands and printout logs. I meet this strange batch_size matching problem. Does anyone know where is the problem?
$ python main.py --model hf-seq2seq --model_args pretrained=/public/home/llm2/base_model/chatglm-6b --tasks hellaswag --device cuda:0
Selected Tasks: ['hellaswag']
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 8/8 [00:05<00:00,  1.56it/s]
Found cached dataset hellaswag (/public/home/llm2/.cache/huggingface/datasets/hellaswag/default/0.1.0/512a66dd8b1b1643ab4a48aa4f150d04c91680da6a4096498a5e5f799623d5ae)
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 730.12it/s]
Task: hellaswag; number of docs: 10042
Task: hellaswag; document 0; context prompt (starting on next line):
Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.
(end of prompt on previous line)
Requests: [Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' You can visit a lingerie shop and have them measure you to help you fit a bra to your size, or measure yourself before you shop for a new bra to ensure that you get a good fit. Use a flexible tape measure, like one found in a sewing kit.')[0]
, Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' This is why it is important to keep your breasts under protection when in the shower and only wear bras that are larger than your breast size. If you are not wearing a bra, try wearing something that is a little bigger.')[0]
, Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' For a girl, a bra with a support strap will be easier for her, because most women are unable to pull through bra straps and bras that are too small will not be able to support breasts from side-to-side. Many bras have even been created that cover the breast side, and can be sent to other women in the world to make them look bigger.')[0]
, Req_loglikelihood('Personal Care and Style: How to increase breast size with a bra. Check your bra size. Wearing a bra that is too big will not make your breasts look larger. That is why it is important to wear the right size bra for you.', ' Choose a color that is flattering to your breast type and specific event, in addition to those that make you uncomfortable. Look for sports bras made from natural material, such as spandex or lycra, as this is a more breathable bra.')[0]
]
Running loglikelihood requests
0%|                                                                                | 0/40168 [00:00<?, ?it/s]51 55
0%|                                                                                | 0/40168 [00:01<?, ?it/s]
Traceback (most recent call last):
File "/public/home/llm2/lm-evaluation-harness/main.py", line 96, in
main()
File "/public/home/llm2/lm-evaluation-harness/main.py", line 62, in main
results = evaluator.simple_evaluate(
File "/public/home/llm2/lm-evaluation-harness/lm_eval/utils.py", line 243, in _wrapper
return fn(*args, **kwargs)
File "/public/home/llm2/lm-evaluation-harness/lm_eval/evaluator.py", line 105, in simple_evaluate
results = evaluate(
File "/public/home/llm2/lm-evaluation-harness/lm_eval/utils.py", line 243, in _wrapper
return fn(*args, **kwargs)
File "/public/home/llm2/lm-evaluation-harness/lm_eval/evaluator.py", line 305, in evaluate
resps = getattr(lm, reqtype)([req.args for req in reqs])
File "/public/home/llm2/lm-evaluation-harness/lm_eval/base.py", line 922, in fn
rem_res = getattr(self.lm, attr)(remaining_reqs)
File "/public/home/llm2/lm-evaluation-harness/lm_eval/models/huggingface.py", line 592, in loglikelihood
return self._loglikelihood_tokens(new_requests)
File "/public/home/llm2/lm-evaluation-harness/lm_eval/models/huggingface.py", line 654, in _loglikelihood_tokens
outputs = self._model_call(inputs=inputs_tokens, labels=targets_tokens)
File "/public/home/llm2/lm-evaluation-harness/lm_eval/models/huggingface.py", line 681, in _model_call
return self.model(**inputs, labels=labels["input_ids"])
File "/public/home/llm2/.conda/envs/lmEval/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/public/home/llm2/.cache/huggingface/modules/transformers_modules/chatglm-6b/modeling_chatglm.py", line 1215, in forward
loss = loss_fct(shift_logits.view(-1, shift_logits.size(-1)), shift_labels.view(-1))
File "/public/home/llm2/.conda/envs/lmEval/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/public/home/llm2/.conda/envs/lmEval/lib/python3.9/site-packages/torch/nn/modules/loss.py", line 1174, in forward
return F.cross_entropy(input, target, weight=self.weight,
File "/public/home/llm2/.conda/envs/lmEval/lib/python3.9/site-packages/torch/nn/functional.py", line 3030, in cross_entropy
return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index, label_smoothing)
ValueError: Expected input batch_size (51) to match target batch_size (55).
Thank you


added navigation buttons

@michaelNgiri  Hi , can you remove the buttons from your branch as that issue is already resolved plus  that's causing the conflicts in your pull request too.


Create/Update Quarkus snippets

Create new snippets for the new container-image extension: https://github.com/quarkusio/quarkus/blob/master/docs/src/main/asciidoc/container-image.adoc
So the configuration to push a container image to a remote registry is automatically set.
Update the snippet for defining a data source to the latest changes using db-kind instead of a driver.  https://github.com/quarkusio/quarkus/blob/master/docs/src/main/asciidoc/datasource.adoc#jdbc-datasource

@lordofthejars thanks for this issue. I would like to manage snippet on server side (and not on vscode client side) because :

all client (vscode, Eclipse IDE) could benefit with that
we will able to provide those snippet only when project will have the proper dependency.

See https://github.com/redhat-developer/vscode-quarkus/issues/119
I have already managed that in an another project (XML maven extension), the idea is that you describe your snippet in json file with the same format than vscode, but you host those files in the server side with a condition (in the Quarkus context, the condition is the extension name). If you have time to write those snippets in a PR (I mean just writing snippets, not the package.json declaration, it should be very cool). Thanks

@lordofthejars is there any chance that you write vscode snippets and after that we will able to integrate on MicroProfile Language Server ?

Ok, I'll do it ASAP, no worries.

Ok, I'll do it ASAP, no worries.

Thanks!

For container images:
"Add Container Image properties": {
		"prefix": "cip",
		"body": [
			"quarkus.container-image.group=$1",
			"quarkus.container-image.registry=${2:quay.io}",
			"quarkus.kubernetes.expose=${3|true,false|}",
			"#quarkus.container-image.username=$4",
			"#quarkus.container-image.password=$5"
		]
	}

DataSource:
"Add Panache properties": {
		"prefix": "qpm",
		"body": [
			"quarkus.datasource.url=${1:jdbc:mariadb://localhost:3306/mydb}",
			"quarkus.datasource.db-kind=${2|h2,derby,mariadb,mssql,mysql,postgresql|}",
			"quarkus.datasource.username=${3:developer}",
			"quarkus.datasource.password=${4:developer}",
			"quarkus.hibernate-orm.database.generation=${4:update}"
		],
		"description": "Configure Quarkus Panache"
	},

We already have the datasource snippet (see #92 ). Triggered with qds

@fbricon See that a new property has been added, this was what I was showing here so driver is not required anymore.

@lordofthejars could you review https://github.com/redhat-developer/quarkus-ls/pull/310/files please

So only the datasource snippet was updated, as the container story is not ready yet. See https://github.com/redhat-developer/quarkus-ls/pull/310#discussion_r417490326


Prediction

How to make the prediction after training the model?

Did any figure out how to perform prediction after training?


fix: typos

I hope my corrections will help you. Thank you for your work.

Thanks for the PR, could you provide a link to the headers where these are defined?

Sorry, maybe I am disunderstand.

The correction is definitely welcome if it makes things more consistent with NTO's sources, but if they have that typo then I think we unfortunately need to keep the same typo.

@tgross35 Agree with you. It's better to make fix to upstream.


PowerRename does not accept keyboard input

Microsoft PowerToys version
0.57.2
Running as admin

[X] Yes

Area(s) with issue?
PowerRename
Steps to reproduce
Using the German language version it is not possible to change the fields "Suchen nach" (Search for) and "Ersetzen durch" (Replace with) independant from the number of selected files ...
✔ Expected Behavior
That I can use PowerRename as it did already some time before  ...
❌ Actual Behavior
PowerRename is unusable
Other Software
No response

Windows 10 or 11?

W10
AlexBartles2012 @.***> schrieb am Fr., 22. Apr. 2022,
14:58:

Windows 10 or 11?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/17856#issuecomment-1106488583,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYU6QJL4ELHQRPYFMCZBJN3VGKO5RANCNFSM5T7BUF3A
.
You are receiving this because you authored the thread.Message ID:
@.***>

do you have "Touch Keyboard and Handwriting Panel Service" disabled?
xref https://github.com/microsoft/PowerToys/issues/15022

/needinfo

tabsvc.dll is not enabled
Reinhard Böger
Helene-Brehm-Weg 9
31737 Rinteln
Festnetz +49 5751 7376
Mobil +49<PHONE_NUMBER>
E  @.***
S https://www.xing.com/profile/Reinhard_Boeger
S  https://coaches.xing.com/profile/Reinhard_Boeger
S  https://www.linkedin.com/in/reinhardboeger
Am Fr., 22. Apr. 2022 um 23:13 Uhr schrieb Clint Rutkas <
@.***>:

/needinfo
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/17856#issuecomment-1106869195,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYU6QJJZY6WFMBKUE32DFCLVGMI7RANCNFSM5T7BUF3A
.
You are receiving this because you authored the thread.Message ID:
@.***>

This is /dup #15022 then
WinUI currently requires that service to be enabled.
Would love to better understand why you disabled the service and if somewhere they suggested to, what site it was

Could you please try to re-enable it and see fi this resolves your issue? /needinfo


Reactively respond to non-python file changes (e.g. parquet, csv, json)

Description
Part of Roadmap: https://github.com/marimo-team/marimo/discussions/2899
Related to refresh of the app itself on file changes: https://github.com/marimo-team/marimo/issues/1511, https://github.com/marimo-team/marimo/issues/2675
(Creating this issue for now so that I can refer and link to it from another issue.)
Suggested solution
Perhaps not a universal solution, but in some use cases when these files are tracked in Git, piggy-backing Git's own file change tracking (which itself is highly optimised) would be nice. Such as using pygit2.Diff.
Alternative
No response
Additional context
No response

Initial thoughts, high uncertainty:
I think this should be a context manager API rather something like automatic picking up of builtin open() or other "known" file-opening library calls in the cell code. For example:
with mo.watched_file("mymodel.pt") as f:
    # note: we don't try to "pick up" torch.load() calls automatically,
    # relying on the user to do more explicit thing, i.e., this context block.
    m = torch.load(f)
    ....

The file name should probably(?) be a string literal like "mymodel.pt" rather than dynamic (watched_file(filename_coming_from_other_cell_as_variable), so that the need for re-run of the cell can be determined upon a static parsing pass through the code.
Note: these watched_file() contexts could be inside persistent_cache context manager, optionally within the same with statement, like with mo.persistent_cache(...) as _cache, mo.watched_file(...) as f:, or within a cached cell (whether persistently or not), then the changes to the file should feed into cache invalidation: #3271.
It seems that making these files writable within the same context block, even if theoretically possible, makes the whole thing way too hard to reason about even from the user perspective. So, it should probably be prohibited, and not just on syntactic level: should probably use https://github.com/samuelcolvin/watchfiles and raise an exception on existing from the mo.watched_file() context if there were changes to the file between the context entrance and exit.
Note sure: what to do about file writes within other cells? should they also be explicitly marked with a context block? Perhaps, that would be necessary to make a static DAG where "cell connected via file writes/reads" semantically completely coincides with "cells connected in a "normal" way via variables (otherwise, we risk circular DAGs). But to avoid user omissions of that, which would be way too easy, there perhaps should be a global watch on all the watched files within the notebook, and if there is a change from the notebook process itself, it would raise an error. But how to reliably detect all file openings within the process? I don't know yet.
To explore: whether using https://github.com/samuelcolvin/watchfiles within the context manager alone would be sufficient to prevent races like https://git-scm.com/docs/racy-git, or "extra tricks" along the lines of https://git-scm.com/docs/racy-git would also be needed (at least, in the case where we care not just about watched file's mtime, but its contents as well).
Content-addressible
When the "cached watch" does care about the contents rather than mtime alone (the API how to indicate that in user's cell code is TBD), e.g., if there is a noisy external process that the user doesn't have control over and cannot easily patch, and that process frequently "touches" the file without changing its contents. FWIW: when another cell within the notebook writes to the file, we may provide an extra wrapper that avoids touching the file via first writing to a temp file and then replacing it if it has a different content_hash, along the lines of how it's already done in cache or in Git itself.
Note: this is orthogonal with #3271: cache may or may not be fine with mtimes alone; "simple runtime watch" with cell/blocked simply @cache-d, not persistently, or not cached at all, may likewise be fine (or not) with mtimes alone.
I don't currently see a way to avoid races without, upon entering the watched_file context manager, to either:

Read the file into memory in full, along with computing its hash, and then serving this file "from memory" i.e., just a single bytearray.
Add the file to a Git index, either "native", if we discover the user already tracks this file in some of their own Git, or if not, a special-purpose submodule that marimo would maintain specifically for this purpose.

The second option is needed if the file is too big to read in memory in full at once. However, the second option has a downside because the file content will be copied in full. Also, if file is bigger than core.bigFileThreshold (default is 500 MB), my understanding is that (but not 100% sure, need to double check) Git itself will basically ignore its own stored hash and will degrade to "if mtime is higher than file is considered updated", which draws the whole exercise pointless.

TODO: at least check that the chosen approach will be forward-compatible with the following systems for data sharing/management, in the order of priority as I see it:

https://kedro.org/
https://dvc.org/
https://www.datalad.org/, and transitively git-annex
https://github.com/datonic/datadex (?) Don't clearly understand how it works. cc @davidgasquez
https://pachyderm.com/ - but not sure because its usage dwindles(?)

Note: I tried to choose data management systems that are simple local files-first (even if for metadata only, not the actual beefy files for downloading later). For the plethora of non-files-first systems, such as Data Catalogs, Hugging Face, etc., the alternatives are either:

Write a dedicated cell that fetches the latest data(set) version via the API. In effect, this cell would be necessarily non-deterministic, but the user should still be able to "force rerun" it even if it cached.
Create a separate mechanism/function within Marimo that would be familiar with certain data catalog / remote dataset versioning metadata APIs, and if configured a la with mo.watched_hf_dataset("https://huggingface.co/datasets/datonic/world_development_indicators") as _x: ... and would do a metadata fetch and trigger the run on update if needed. But, that would be a separate feature.

Heya @leventov! Sharing a bit of context around Datadex in case it helps. Datadex itself is not a data management system, but an "opinionated glue" around some of the tools used in data these days. I don't think it fits with the DVCs or Git Annexes/LFSs around.
Over the years I compiled a list of "Data Package Managers" which might be helpful in your search!


Fix Delta Lake and Hadoop AWS version incompatibility

Current Delta Lake passes incorrect default values to Hadoop AWS configurations using formats like 60s 24h and etc. This just replaces the impacted parameters

Irrevant since we need to migrate to Delta Kernel.


SharedState - batch transport calls

Could be rather simply solved by inserting a layer at the SharedState transport level, i.e. between the SharedState and the actual client.socket.
cf. https://dev.to/open-wc/litelement-a-deepdive-into-batched-updates-3hh for a simple pattern

Fixed w/ f3aa1ce


CUDA Support?

I see you are bailing on CUDA support.
There is another project that supports CUDA but has no stratum support.
Here is kernel:
https://github.com/eXtremal-ik7/xpmclient/blob/version/zcash/zcash/gpu/kernel.cl

I would love to add CUDA support. But as is we have no manpower to do it. We are having issues with OpenCL and stratum that need to be fixed, before thinking about cuda.


AOZ1038PI safe to work with 24V input?

Hello, your project is great and it's exactlhy what I needed for my Hormann doors. I'm trying to reproduce the board, and while browsing for parts, I've noticed that datasheet for AOZ1038PI says "4.5 V to 18 V operating input voltage range". As per the schematic, the input voltage is 24V. Is it safe to operate in that range? Also the 10u C0805 capacitors should be at least 25V I suppose?
Looking forward for your reply.
Regards

Hi, it seems as if you have a twister in the part number. The AOZ1038PI is not suitable. The schematics contains the AOZ1283PI which is designed to operate up to 36V.
For C1 (the 10µF capacitor at the input) 25V is the absolute minimum rated voltage. If you have a closer look at datasheets for the different ceramic materials C1 should better have a rated voltage of 50V.

Аhh, you are right. I used online gerber tool to generate me BOM with links to the componets, and probably because of stock shortage it linked to the wrong version. Thanks for that. I'm struggling to get all the components, but I will manage it soon or later. We can close this issue.


Adding the rivets standard library.

Rivets is sporting a stdlib with quite a few useful functions.
Would it be worthwhile to port this tinybind and add it as (optional) addon to this repository? So that you get "tinybind.js" and "tinybind-stdlib.js" as files out of the build process?

@RobertZenz @bart112233 Sorry for being so extremely late to the party! I'm the owner of stdlib which I created because I realized that there are formatters which I used regularly and I end up copy&pasting them between projects. I used to. I dont really use rivetsjs anymore :)
Considering how old this issue is I doubt that any of you are still interested in this feature?
If you do, it should be rather simple to adjust rivetsjs.stdlib to work with tinybindjs. Essentially you should be able to replace the term "rivets" with "tinybind" at
https://github.com/matthieuriolo/rivetsjs-stdlib/blob/354bf7395b68b0d6e823b750d0cc92581325279a/src/rivetsstdlib.js#L22
Formatter defintion in tinybind (injection place)
https://github.com/blikblum/tinybind/blob/master/dist/tinybind.js#L105-L109

@matthieuriolo
thanks for this and would appreciate a for with a test case for review via pull request

Considering how old this issue is I doubt that any of you are still interested in this feature?

To be honest, I'm not even sure what exactly I wanted to use tinybind for. However, I do remember that I at least created a prototype and that it was a joy to use.
Looking at the locations pointed out by @matthieuriolo I've got a slightly different idea, it seems like something like this might be a simple solution:
    }else {
        // Browser globals
        if (root.rivets !== undefined) {
            factory(root.rivets, root.moment);
        }

        if (root.tinybind !== undefined) {
            factory(root.tinybind, root.moment);
        }
    }

Meaning that the Standardlib would support being injected into both, rivets and tinybind. Obviously this only works as long as rivets and tinybind stay compatible...but I guess we could agree on that?

@RobertZenz: Glad to hear that you enjoyed it. Rivetsjs used to be big back in the days 🙂 I just looked more closely at the code that I referenced and I made a mistake. If you read the lines above then you will see that stdlib supports CommonJS modules. This has been replaced by ECMAScript modules and my code is very outdated...
@karneaud: Rivetjs had the principle of being "small". Hence it did not offer any formatters out of the box. I could image that this statement isnt true with tinybind anymore? If so, copying the stdlib formatters into formatters.js would be a simple solution.


Degreasing racetrack

Changing instances of fatman -> job. For now avoiding the database, though that should also be fixed in time. Related to #136 - though this pull request does not on it's own close it.

Closing in favour of #167


Remove rsi::Interface trait

This PR contains the refactoring commit related to the earlier discussion (#231) and PR (#235). Previously, RSI interface trait was mainly used to sidestep the dependency issue between monitor and armv9a. Now that the dependency issue has been resolved by the integration (#175), the trait itslef doesn't have to be maintained.
[before]
rmm/src/realm/registry.rs contained the detailed RSI implementation with trait.

[after]
The below contains each module's corresponding RSI implementation without trait.
{
  rmm/src/rsi/measurement.rs      { (measurement_)read,
                                    (measurement_)extend }
  rmm/src/rsi/attestation/mod.rs  { get_(attestation_)token }
}

Note that the names inside the parentheses were removed to avoid duplicate words in namespace
(e.g., measurement::measurement_read => measurement::read).

Looks more clear :)


MCMC Analyser Script

A script that takes an MCMC run - i.e. it's samples and calculates all Distances (provided a list of distance / similarity measure names) as well as if each sample is the true tree in a txt.
Design Choices

it might be best to keep the calculation of each output file separate, i.e. have the script called with different options
this would allow having multiple snakemake rules, i.e. allowing for running the analysis for only a new distance
saves rerunning the entire workflow if one distance is added.

Prework

#74

Outputs:
All .csv files, saved with the mcmc run sample ids + variable name

iteration number, log_prob
iteration number, is_true_tree
iteration number, distance [MP3]
iteration number, distance [another..]
....

Future Usage:
These .csv files are then read in by the analyser scripts to generate all possible plots.

Already implemented in
#86


fix: make central collector tests more reliable

Which problem is this PR solving?
Since processor and decider run concurrently, it's hard to manage the timing in tests.
#1082
Short description of the changes

implement a Cycle object to manage the goroutine so we can pause or restart it
modify tests to use the new Cycle management interface

This feels like a lot of complexity. Do we need this much?
What I had in mind for stepping a test was:

The ticker is already configurable, so the text fixture would set the ticker to a Long Time so that it wouldn't fire during the test

Add a runOnce channel to the objects and add a case to the select statements that are already there.

Tests can inject a value into the runOnce channel as often as they need to.

If you think this is worth the added code, I'd like to see a bunch more comments please, particularly around the channel containing a struct that contains a channel. That's tricky stuff! BTW, you can have a channel that just contains a channel if you want; you don't need the struct in the middle.

Yes, I originally started with the design you described above. However, I quickly learned that the runOnce channel still needs a way to tell the caller that the run has finished. Therefore, I need to be able to send a signal once a run is completed. Otherwise, tests won't be reliable because we can't make decider and processor synchronous calls.
I can add more comments into the abstraction for sure


Container cannot start if etcd does not listen on <IP_ADDRESS> address

As it is advised, on our hosts etcd listens on only the private network addresses (10.x.x.x:4001), but in this case it is not able to start any container, because in the generated ServiceUnit files there are no -C $ETCD option for the etcdctl commands, so the image cannot be found.
Like:
[Unit]
Description=lambda-unicycle_v2.cmd.1

[Service]
ExecStartPre=/bin/sh -c "IMAGE=$(etcdctl get /deis/registry/host 2>&1):$(etcdctl get /deis/registry/port 2>&1)/lambda-unicycle:v2; docker pull $IMAGE"
ExecStartPre=/bin/sh -c "docker inspect lambda-unicycle_v2.cmd.1 >/dev/null 2>&1 && docker rm -f lambda-unicycle_v2.cmd.1 || true"
ExecStart=/bin/sh -c "IMAGE=$(etcdctl get /deis/registry/host 2>&1):$(etcdctl get /deis/registry/port 2>&1)/lambda-unicycle:v2; port=$(docker inspect -f '{{range $k, $v := .ContainerConfig.ExposedPorts }}{{$k}}{{end}}' $IMAGE | cut -d/ -f1) ; docker run --name lambda-unicycle_v2.cmd.1    -P -e PORT=$port $IMAGE "
ExecStop=/usr/bin/docker stop lambda-unicycle_v2.cmd.1
ExecStop=/usr/bin/docker rm -f lambda-unicycle_v2.cmd.1
TimeoutStartSec=20m
TimeoutStopSec=10
RestartSec=5
Restart=on-failure

I guess it is generated via the https://github.com/deis/deis/blob/master/controller/scheduler/fleet.py file.

@sitya I'm not sure I understand the issue. Our cloud-config uses $private_ipv4 (which is set by CoreOS) to bind to: https://github.com/deis/deis/blob/master/contrib/coreos/user-data.example#L8-L9
Can you investigate /etc/environment? Perhaps your PUBLIC_IPV4 and PRIVATE_IPV4 are not being set properly?

Hi,
the addr and peer-addr work fine, but without setting bind-addr and peer-bind-addr explicitly to PRIVATE_IPV4 etcd will answer properly on the http://$PUBLIC_IPV4:4001 as well. And it is problem. But if I set these options explicitly to PRIVATE_IPV4 it won't be listening on <IP_ADDRESS>. :-(
I think,  it will be solved with upgrading to etcd 2.0, with the listening-* options.
Till CoreOS and Deis will use etcd 2.0.x, I configured Deis firewall to prevent connect to etcd using the PUBLIC_IPV4 address, but I am pretty sure, that the sustainable soulution will be the using of client certification to connect etcd by Deis, as we talked about in #3201 issue.

@sitya is there any way you can specify both localhost as well as the private IP listening addresses in pre-2.0? If not then I guess we should revisit this once etcd2 rolls out in the CoreOS stable channel.

@sitya is there any way you can specify both localhost as well as the private IP listening addresses in  pre-2.0?

Yes, with listen-client-urls option, it could work.


Change the name of the GPT3 class to just GPT?

Self explanatory. The classname GPT3 resulted in confusing errors like this. A DSPy newbie like me might wonder why gpt-3 was being invoked when I was attempting to use GPT-4:

Open to feedback on other ways to improve this!

@sutyum I'm concerned about the effect on existing caches, will they continue to work? anyway a more serious refactor is in the works

we should probably call it OpenAI eventually, instead of GPT? I'm upgrading to openai 1.0 now

yeah I can confirm that changing the path of the file will break the joblib caches that exist now, it's probably fixable, not 100% sure
so basically I can't merge this right away

we should probably call it OpenAI eventually, instead of GPT? I'm upgrading to openai 1.0 now

I had this thought too. Openai has all these multimodal models - TTS, STT, Dalle, etc. So I wonder how this would fit moving forward.
dsp.GPT3( ... ) # now

dsp.GPT( ... ) # proposed
dsp.Dalle( ... ) # would then need other model-classes moving forward

# Or, perhaps,
dsp.openai.GPT( ... ) # alternative
dsp.openai.Dalle( ... )

we should probably call it OpenAI eventually, instead of GPT? I'm upgrading to openai 1.0 now

I tried upgrading too. The caching seems pretty extensive part of upgrading though - could you mention how and why dspy relies on this?

I assume the interface would stay the same to support multi-modal models, but not sure if that's on the roadmap (and speaking of roadmaps, is there a roadmap?), i.e.

dsp.OpenAI(model=<the_model>, model_type=<the_model_type> with

the_model in ['gpt-3.5', 'gpt-4', 'dall-e-3', 'tts-1', ...] and
the_model_type in ['chat', 'text', 'image', 'audio', ... ]

And there would be a validation step to make sure the model and model_type are correct (e.g model='dall-e-3' and model_type='chat' would be invalid). Once you know the model and model_type are correct you should be able to derive the endpoint from the model_type. Probably you would add more conditionals like in basic_request or there would be more refactoring to clean up before adding more. Just my 2 cents 😄

Since you are explicitly checking the impact on caching mechanism and this means you will need to run some manual tests -> could you please build it into a dedicated pytest module, so we do not need to test manually next time ? 🙏🏻 # unit-testing
I can help set it up if needed -> just let me know.

@piotrlaczkowski The main testing approach right now is rerunning the intro notebook in Google Colab. It's far from perfect but if it runs from cache that's a pretty solid end to end test. Yes we need to do better on unit testing in principle though...


refactor(frontend): Rename btc pending transactions to "sent transactions"

Motivation
As discussed in this comment this PR renames the BTC pending transactions to pending "sent" transactions.
Changes

Rename file and store types and variables.
Rename file and derived store.

Tests

Rename test files and imports.

@peterpeterparker please review


Opener &  WarnerBros company added

Not sure about remote work so wrote "No" - #1

@nk183 Kindly update the List.md file too. Thank you.


[$500] Request money - Distance - Next button enabled when map is pending - offline

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
Make sure to have few waypoints already chosen in distance pages.

disconnect the internet/force offline
fab button ->request money-> distance
choose start and end waypoints from suggested addresses. ( make sure you have them already, if not go online try picking waypoints and then again start from step 1)
Noitce that map is pending, but next button is enabled.
click next, share to some workspace
Notice that amount is calculated as 0.

Expected Result:
On Pending maps, Next button should be disabled. On enabling the button, distance is calculated as 0, and user can make requests too.
Actual Result:
Next button enabled when map is pending
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: v1.3.68-12
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/8883e4a5-e854-402e-9409-b6dc2e732ece
https://github.com/Expensify/App/assets/115492554/fa173d5d-83ba-4b73-b637-856a1d1c7628
Expensify/Expensify Issue URL:
Issue reported by: @ashimsharma10
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694193245534799
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d98cf61c3038fc39
Upwork Job ID:<PHONE_NUMBER>737542144
Last Price Increase: 2023-09-19

We're going to update Next button enabled by default in future, there's an issue tracking this. I wonder should we hold for that or we consider this as bug and show an error while map is loading?

It is expected considering we fetch the route in backend if the frontend is not rendering the map (offline behaviour)

@b4s36t4 Mahesh - you're referring to this issue, yes?

Yes.

To fix this web can inser a check state when map Is loaded and the next button disabled until map Is finished.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01cb5b35b8e2eee653

Yup, I think we should hold for this issue https://github.com/Expensify/App/issues/27045 - what do you think @sobitneupane?

@sophiepintoraetz I think we should disable the button when user if offline. I am not sure but I believe it requires response from the server to get the amount.
Can you confirm if this problem can still be replicated? I'm not able to reproduce it on my side.

Need to replicate the issue - so hold fire, Melvin!

Still need to find time to replicate the bug and test - will look at this on Monday.

Still need to reproduce.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The next button is enabled on offline mode when there are two valid waypoints.
What is the root cause of that problem?
The issue comes from the isDisabled prop passed to the button
_.size(validatedWaypoints) < 2 || (!isOffline && (hasRouteError || isLoadingRoute || isLoading))
The check _.size(validatedWaypoints) < 2 will be valid once we have two waypoints entered in  either offline or online.
The code also assumes that you won't be able to get valid points while offline, which is not true, we can still access the cached suggestions from Google Autocomplete.
The issue is then replicable on all devices, using the following steps

Start a distance request
enter a valid start point
enter a valid end point
leave the distance request
go offline
go back to create a new distance request
Enter a start point, you will now get cached suggestions
do the same for the end point

Notice the button is now enabled.
What changes do you think we should make in order to solve the problem?
We need to enforce the check by using isOffline beside the size of the waypoints
_.size(validatedWaypoints) < 2 || (isOffline && _.size(validatedWaypoints) === 2) || (!isOffline && (hasRouteError || isLoadingRoute || isLoading))
What alternative solutions did you explore? (Optional)
N/A

Checking with @jliexpensify here

I tried to reproduce this one exactly, but my amount says TBD when I'm Offline, not 0:

I am currently on v.75 and the report is .68, and the behaviour seems to follow what's in https://github.com/Expensify/App/issues/27045.

Agreed - thank you @jliexpensify! Out of curiosity, what happens when you do click next? Thanks for that find, I'm going to close out this issue as the bug is not intended behaviour.

Out of curiosity, what happens when you do click next?

From memory, a distance request gets created but it's incomplete (i.e. there's no map and it says TBD)


Crash on startup in wifi_scan rp example

I'm brand new to embassy (so not sure this is the appropriate place for something like this)
I kept getting this error
0.000204 INFO Hello World!
└─ src/bin/wifi_scan.rs:41
0.272013 DEBUG waiting for clock...
└─ /Users/tom/embassy/cyw43/src/fmt.rs:130
0.272076 DEBUG clock ok
└─ /Users/tom/embassy/cyw43/src/fmt.rs:130
0.272264 DEBUG chip ID: 43439
└─ /Users/tom/embassy/cyw43/src/fmt.rs:130
0.274987 DEBUG loading fw
└─ /Users/tom/embassy/cyw43/src/fmt.rs:130
0.465144 DEBUG loading nvram
└─ /Users/tom/embassy/cyw43/src/fmt.rs:130
0.465961 DEBUG starting up core...
└─ /Users/tom/embassy/cyw43/src/fmt.rs:130
Error: An ARM specific error occurred.

Caused by:
    0: Error using access port
    1: Failed to read register DRW at address 0x0000000c
    2: An error occurred in the communication with an access port or debug port.
    3: Target device did not respond to request.

Quite naively I then ran wifi_blinky.rs and saw that there was no crash.
So then I copied some blinking to wifi_scan.rs to see if it would help.
    control.init(clm).await;
    control
        .set_power_management(cyw43::PowerManagementMode::PowerSave)
        .await;

    let delay = Duration::from_secs(1);
    for _ in 1..5 {
        info!("led on!");
        control.gpio_set(0, true).await;
        Timer::after(delay).await;

        info!("led off!");
        control.gpio_set(0, false).await;
        Timer::after(delay).await;
    }

    let mut scanner = control.scan().await;
    while let Some(bss) = scanner.next().await {
        if let Ok(ssid_str) = str::from_utf8(&bss.ssid) {
            info!("scanned {} == {:x}", ssid_str, bss.bssid);
        }
    }

And it did!  The blinking fixed wifi_scan.rs!  (Probably it wasn't the blinking that fixed it but the delays it introduced)
Testing with and without a delay before let mut scanner = control.scan().await:

Without the delay, sometimes succeeds
With the delay, it always succeeds

I really don't know the details of what is going on during Wifi initialization.  If there is further debug information that could help please let me know.  It might make sense to just add the delay to the example without worrying too much about the why.

how are you powering the Pico W?
Power it from 5v, not from 3v3. The wifi chip has quite high current spikes that can make it unstable if you power it from 3v3.


Wrap legend to the length of the line chart

Image below explains it. Ends for the legend at 2ish and the chart I create under it goes to 4:15.

Hi @BinaryWasteland this looks similar to #136? I think it is time that we tackle this!

@chaosmail I agree. This is definitely like the issue you mentioned above :)


clarify start up instructions for those completely new to docker

Added a bit more step-by-step instructions on docker start up based on question from tester on new computer.
For docker compose run base bash is the bash necessary?
I've only done docker compose run base in new terminals and it seemed to work fine.

@ct2034 if you approve, feel free to squash and merge

Modified p3 world to match description.  I have NOT tested this with other technologies to make sure it did not break their demonstrations.  Either we need this change, or change the description in README to be consistent

I'd say just merge this PR, but maybe explicitly send an email about the modified world file since everyone will need to tweak the solutions.


TxBuilder: Remove hard dependency to WellKnown keys

The last step missing to allow the TxBuilder to be truly independent
from the Well-Known keys, yet offer a similar API.

Moved to #3256


Automatic naming of cassettes according to Cucumber scenario name

I've added an option to VCR.cucumber_tags that names cassettes according to the scenario that was tagged. For example:
# features/support/vcr.rb

VCR.cucumber_tags do |t|
  t.tag '@vcr', use_scenario_name: true
end

# features/some.feature

@vcr
Scenario: Access some service
  Given ...
  When ...
  Then ...

The cassette's file name will be access_some_service.yml.
In case you find this useful, how should I document this? I didn't find the README appropriate for such a specific detail. Relish?

Holy crap, I just saw https://github.com/myronmarston/vcr/issues/140
D'OH!

@rauchy -- yeah, that's funny. @cjolly is working on the same thing!
@cjolly--have you started working on your pull request yet?

In case you find this useful, how should I document this? I didn't find the README appropriate for such a specific detail. Relish?

Yep.   The cucumber cuke would be a good place for it.  It's a bit meta (it's a cucumber scenario demonstrating how VCR integrates with cucumber...) but it works pretty well as both an acceptance test and example-based documentation.  I think it's especially important here since the specs for the cucumber tagging stuff are isolated with stubs.  Using this feature in a cucumber scenario will give us confidence it works.
Also, it'd be good to add a note to the yard docs about this option.
Anyhow, this looks really good overall.  I left a few comments on the commits.
BTW, if/when @cjolly submits a pull request, I'm not sure whose I'll merge.  Yours looks great but he had the idea first.  I always like encouraging contributions and giving credit to people that give ideas or submit patches...so I'll try to find a way to give credit to both of you.

Yeah, I was a bit embarrassed when I saw the open issue after submitting the pull request. Thought about deleting it immediately, but then I thought it might be better to leave it open and see if @cjolly is planning on finishing his work.
@cjolly - please let me know what are your plans with this. If you want to submit a pull request of your own, I will gladly remove mine. Otherwise, I'll work on the cucumber cuke and yard docs.

Don't be embarrassed; it's an easy mistake to make.   And he hasn't submitted his PR yet...

Hah, I'm just glad this feature is such a popular idea :)
I haven't had time to work on this yet over the weekend, and it looks like you've already done much of the heaving lifting, so go for it!
My one suggestion would be to use the toplevel feature name as the directory for scenario names, too:
I believe it can be accessed with scenario.feature.name
So the result would be something like:
cassettes/Feature_Name/Same_Scenario_name ...
cassettes/Other_feature/Same_Scenario_name ...

that way you don't run into conflicts when there are many features that potentially have the same name. It also maintains a similar structure to the rspec metadata feature.

Totally! Great idea, will commit it later on today.

Oh also wanted to add that I really like the idea of using an option to the tag method rather than my initial suggestion of a separate method. Much cleaner and I think results in some more flexibility.

@myronmarston I would love to write a scenario for this, but I'm having a bit of trouble running the scenarios.
Could you throw a couple of pointers on how to get the cukes running?
Running cucumber gives the following:
➜  vcr git:(master) cucumber
Using the default profile...
Make sure you have the following set in your .limited_red:
 * username
 * api key
Aborting Cucumber run

Thanks.

I added to the Cucumber cuke and removed the side-effect in Before.
Thanks for the close inspection, I learnt quite a few things even with this small contribution.

Thanks, everything looks great.  I squashed all these into a single commit (since they are all slight tweaks to the same basic feature) and pushed to master:
https://github.com/myronmarston/vcr/commit/d0eb3353cef38994aa5f4faaa80be6b6b501453a
I also updated the contributor list and changelog:
https://github.com/myronmarston/vcr/commit/0d01bfdd7d94c9503be678f21c2a3a67d47def97


Provide instructions for local development and testing

I am interested in possibly adding a couple of new service price lookup functions.  Is there any chance you could provide instructions for how to load up a clone of this repo in a local Google Sheets spreadsheet for testing?

Hi @deinspanjer, that would be great to have! Yes, I'll take a stab at documenting the development process here to make it easier for others to test. Most of the development is based on the clasp environment: https://github.com/google/clasp. However, I'll write up more detailed steps.

@deinspanjer Can you take a look at the steps here and see if you can reproduce them to get a working dev environment? https://github.com/mheffner/aws-pricing/blob/ecd747a44b409ee4a36376ade6de168752ab0dfc/DEVELOPMENT.md

@mheffner thank you for putting that up.  I've been working on other stuff, but I read through the doc and I will be trying it out!


Handle unicode characters

There is a problem with german 'umlaute' in the application and in the database. Use unicode characters over the whole application.

I have fixed the issue on the users registrations side locally. It has to be tested on the server again. There is also an issue on the creating players during the creating reservation process were the issue is currently active. This could not be reproduced on my local machine.


Allow referring to previous item or parent in layoutData

Widgets are often arranged in a row, horizontally or vertically. This still requires a reference to the previous item. If a widget is removed, the reference is no longer valid and subsequent widgets will disappear.
Instead of referring to a particular widget, could we allow to align a widget to the previous widget in layoutData? If there is no previous widget, the parent should be used. If the previous item is removed, the references should be updated.

Are there Docs or an example for this? Doesn't appear to be any in b8eb6f8