xindexes set incorrectly for mfdataset with dask client and parallel=True

What happened: Using open_mfdataset with parallel=True with a dask.distributed client active fails to set .xindexes correctly.
What you expected to happen: The indexes should contain an index that can be printed correctly. When using repr the .xindexes fails with TypeError: cannot compute the time difference between dates with different calendars due to an error in .asi8
Minimal Complete Verifiable Example:
import xarray as xr
import numpy as np
from dask.distributed import Client

# Need a main routine for dask.distributed if run as script
if __name__ == "__main__":

    client = Client(n_workers=1)

    # Create some synthetic data
    time_365_decade = xr.cftime_range(start="2100", periods=120, freq="1MS", calendar="noleap")

    ds = xr.Dataset(
            {"a": ("time", np.arange(time_365_decade.size))},
            coords={"time": time_365_decade},
    )

    index_microseconds = ds.xindexes['time'].array.asi8

    # Save to a file per year
    years, datasets = zip(*ds.groupby("time.year"))
    xr.save_mfdataset(datasets, [f"{y}.nc" for y in years])

    # Open saved files, parallel=False and asi8 ok
    assert (index_microseconds == xr.open_mfdataset('2???.nc', parallel=False).xindexes['time'].array.asi8).all()

    # Open saved files, parallel=True and asi8 fails
    assert (index_microseconds == xr.open_mfdataset('2???.nc', parallel=True).xindexes['time'].array.asi8).all()

Anything else we need to know?: the asi8 function fails
https://github.com/pydata/xarray/blob/main/xarray/coding/cftimeindex.py#L677
because
epoch = self.date_type(1970, 1, 1)

returns a cftime.datetime with a calendar and has_year_zero attribute that do not match the index
(Pdb) p epoch
cftime.datetime(1970, 1, 1, 0, 0, 0, 0, calendar='gregorian', has_year_zero=False)

Previously reported this as https://github.com/pydata/xarray/issues/5677
Environment:
Output of xr.show_versions()

INSTALLED VERSIONS
commit: None
python: 3.9.6 | packaged by conda-forge | (default, Jul 11 2021, 03:39:48)
[GCC 9.3.0]
python-bits: 64
OS: Linux
OS-release: 4.18.0-305.7.1.el8.nci.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: en_AU.utf8
LANG: en_AU.ISO8859-1
LOCALE: ('en_AU', 'UTF-8')
libhdf5: 1.10.6
libnetcdf: 4.7.4
xarray: 0.19.0
pandas: 1.3.1
numpy: 1.21.1
scipy: 1.7.1
netCDF4: 1.5.6
pydap: installed
h5netcdf: 0.11.0
h5py: 2.10.0
Nio: None
zarr: 2.8.3
cftime: 1.5.0
nc_time_axis: 1.3.1
PseudoNetCDF: None
rasterio: 1.2.6
cfgrib: <IP_ADDRESS>
iris: 3.0.4
bottleneck: 1.3.2
dask: 2021.07.2
distributed: 2021.07.2
matplotlib: 3.4.2
cartopy: 0.19.0.post1
seaborn: 0.11.1
numbagg: None
pint: 0.17
setuptools: 52.0.0.post20210125
pip: 21.1.3
conda: 4.10.3
pytest: 6.2.4
IPython: 7.26.0
sphinx: 4.1.2

Thanks for the updated report! Could you kindly share the full error traceback?

@aidanheerdegen thanks a lot for the minimal example -- I'm able to reproduce it now -- this is indeed a confusing bug!  I think this is a symptom of the same problem I identified in #5677: the dates in your dataset are being decoded to cftime.datetime objects instead of cftime.DatetimeNoLeap objects.  This causes problems downstream in a variety of places in xarray, because xarray currently infers the date and calendar type of the index by checking the type of the dates it contains.
The question is: why is this happening?  I initially thought this could only happen if you were using cftime version 1.4.0, but that is clearly not true.  It is interesting that this only comes up when using a distributed client and parallel=True in open_mfdataset, while with other more basic approaches the dates are decoded properly to cftime.DatetimeNoLeap objects.  I think a more minimal example of this issue may be the following:
>>> import cftime; import dask; import distributed
>>> cftime.__version__
'1.5.0'
>>> dask.__version__
'2021.07.2'
>>> distributed.__version__
'2021.07.2'
>>> client = distributed.Client()
>>> cftime.num2date([0, 1, 2], units="days since 2000-01-01", calendar="noleap")
array([cftime.DatetimeNoLeap(2000, 1, 1, 0, 0, 0, 0, has_year_zero=True),
       cftime.DatetimeNoLeap(2000, 1, 2, 0, 0, 0, 0, has_year_zero=True),
       cftime.DatetimeNoLeap(2000, 1, 3, 0, 0, 0, 0, has_year_zero=True)],
      dtype=object)
>>> delayed_num2date = dask.delayed(cftime.num2date)
>>> delayed_num2date([0, 1, 2], units="days since 2000-01-01", calendar="noleap").compute()
array([cftime.datetime(2000, 1, 1, 0, 0, 0, 0, calendar='noleap', has_year_zero=True),
       cftime.datetime(2000, 1, 2, 0, 0, 0, 0, calendar='noleap', has_year_zero=True),
       cftime.datetime(2000, 1, 3, 0, 0, 0, 0, calendar='noleap', has_year_zero=True)],
      dtype=object)

Note that when using delayed in conjunction with a distributed.Client the dates are decoded to cftime.datetime objects instead of cftime.DatetimeNoLeap objects.  This fairly clearly demonstrates that this is an upstream issue -- likely in cftime -- but I need to dig a little more to determine exactly what the issue is.

Thanks for the updated report! Could you kindly share the full error traceback?

Sorry, see below
Traceback (most recent call last):
  File "/g/data/v45/aph502/helpdesk/fromgithub/20210804-Navid/mcve.py", line 28, in <module>
    assert (index_microseconds == xr.open_mfdataset('2???.nc', parallel=True).xindexes['time'].array.asi8).all()
  File "/g/data3/hh5/public/apps/miniconda3/envs/analysis3-21.07/lib/python3.9/site-packages/xarray/coding/cftimeindex.py", line 683, in asi8
    [
  File "/g/data3/hh5/public/apps/miniconda3/envs/analysis3-21.07/lib/python3.9/site-packages/xarray/coding/cftimeindex.py", line 684, in <listcomp>
    _total_microseconds(exact_cftime_datetime_difference(epoch, date))
  File "/g/data3/hh5/public/apps/miniconda3/envs/analysis3-21.07/lib/python3.9/site-packages/xarray/core/resample_cftime.py", line 358, in exact_cftime_datetime_difference
    seconds = b.replace(microsecond=0) - a.replace(microsecond=0)
  File "src/cftime/_cftime.pyx", line 1369, in cftime._cftime.datetime.__sub__
TypeError: cannot compute the time difference between dates with different calendars

Thanks again for the prompt response @spencerkclark. Yes your MCVE is more (less?) M than mine. Thanks.
Perhaps I shouldn't have started a new issue, but it seemed the specific problem with .sel was just a knock on effect from this cftime issue.
I should have said in #5677 that as far as I could tell I was using cftime=1.5.0.

A colleague suggested it might be some sort of pickling issue, passing the generated object back to the main thread, but it was just speculation and I had no idea how to test that.

A colleague suggested it might be some sort of pickling issue, passing the generated object back to the main thread, but it was just speculation and I had no idea how to test that.

Yes, it must be something of that sort.  Here's perhaps an even more minimal example:
>>> import cftime; import distributed
>>> header, frames = distributed.protocol.serialize(cftime.DatetimeNoLeap(2000, 1, 1))
>>> distributed.protocol.deserialize(header, frames)
cftime.datetime(2000, 1, 1, 0, 0, 0, 0, calendar='noleap', has_year_zero=True)

Further, removing distributed from the mix, we can show this just using pickle:
>>> import pickle
>>> serialized = pickle.dumps(cftime.DatetimeNoLeap(2000, 1, 1))
>>> deserialized = pickle.loads(serialized)
>>> deserialized
cftime.datetime(2000, 1, 1, 0, 0, 0, 0, calendar='noleap', has_year_zero=True)

I'll make an issue in cftime.

@aidanheerdegen I tested your example with my upstream changes (Unidata/cftime#252) and it now works, so this should be fixed with the next release of cftime.  I'll go ahead and close this issue.  Thanks for your help debugging this!

Thanks for the super fast fix. I have confirmed this fixes #5677


Fix wrong handling on reuse class with identifier

Changes in this pull request
Issue fixed: #1176
Checklist

[x] All tests pass. Demo project builds and runs.
[x] I added tests, an experiment, or detailed why my change isn't tested.
[x] I added an entry to the CHANGELOG.md for any breaking changes, enhancements, or bug fixes.
[x] I have reviewed the contributing guide

@rnystrom Maybe we should add some tests on this one.

I'd love some unit tests for this!

@chandratjioe do you think you'll be able to add some unit tests?

Just ran into this issue.
@chandratjioe will you be able to finish this PR? Or perhaps @rnystrom you'd be able to bring this across the finish line? I believe this is the right fix.

Hi @zhubofei Can you rebase again? thanks

hi @lorixx , I think this issue has been fixed in the latest master branch.

Closing this PR since the issue has been fixed.


Add generic JsonResult class

What about to add this class to force type safety?
public JsonResult<bool> Foo()
{
    return new JsonResult<bool>(true);
}

 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.:x: jaqra sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for your PR @jaqra. We generally prefer discussing an API proposal as part of issue before a PR is sent. In this specific case, we think either returning the instance from the controller action or using ActionResult<T> serve a similar purpose and do not think there's a lot of value for this API to exist as part of the core framework. We would encourage you to ship this as community package instead.


Reimport: keep false positive, out of scope and risk_accepted history #3848

Fix issue https://github.com/DefectDojo/django-DefectDojo/issues/3848 regarding the reimport of reports where previous findings marked as false positive and/or out of scope are re-activated instead of ignored. Now the history of false positive and out of scope findings is properly preserved.

Thanks. Please note that almost the same code is also located in test/views.py. Could you also add a few lines to the description of what problem is being solved?

Thanks @valentijnscholten . I'll review your comment. Right now I'm trying to fix the unit test, it's failing when it's executed simulating the UI (FAIL: test_import_reimport_keep_false_positive_and_out_of_scope (dojo.unittests.test_import_reimport.ImportReimportTestUI)). I'm trying to understand the logic behind this, since in the UI there is no way to re-import a report to the same test_id. Every import in the UI will generate a new test, with a new test_id. Right? Or am I missing something?

You can reimport into the same test. Look for "re-upload" as it's called that in some places.

@valentijnscholten Thanks for pointing me to the right direction. It took me a while to follow through the code and understand the flow that is happening in ImportReimportTestUI, test/views.py and why the test was failing. Please let me know what do you think now.

ℹ  Might make sense to merge https://github.com/DefectDojo/django-DefectDojo/pull/3854 before and then I update this MR accordingly.

Thanks, this is a good improvement. Weird how nobody ever ran into this, might be that not many people are using reimport? We are improving reimport big time as I believe it is very powerful and useful.
Looking again at this I realize risk_accepted  should be added to this same if clause, agree?
For duplicate I am in doubt, might be that it needs to reactivated when needed.
And ideally we also test the opposite of the if, so that if a finding is not false_p/out_of_scope/risk_accepted, reactivation will be performed? In a way I think that is already tests by the pre existing test cases.

We are improving reimport big time as I believe it is very powerful and useful.

For our team the reimport feature is super useful and important. We ran dozens of daily scans and we only noticed the issue when we marked some findings as false positives and they started to appear again. So I took the time to investigate and tried to fix this.
We were also hit by an issue related to the comment below during a reimport of a GitLab dependency scanning report (I submitted this parser a few weeks ago): https://github.com/DefectDojo/django-DefectDojo/blob/33fc63962b8e901bdf2b31bad735277e48951b1c/dojo/api_v2/serializers.py#L1420-L1432 . I also plan to submit a PR with a proposal to improve this during the week.

Looking again at this I realize risk_accepted should be added to this same if clause, agree?

Yes, I agree. Missed that one. Will update the PR.

For duplicate I am in doubt, might be that it needs to reactivated when needed.

In theory a duplicate can be reactivated and the dedup algorithm will take care of deduplicating it later. Right?

And ideally we also test the opposite of the if, so that if a finding is not false_p/out_of_scope/risk_accepted, reactivation will be performed? In a way I think that is already tests by the pre existing test cases.

That's a good point. I can add a test for it inside test case. What do you think?
Please let me know if you agree with the above comments and I'll work on those improvements tomorrow or Tuesday.

We were also hit by an issue related to the comment below during a reimport of a GitLab dependency scanning report (I submitted this parser a few weeks ago):
https://github.com/DefectDojo/django-DefectDojo/blob/33fc63962b8e901bdf2b31bad735277e48951b1c/dojo/api_v2/serializers.py#L1420-L1432

I would wait maybe for #3753 as that will change the matching logic for reimport.

Looking again at this I realize risk_accepted should be added to this same if clause, agree?

Added validation to skip the reimport of findings that are false_p or out_of_scope or risk_accepted.

And ideally we also test the opposite of the if, so that if a finding is not false_p/out_of_scope/risk_accepted, reactivation will be performed? In a way I think that is already tests by the pre existing test cases.

Added inside the test an assertion to make sure that one finding that was deleted was properly reimported. Do you agree with this (please let me know if the test got too big)?
I had to add some support functions in unittests/dojo_test_case.py in order to be able to:

Delete a finding.
Get the engagement_id from a test_id through API request.
Get the product_id from an engagement_id also through API request.
Update a product configuration through the product_id to allow findings to be marked as risk_accepted through enable_simple_risk_acceptance flag.

For duplicate I am in doubt, might be that it needs to reactivated when needed.

I'm also in doubt about this, because if the finding was marked as duplicate, then its duplicated finding will:

Be reopened through the reimport, in case it was deleted; or
Be kept inactive, in case it's a false_p or out_of_scope or risk_accepted

So I feel that this behaviour is already tested. What to you think?

This seems to have bugs with some parsers, the Veracode parser definitely has the problem because "Mitigated by Design" doesn't map to false positive, out of scope, or risk_accepted, so they always get reopened...
Also, if we're completely skipping a finding for these justifications, we might be missing some updated justifications on a reimport ? I would expect a date comparison to see if the scanner data has changed in the meantime


Develop

Coverage decreased (-0.06%) to 85.643% when pulling 3101cbd0e6ab709dd0c0f77c00b183f3a0dec2e0 on develop into 2505e81bd179a8ab6b5d4be7034c8de1f3e32242 on master.


Root dialog keeps repeating

SDK Platform: Node.js

Issue Description
The bot is about to show compared to the current date the open pharmacies and i run it locally.Firstly i code session.begin('chooseDay'), representing the first dialog. In this one, i send to the user one HeroCard with two buttons. When i press one button, i begin another dialog but before the results of the new dialog, the ones of the first(root) come up again. What is going wrong here?
Code Example

Expected Behavior
The below image without the middle dialog which is the root.
Actual Results

Can you provide the complete code for the 'chooseDay' dialog instead of screenshots? It'll help in debugging your code to see the entire dialog. Similarly, the code for your root dialog as well.

can you please post actual code and note screenshots

I didnt quite understand. Shall i upload the whole code of the dialogs?

just copy and paste your code as text into a comment

var bot= new builder.UniversalBot(connector,[
function(session){
session.beginDialog('chooseDay');
}
]);
bot.dialog('chooseDay',[
//Step one
function(session){
var msg=new builder.Message(session);
msg.attachmentLayout(builder.AttachmentLayout.carousel)
msg.attachments([
new builder.HeroCard(session)
.title("Επιλογή Ημέρας")
.buttons([builder.CardAction.postBack(session,"Σήμερα","Σήμερα"),builder.CardAction.postBack(session,"Αύριο","Αύριο")])
    ])

    session.send(msg);

    if(session.message.text=="Σήμερα"){
       session.beginDialog('pharmacyToday');

    }

    else if(session.message.text=="Αύριο"){
        session.beginDialog('pharmacyTomorrow');

    }

    //session.endDialog();

}

]);
bot.dialog('pharmacyToday',[
function(session){

    Pharmacy.findOne({'dates':today},function(err,found){
        if(err){
            console.log(err);
        }
        else{
            var msg=new builder.Message(session);
            msg.attachmentLayout(builder.AttachmentLayout.carousel)
            msg.attachments([
                new builder.HeroCard(session)
                    .title("Εφημερεύον Φαρμακείο")
                    .subtitle(found.name)
            ])
            session.endDialog(msg);
        }

    });

}

]);
bot.dialog('pharmacyTomorrow',[
function(session){

    Pharmacy.findOne({'dates':today+1},function(err,found){
        if(err){
            console.log(err);
        }
        else{
            var msg=new builder.Message(session);
            msg.attachmentLayout(builder.AttachmentLayout.carousel)
            msg.attachments([
                new builder.HeroCard(session)
                    .title("Εφημερεύον Φαρμακείο")
                    .subtitle(found.name)
            ])
            session.endDialog(msg);
        }

    });

}

]);

First you need to either use session.replaceDialog() or create another waterfall step in your root dialog and call session.endDialog(). Otherwise after you finish all of your command you will end up here over and over again. Below I'm using session.replaceDialog().
var bot = new builder.UniversalBot(connector, [
  function (session) {
    session.replaceDialog('chooseDay');
  }
]);

1st solution
var bot = new builder.UniversalBot(connector, [
function (session) {
session.beginDialog('chooseDay');
},
function(session,results){
session.endDialog();
}
]);
2nd solution
var bot = new builder.UniversalBot(connector, [
function (session) {
session.replaceDialog('chooseDay');
}
]);
Thanks for the help Steven, but neither works and the results are the same..Am i doing something wrong?

Sorry I planned on writing a multi-part answer. The next part is that you need to separate your logic in your 'chooseDay' dialog. You're sending a card to your user, but in the same step you're expecting a response to that card. The logic that handles the user's response needs to be in a separate waterfall step.
bot.dialog('chooseDay', [
    //Step one
    function (session) {
      var msg = new builder.Message(session);
      msg.attachmentLayout(builder.AttachmentLayout.carousel)
      msg.attachments([
        new builder.HeroCard(session)
        .title("Επιλογή Ημέρας")
        .buttons([builder.CardAction.postBack(session,"Σήμερα","Σήμερα"),
          builder.CardAction.postBack(session,"Αύριο","Αύριο")])
      ])
      session.send(msg);
    },
    // New step that handles the user's response
    function (session, response) {
      if (session.message.text=="Σήμερα") {
        session.beginDialog('pharmacyToday');
      } else if (session.message.text=="Αύριο") {
        session.beginDialog('pharmacyTomorrow');
      }
    },
    // New step that closes this dialog after the dialog started above ends
    function (session, response) {
      session.endDialog();
    }
]);

Sorry for putting you in so much trouble Steven. I modified these with having the root dialog changed as you told me(with two waterfall steps), and now i have the result below.So it does not enter the pharmacy dialog. I think that session.message.text doesnt contain the same value of the previous step.In the last image, you can see the waterfall flow.

Hmm, in the second step from my last message, can you console.log() the response object to see what it contains?

Nothing appears. As you said i console.log(response) in the second step and i do not get anything..Weird things happen in this world.

It appears that you're not constructing your postBacks properly, have you tried using the following code's format?
  var msg = new builder.Message(session)
      .text("Hi! What is your favorite color?")
      .suggestedActions(
          builder.SuggestedActions.create(
              session,[
                  builder.CardAction.imBack(session, "green", "green"),
                  builder.CardAction.imBack(session, "blue", "blue"),
                  builder.CardAction.imBack(session, "red", "red")
              ]
          )
      );

The imback will be shown on chat. I just used the next() at the first step of the chooseDay dialog and i had the result,but the default dialog still repeats itself.

The default dialog repeats itself after selecting your postBack?

Steven it worked with Prompts, thank you very much. I will keep it this way. So basically with a rich card is this going to happen again, even if i try anything?

Glad it worked out for you! 😄
The difference is that session.send() doesn't wait for a response, whereas by using a Prompt you're explicitly waiting for a user's response.
If you send a rich card in a Prompt you should be fine.
Closing issue.


(*4) Put cellPack on a server

currently blocked by devops access to AWS. considering setting up temporary account


adjust the pitch

I'm planing to create new app to help musician
so if there is any way to control the pitch of youtube video it will be great

I'm not Sven but I bet he's going to say it's impossible because the YouTubePlayerKit framework utilizes YouTube's official API and in order to control the pitch, you need access to the actual audio data, which YouTube does not give you access to. It's technically possible to do things to get this data but all of them will break YouTube's ToS and will most likely result in an App Store rejection too. The reason speed is adjustable is because YouTube's API allows users to control this.
Now if someone actually finds a way that doesn't break their ToS, I'm all for learning about it :)

@acosmicflamingo
yeah I know but I'm still amazed how Chordify did that!

Fascinating. There are two things that could be happening (maybe; what do I know LOL):

Chordify is utilizing YouTube's Data API (which requires getting permission from them and probably paying money if YouTube queries exceed a certain number). They can then change the pitch of the data however they want.
They are illegally downloading it (like how some youtubeTomp3 websites do it) and can be sued by YouTube for it.

If anyone knows how Chordify did it in a very easy way, please feel free to mention it :D

Closing this issue as @acosmicflamingo already explained that a pitch parameter is currently not part of the YouTubePlayer API.


Ignore changes feature to avoid resource recreation

Is your feature request related to a problem? Please describe.
In the resource deployments in bicep, we have added a tag with creation date as current datetime. So, in subsequent redeployments, the resources are recreated since the date has changed.
param creationDate string = utcNow('yyyy-MM-ddTHH:MM:ssZ')
var tags = {
  product: 'xx'
  application: 'xx'
  region: locationTag
  environment: envTag
  'creation-date': creationDate
}

resource userAssignedId 'Microsoft.ManagedIdentity/userAssignedIdentities@2022-01-31-preview' = {
  name: 'id-test-${subscriptionName}'
  location: location
  tags: tags
}

Describe the solution you'd like
In terraform this can be handled with lifecycle block where the list of properties can be ignored. Please can this be implemented in bicep; it is a pain that we can't ignore such changes and it leads to recreation of resources every time.

Hi, Is there any update to this?

Sorry about the delay! The short answer is Bicep always re-deploys all resources by design so that we always seek out the goal state.
The longer answer:
For this specific pattern of capturing creation time, there is a set of system level properties that ARM tracks for you automatically called systemData so that you shouldn't have to do this. Here's an example:
{
    "location": "eastus",
    "properties": {},
    "systemData": {
        "createdBy"<EMAIL_ADDRESS>        "createdByType": "User",
        "createdAt": "2024-07-10T17:28:35.7655839Z",
        "lastModifiedBy"<EMAIL_ADDRESS>        "lastModifiedByType": "User",
        "lastModifiedAt": "2024-07-10T17:28:36.3352979Z"
    },
    "id": "...",
    "type": "Microsoft.Resources/templateSpecs",
    "name": "..."
}

Unfortunately, it is up to each resource provider to implement this property and it looks like managed identities have not implemented it. I can try following up with the ARM team responsible for getting the RPs to onboard to this.

cc @ifeoluwaokunoren / @jennyhunter-msft

Just circling back as I mentioned I would, but confirmed that it is up to the RP to implement the systemData property and there is no ETA for the ManagedIdentity RP implementing this. Unfortunately that means that there is not a great solution for keeping track of this metadata via the bicep deployment. Going to leave this open for reference but tagging the initial request with "Won't Fix" for clarity.


Code Standard

Should we add linter/formatter for this project to make code consistent cross contributors?
I would recommend prettier and eslint
If you would like to adapt to them, I would love to make a PR!

That would be absolutely awesome


[hold for payment 2024-09-04] [$250] Update UpdatePolicyConnectionConfiguration to be 1:1:1 - Part 2

Problem
Our UpdatePolicyConnectionConfiguration API command is not 1:1:1 - it is the same API call for all related user actions, when it should be split up for each connection (QBO, Xero, etc.) and configuration setting (autoSyncVendor, enableNewCategories, etc.). At the end of this we should not call that function anywhere.
This is polish for the Collect QBO project.
Solution
When we created the NetSuite commands, we followed the correct pattern, and so need to do so here too.
This requires backend and frontend work in tandem (to create the commands and then to use them), so we're looking for a contributor(s) to handle the frontend. You can see an example PR here - there is some extra prep work there that you can ignore, but adjusting all calls like this is what we're going for:
- Connections.updatePolicyConnectionConfig(policyID, CONST.POLICY.CONNECTIONS.NAME.QBO, CONST.QUICK_BOOKS_CONFIG.REIMBURSABLE_EXPENSES_ACCOUNT, row.value);
+ QuickbooksOnline.updateQuickbooksOnlineReimbursableExpensesAccount(policyID, row.value);

Here is a list of the commands handled in this issue:

UpdateXeroImportTrackingCategories
UpdateXeroImportTaxRates
UpdateXeroTenantID
UpdateXeroMappings

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f780930d7cefc51d
Upwork Job ID:<PHONE_NUMBER>212407946
Last Price Increase: 2024-08-19
Automatic offers:

ishpaul777 | Reviewer | 103587463

Issue OwnerCurrent Issue Owner: @

I'll take this one as contributor

I'll raise a PR soon

Backend PR is merged, though not yet on staging, but should be soon!

Spoke too soon, I guess - this is on staging now, so code away!

@dangrous just to confirm:

UpdateXeroImportTrackingCategories will replace this one
UpdateXeroImportTaxRates will replace this one
UpdateXeroTenantID will replace this one
UpdateXeroMappings will replace this one

yep perfect! double check that there aren't any other usages but that's it

Little update, draft PR is here

I think this is on prod? I'm going to grab a BZ to handle payment (and also help us figure that out haha)

@joekaufmanexpensify we're in the 7 day regression period for this one, but assigned you to help us figure out when this one went to prod and handle payment when payment is needed!

Will take care of that now!

Payment due here is:

$250 to @hungvu193 for PR via NewDot.
$250 to @ishpaul777 for C+ via Upwork.

All set to issue payment!

Closing as only thing left here is for @hungvu193 to request payment via NewDot!

$250 approved for @hungvu193


Proposal: Writing unit tests for api/

Why do we need this ?

If I can correctly infer the backend/ directory structure, I observe tests/ directory is structured to give tests as per the mhq/ dir. I only see tests for service/. No api tests are there.
Tests looks like good-to-have but it is a critical part of code imo.
Acceptance Criteria

[ ] Configure test client
[ ] Write unit tests

Further Comments / References

I have some good experience writing tests(not more than a year though:)). I can provide pretty good coverage for this.

@jayantbh  cc

Thank you for opening the issue, @thesujai. :)
I agree. We've not been doing great in the testing area, but are catching up on it.
Any help is welcome. :)

I am taking this on, you can assign me.
I will create one PR for a .py file in api/(or adjust it  not letting a PR be too long and non-reviewable).

@thesujai  Would like to know how you plan to achieve this before you start working on this. Although the current tests are not for APIs, they are for most of the core analytical functions that are used across the code base and in the APIs. API  tests do make sense, would love to know your approach.

@thesujai ^ would like to know that.

@jayantbh @samad-yar-khan
With my approach, we would first create a test_client (This will ensure that the main application is not affected by API requests, nor will we have to keep running the backend server for the test period).
Flask and pytest allow us to create a test client like below:
@pytest.fixture
def client(self):
        app = Flask(__name__)
        app.testing = True
        with app.test_client() as client:
            yield client

Now for each API endpoint we will use this client to make requests, and match the actual response with the expected response.
For example if we take the endpoint /teams/<team_id>/lead_time/prs we would write test like this:
test_get_lead_time_prs(some_mocks):
   # we setup the mocks here, like what should some of the function return when it is an actual API call
   # And we also define expected output, based on how we mock
   # then make a call like below
   response = client.get(
            f"/teams/team1/lead_time/prs",
            query_string={
                "from_time": from_time,
                "to_time": to_time,
                "pr_filter": json.dumps({"key": "value"})
            }
        )
   assert response.status_code = 200
   assert response.get_json() = expected_output

The above one I showed is a success case. There can be some 400, or 500 cases which also need to be checked. So for them, I will be asserting, for a bad request, if the server responding with an error(Or is the server behaving unexpectedly)
One thing I can say is writing tests won't be as straightforward as it looks, lots of API endpoints are a little tricky and would require some complex mocking. Anyway, I would try to do some actual data testing(Avoiding mocks in someplace).

Please let me know what you think about this approach, open to suggestions!

@thesujai you working on this ?


[BUG] Multiple OP tags in comment thread

Describe the bug
Multiple people are being identified as the thread OP and tagged throughout the comments. It appears to only happen when the real OP has a comment replying to someone.
To Reproduce
Toggle 'Threads >> Add OP Label'
Expected behavior
Only a single OP should be tagged in the thread
Screenshots

OS: Win32
Agent: Brave 1.52.126
KES version: 2.0.2
Handler: Tampermonkey
Incog: false
Settings: {"lastPage":17,"lastTab":"Debug","addMail":true,"magInstanceEntry":false,"userInstanceEntry":false,"updateTime":false,"toggleLogo":true,"labelOp":true,"initCollapsibleComments":true,"dropdownEntry":true,"notificationsPanel":true,"initKFA":true,"bugReportInit":true}

It is resolved by this pull request: https://github.com/aclist/kbin-kes/pull/148
This has been merged into testing and will be released as a hotfix tomorrow.

Resolved by e736e3675d319bb6edd03f220ef5b31c43001bb3


Vector layer

The type:"vector_layer" will assign the query response as features:[] to the entry object. The entry will passed to the vector layer decorator to create a vector layer associated with the entry.
{
 "label": "Nearest to Catchments",
 "type": "vector_layer",
 "format": "wkt",
 "srid": "4326",
 "display": true,
 "query": "uk_site_catchment",
 "queryparams": {
  "id": true,
  "reduce": true
 }
}

Style and themes are possible but will require some test data to work with.

@simon-leech all valid points. I haven't done the documentation yet because I haven't yet decided whether this will be a type in it's own right or consolidated with the mvt_clone to become type:layer.
Label, themes etc are not yet supported since I will need a public use case for this.
The format is the format. If WKT, then it must be st_astext(), if geojson then it must be st_asgeojson(). The default stored queries can be used but need to be tested against label, themes, etc.

Understood @dbauszus-glx I've opened a separate issue for those outstanding asks but the main functionality is working!


CDPT-1736 Fix internal deadline filter

Description
The internal deadline filter on the Backlog and In Progress pages is not working.
The reason is that internal_deadline is stored as datetime, whereas date_for_answer is stored as a date. The Javascript that does the filtering was always expecting a date. This has been modified to use the correct format based on the field being filtered on.

The date placeholder has also been updated to a more recent date

approved the pr as I think the sleep 0.5 are intentional

Yes they are intentional. There is a slight delay in the date control disappearing which is sometimes covering other items that need to be used.


Mismatch between the listening port and the Curl port in sample inbound-response-with-multiparts

Environment
ballerina-platform-linux-installer-x64-0.970.0.beta1.rpm (2018/04/19)
Description:
Install ballerina platform using ballerina-platform-linux-installer-x64-0.970.0.beta1.rpm installer
Run the below command to execute the sample
Go inside /ballerina-examples/examples/inbound-response-with-multiparts
ballerina run inbound-response-with-multiparts.bal
Obeserved the below exception when invoking with the curl command
curl: (7) Failed to connect to localhost port 9093: Connection refused
Please note that there is a mismatch between the curl request sending port (9093) and listening port mentioned in the.bal file (9090)

This sample fails in the below environment
Windows 10
Ballerina platform beta4
Oracle JDK - 1.8.0_171
Examples- with the below PR
https://github.com/ballerina-platform/ballerina-examples/pull/301/files
error: .\inbound-response-with-multiparts.bal:7:5: undefined field 'targets' in struct 'ballerina.http:ClientEndpointConfig'
compilation contains errors

This is fixed.


Extend MouseData functions to PointerData via a common trait

Closes #1269

I'm wondering if it would make sense to host the new PointerInteraction code in the input_data file

I am marking this as ready for review and seeking feedback on overall project structure for this change. I am not super confident on the naming of the new structs/traits or where I've placed them within the project. With this change, a new trait must be imported into any code that wants to access functions that were previously available directly. Ideally, I would like these traits to be implicitly imported, say through dioxus::prelude::*, but I wasn't sure the best way to do this.

Closing in favor of #1402


Add prettierrc to project to have consistency of code tab/spaces etc above using tslint

Can I take this up?

Sure @Jashpatel1 👍 - I have assigned it to you

Sure @Jashpatel1 👍 - Can you please also add me as assignee?

thank you @thriftykapila but the work has already been done https://github.com/EddieJaoudeCommunity/EddieBot/pull/271


Log slow queries

Feature Request
The database should be able to log queries that exceed a threshold to assist operators with identifying potential problematic queries.  This setting should log the slow queries even if query logging is disabled.
We currently have a query-timeout setting that will kill a long running query.  We also have show queries that will report the duration of the query.  These are similar ideas, but solve slightly different use cases.  The query-timeout is intended to automatically kill queries to prevent them from consuming too many resources.  The show queries statement is useful for interactive monitoring of queries currently running.
The slow query log setting would is useful to identify slow queries retrospectively.

@jwilder when should the message be printed?

After the query completes.
While the query is executing.

The first is easier and doesn't require an extra goroutine running, but you may want it to be printed while the query is actively running.

@jsternberg While running.

@jsternberg @jwilder yeah I agree. I think it's more important that you know some query was slower than x rather than exactly how much slower than x it was.

I have added Custom Headers(X-Request-Id) to keep track of logs for each API request.
Problem is for slow queries (when I enable Log-Queries-After) I do not get this Request Id displayed.
Is there a way how can we make it work, if not request ID then something else to keep track of logs associated with API ?


Add Superagent branding to Slack bot.

Description
Add Superagent branding to README.

closing this as it's completed


fix: add exception handling to local job test

Issue #, if available:
Description of changes:
Add a try/finally wrapper around the local job tests, so that if they fail due to docker not running, the test still exits out of the directory it cd'ed into. Otherwise, the rest of the tests in the suite will be executed in the wrong directory, leading to other errors.
Testing done:
Integ tests pass. With docker off, all non-(local job) integ tests pass.
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[x] I have read the CONTRIBUTING doc
[x] I used the commit message format described in CONTRIBUTING
[x] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[x] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[x] I have checked that my tests are not configured for a specific region or account (if appropriate)

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

Idk why the diff is acting up, I only added the try/except lines and changed the indentation accordingly


default assert.dom rootElement

The docs mention that assert.dom will use document as the rootElement if non is provided. In practice this doesn't seem to be the case.
Looking at the code it seems the default is to use #ember-testing instead. Since qunit-dom isn't Ember specific I find that a strange default? I would have expected that the Ember blueprints would configure this rootElement for Ember users by calling setup with the needed rootElement logic instead of "hardcoding" it in this package.
In any case, if it's kept like this I think the docs need to be updated? I was a bit confused why a certain element wasn't being found since the docs mentioned the default document behavior and it took me some source diving to find out why that was :smile:.

By default it should be using the document as the root element, unless you use it in an Ember app, then it should automatically switch to the test container. At least this is what the intention was, but something might have changed when we moved to the explicit setup call. 🤔

Oh, that could be, I didn't take a detailed look but on first glance it seemed like it was setting that as the default if nothing else was passed in through the setup options object.
I am indeed using an Ember app. It's just that the docs don't mention that behavior which confused me since an element wasn't being found but it was rendered, just not in Ember's #ember-testing element.
Passing in the rootElement fixes it of course.

yeah, that is somewhat intentional, because we don't want it to match on anything that is part of the QUnit user interface by default.


Tweak docs grouper chapter

As was raised in issue #954

Thanks for starting this. After reviewing the current docs, I ended up rewriting them a lot more to hopefully be more descriptive of how everything actually works.


Update s3, sdk-core, sqs to 2.17.23

Updates

software.amazon.awssdk:s3
software.amazon.awssdk:sdk-core
software.amazon.awssdk:sqs

from 2.17.14 to 2.17.23.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, semver-patch

Superseded by #268.


In multi-line mode, ^ matches after a trailing newline

In trishume/syntect#34, we have the pattern r"(?m)^\s*$". The input string "test\n" unexpectedly matches that pattern:
let re = Regex::new(r"(?m)^\s*$").unwrap();
assert!(!re.is_match("test\n"));
// thread 'main' panicked at 'assertion failed: !re.is_match("test\n")'

The regex crate behaves differently here than e.g. Oniguruma (which doesn't match). We can create a smaller case which I think is caused by the same problem:
let re = Regex::new(r"(?m)^").unwrap();
assert_eq!(re.find_iter("test\n").count(), 1);
// thread 'main' panicked at 'assertion failed: `(left == right)` left: `2`, right: `1`'

Instead of matching once, it matches twice, once for position 0 and another time for position 5 (after \n).
To me it looks like regex currently implements the concept of \n being a line separator (between lines), instead of a line terminator (at the end of a line).
Is this intentional behavior? If no, do you think it would be hard to change? I can look into it, but some pointers would be appreciated :).
FWIW, Rust itself doesn't think that "test\n" is two lines:
let lines: Vec<_> = "test\n".lines().collect();
println!("{:?}", lines);
// ["test"]

Unfortunately yes this is correct. It is in fact consistent with RE2-style of matching. From Russ's article:

In single-line mode, if the input text ends with a newline character, Perl and PCRE allow $ to match either before or after that final newline. RE2 requires that it match after, at the very end of the text.
Similarly, in multi-line mode, if the input text ends with a newline character, Perl and PCRE do not allow ^, which normally matches following a newline, to match at the very end of the text. RE2 does.

You can see that behavior is consistent with Go's regexp engine (which is also RE2-style): https://play.golang.org/p/Zc-J0VPpob
Interestingly, Python (which has a backtracking engine) agrees as well:
>>> import re
>>> x = re.compile('(?m)^')
>>> [g.span() for g in x.finditer('test\n')]
[(0, 0), (5, 5)]

Given all of this, I'm inclined to keep current behavior. What kind of work-arounds are available to you?

Thanks for the links! Do we know why RE2 behaves that way?
For Python, it's noteworthy that splitlines() doesn't consider it to be two lines either:
>>> 'test\n'.splitlines()
['test']

Given all of this, I'm inclined to keep current behavior. (And in my mind, the current behavior seems more consistent.)

It's interesting that it makes it inconsistent with what Rust's lines method does. But it looks like Python has the same inconsistency.
Perl seems to behave the same way as Oniguruma (my Perl is rusty, but scalar makes it print the size of the array):
$ perl -e 'my @matches = "test\n" =~ /(?m)^/g; print scalar @matches; print "\n"'
1

Seems like this is another one of those things that is inconsistent between engines and should not be relied on. Either way, we should document the behavior. I'll raise another PR once #405 is merged.

Oh, I forgot to mention a workaround: I think we can rewrite the regex to use \A instead of ^, because we only match with individual lines anyway.
That means we have to do some parsing because we don't want to replace it in e.g. character classes. But we have to do that for other reasons already.

I don't know specifically why RE2 behaves this way, but I'm pretty sure that if we wanted the exact PCRE behavior, we would need to special case it. The absence of the special case results in the behavior we have today.

That sounds reasonable. I imagine the special case would mean looking ahead to see if we're at the end of the string or not, which is a bit weird for ^.


Hit Test Using Geometry as a Parameter

Is your feature request related to a problem? Please describe.
While porting a recent addition to nodify, a WPF library to Avalonia, I have encountered a missing feature in Avalonia, which blocks this new nodify feature.
Nodify is a graphing library and uses hit testing using a geometry of a line to detect which edges are being "cut" by the line - i.e. which edge geometries are overlapped by a line geometry currently drawn by the user.
Describe the solution you'd like
Port of WPF methods to hit-test using an arbitrary geometry https://learn.microsoft.com/en-us/dotnet/desktop/wpf/graphics-multimedia/how-to-hit-test-using-geometry-as-a-parameter would be great.
Describe alternatives you've considered
No response
Additional context
No response

Thank you so much for sharing. Thank you so much


Fix MediaType for Prometheus Endpoint

Fixed

MediaType for scrape endpoint

Context
Prometheus sets the following header: Accept: application/openmetrics-text; version=0.0.1,text/plain;version=0.0.4;q=0.5,*/*;q=0.1 when scraping. Without an explicit media type, the underlying server will respond with a content type of application/openmetrics-text while the actual type of the content is text/plain which will lead to an error when Prometheus tries to parse the body.
Just noticed that when deploying the service. Sorry I missed it, the first time around.

Good catch :)
I'll pull it in with: https://github.com/oviva-ag/ehealthid-relying-party/pull/36

Merged via #36


Roman Letters Testing Bug.

so i have been doing this challenge for the last 1-2 hours and i thought i finally got it.
the problem is that when i test numbers that are 1000 and above the results shows me the infinite loop massage.
this is my code:

please help me here :)

@asiparsi930
You need more work on it.
Your code is producing infinite loop and that is no good.
Check for help with code in the future here -> help chat room.


Add a command ^current_server_count to trutils

it should just print the number of servers the bot is currently in

closed by #21


[FLINK-4214] ExceptionHandler keep count of exceptions

This is just a bug identified while going through exception handler. There is no JIRA ticket for this.

Thank you for opening a pull request for this.
+1 to merge

Merging this, thanks for the patch!


Update nf-dbgeng-idebugeventcallbacks-exception.md

fixed missing space and removed link that went to https://docs.microsoft.com/windows-hardware/drivers/, the default landing page for the DDK (this link does not make any sense in this context).

@jasonepperly - Thanks for catching this.
How about adding wording to say:
For general information on exceptions, see Handling Exceptions


Footer

Also see https://designsystem.zeiss.com/document/9#/navigation/breadcrumb for nav breadcrump

Fixed in https://github.com/hlxsites/zeiss/pull/24


build 23.11 instead of 23.05

I am replacing the old release here because only the current one has been built so far and existing installer images for 23.05 are probably good enough as long as that's still supported?
Happy to add 23.11 as an additional one if there's a use-case I am missing.

@mergify queue


Support for multiple config YAML

Hello , Would like to have metrics pulled from multiple AWS accounts but will send it over to single specific metrics endpoint port.
currently the last config file is picked up while rest is ignored, silently. shouldn't it be better to have a warning/error message print out ?
bin/yace -debug -config.file config/account1_config.yml -config.file config/cross_account_1_config.yml -config.file config/cross_account_2_config.yml -listen-address :443

So that data from all accounts can be scraped using <hostname or ELB name>:<port_number>/metrics endpoint.
we are currently planning to host this in ec2 but open to plans to migrate it to docker or k8s pods.

Please concenate your yaml files through your own script. We won't support multiple config files.
Multiple aws accounts are now supported. Closing this here.
Greetings, Thomas :)


Mongo oAuth2 adapter 500 Internal Server Error

I have a problem. when i'm creating a Mongo oAuth2 adapter in Apigility admin panel i got 500 Internal Server Error
Request to /apigility/api/authentication/oauth2, json {database: "mongo_test" dsn_type: "Mongo" route_match: "/oauth"}
Error is Fatal error: Call to a member function isOAuth2() on a non-object in /path/vendor/zfcampus/zf-apigility-admin/src/Model/AuthenticationModel.php on line 53
How to fix this?

Issue with this config for mongodb any idea got exception An exception was raised while creating "ZF\OAuth2\Adapter\MongoAdapter"; no instance returned
'db' => array(
    'dsn'      => 'mongodb://localhost:27017/qfriends_cloud', // for example "mysql:dbname=oauth2_db;host=localhost"
    'username' => 'root',
    'password' => '',
),
'allow_implicit' => true,
'access_lifetime' => 3600,
'enforce_state'  => true,  // default
'storage'        => 'ZF\OAuth2\Adapter\MongoAdapter',


CIAO - API: /v2.1/{tenant_id}/servers  returning wrong format

Sending a request with POST to    /v2.1/{tenant_id}/servers   as follows is returning a wrong response format than expected
REQUEST:
REQ: curl -g -i 'https://cloud-controllere.example.com:8774/v2.1/a461044ec60c4498a81b956527ae4f48/servers' -X POST -H "Accept: application/json" -H "Content-Type: application/json" -H "User-Agent: python-novaclient" -H  X-Auth-Project-Id: c_rally_c6d57543_XVtxPVlS" -H "X-Auth-Token: {SHA1}7c71ad614acf1fe7742fbdcfc34c822b20fd5ee8" -d '{"server": {"min_count": 1, "flavorRef": "e35ed972-c46c-4aad-a1e7-ef103ae079a2", "name": "s_rally_c6d57543_n5kK3LJj", "imageRef": "2e7044cc-6db4-43f7-a10c-1307d163eb0c", "max_count": 1}}'

RESPONSE
RESP: [202] {'Date': 'Mon, 06 Jun 2016 15:45:21 GMT', 'Content-Length': '1041', 'Content-Type': 'application/json'}
RESP BODY: {"total_servers": 1, "servers": [{"OS-EXT-STS:task_state": "", "addresses": {"private": [{"OS-EXT-IPS-MAC:mac_addr": "02:00:ac:10:13:02", "version": 0, "addr": "<IP_ADDRESS>", "OS-EXT-IPS:type": ""}]}, "links": null, "ssh_port": 0, "image": {"id": "df3768da-31f5-4ba6-82f0-127a1a705169", "links": null}, "OS-EXT-STS:vm_state": "", "OS-EXT-SRV-ATTR:instance_name": "", "OS-SRV-USG:launched_at": "0001-01-01T00:00:00Z", "flavor": {"id": "e35ed972-c46c-4aad-a1e7-ef103ae079a2", "links": null}, "id": "8dee7f0e-f8ef-4477-abe8-951493a76b9c", "security_groups": null, "host_status": "", "user_id": "", "OS-DCF:diskConfig": "", "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 0, "OS-EXT-AZ:availability_zone": "", "config_drive": "", "status": "pending", "updated": "0001-01-01T00:00:00Z", "hostId": "", "OS-EXT-SRV-ATTR:host": "", "OS-SRV-USG:terminated_at": "0001-01-01T00:00:00Z", "key_name": "", "ssh_ip": "", "OS-EXT-SRV-ATTR:hypervisor_hostname": "", "name": "", "created": "0001-01-01T00:00:00Z", "tenant_id": "a461044ec60c4498a81b956527ae4f48", "os-extended-volumes:volumes_attached": null}]}

The RESPONSE should have a format as  based on http://developer.openstack.org/api-ref-compute-v2.1.html
{
    "server": {
        "name": "new-server-test",
        "imageRef": "http://glance.openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
        "flavorRef": "http://openstack.example.com/flavors/1",
        "metadata": {
            "My Server Name": "Apache1"
        }
    }
}

For what I can see a POST request is being answered as a GET, based in the documentation. Probably we have the same function being called when its a POST/GET request.

@leoswaldo The json you have pasted there is actually the request format. The response format is listed below that. However, it does look like we are returning the response format incorrectly none the less.

It seems the nova API does indeed want us to return the first created instance and not a list of all created/pending ones. Jim confirms that.
@leoswaldo Are you going to fix that ? Just use instances[0] from context.startWorkload() in ciao-controller/compute.go: createServer().

@leoswaldo Could you please try to modify the reply to include both server{} and servers[] in order to be compatible with the Nova API and not break our webui and cli.

@sameo yeap, I'll do that, let me test and see how it goes

6/16- assign this to leoswaldo


[Feature] Add Hailstone Series Calculator

Description
A Hailstone series is defined as follows: start with any integer value greater than 0, say x. If x is even, then the next value in the series is x/2; if x is odd, then the next value in the series is 3x + 1. Now apply the same rules to create the next value in the series, and so on.
In input, the first line of input is the starting number of the series and the next line consists of the number of terms to generate in the series.
Ex:
Input :17
5
Output: 17 52 26 13 40
Input : 26
6
Output: 26 13 40 20 10 5
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

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

Hey @Rakesh9100 ,assign this to me under gssoc24.

Go ahead @pavitraag


Remove transaction, external transition databases

Remove the transaction and external transition databases that were defined in Auxiliary_databases. The  Filtered_external_transition module from that library appears to have uses independent of those databases, and gets its own library (perhaps there's a better home for it).
The removal of those databases results in these other changes:

the CircleCI archive node test is deleted (usually failed)
the CircleCI batch payment test is deleted (usually succeeded)
the mock_wallet_data app is deleted (was unused)
the block and blocks GraphQL queries are removed

#6753 asks for a new integration test to replace the batch payment test.
Closes #6555.

I think this is okay to land after we hardfork (and therefore not for the duration of our 4.1 testnet). We can use this time now in this testnet to notify those that depend on this functionality that they should now be relying on an archive node.
cc @garethtdavies because I think you rely on this

@bkase if deprecating those endpoints could you look at https://github.com/MinaProtocol/mina/issues/6704 as bestChain is otherwise a good drop-in replacement (for my needs at least). However, this always returns k blocks and I can imagine there are use cases where someone just wants the current best block and the archive node solution seems like overkill.

FWIW the block and blocks endpoints seem to be broken in any case so anyone relying on it shouldn't be. Take this block: 3NKPEpM5PAzQh9ypYmzTj1cw89bjYJpGQ65m8hf6wjo7h8sZ2B2m and see there are no userCommands returned whereas they exist in bestChain as shown in this gist. As per my previous comment running this query on bestChain is very slow.


Config option to not use userscale for distance calculation

Having this will allow users to be smaller and not have people right in front of them look choppy

As someone who regularly scales this change would be greatly appreciated!

This has now been committed to master, I just haven't made a release yet

Released https://github.com/Nytra/ResoniteDistantComponentOptimizer/releases/tag/1.1.0


Evaluate the usage of class and structs

FileFormat and Glossary ?

Classes that we can consider changing:

DocumentTranslationError
TranslationGlossary

Better not to do FileFormat as it has 3 lists inside it that can grow.


Installation fails

Hi,
Trying to install the package on R-3.6.3
Always the same error:
Error: Failed to install 'cmapR' from GitHub: (converted from warning) installation of package ..... had non-zero exit status
How should I solve this problem?

Hi @erikfel97,
Can you please give a bit more detail as to how you are trying to install?
Thanks,
Ted
On Mon, Mar 9, 2020 at 7:31 AM erikfel97<EMAIL_ADDRESS>wrote:

Hi,
Trying to install the package on R-3.6.3
Always the same error:
Error: Failed to install 'cmapR' from GitHub: (converted from warning)
installation of package ..... had non-zero exit status
How should I solve this problem?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cmap/cmapR/issues/44?email_source=notifications&email_token=AAO6F374K2ACT326EH6IUKLRGTHRPA5CNFSM4LEGXAQKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4ITREVDQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6F36WES2IINTT5WKYQGDRGTHRPANCNFSM4LEGXAQA
.

First - devtools::install_github("cmap/cmapR")
Then using the script: install_cmapR.R
Same error message in both cases

Ok thanks. Are there any other error messages produced?
Also just so you are aware, there is a docker container with cmapR
available here https://hub.docker.com/r/cmap/cmapr, if you'd like to use
the package without installing on your system.
On Mon, Mar 9, 2020 at 10:21 AM erikfel97<EMAIL_ADDRESS>wrote:

First - devtools::install_github("cmap/cmapR")
Then using the script: install_cmapR.R
Same error message in both cases
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cmap/cmapR/issues/44?email_source=notifications&email_token=AAO6F3ZITR7SWHDHW3EFOI3RGT3QFA5CNFSM4LEGXAQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOHM7IQ#issuecomment-596561826,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6F3ZOIK73O5GZUIQ5IB3RGT3QFANCNFSM4LEGXAQA
.

This is the only error message to be produced
Actually, in order to run ssGSEA2.0 I should have this package installed...

Interesting. It looks like the ssGSEA2.0 source code contains a copy of
some of the cmapR code for parsing and writing GCTX files, though I don't
know if this is causing the install problem. But if you have ssGSEA2.0
installed you should be able to use this functionality. This may be a
short-term workaround but it would still be useful to know why the cmapR
install fails, which I can keep debugging. Do you have a specific use case
for cmapR for which the GCTX functionality might suffice for now?
On Mon, Mar 9, 2020 at 10:38 AM erikfel97<EMAIL_ADDRESS>wrote:

This is the only error message to be produced
Actually, in order to run ssGSEA2.0 I should have this package installed...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cmap/cmapR/issues/44?email_source=notifications&email_token=AAO6F32RNQZDNUH6LZNN2STRGT5P5A5CNFSM4LEGXAQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOHPP5A#issuecomment-596572148,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6F3ZQSLHDKZTE23I7LJDRGT5P5ANCNFSM4LEGXAQA
.

Hi, I got a similar install error after having no problems until today:

Error: Failed to install 'cmapR' from GitHub:
(converted from warning) installation of package ‘C:/.../cmapR_0.99.18.tar.gz’ had non-zero exit status

Earlier in the console I got a more specific message at this point in the installation:

** byte-compile and prepare package for lazy loading
Error in findpack(package, lib.loc) : there is no package called 'cmapR'
Calls:  -> findpack
Execution halted
ERROR: lazy loading failed for package 'cmapR'

removing '.../R/win-library/3.6/cmapR'

I tried the install_cmapR.R script as it is and then devtools::install_github('cmap/cmapR') in the same session and got the same error both times. Is this a problem on my end? Hope the extra info helps, thank you!

Hi @ebrgstrm,
Sorry to hear about that error. Do you happen to have the ssGSEA package
installed on your system also?
Thanks
Ted
On Fri, Mar 27, 2020 at 2:56 PM ebrgstrm<EMAIL_ADDRESS>wrote:

Hi, I got a similar install error after having no problems until today:
Error: Failed to install 'cmapR' from GitHub:
(converted from warning) installation of package
‘C:/.../cmapR_0.99.18.tar.gz’ had non-zero exit status
Earlier in the console I got a more specific message at this point in the
installation:
** byte-compile and prepare package for lazy loading
Error in findpack(package, lib.loc) : there is no package called 'cmapR'
Calls: -> findpack
Execution halted
ERROR: lazy loading failed for package 'cmapR'

removing '.../R/win-library/3.6/cmapR'

I tried the install_cmapR.R script as it is and then
devtools::install_github('cmap/cmapR') in the same session and got the
same error both times. Is this a problem on my end? Hope the extra info
helps, thank you!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cmap/cmapR/issues/44#issuecomment-605212598, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6F35SCIWV5IVB4W74LGDRJTZE3ANCNFSM4LEGXAQA
.

Yes, I used that yesterday and it seems to be what kicked off the problems with my libraries (specifically, the ssGSEA2.0/PTM-SEA implementation). Since then, I updated R 3.5 -> 3.6, and clean installed other libraries with no issues.

Hmm, ok. I think the initial error could have something to do with the
ssGSEA package but I'm not sure what specifically. Did you reinstall that
package after updating to R 3.6?
On Fri, Mar 27, 2020, 5:08 PM ebrgstrm<EMAIL_ADDRESS>wrote:

Yes, I used that yesterday and it seems to be what kicked off the problems
with my libraries (specifically, the ssGSEA2.0/PTM-SEA implementation).
Since then, I updated R 3.5 -> 3.6, and clean installed other libraries
with no issues.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cmap/cmapR/issues/44#issuecomment-605315874, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6F332ASFIYPT45B66DHTRJUIVVANCNFSM4LEGXAQA
.

Hi, I just want to chime in here and share some of my experience with the cmapR package. First of all kudos for developing this package! We heavily rely on the GCT 1.3 format and the functions in the cmapR package provide and easy and intuitve I/O interface.
I am pretty sure that the ssGSEA2.0 package does not cause the problems when trying to install the cmapR package. In fact, I was using the cmapR package in ssGSEA2.0 for quite some time without problems. Only recently, users reported problems with the cmapR package (e.g. no deprecated versions when functions were renamed for BioC submission, see below).
https://github.com/broadinstitute/ssGSEA2.0/issues/14#issuecomment-596668692
https://github.com/broadinstitute/ssGSEA2.0/issues/15#issuecomment-596670170
As a temporary solution I decided to include and use the io.R file. Once the cmapR package will be available via Bioconductor (which hopefully will be backwards compatible with R<4.0) I will switch back to the "official" version.
The most common problem that I encountered during installation of cmapR on different OS where caused by the rhdf5 package. I partly solved some of the problems by installing the rhdf5 package before cmapR but especially on some versions of Debian I was not able to install the package at all (well  I just gave up at some point..).
Another point to keep in mind is the switch to the BiocManager package introduced in R 3.6 which changed the way how to install packages from Bioconductor. In ssGSEA2.0 I used the code below to make it work on R<3.5 and R >= 3.6. I am just bringing this up because @ebrgstrm updated from 3.5 to 3.6 which might or might not be related to his problems.
RVERSION <- as.numeric(paste(R.version$major, sub('\\..*','',R.version$minor), sep='.'))
  if(RVERSION >= 3.6) {
    p_load(BiocManager)
    BiocManager::install("rhdf5")
 } else {
    source("https://bioconductor.org/biocLite.R")
    biocLite("rhdf5")
}

The code above uses p_load from the pacman R package management tool, which does an awesome job in resolving dependencies between packages.
Anyways, I just wanted to share my thoughts on that.
Best,
Karsten

Thanks for the response, @karstenkrug ! Based on that I think my issues were just coincidentally timed somehow.
Update: turns out my problem was most likely on my end, as my default library path was on a mapped network drive, and either BioConductor or GitHub or something was running into a permission error at some point. After a clean install of R and this change, cmapR installed perfectly and works fine after running ssGSEA.
Thanks all for the help! I will update if I encounter any more issues like this. I would like to echo Karsten's kudos as well, cmapR is very helpful to our group.

 Thanks for the kind words as well. We'll continue to try
to make the cmapR package as useful as possible and we very much appreciate
your input.
Best,
Ted
On Sat, Mar 28, 2020 at 5:28 PM ebrgstrm<EMAIL_ADDRESS>wrote:

Thanks for the response, @karstenkrug https://github.com/karstenkrug !
Based on that I think my issues were just coincidentally timed somehow.
Update: turns out my problem was most likely on my end, as my default
library path was on a mapped network drive, and either BioConductor or
GitHub or something was running into a permission error at some point.
After a clean install of R and this change, cmapR installed perfectly and
works fine after running ssGSEA.
Thanks all for the help! I will update if I encounter any more issues like
this. I would like to echo Karsten's kudos as well, cmapR is very helpful
to our group.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cmap/cmapR/issues/44#issuecomment-605521951, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6F35HHYWVTTUS4WJTLKLRJZTYDANCNFSM4LEGXAQA
.


Remove cstwMPC project files

Per team discussions, project code like cstwMPC will not be distributed with HARK, but instead live separately in its REMARK.  This commit removes cstwMPC files from HARK.

Some of the DemARK demos need to be adjusted to not call on cstwMPC code before this is merged. They're only loading in parameter dictionaries, so that can be done more transparently in the demo.

I feel that before we pull the trigger on this we need some instructions on the readthedocs for how people can use cstwMPC and the other content like it as a module if it is not in HARK proper.

Wouldn't this just be a line pointing them to clone REMARK for examples of
completed projects?
On Sat, Jul 20, 2019 at 3:48 PM Christopher Llorracc Carroll <
<EMAIL_ADDRESS>wrote:

I feel that before we pull the trigger on this we need some instructions
on the readthedocs for how people can use cstwMPC and the other content
like it as a module if it is not in HARK proper.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/334?email_source=notifications&email_token=ADKRAFJNO6YXEYZV3XNUE43QANTXRA5CNFSM4H4HJZO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NUZ7A#issuecomment-513494268,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADKRAFMGWQACRXBJQLHW4O3QANTXRANCNFSM4H4HJZOQ
.

No. I want them to be able to say “import cstwMPC” (or “from cstwMPC import
…”) if there are importable tools.
This is automatic if cstwMPC and StickyE remain inside HARK. I agree that
we should move them, but not until we have explained to users how they can
import them. The options I know of are all unattractive:

Download or clone the REMARK repo and then write your own code within
its directory structure (intermingling your own code with the REMARK
directory — yuck)
Hard-wire the filepath to them in your code to reflect where you
happen to have put the repos on your own computer (totally not portable)
Abide by some instructions from us like “clone HARK and DemARK and
REMARK all inside the same directory so you can find what you want in a
predictable location from paths like ../../REMARK/REMARKs/cstwMPC

Slightly less ugly

I feel that there is probably a better approach that I don’t know. But if I
don’t know it, many of the random users we hope to persuade to extend our
content also won’t know what the right protocols are. What I want to do
before we move them is to figure out the best answer to this question and
to put something in readthedocs explaining that “best answer”
On Sat, Jul 20, 2019 at 6:28 PM Matthew N. White<EMAIL_ADDRESS>wrote:

Wouldn't this just be a line pointing them to clone REMARK for examples of
completed projects?
On Sat, Jul 20, 2019 at 3:48 PM Christopher Llorracc Carroll <
<EMAIL_ADDRESS>wrote:

I feel that before we pull the trigger on this we need some instructions
on the readthedocs for how people can use cstwMPC and the other content
like it as a module if it is not in HARK proper.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/econ-ark/HARK/pull/334?email_source=notifications&email_token=ADKRAFJNO6YXEYZV3XNUE43QANTXRA5CNFSM4H4HJZO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NUZ7A#issuecomment-513494268
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ADKRAFMGWQACRXBJQLHW4O3QANTXRANCNFSM4H4HJZOQ
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/334?email_source=notifications&email_token=AAKCK7Z2BL3WQOYZDJJEZBLQAOGRRA5CNFSM4H4HJZO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NXDHQ#issuecomment-513503646,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKCK7Y4ZTZS2HMQXBIQML3QAOGRRANCNFSM4H4HJZOQ
.

--

Chris Carroll

There is nothing in cstwMPC that someone would want to import from a
library/package.  It's just project code; it should live in their working
directories, not in their library.  If they want something from it for some
reason, they can simply put the relevant project file into their own
project directory.  That's the correct thing to do.
On Sat, Jul 20, 2019 at 7:27 PM Christopher Llorracc Carroll <
<EMAIL_ADDRESS>wrote:

No. I want them to be able to say “import cstwMPC” (or “from cstwMPC import
…”) if there are importable tools.
This is automatic if cstwMPC and StickyE remain inside HARK. I agree that
we should move them, but not until we have explained to users how they can
import them. The options I know of are all unattractive:

Download or clone the REMARK repo and then write your own code within
its directory structure (intermingling your own code with the REMARK
directory — yuck)
Hard-wire the filepath to them in your code to reflect where you
happen to have put the repos on your own computer (totally not portable)
Abide by some instructions from us like “clone HARK and DemARK and
REMARK all inside the same directory so you can find what you want in a
predictable location from paths like ../../REMARK/REMARKs/cstwMPC
Slightly less ugly

I feel that there is probably a better approach that I don’t know. But if I
don’t know it, many of the random users we hope to persuade to extend our
content also won’t know what the right protocols are. What I want to do
before we move them is to figure out the best answer to this question and
to put something in readthedocs explaining that “best answer”
On Sat, Jul 20, 2019 at 6:28 PM Matthew N. White<EMAIL_ADDRESS>
wrote:

Wouldn't this just be a line pointing them to clone REMARK for examples
of
completed projects?
On Sat, Jul 20, 2019 at 3:48 PM Christopher Llorracc Carroll <
<EMAIL_ADDRESS>wrote:

I feel that before we pull the trigger on this we need some
instructions
on the readthedocs for how people can use cstwMPC and the other content
like it as a module if it is not in HARK proper.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<

https://github.com/econ-ark/HARK/pull/334?email_source=notifications&email_token=ADKRAFJNO6YXEYZV3XNUE43QANTXRA5CNFSM4H4HJZO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NUZ7A#issuecomment-513494268

,
or mute the thread
<

https://github.com/notifications/unsubscribe-auth/ADKRAFMGWQACRXBJQLHW4O3QANTXRANCNFSM4H4HJZOQ

.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<
https://github.com/econ-ark/HARK/pull/334?email_source=notifications&email_token=AAKCK7Z2BL3WQOYZDJJEZBLQAOGRRA5CNFSM4H4HJZO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NXDHQ#issuecomment-513503646
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AAKCK7Y4ZTZS2HMQXBIQML3QAOGRRANCNFSM4H4HJZOQ
.

--

Chris Carroll

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/334?email_source=notifications&email_token=ADKRAFPA6PP5G6OQSPZA763QAONOPA5CNFSM4H4HJZO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2NXYQY#issuecomment-513506371,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADKRAFKWH4NFWY2TRPGSZ4TQAONOPANCNFSM4H4HJZOQ
.

Related issues:
#449 -- pulling reusable code from cstwMPC into HARK library
#446 -- rationalizing the way parameters are being ported across Econ-ARK projects
#440 -- using examples/ directory for projects that serve as documentation of HARK

Revisiting this PR.
Maybe cstwMPC should be moved from the HARK library into the examples/ directory?
If it does not include any reusable tools, I agree with @mnwhite that it should not be in the HARK library directory.

There are some parts of it that have been reused a number of times.  The
right way to do this, though, would be to carve those out and make them
standalone tools, and then have the "real" cstwMPC code use those tools,
and have an "example" that uses them too.
I'm hoping to return some attention to cstwMPC over the next few weeks, as
it is the basis for the exercise I want to do for the Econometric Working
Group on March 18.  So let's wait until I revisit it to do anything else.
On Sun, Feb 9, 2020 at 2:11 PM Sebastian Benthall<EMAIL_ADDRESS>wrote:

Revisiting this PR.
Maybe cstwMPC should be moved from the HARK library into the examples/
directory?
If it does not include any reusable tools, I agree with @mnwhite
https://github.com/mnwhite that it should not be in the HARK library
directory.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/pull/334?email_source=notifications&email_token=AAKCK72EJNEO24O5HWQH6KTRB76HZA5CNFSM4H4HJZO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELGL7IA#issuecomment-583843744,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK7Z3TCUS5ZT3KZGF5HTRB76HZANCNFSM4H4HJZOQ
.

--

Chris Carroll

Revisit this after #527

There are merge conflicts on this PR.
But the data has been moved into HARK.datasets so once the conflicts are fixed this PR should be merged.

created a new PR https://github.com/econ-ark/HARK/pull/666

The PR made redundant by #666


Support --local-engine for web builds

This should point at the source files in flutter/engine
Currently the relative paths are configured to only be correct when loaded from flutter_patched_sdk. We'll need to create two versions or adjust the paths on the fly.

We get this for free with the tool


Logger service showing actual caller source/line number

closes #44

Instead of ts-ignore, can you just disable those lint checks in the lint configuration?


Autoregressive generation?

Due diligence

[X] I have done my due diligence in trying to find the answer myself.

Topic
The PyTorch implementation
Question
I am just confused if the current model is the autoregressive modeling. I checked the step function in lm.py. It seems every time we just take the current frame as input to predict the next frame. It seems the history tokens (t=0,..,T) are not taken as input. In that case, how does moshi capture long-term dependency>
`    @torch.no_grad()
def step(self, input_tokens: torch.Tensor) -> torch.Tensor | None:
    ##we should also check if text token is the input
    state = self._streaming_state
    # print(f"state cache shape is {state.cache.shape}") #[1, 17, 3]
    if state is None:
        raise RuntimeError(
            "You should wrap those calls with a `with lm_gen.streaming(): ...`."
        )
    lm_model = self.lm_model

    assert input_tokens.dim() == 3, "Shape should be [B, K, T]."
    B, Ki, S = input_tokens.shape
    assert S == 1, "Only support being given steps one by one."
    needed_tokens = lm_model.num_codebooks - lm_model.dep_q - 1
    assert (
        Ki == needed_tokens
    ), f"We expect {needed_tokens} tokens from the user stream, got {Ki}."`

Understand now.


Backport Apache Lucene version change for 2.4.0

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
Backport Apache Lucene version change for 2.4.0
Issues Resolved
Related to https://github.com/opensearch-project/OpenSearch/pull/4667
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff
[X] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@reta do you know why gradle check is skipped?

@reta do you know why gradle check is skipped?

Hm ... interesting .... no idea

@saratvemulapalli  Oh ... I see, it now depends on  the outcome of precommit check

@saratvemulapalli Oh ... I see, it now depends on the outcome of precommit check

Yup. Recent changes[1].
[1] https://github.com/opensearch-project/OpenSearch/pull/4660


Add an expand all button to RF Builder

During testing, Marie found that she would have liked to have been able to see the entire hierarchy, like you can when you first load the page.  An expand all button would be welcome.
From Jenny: Paul suggested we repurpose the Expand all / Collapse all functionality from the change log. Here's what that could look like:

Acceptance criteria

[x] 1. The Expando/Collapso ideally only appears after you have saved your first second-tier level and there's something to collapse.

Next best would be for it to appear after you've saved your top tier level, but grayed out until you save your first second tier level and there's something to collapse.
Housekeeping (where applicable)

[ ] Unit test/s written
[ ] i18n strings included
[ ] Is accessible to people using screen readers

I think I might have caught this in b90c083d1

But now that I'm in there, I notice that there's some opacity stuff I can't see. For example on the changelog, when everything is expanded, Expand all is dimmed:

But in the RF Builder I'm not seeing it:

Buttons are now disabled if list is already fully expanded or collapsed.

@axoplasm It's working like butta! Just a small UI question:
What do you think about reducing the vertical space between the expando-contracto thing and the first RF level, so that it's roughly the same distance as the RF levels are to each other? It feels a little disconnected at the moment.


Quick Accent - Pops up Apparently Randomly

Microsoft PowerToys version
Preview x64 0.77.0
Installation method
Microsoft Store
Running as admin
None
Area(s) with issue?
Quick Accent
Steps to reproduce
Sorry, not sure what I'm doing to cause the issue, but the Quick Accent bar keeps popping up on my screen at odd times. Perhaps I've accidentally mistyped something, but I'm not aware of activating it. When it DOES show at the top of the screen, I can't get rid of it easily. ESC or clicking off doesn't seem to work. It just goes when it's ready. I've now switched it off, but it would be handy to use it occasionally.
✔ Expected Behavior
See above.
❌ Actual Behavior
See above.
Other Software
No response

I'm having this issue as well, I think it happens when you let go of the shortcut too fast after you trigger the popup.

This is basically the same issue as #31988.

@alexchandel I think there's two different issues at play (appearing randomly and getting stuck once it appears).
For it appearing randomly, I had this issue as well. What I noticed is the default setting triggers on Space... so if you're typing along and happen to hit space as you're letting go of your last letter when typing fast and/or hold down the spacebar for too long between words inserting your space, it'll trigger... 🙁
The default should probably just be the Left/Right option instead of including Space.


packages: Add Mesa3D OpenCL driver

Is this already part of upstream packages in worstation?

is part of fedora repos, but is not installed as default in nothing ISO, i think that OpenCL looks much optional for be a default preinstalled in fedora, but the Mesa-LibOpenCL already have Mesa3D RustICL Gallium StateTracker that is conformance with OpenCL 3.0 in Intel Iris Driver, and in future it will be support Zink driver

still if it isnt installed with any iso specially fedora Workstation i dont think has my approval at this time based on scope found at https://universal-blue.org/scope/

still if it isnt installed with any iso specially fedora Workstation i dont think this should have my approval at this time based on scope found at https://universal-blue.org/scope/

it can be considered a hardware enablement? because OpenCL is already used in various softwares including Darktable and OpenCL is a heterogeneous API for GPU enablement, in this case Iris driver can use OpenGL API that is a thing that Intel GPUs support.
In case if this can be considered the Intel-gmmlib, intel computer runtime zero level for Intel OneAPI support for intel GPU can be considered a hardware enablement?

While yes this can be cinsidered hardwrae enablement could this be packckaged as a part of flatpak or oci image with the peogram using it if so this likely doeant apply as those are recommended methods of installation of software plus installing it here would likely have no effect on programms running inside flatpak and podman(or other oci)

-1, this works in distrobox and makes alternatives like ROCM harder to use


Remove python version upper bound

Capping to <3.11 prevents projects from using (or testing) this package on 3.11 (which I'd like to do for internal projects), so unless there is a known breaking issue in 3.11, this removes the pin. There may be some conflicting opinions, but this post lays out a couple challenges with libraries pinning upper bound. Notably, neither pandas nor pyarrow set a python upper bound.
--
I'm just making the PR real quick since it is a small change, but happy to close if there are concerns (or open an issue if it needs further discussion).

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

@JacobHayes thanks for submitting this PR. I am checking with some colleagues to see whether there was a particular reason to take this approach. More to come.

I think the two failing tests are flakes but not sure about "OwlBot Post Processor".

there is a bug in the pandas release candidate code that handles time down to the nanosecond and it is causing some tests to fail.
They know about about it and last I checked, it was in the works as part of the milestone release. Not super worried about the tests. Will check on what might be the problem with owlbot and see about getting this merged.


Authors page feed layout switcher doesn't exists

Hello!
There is an error in authors
Caused by non-existing feed layout switcher

The same issue for tags too


[20.03] mariadb-connector-c: add mysqlclient.pc pkgconfig symlink

Motivation for this change
Backport #80756
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @Mic92

Ping @NixOS/nixos-release-managers

Can confirm this works to fix the bitwarden_rs-mysql build.


Issue with HTTP Method Validation in http.NewRequest (v1.22.7)

Go version
go version go1.22.7 windows/amd64
Output of go env in your module/workspace:
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOVCS=
set GOVERSION=go1.22.7
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config

What did you do?
The http.NewRequest method, which internally calls NewRequestWithContext, includes validation for the HTTP method used. However, I have verified that it accepts any string and does not return any error.
this method is not working fine:
func validMethod(method string) bool {
	/*
	     Method         = "OPTIONS"                ; Section 9.2
	                    | "GET"                    ; Section 9.3
	                    | "HEAD"                   ; Section 9.4
	                    | "POST"                   ; Section 9.5
	                    | "PUT"                    ; Section 9.6
	                    | "DELETE"                 ; Section 9.7
	                    | "TRACE"                  ; Section 9.8
	                    | "CONNECT"                ; Section 9.9
	                    | extension-method
	   extension-method = token
	     token          = 1*<any CHAR except CTLs or separators>
	*/
	return len(method) > 0 && strings.IndexFunc(method, isNotToken) == -1
}

here you have a test to check it out:
func TestNewRequest(t *testing.T) {
	_, err := http.NewRequest("INVALID-METHOD.", "https://something.com", nil)
	if err != nil {
		t.Errorf("not nil. %v", err)
	} else {
		t.Log("nil")
	}
}

What did you see happen?
=== RUN   TestNewRequest
go_issue_test.go:14: nil
--- PASS: TestNewRequest (0.00s)
PASS
Process finished with the exit code 0
What did you expect to see?
I expected to receive something like
"net/http: invalid method INVALID-METHOD."

Related Issues and Documentation

net/http: invalid http request methods accepted in NewRequest and NewRequestWithContext #44291 (closed)
affected/package: http #59759 (closed)
net/http: Server does not validate of HTTP method like Transport and NewRequest #18319 (closed)
net/http: Request method does not default to GET with http2 #31061 (closed)
net/http: NewRequest/NewRequestWithContext fails with (*bytes.Buffer)(nil) #68252 (closed)
net/http/httptest: should validate given URL #69750 (closed)
net/http: invalid method strings #12078 (closed)
net/http: request.Method is wrong when path start by // #29584 (closed)
net/http: Double slash in request leads Method to always be GET #69063 (closed)
net/http: accept empty method in Transport again

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)


feat: Add score_threshold to qdrant integration

Related Issues

fixes #760

Proposed Changes:

adding score_threshold to Qdrant retrievers as a class parameter and method parameter for run()

How did you test it?

Added to the unit tests for each qdrant retriever class
Added a test case using score_threshold

Notes for the reviewer

Checklist

I have read the contributors guidelines and the code of conduct
I have updated the related issue with new insights and changes
I added unit tests and updated the docstrings
I've used one of the conventional commit types for my PR title: fix:, feat:, build:, chore:, ci:, docs:, style:, refactor:, perf:, test:.

 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.

Tagging @anakin87  and @julian-risch as well. I noticed that the team might be busy with other priorities, but would still appreciate some feedback. Thanks in advance!


[webview_flutter] webview not showing html on ios 12.5.1

WebView not showing HTMLs from Documents Directory on iOS 12.5.1  this has to be handled on native level allowing the access to url
All assets HTMLs are showing but not from Documents Directory
This issue is only in 12.5.1 and the iPad Air is only upgradable to iOS 12.5.1
This is a critical issue as most of our users are using iPad and also has reported the content blank issue

Can you elaborate on this issue being version-specific? There have been separate APIs for local and web requests for quite some time; it seems odd that it would suddenly be enforced only in 12.5.1. Is there a reference for this behavior change (e.g., from Apple)? It would help to file an issue with more details/context and link to the issue from this PR. (That's also how we prioritize reviews, as described in CONTRIBUTING.md)
Also, is this something that can be caught with automated tests?

@stuartmorgan
yes. we are aware about the loading the HTMLs from local and from web.
As the webview_flutter uses the WKWebView in iOS, and if the webview is loading the file-based URL (file://var/..../index.html) then it is needd to invoke the correct native iOS method of WKWebView.
https://developer.apple.com/documentation/webkit/wkwebview/1414973-loadfileurl?language=objc
The current implementation surely works on the latest version of iOS 14.0, 14.1, 14.2, 14.3 and 14.4 but I am also sure that it is not working on my iPad which has iOS 12.5.1 and also one of the user is also having the issue on the iPhone which has 12.5.1
On 12.5.1 the following callback is invoked but not on iOS 14.x and this is solved by checking the file prefix before loading the url in webview.
onWebResourceError: (error) {
    print("onWebResourceError: ${error.description}");

    // This prints: flutter: onWebResourceError: Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"
    // UserInfo={_WKRecoveryAttempterErrorKey=<WKReloadFrameErrorRecoveryAttempter: 0x281459a20>,
    //_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <4F78FC0D-9528-4229-A5F3-D69D92EEE0AE>.<1>,
    //_kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=1}
}

As this invokes the onWebResourceError, this can be caught in automated tests!

Great; per the PR checklist that was in the template when you opened the PR, this will need automated tests as part of the change in order to move forward. Please let me know when that's been added and I can review.

Please let me know when that's been added and I can review.

I am not sure what further steps are needed from my side. Please guide.

See https://github.com/flutter/plugins/blob/master/CONTRIBUTING.md for discussion of various kinds of plugin tests; this would need integration tests and/or XCTests that cover this change (i.e., that fail without your change, but pass with it).

/cc @mvanbeusekom Relevant to recent discussion about file-based loads.

Thank you for your contribution. I'm going to close this PR for now since there are outstanding comments, just to get this off our PR review queue. Please don't hesitate to submit a new PR if you have the time to address the review comments. Thanks!


Labels layer brush size not updating when layer switched with keybinding

🐛 Bug
When I switch between multiple labels layers using a keybinding the brush size as drawn on the canvas does not update correctly.

To Reproduce

Run this script:

import napari
import numpy as np

with napari.gui_qt():
    arr = np.zeros([512, 512])
    arr1 = np.zeros([512, 512])
    arr2 = np.zeros([512, 512])

    # initialise viewer with astro image
    viewer = napari.view_image(arr)

    labels1 = viewer.add_labels(arr1, name='labels_1')
    labels2 = viewer.add_labels(arr2, name='labels_2')

    # Set the labels layer mode to picker with a string
    labels1.mode = 'paint'
    labels2.mode = 'paint'

    layer_arr = np.array([labels1, labels2])

    def set_correct_active_labels():
        """If a labels layer is active make sure it is the correct one"""
        new_layer = layer_arr[[labels1.visible, labels2.visible]][0]
        viewer.active_layer = new_layer

    def toggle(*args):
        labels1.visible = ~labels1.visible
        labels2.visible = ~labels2.visible
        set_correct_active_labels()

    viewer.bind_key("2", toggle)

Have a different brush size on the two different labels layers
Hit 2 to toggle between the layers.

Expected behavior
Brush size updates when I change which labels layer is active.
Environment
napari: 0.4.7.dev15+gdff1675.d20210308
Platform: Linux-5.8.0-7630-generic-x86_64-with-glibc2.31
System: Pop!_OS 20.04 LTS
Python: 3.9.1 | packaged by conda-forge | (default, Jan 26 2021, 01:34:10) [GCC 9.3.0]
Qt: 5.15.2
PyQt5: 5.15.2
NumPy: 1.19.5
SciPy: 1.6.0
Dask: 2021.01.1
VisPy: 0.6.6

OpenGL:
- GL version: 4.6 (Compatibility Profile) Mesa 20.2.6
- MAX_TEXTURE_SIZE: 16384

Screens:
- screen 1: resolution 1920x1080, scale 1.0

Plugins:
- console: 0.0.3
- svg: 0.1.4

This is ultimately related to our active_layer issues which are being addressed in #2441. As there are other issues about that already, I will flag as a duplicate and close now


Decode benchmarks

This PR adds preliminary decoding benchmarks. Streaming::new_request is temporary exposed while we figure out how to better organize benchmarks.

@alce is this ready for review?

ready


Issue with Rspec

ReportPortal API returned {"error_code":5000,"message":"Unclassified error [null]"}"
"Offending request method/URL: PUT http://localhost:8080/api/v1/testdemo/item/5c55e918149b3f0001769334"
"Offending request payload: {"end_time":1549134104309,"status":"passed"}}"
"Request to http://localhost:8080/api/v1/testdemo/item/5c55e918149b3f0001769334 produced an exception: ArgumentError: wrong number of arguments (given 2, expected 0)"
"/Users/bvennapureddy/.gem/ruby/2.5.1/gems/rest-client-2.0.2/lib/restclient/abstract_response.rb:87:in `return!'"

project name mismatch


Find the best parameters for Q&A with papers

It's a long-term issue.
Parameters for tuning:

System message
Document splitter chunk size
Document splitter overlap size
RAG max results
RAG max rank
Prompt template

Document splitter chunk size depends on the embedding model's capabilities.

The context is a bit missing for me. I assume the context is that we use some LLM model (online service?) not capable of summarization. And that we do not use existing services for summarization (such as Microsoft Kernel Memory).


support LEF58_MINWIDTH property "MINWIDTH 1.0 WRONGDIRECTION ;"

Describe the bug
test.or:
read_lef test.lef
read_def test.def -continue_on_errors

openroad -gui test.or
OpenROAD v2.0-11034-g2c985025e
[INFO ODB-0222] Reading LEF file: test.lef
[INFO ODB-0388] unsupported LEF58_MINWIDTH property for layer M4 :"MINWIDTH 1.0 WRONGDIRECTION ; "
[INFO ODB-0223]     Created 3 technology layers
[INFO ODB-0224]     Created 1 technology vias
[INFO ODB-0226] Finished LEF file:  test.lef
[INFO ODB-0127] Reading DEF file: test.def
[INFO ODB-0128] Design: test
[INFO ODB-0133]     Created 1 nets and 0 connections.
[INFO ODB-0134] Finished DEF file: test.def

Expected Behavior
support LEF58_MINWIDTH property "MINWIDTH 1.0 WRONGDIRECTION ;"
Environment
OpenROAD v2.0-11034-g2c985025e

To Reproduce
wrongdirection.tgz
Relevant log output
No response
Screenshots
No response
Additional Context
No response

Do you have an actual PDK that requires this or is it just a nice to have?

This is a testcase from klayout, so it’s a real PDK, but none that would currently use OpenRoad.
But since this property seems to be a subset of WIDTHTABLE that OpenRoad does support, it should be easy to implement, no ? Just one element in the WRONGDIRECTION table.

Its a matter of priority - there are a lot of rules that we need to work on.

@stefanottili is this an old pdk?  I see the syntax in a 2012 manual but not in a later one which makes me think it was dropped at some point.

It looks like this got replaced with PROPERTY LEF58_WIDTH "WIDTH minWidth [WRONGDIRECTION] ; "


Add HatchBrush tests and fix a compat bug

@hughbe,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@monojenkins build Mono Jenkins Linux