Prepec modification error: Multiple modifications per site not supported in Peptide Record format.

Hi,
I am trying to use ms2Rescore to rescore the output i get from a searchGUi / peptideshaker analysis
here is the log of ms2rescore in debug mode
Running DeepLC for PSMs from run (1/1): `586APMS_FLAG_alt1`...
Calibrating DeepLC...
Using 5135 PSMs for calibration
Multiple modifications per site not supported in Peptide Record format.
Traceback (most recent call last):
  File "ms2rescore\gui\function2ctk.py", line 301, in run
    self.fn(*self.fn_args, **self.fn_kwargs)
  File "ms2rescore\gui\app.py", line 637, in function
    rescore(configuration=config)
  File "ms2rescore\core.py", line 76, in rescore
    fgen.add_features(psm_list)
  File "ms2rescore\feature_generators\deeplc.py", line 163, in add_features
    seq_df=self._psm_list_to_deeplc_peprec(psm_list_calibration)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ms2rescore\feature_generators\deeplc.py", line 210, in _psm_list_to_deeplc_peprec
    peprec = peptide_record.to_dataframe(psm_list)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "psm_utils\io\peptide_record.py", line 505, in to_dataframe
    return pd.DataFrame([PeptideRecordWriter._psm_to_entry(psm) for psm in psm_list])
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "psm_utils\io\peptide_record.py", line 505, in <listcomp>
    return pd.DataFrame([PeptideRecordWriter._psm_to_entry(psm) for psm in psm_list])
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "psm_utils\io\peptide_record.py", line 285, in _psm_to_entry
    sequence, modifications, charge = proforma_to_peprec(psm.peptidoform)
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "psm_utils\io\peptide_record.py", line 443, in proforma_to_peprec
    ms2pip_mods.append(_mod_to_ms2pip(mod, i + 1))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "psm_utils\io\peptide_record.py", line 433, in _mod_to_ms2pip
    raise InvalidPeprecModificationError(
psm_utils.io.peptide_record.InvalidPeprecModificationError: Multiple modifications per site not supported in Peptide Record format.

On searchGUI i used the thermofisherrawparser to parse my raw file, X!Tandem and MS-GF+ as search algorithms and used peptideshaker
In peptideshaker, i used the export->peptideshaker project as -> mzldentML to produce the mzid im using in ms2rescore (including protein sequences)
modification used are Carbomidomethyl of C as fixed, and Oxidation , Acetylation for variables
percolator was used but i dont think it got to its step
I parsed the peptides in the mzid file to make sure that for the same peptide, all the modification had a different location
here is a link to a google drive folder containing the mzid and mzml and the fasta i used
https://drive.google.com/drive/folders/1DUUn7fyeJR2rgIze2dQQ3r4ikcyfwiLI?usp=sharing
here is the line in the config.json file generated by ms2rescore
`{
    "$schema": "./config_schema.json",
    "ms2rescore": {
        "feature_generators": {
            "basic": {},
            "ms2pip": {
                "model": "HCD2021",
                "ms2_tolerance": 0.02
            },
            "deeplc": {
                "deeplc_retrain": false,
                "n_epochs": 20,
                "calibration_set_size": 0.15
            }
        },
        "rescoring_engine": {
            "percolator": {
                "write_weights": true,
                "write_txt": true,
                "write_flashlfq": false,
                "protein_kwargs": {}
            }
        },
        "config_file": null,
        "psm_file": [
            "C:/Users/pron2107/Desktop/mspipeline/test1/report/test1.mzid"
        ],
        "psm_file_type": "mzid",
        "psm_reader_kwargs": {},
        "spectrum_path": "C:/Users/pron2107/Desktop/mspipeline/test1/586APMS_FLAG_alt1.mzML",
        "output_path": "C:/Users/pron2107/Desktop/mspipeline/test1/ms2rescore/test1",
        "log_level": "info",
        "id_decoy_pattern": "_REVERSED",
        "psm_id_pattern": ".*scan=(\\d+)$",
        "spectrum_id_pattern": ".*scan=(\\d+)$",
        "lower_score_is_better": false,
        "modification_mapping": {
            "Oxidation": "U:Oxidation",
            "Acetyl": "U:Acetylation"
        },
        "fixed_modifications": {
            "U:Carbamidomethyl": [
                "C"
            ]
        },
        "processes": 12,
        "rename_to_usi": false,
        "fasta_file": "C:/Users/pron2107/Desktop/mspipeline/test1/human-openprot-2_0-refprots+altprots+isoforms-min_2_pep-uniprot2022_06_011_concatenated_target_decoy.fasta",
        "write_report": true
    }
}`

after all that i am wondering if I am doing anything wrong, with my settings
Thanks in advance
Nicolas

Hi Nicolas,
Apologies in the delay in getting back to you. Your issue seems to be a combination of 2 problems:

We have yet to update the DeepLC integration to send a PSMList object straight to DeepLC instead of first converting it to the old peprec format (opened an issue for that #113)
The configuration for fixed_modifications should be empty, as they are already imported in the mzIdentML file. That is now more clearly described in the documentation. Just updating the config as follows should fix the issue:     "fixed_modifications": {},

Let me know if it works or not.
Best,
Ralf

Hi, ralph
Hope you are doing well,
First, since I was testing your windows installation to make a protocol for a gui user, things like pip are not used.
Now, I just tried reinstalling the .exe file for version 3.0.3 and the program wont open after the installation for me to retest everything and give you more info
heres the error i encounter right now'

if i scroll at the end i see

Click to expand

 Traceback (most recent call last):   File "ms2rescore\gui\__main__.py", line 7, in <module>     from ms2rescore.gui.app import app   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "ms2rescore\__init__.py", line 16, in <module>     from ms2rescore.core import rescore  # noqa: F401 E402     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "ms2rescore\core.py", line 9, in <module>     from ms2rescore.feature_generators import FEATURE_GENERATORS   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "ms2rescore\feature_generators\__init__.py", line 9, in <module>     from ms2rescore.feature_generators.ms2pip import MS2PIPFeatureGenerator   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "ms2rescore\feature_generators\ms2pip.py", line 34, in <module>     from ms2pip import correlate   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "ms2pip\__init__.py", line 13, in <module>     from ms2pip.core import (  # noqa: F401 E402   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "ms2pip\core.py", line 25, in <module>     from ms2pip._utils.xgb_models import get_predictions_xgb, validate_requested_xgb_model   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "ms2pip\_utils\xgb_models.py", line 10, in <module>     import xgboost as xgb   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "xgboost\__init__.py", line 7, in <module>     from . import collective, dask, rabit   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "xgboost\dask.py", line 77, in <module>     from .sklearn import (   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "xgboost\sklearn.py", line 22, in <module>     from scipy.special import softmax   File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module   File "scipy\special\__init__.py", line 777, in <module>   File "scipy\\special\\_ufuncs.pyx", line 1, in init scipy.special._ufuncs ModuleNotFoundError: No module named 'scipy.special._cdflib'

If youd like me to open a different issue for it jsut say so

Hi @NicolasProvencher,
Thanks for reporting! I opened a new issue here: #145
Best,
Ralf

Hi, I am following up on error given while trying to run deeplc using the windows interface. we redid a run to see if the updates that happened since the original posting fixed the problem. It seems like it did not, I included the traceback we get when it crashes.

Collapsible Section Title
Calibrating DeepLC...
Using 6036 PSMs for calibration
Start to calibrate predictions ...
Ready to find the best model out of: ['C:\\Users\\jacj2401\\AppData\\Local\\Programs\\MS2Rescore\\_internal\\deeplc\\mods/full_hc_PXD005573_mcp_1fd8363d9af9dcad3be7553c39396960.hdf5']
Trying out the following model: C:\Users\jacj2401\AppData\Local\Programs\MS2Rescore\_internal\deeplc\mods/full_hc_PXD005573_mcp_1fd8363d9af9dcad3be7553c39396960.hdf5
Extracting features for the CNN model ...
prepare feature extraction
start feature extraction
wait for feature extraction
get feature extraction results
got feature extraction results
Creating converter from 3 to 5
'NoneType' object has no attribute 'write'
Traceback (most recent call last):
  File "ms2rescore\gui\function2ctk.py", line 301, in run
    self.fn(*self.fn_args, **self.fn_kwargs)
  File "ms2rescore\gui\app.py", line 638, in function
    rescore(configuration=config)
  File "ms2rescore\core.py", line 80, in rescore
    fgen.add_features(psm_list)
  File "ms2rescore\feature_generators\deeplc.py", line 162, in add_features
    self.deeplc_predictor.calibrate_preds(
  File "deeplc\deeplc.py", line 1173, in calibrate_preds
    calibrate_output = self.calibrate_preds_func_pygam(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "deeplc\deeplc.py", line 830, in calibrate_preds_func_pygam
    predicted_tr = self.make_preds(psm_list, calibrate=False, mod_name=mod_name)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "deeplc\deeplc.py", line 750, in make_preds
    ret_preds = self.make_preds_core(
                ^^^^^^^^^^^^^^^^^^^^^
  File "deeplc\deeplc.py", line 621, in make_preds_core
    ret_preds = mod.predict(
                ^^^^^^^^^^^^
  File "keras\utils\traceback_utils.py", line 70, in error_handler
  File "keras\utils\traceback_utils.py", line 67, in error_handler
  File "keras\engine\training.py", line 2403, in predict
  File "keras\callbacks.py", line 519, in on_predict_batch_end
  File "keras\callbacks.py", line 322, in _call_batch_hook
  File "keras\callbacks.py", line 345, in _call_batch_end_hook
  File "keras\callbacks.py", line 393, in _call_batch_hook_helper
  File "keras\callbacks.py", line 1101, in on_predict_batch_end
  File "keras\callbacks.py", line 1170, in _batch_update_progbar
  File "keras\utils\generic_utils.py", line 296, in update
  File "keras\utils\io_utils.py", line 79, in print_msg
AttributeError: 'NoneType' object has no attribute **'write'**

If the windows version of ms2rescore isnt a priority right now feel free to bump down the importance of this issues since we are not actively trying to use it right now.
Best
Nicolas


Landing Zone Integration (Phase 1)

Ashwin is beginning the terraform transformation.

Removing from placeholder sprint 5. Ashwin and Andy are taking responsibility for this effort.


No copy and paste highlight

TextInput doesn't allow us to highlight and select code for Android

Can you provide a snippet that demonstrates this?

Closed due to lack of info and no repro case, feel free to re-create with more context!


Is roulette actually broken ? (Half-serious post EleGiggle)

Indeed, I'm genuinely striked by the losing run I had the last threee days.
My ratio was normal (slighty above 45%, so around the win ratio) until I've only won 11 out of my 45 tries (24,44%) including 7 losses in a row (probablity of 1.5% that happens) and the day later 8 losses in a row (0.83% !). That 8 losses streak is still alive though, it's just I don't have any points to try again Kappa
I mean, what are the odds to be fine for months and then be insanely unlucky and break his personal record two times in two days? Did someone hack the rigged_random_result() or what? Did Athene bots generate negative numbers to troll me? FeelsBadMan

Roulette more and your percentage will get closer to what its set in the bot.
Basic mathematics, you are just a bit unlucky

Yeah definitely, that's even why I've started by saying my ratio was normal since it was above of the winning ratio (45.6 iirc). The more I roll, the more my ratio would be close to 45%. However my ratio is still around 45% (44.8) but for how long FeelBadMan
Well I guess I'm BabyRaging too much

yep :sunglasses:


fix(versions): update Activiti/activiti-dependencies versions into develop

UpdateBot pushed maven dependency: org.activiti:activiti-core-dependencies to: 7.1.112

UpdateBot commands:
updatebot push-version --kind maven org.activiti:activiti-core-dependencies 7.1.112 --merge false


Proposed Field Name MaritalStatusX

Proposed Field Name
MaritalStatusX
Details
The form has a checkbox to be filled with M, D, S, L or E. See image.

This seems like a pretty unique field structure, so might be better to leave it for people to fill out on paper.


Move repo

Should probably move this repo somewhere. Maybe https://github.com/orgs/ACCESS-Hive

Done.


[NEW ICON] Terraform

Skill Name
Terraform
Why?
its super popular on development
Reference Image
No response

Already suggested Terraform - duplicate of #147


nixos/nginx: make sslCertificate and sslCertificateKey nullable

Motivation for this change
It sometimes makes sense to have addSSL = true without defining sslCertificate or sslCertificateKey, for example if one wants to use the ssl_reject_handshake directive.
cc @globin @aanderse @Ma27
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)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@ncfavier can you please share some example configuration to demonstrate how you are using this?

@ncfavier can you please share some example nixos configuration to demonstrate how you are using this?

{
  services.nginx = {
    "foo.example.com" = {
      forceSSL = true;
      enableACME = true;
      root = "/var/lib/www/foo";
    };

    default = {
      default = true;
      addSSL = true;
      extraConfig = ''
        ssl_reject_handshake on;
        return 444;
      '';
    };
  };
}

The scenario here is that I have a wildcard A record for *.example.com, but if someone tries to connect to bar.example.com, which I don't serve, over HTTPS, then they should get an SSL_ERROR_UNRECOGNIZED_NAME_ALERT error, rather than an SSL_ERROR_BAD_CERT_DOMAIN.

That makes sense.
I don't like giving up that check, but I don't like possible configurations not being possible much more than that.
I would love to hear some feedback from someone like @emilazy, @arianvp, @andir, etc...

We could also add a rejectSSL option that implements this, with an assertion on the nginx version (ssl_reject_handshake was introduced in 1.19.4 but the current stable is 1.18.0). Then the check would be something like hasSSL -> rejectSSL == true || (sslCertificate != null && sslCertificateKey != null).

I prefer the suggestion of having an explicit rejectSSL option, I think, which would also help with discoverability next to the other settings - the addSSL/ssl_reject_handshake combo feels a bit odd to me.

I prefer the suggestion of having an explicit rejectSSL option, I think, which would also help with discoverability next to the other settings - the addSSL/ssl_reject_handshake combo feels a bit odd to me.

Opened #119186 as an alternative to this PR.


Adds test for OR with multiple contains queries

Addresses balderdashy/waterline#1019.
PS: also made some improvements to integration/runner.js that din't justify a PR by itself.

Hey @devinivy, can you take a look at this please? Thanks!

This looks good, @dmarcelino.

Thanks!


Add all missing xschem gf180mcu symbols

Following devices have been added:
cells/xschem/symbols/cap_mim_1f0fF.sym
cells/xschem/symbols/cap_mim_1f5fF.sym
cells/xschem/symbols/cap_mim_2f0fF.sym
cells/xschem/symbols/cap_mim_analog.sym
cells/xschem/symbols/cap_nmos_03v3_b.sym
cells/xschem/symbols/cap_nmos_06v0_b.sym
cells/xschem/symbols/cap_pmos_03v3_b.sym
cells/xschem/symbols/cap_pmos_06v0_b.sym
cells/xschem/symbols/diode_dw2ps.sym
cells/xschem/symbols/diode_nd2ps_06v0.sym
cells/xschem/symbols/diode_nw2ps_03v3.sym
cells/xschem/symbols/diode_nw2ps_06v0.sym
cells/xschem/symbols/diode_pd2nw_03v3.sym
cells/xschem/symbols/diode_pd2nw_06v0.sym
cells/xschem/symbols/nfet_06v0_dss.sym
cells/xschem/symbols/nfet_10v0_asym.sym
cells/xschem/symbols/npn_00p54x02p00.sym
cells/xschem/symbols/npn_00p54x04p00.sym
cells/xschem/symbols/npn_00p54x08p00.sym
cells/xschem/symbols/npn_00p54x16p00.sym
cells/xschem/symbols/npn_05p00x05p00.sym
cells/xschem/symbols/npolyf_s.sym
cells/xschem/symbols/pfet_06v0_dss.sym
cells/xschem/symbols/pfet_10v0_asym.sym
cells/xschem/symbols/pnp_05p00x00p42.sym
cells/xschem/symbols/pnp_05p00x05p00.sym
cells/xschem/symbols/pnp_10p00x00p42.sym
cells/xschem/symbols/ppolyf_s.sym
cells/xschem/symbols/ppolyf_u_1k.sym
cells/xschem/symbols/ppolyf_u_1k_6p0.sym
cells/xschem/symbols/ppolyf_u_2k.sym
cells/xschem/symbols/ppolyf_u_2k_6p0.sym
cells/xschem/symbols/ppolyf_u_3k.sym
cells/xschem/symbols/rm2.sym
cells/xschem/symbols/rm3.sym
cells/xschem/symbols/sc_diode.sym

For each new device a test_device.sch has been created in cells/xschem/tests/
A basic simulation has been run for each new device to verify correct xschem - spice model binding.
So far rm4 and rm5 metal resistors are not in the list since I didn't find the spice model.
As soon as I get the models to use I will add these two remaining symbols in another PR.
the cap_mim_analog addresses these device models:
 cap_mim_1f5_m2m3_noshield
 cap_mim_1f0_m2m3_noshield
 cap_mim_2f0_m2m3_noshield
 cap_mim_1f5_m3m4_noshield
 cap_mim_1f0_m3m4_noshield
 cap_mim_2f0_m3m4_noshield
 cap_mim_1f5_m4m5_noshield
 cap_mim_1f0_m4m5_noshield
 cap_mim_2f0_m4m5_noshield
 cap_mim_1f5_m5m6_noshield
 cap_mim_1f0_m5m6_noshield
 cap_mim_2f0_m5m6_noshield

@jeffdi :  At your convenience, please merge this PR.


Docs Content Update

Overview
Updated the Docs Site content to match the proposed changes from the Google Doc.
Reason
Our documentation has been written over a period of time by a number of people, causing a divide in tone and voice. This PR aims to bring all language used in the Docs Site together into a single, consistent tone.
Work carried out

[x] Updated all documentation to match Google Docs.

Had a skim through this @hxltrhuxze and seeing that it's had 2 other reviews/approves, I think this is now good to merge. Note also there's @thyhjwb6 comment about fixup and squashing commits, etc.


CognitiveServices.Vision.Face: add FaceClient constructor with "endpoint" parameter

Description
This adds another constructor to Microsoft.Azure.CognitiveServices.Vision.Face.FaceClient, which accepts an endpoint parameter.
Since the client can't work without an endpoint, it seems to me that this would be a sensible minor customization.
See for example this code snippet in the quickstart, which could then be simplified to
FaceClient faceClient = new FaceClient(new ApiKeyServiceClientCredentials(subscriptionKey), faceEndpoint);

This checklist is used to make sure that common guidelines for a pull request are followed.

[ n/a ] Please add REST spec PR link to the SDK PR
[X] I have read the contribution guidelines.
[X] The pull request does not introduce breaking changes.

General Guidelines

[X] Title of the pull request is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[X] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ n/a ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[ n/a ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[ n/a ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

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

Can one of the admins verify this patch?


how to process a group of files?

i'm trying to use this plugin to process a directory:
gulp.task('html', function () {
  gulp.src('src/*.html')
    .pipe(processhtml())
    .pipe(gulp.dest('dist'));
});

but it seems i need to give a specific output file.
[gulp] 'html' errored after 3.99 ms Missing fileName option for gulp-processhtml
most other plugins seem to allow just piping into the output dest
// Images
gulp.task('images', function() {
  return gulp.src('src/images/**/*')
    .pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
    .pipe(gulp.dest('dist/images'))
    .pipe(notify({ message: 'Images task complete' }));
});

i saw this answer but it seems a lot of work for just dealing with a group of files, is this not natively supported by the plugin?
http://stackoverflow.com/a/23099944/1163694

Hi @julien I'd really like this as an option

Hi @jolyonruss this is possible, since version 1.0.2 just forgot to close this issue


[WIP] Subactions

This is a first version of subactions:

can be drawn with:
using Javis

function ground(args...)
    background("white")
    sethue("black")
end

function house_of_nicholas(p1=O, width=100, color="black")
    # sethue(color)
    #     .p1
    # .p2   .p3
    #
    # .p4   .p5
    width2 = div(width, 2)
    p2 = p1 + Point(-width2, width2)
    p3 = p1 + Point(width2, width2)
    p4 = p2 + Point(0, width)
    p5 = p3 + Point(0, width)
    setline(3)
    line(p4, p5, :stroke)
    line(p5, p2, :stroke)
    line(p2, p4, :stroke)
    line(p4, p3, :stroke)
    line(p3, p1, :stroke)
    line(p1, p2, :stroke)
    line(p2, p3, :stroke)
    setline(8)
    line(p3, p5, :stroke)
end

function anim_house_of_nicholas()
    demo = Video(500, 500)
    javis(demo, [
        BackgroundAction(1:150, ground),
        Action((args...)->house_of_nicholas(); subactions = [
            SubAction(1:20, appear(:fade)),
            SubAction(81:100, disappear(:fade))
        ])
    ], pathname="current/nicholas.gif")
end

Important the refs changed because I think the default line width should be the same as setline(1) as that feels the most natural. What do you think @TheCedarPrince ?
Some current things that are missing:

[x] If someone sets setline in a BackgroundAction the default of subactions should be updated.
[x] Possibility to do the same with opacity and set that as default as for :fill the current one is stupid :smile:
I'm not sure when to move over to #43 :wink: @TheCedarPrince

Another example of fading in with opacity:

This currently does not support any transformations as they are structs and not callable functions. I have to think about that for a bit but I think it should be implemented before merging this

@TheCedarPrince what do you think about if
function circ(p=O, color="black")
    sethue(color)
    circle(p, 25, :fill)
    return p
end

video = Video(500, 500)
javis(video, [
        Action(1:70, ground; in_global_layer=true),
        Action(:same, :red_ball, (args...)->circ(O, "red"), Rotation(0, 2π)),
])

can also be written as:
function circ(p=O, color="black")
    sethue(color)
    rotate(2π)
    circle(p, 25, :fill)
    return p
end

video = Video(500, 500)
javis(video, [
        Action(1:70, ground; in_global_layer=true),
        Action(:same, :red_ball, (args...)->circ(O, "red"); subactions=[
            SubAction(:same, animate_transition())
       ])
])

Okay I think it's good to provide the extra in v0.2.0 and not now but how about:
function circ(p=O, color="black")
    sethue(color)
    circle(p, 25, :fill)
    return p
end

video = Video(500, 500)
javis(video, [
        Action(1:70, ground; in_global_layer=true),
        Action(:same, :red_ball, (args...)->circ(O, "red"); subactions=[
              SubAction(1:70, Rotation(0, 2π))
        ]
])

which also does not work currently but I think it should work in v0.1.0.

I've built in support for transitions inside subactions:
function ground_opacity(args...)
    background("white")
    sethue("darkblue")
    setopacity(1.0)
end

function circ(p=O, radius=25, color="black")
    sethue(color)
    circle(p, radius, :fill)
end

function circle_and_square()
    demo = Video(500, 500)
    javis(demo, [
        BackgroundAction(1:200, ground_opacity),
        Action((args...)->circ(O, 50, "darkblue"); subactions = [
            SubAction(1:25, appear(:fade)),
            SubAction(26:75, Translation(Point(100, 20))),
            SubAction(76:100, Translation(Point(20, -40))),
            SubAction(101:175, Translation(Point(-120, 20))),
            SubAction(176:200, disappear(:fade))
        ]),
    ], tempdirectory="current/images", pathname="current/circle_square.gif")
end

produces

I decided that it makes sense for transitions to be persistent which means after frame 75 this
SubAction(26:75, Translation(Point(100, 20))),

still gets called so it translates to Point(100, 20)) even for framenumber > 75
This is not the case for function so if use 300 frames for the action and still use
SubAction(176:200, disappear(:fade))

the circle will be there at frame 201 instead of staying disappeared. Does that make sense @TheCedarPrince or shall I change that behavior?

I've implemented now that the subaction is called with the last frame such that disappeared objects stay disappeared. I think that makes the most sense.

I just tried to merge master via GitHub so I hope I didn't mess things up. Let's see whether the tests pass :smile:


not work well for Chinese characters

It does not work well for Japanese characters too.

Yeah this package only works for character sets / fonts whose characters are all the same width

#89 related


added scrollable div functionality

Hi!
So I tried to add the extra functionality to allow the option for react-scroll to work inside of a scrollable div. Original functionality is maintained (hopefully haha), and now users should be able to animate scrolling inside of a div as well as non animated scrolling.
In order to test the format of using this extra functionality is:
div id = "scrollable"
anytag id = "id"
Element name="name" parentId="#scrollable" relativeId="#id" [Scroll to me!] /Element
/anytag
/div
The extra props 'parentId' and 'relativeId' are the optional props and the 'anytag' is the Dom element that is used to find the relative position of the Element inside of the scrollable div. Link should work just the same.
Any and all improvements, suggestions, and criticisms are welcome! (I know there are probably gonna be a ton of them haha).

If you'd like me to type up some example usages and re pull request, I'd be more than happy to. I know the explanation above is pretty terrible.

I removed the anytag because I realized that I could just jquery select the Element tag itself to find the relative position inside of the scrolling div (react generates the div dom when Element is rendered).

I forgot to mention that the scrollable div container needs the styling:
overflow: scroll
position: relative


Fix/Change the Lab model in models.py

Use class id instead of class name to generate lab id; Change the relationship between class and lab to one-to-many instead of the current many-to-many. b/c class id is used to generate the id of lab. It's impossible to let assign a lab to multiple classes.

fix


Pre-select user's country in onboarding and move line item to the top of the list

Similar to #229 (see detailed instructions there), I believe we can get the user's country code from window.navigator.language. Now we probably don't want to try to map every single country since it's a lot of tedious work, but instead we could start simple by mapping the ten most populated countries to ensure that the majority of users have an easy onboarding experience.

As we add languages, we could probably add an assumed country.

@djbooth007

Where are we on this @morebrownies

I was hoping someone in the community could help with these smaller enhancements. They're definitely low priority, but would make onboarding a bit more seamless.  Not required for launch.

Completed

The preselect for country isn't ready yet, just the scroll part.

Ready to close @jjeffryes ?

I don't think we're doing this in v1, we'll need to do a IP lookup against a database of IPs use an online geolocation service.
We can't do it the same way we do with language, since some languages are used in multiple countries.

Since this is a very minor feature, and the solution is both complex and may cause privacy concerns, I'm going to close this.


How to use factory fixtures in other factories?

Hey thanks for adding the register_fixtures decorator. One issue I've got with this is that I can't reference a factory fixture in other factories. We have something like this:
class BarFactory(ModelFactory):
    __model__ = Bar

    baz = 42

class FooFactory(ModelFactory):
    __model__ = Foo

    bar = Use(BarFactory.build)

We use BarFactory in some tests by itself, so if we register the fixture, that works great. But I'm having trouble figuring out how to use the bar_factory fixture inside of the FooFactory. We can't do this:
@register_fixture
class BarFactory(ModelFactory):
    __model__ = Bar

    baz = 42

@register_fixture
class FooFactory(ModelFactory):
    __model__ = Foo

    bar = Use(BarFactory.build)

... because BarFactory is now a FixtureFunction and we get an AttributeError: 'function' object has no attribute 'build'. We can't do bar = Use(bar_factory.build) since bar_factory is a fixture that isn't available to the field. If we could access fixtures within the Factory definition, then we could do other things like use the pytest request fixture to allow for parameterization. Actually, I suppose if we just had access to the pytest request fixture, we could get any other fixture we needed and we could parametrize, too.
Do you have any thoughts on how we can make the pytest request fixture (or other fixtures) available in the Factory definition?

Hi, ok let's fix this. I'm thinking of adding a field type Fixture that works like Use but for fixtures. Thoughts?

Hmm. Let me ponder that a bit.


[Event Request] Table 83 "Item Journal Line" - OnSetUpNewLineOnAfterFindItemJnlLine

Hello, in the Table 83 "Item Journal Line", in the procedure SetUpNewLine, I would like to use the event publisher OnSetUpNewLineOnAfterFindItemJnlLine to add my code. But I need one more parameter : LastItemJnlLine, the parameter received by the procedure SetUpNewLine . Like this :
procedure SetUpNewLine(LastItemJnlLine: Record "Item Journal Line")
begin
    MfgSetup.Get();
    ItemJnlTemplate.Get("Journal Template Name");
    ItemJnlBatch.Get("Journal Template Name", "Journal Batch Name");
    ItemJnlLine.SetRange("Journal Template Name", "Journal Template Name");
    ItemJnlLine.SetRange("Journal Batch Name", "Journal Batch Name");
    if ItemJnlLine.FindFirst then begin
        OnSetUpNewLineOnAfterFindItemJnlLine(Rec, ItemJnlLine, LastItemJnlLine);

With this event integration :
[IntegrationEvent(false, false)]
local procedure OnSetUpNewLineOnAfterFindItemJnlLine(var ItemJournalLine: Record "Item Journal Line"; var FirstItemJournalLine: Record "Item Journal Line"; var LastItemJnlLine: Record "Item Journal Line")
begin
end;

Do you think it could be possible ?
Thank you for your work.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Stick560

Codecov Report

Merging #7 into stickler will decrease coverage by 0.02%.
The diff coverage is 90.04%.

@@             Coverage Diff              @@
##           stickler       #7      +/-   ##
============================================
- Coverage     80.36%   80.33%   -0.03%
============================================
  Files            21       22       +1
  Lines          3621     3753     +132
============================================
+ Hits           2910     3015     +105
- Misses          711      738      +27

Flag
Coverage Δ

#aux
73.77% <62.08%> (-1.27%)
:arrow_down:

#base
75.30% <60.83%> (-1.04%)
:arrow_down:

#dhcp
72.12% <87.08%> (+0.76%)
:arrow_up:

#many
72.45% <86.66%> (+0.40%)
:arrow_up:

#modules
23.58% <19.50%> (+0.13%)
:arrow_up:

#topo
72.23% <59.58%> (-1.13%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

daq/host.py
90.82% <86.02%> (-0.53%)
:arrow_down:

daq/ipaddr_test.py
92.42% <92.42%> (ø)

bin/python/combine_reports_from_date_range.py
86.11% <100.00%> (ø)

daq/docker_test.py
97.56% <100.00%> (ø)

daq/gateway.py
91.05% <100.00%> (-3.52%)
:arrow_down:

daq/gcp.py
31.01% <100.00%> (ø)

daq/network.py
96.79% <100.00%> (ø)

daq/report.py
100.00% <100.00%> (ø)

daq/runner.py
87.05% <100.00%> (-1.18%)
:arrow_down:

daq/topology.py
96.53% <100.00%> (+0.02%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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


Build for 0.18.2 fails on MacOSX

  CC(target) Release/obj.target/libxml/vendor/libxml/xpointer.o
  LIBTOOL-STATIC Release/xml.a
  CXX(target) Release/obj.target/xmljs/src/libxmljs.o
In file included from ../src/libxmljs.cc:7:
In file included from ../src/libxmljs.h:7:
In file included from ../node_modules/nan/nan.h:196:
../node_modules/nan/nan_maybe_43_inl.h:220:17: error: 'CloneElementAt' is deprecated [-Werror,-Wdeprecated-declarations]
  return array->CloneElementAt(GetCurrentContext(), index);
                ^
/Users/andra/.node-gyp/6.5.0/include/node/v8.h:3032:36: note: 'CloneElementAt' has been explicitly marked deprecated here
                MaybeLocal<Object> CloneElementAt(Local<Context> context,
                                   ^
In file included from ../src/libxmljs.cc:7:
In file included from ../src/libxmljs.h:7:
In file included from ../node_modules/nan/nan.h:202:
In file included from ../node_modules/nan/nan_new.h:189:
../node_modules/nan/nan_implementation_12_inl.h:40:29: error: 'New' is deprecated [-Werror,-Wdeprecated-declarations]
  return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                            ^
/Users/andra/.node-gyp/6.5.0/include/node/v8.h:4007:56: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                       ^
In file included from ../src/libxmljs.cc:7:
In file included from ../src/libxmljs.h:7:
../node_modules/nan/nan.h:2017:15: error: 'SetAccessor' is deprecated [-Werror,-Wdeprecated-declarations]
  return obj->SetAccessor(
              ^
/Users/andra/.node-gyp/6.5.0/include/node/v8.h:2751:22: note: 'SetAccessor' has been explicitly marked deprecated here
                bool SetAccessor(Local<Name> name,
                     ^
../src/libxmljs.cc:60:17: error: 'IsDead' is deprecated [-Werror,-Wdeprecated-declarations]
    if (v8::V8::IsDead())
                ^
/Users/andra/.node-gyp/6.5.0/include/node/v8.h:8666:10: note: 'IsDead' has been explicitly marked deprecated here
bool V8::IsDead() {
         ^
4 errors generated.

the same issue

There are several V8 deprecations included with Node v6 and later. We need to bump our NAN version.
To avoid this in the future we should use a tilde (~2.3.2) before the version number, which allow newer patch versions.

Note: PR #450 only fixes part of this issue.
We still need to patch libxmljs.cc so that it doesn't use the deprecated v8::IsDead method.
I'm not sure what the new method for this is, but once I find out I'll patch it and make a PR.
After that we can bump to libxmljs v0.18.3.

@rchipka What can we do while this issue is solve? Use Node 4?

@acanimal You can downgrade node-gyp to a version prior to 3.5.0, which introduced deprecation warnings.
npm install -g<EMAIL_ADDRESS>node-gyp rebuild

I solved this issue using npm shrinkwrap, because libxmljs is used by another node package with ^0.18.0 version. Please find below my npm-shrinkwrap.json:
{ 	"dependencies": { 		"gulp-cordova-bump": { 			"version": "1.3.1", 			"from"<EMAIL_ADDRESS>			"dependencies": { 				"gulp-xml-transformer": { 					"version": "^1.2.0", 					"from": "^1.2.0", 					"dependencies": { 						"libxmljs": { 							"version": "0.18.0", 							"from": "^0.18.0" 						} 					} 				} 			} 		} 	} }
I just added it in root project and run npm install. npm version is 3.10.10 and node version is 6.9.4.

Maybe it can be helpful for someone.

I'm trying to run this project site-mapper which depends on<EMAIL_ADDRESS>which in turn, installs 0.18.2.
I'm working on MaxOS-Sierr
I have downgraded<EMAIL_ADDRESS>/usr/local/lib/node_modules/node-gyp and<EMAIL_ADDRESS>
When running npm install I get the next error related with deprecated methods:
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlunicode.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xmlwriter.o
  CC(target) Release/obj.target/libxml/vendor/libxml/xpath.o
In file included from ../vendor/libxml/xpath.c:476:
../vendor/libxml/trionan.c:194:1: warning: unused function 'trio_is_special_quantity' [-Wunused-function]
trio_is_special_quantity
^
../vendor/libxml/trionan.c:218:1: warning: unused function 'trio_is_negative' [-Wunused-function]
trio_is_negative
^
2 warnings generated.
  CC(target) Release/obj.target/libxml/vendor/libxml/xpointer.o
  LIBTOOL-STATIC Release/xml.a
  CXX(target) Release/obj.target/xmljs/src/libxmljs.o
In file included from ../src/libxmljs.cc:7:
In file included from ../src/libxmljs.h:7:
In file included from ../../nan/nan.h:196:
../../nan/nan_maybe_43_inl.h:220:17: error: 'CloneElementAt' is deprecated [-Werror,-Wdeprecated-declarations]
  return array->CloneElementAt(GetCurrentContext(), index);
                ^
/Users/user/.node-gyp/6.4.0/include/node/v8.h:3012:36: note: 'CloneElementAt' has been explicitly marked deprecated here
                MaybeLocal<Object> CloneElementAt(Local<Context> context,
                                   ^
In file included from ../src/libxmljs.cc:7:
In file included from ../src/libxmljs.h:7:
In file included from ../../nan/nan.h:202:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:40:29: error: 'New' is deprecated [-Werror,-Wdeprecated-declarations]
  return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                            ^
/Users/user/.node-gyp/6.4.0/include/node/v8.h:3976:56: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                       ^
In file included from ../src/libxmljs.cc:7:
In file included from ../src/libxmljs.h:7:
../../nan/nan.h:2017:15: error: 'SetAccessor' is deprecated [-Werror,-Wdeprecated-declarations]
  return obj->SetAccessor(
              ^
/Users/user/.node-gyp/6.4.0/include/node/v8.h:2736:22: note: 'SetAccessor' has been explicitly marked deprecated here
                bool SetAccessor(Local<Name> name,
                     ^
../src/libxmljs.cc:60:17: error: 'IsDead' is deprecated [-Werror,-Wdeprecated-declarations]
    if (v8::V8::IsDead())
                ^
/Users/user/.node-gyp/6.4.0/include/node/v8.h:8462:10: note: 'IsDead' has been explicitly marked deprecated here
bool V8::IsDead() {
         ^
4 errors generated.
make: *** [Release/obj.target/xmljs/src/libxmljs.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2

To fix it I needed to fix the libxml version to 0.18.0.

A fix is on the way. I'm just waiting for AppVeyor to run the tests on Windows, then I'll PR the changes and we can release a patch version.
@acanimal After a patch version is released, I suggest you revert site-mapper back to using ^ (or at least ~) in the package.json version string.


Enhancement: Validate annotations for reserved keyword handler arguments

What's the feature you'd like to ask for.
Reserved handler arguments like state, body, cookies, etc. should have their type annotation validated, such that a e.g. state could only be annotated with a subclass of State / ImmutableState.
This is a follow up to #1264.

I am beginning work on this tonight.


Heavy and Portrait models

Thank you for this amazing model! It's lightweight, fast and accurate. I was also impressed by the quality of the heavy and portrait models hosted on fal. Are these available in pytorch/safetensors format for using with the diffusers library?

Hi, @okaris @luke14free, glad to see your interest! The weights used in https://fal.ai/models/birefnet are the latest ones. I've been keeping in contact with guys there, so you can easily use weights there.
If you also want to download the weights, you can check the model-zoo section in README for all weights in .pth. For weights in safetensors, check my HF page for all related weights, for example, the one for general use: https://huggingface.co/ZhengPeng7/BiRefNet.
Currently, I don't know how to embed BiRefNet into diffuser. Could you help me with it or give me some clues?

Thanks for the quick rreply @ZhengPeng7
sorry I meant Transformers not Diffusers. We want to br able to run the models within a pipeline and not as a seperate API call.
I have tried every model in the zoo but couldn’t get the same results as fal with any of them. Is the heavy model in fal something that doesn’t wxist in the zoo?

Hi, I've contacted them. They used a legacy version for general use, which didn't have training on portrait seg data.
I've made a HF model repo for it: https://huggingface.co/ZhengPeng7/BiRefNet-legacy, and added the choice of that weights in my HF spaces demo. You can have a check now :)

That's awesome, thank you very much!

You're welcome. There was a bug when loading the legacy version weights in my HF demo. Now it's fixed, and the results of it should be exactly the same as those of the results of FAL's general (heavy) model.


Android 12: Duplicate declarations of android.permission.ACCESS_FINE_LOCATION w different maxSdkVersions.

Describe the bug
App works as expected on phone, but I get an error when uploading the appbundle to the Play store: Duplicate declarations of permission android.permission.ACCESS_FINE_LOCATION with different maxSdkVersions.
To Reproduce
Not sure what change made this start happening... I updated the sdk version to 31.
Expected behavior
Should not give error upon upload.
Smartphone (please complete the following information):

Device: Samsung Galaxy S7
OS: Android 8.0.0
Library version: 5.0.0

Additional context
I copied in the permissions from the AndroidManifest.xml in the example.
`

<!-- required for API 23 - 30 -->
<uses-permission-sdk-23
        android:name="android.permission.ACCESS_COARSE_LOCATION"
        android:maxSdkVersion="30" />
<uses-permission-sdk-23
        android:name="android.permission.ACCESS_FINE_LOCATION"
        android:maxSdkVersion="30" />

<!-- API 31+ -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission
        android:name="android.permission.BLUETOOTH_SCAN"
        android:usesPermissionFlags="neverForLocation" />`

I do a find-in-files for "ACCESS_FINE_LOCATION" and it only appears in the AndroidManifest.xml as expected.
I've done a clean and invalidate caches and restart.
Flutter doctor looks ok (to me):
Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Channel master, 2.6.0-12.0.pre.1010, on Microsoft Windows [Version 10.0.19043.1348], locale en-CA) [!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)     X Android license status unknown.       Run flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[√] Android Studio (version 2020.3)
[√] Connected device (3 available)
! Doctor found issues in 1 category.`
Flutter analyze is clean.
Thanks for any hints.

What version of the lib you use?

5.0.0

I found my problem.  I was including another library by mistake.  Backstory: flutter_reactive_ble doesn't work for my app for iOS so I use a different package, and have to change back and forth...

I am glad that you found your problem. This is not a flutter library repository though :)
Cheers


Update GitHub actions to match module template

The GitHub actions have been updated to match the latest used in the module template, with some exceptions. The require-additional-reviewer action was omitted because it's broken for forks, and the documentation-related steps have been omitted because this repository does not yet have API documentation.
See: https://github.com/MetaMask/metamask-module-template/tree/e53ced0d65d2295557b37d5f9dfce406220b19c3/.github/workflows

Ah I forgot! I checked for the script used by the doc publishing but not for that one, good catch.

Resolved in https://github.com/MetaMask/browser-passworder/pull/31/commits/6451e06dbe1565a6badee93825c72e219235e0fa


Fix #1818. Basic devtools support

Is it possible to works with dev tools for chromium based browsers like edge or opera also?

@rosolko yes it is. There is guard here : https://github.com/selenide/selenide/blob/dfbf806788f54347e9de347d142084d94a02e23c/src/main/java/com/codeborne/selenide/impl/CdpProvider.java#L19
I also tested different cases for getting devtools from plain WebDriver instance.

local\non-local browsers
drivers enchanced with bytebuddy to support webdriver listeners
etc


Is the PCB design file available?

I'm living in a region that Tindie cannot ship to, so I'm thinking about make the PCB by myself, but I cannot find the doc/schema in this repo.
Am I looking at the wrong place?
Thanks for any info.

Please read the README. There are links there to other people's designs.

Thanks for the note.
Regards,
Chen


Implement Serialize and Deserialize for Kind and Info

This allows us to use serde to serialize and deserialize the information about a particular snapshot so that we can write it to and read it from storage.
Signed-off-by: Wedson Almeida Filho<EMAIL_ADDRESS>

Could you pls rebase the change against main ?

Could you pls rebase the change against main ?

@mxpv Rebased. CI is passing too.


info sharing: vs relay2

Hi team,
Just to share with you all, relay 2 is on the way. the garbage collection seems cool. but I feel cashay is more suitable to use side by side with redux. https://www.youtube.com/watch?v=TcpS2nvt4-4 .  no mention on subscription feature in relay2.

@cometta relay 2 is doing a lot of things right. For a deeper dive, check out https://zeemee.engineering/relay-2-simpler-faster-more-predictable-128769e72318#.11gyo5rgl

static queries. this is gonna increase your payload for mutations since you might be fetching things that your current view doesn't care about, but the difference probably isn't huge & a decreased upstream payload is worth the cost of an increased downstream payload. Overall fantastic. This is the 2nd time they used the 50ms to 5ms benchmark, but with no means of reproducing, I can't say if it's faster than cashay or not. Cashay does a lot of things to make the diff faster than relay 1.
arbitrary mutations. it's too early to tell, but any change to their mutation API would be good. Cashay, Apollo, and Relay all have ugly mutation APIs.
client state. i think it's very awkward to force your local state into your relay store. i'd much prefer stuffing your domain state into redux :smile:
GC. This isn't really GC & and I wish they wouldn't call it that. It's a good idea, but I've never come up against memory constraints. Then again, I'm not trying to shove my web apps down the throats of 3 billion people with older mobile devices. When redux calls unsubscribe on a listener, it doesn't offer a hook. If it did, Cashay could do this very easily. Instead, what cashay does is dump the cache for a container when it gets invalidated. If that component got unmounted, then it won't get new data, so it'll just hold onto the parsed AST and an undefined value. We could offer a cashay.gc() command to clean stuff up, but honestly I've never run into memory issues so I've had no need to build that.
offline caching. This is scope creep for a client cache & i wish they'd knock it off. Now i have to persist my redux store + my relay store? bleh. I'd rather relay sat inside my redux store & just persist the one.
connection streaming/deferred. this is great, but again, your downstream payload is gonna pay for it if you're not using websockets because you're sending all those headers down. if you are using websockets, you probably just wanna use a subscription, anyways. I thought these were more GraphQL features instead of relay features...

You're right, they don't even talk about subscriptions, which bums me out. Hopefully they steal @live from cashay, which was stolen from GraphQL, anyways.


decreased chromatin silencing parentage

decreased chromatin silencing at centromere central core
is not a suggested refinement term of
abnormal chromatin silencing at centromere central core
The same is true for eg outer repeat

That's weird. I thought those ought to be inferred. Oh well, I'll assert them manually.

edit file: 8bb855d981e006750a0fed14cfb4fd3a85a1c59f
release: 8bb855d981e006750a0fed14cfb4fd3a85a1c59f


Update README.md to clarify next steps for "One click Azure deployment"

Add next steps in "One click Azure deployment" to resolve following issues:

https://github.com/microsoft/azurechatgpt/issues/49
https://github.com/microsoft/azurechatgpt/issues/70

The documentation was updated as part of the new release. It's now split into multiple readme files.


[BUG] Stuck when rendering MS Document Syntax in Live Preview

If rendering MS Document Syntax is enabled, when scrolling through a page which has some admonitions used, the page is cut off and Obsidian is stuck; unable to click or type anything in Obsidian. This does not happen if the rendering option is disabled
After scrolling through the page:

Original page:

Can you open the developer console and let me know if there are any errors when this happens?
ctrl+shift+i (windows/linux) cmd/opt/i (mac)

The developer console can't seem to pick anything out of the ordinary...

Trying to close the console works, but reopening the console after the bug takes place doesn't work:

If you are comfortable with it, could you share a note that errors?

I was able to reproduce - please try 6.9.3 and see if this still happens.


feat: content tabs

fixes #24
Feat: Content Tabs

Summary by CodeRabbit

New Features

Introduced a new ContentTabs component for improved content organization, allowing users to easily navigate between "Weekly Quests," "News," and "Chests."
Enhanced the user interface with the addition of the shadcn-ui library for better styling and component options.

Improvements

Implemented a responsive design using Tailwind CSS, ensuring an engaging and visually appealing user experience.

hi @Oshioke-Salaki
Some little points:

I see there is a conflict to solve
can you send a screen of the component where it's supposed to be?

hi @Oshioke-Salaki Some little points:

I see there is a conflict to solve
can you send a screen of the component where it's supposed to be?

Done
I just places it in the home screen for now. So you can review it

hi @Oshioke-Salaki Some little points:

I see there is a conflict to solve
can you send a screen of the component where it's supposed to be?

Done I just places it in the home screen for now. So you can review it

Can you send some screenshots here?

Thank you.
For what I see, we miss the logic of showing and hidding this component right?

Yes we are. So I just passed dummy data as props for now.

This PR can be merged only if we manage when to view and not to view the modal

Okay should I create a button in the home page to control it? Will that be enough to merge?

Maybe a button in the header is enough.
We need to be able to close it too


Adding density sketch examples

Some short examples of how to use the density sketch with the default Gaussian kernel.

The build fails due to API changes in datasketches-cpp. This is fixed in the main branch, and this PR does not touch anything related to the build anyway. Good to merge.


Google Maps 2.0.0-beta2 + wheelselector-plugin/date-picker

I'm submitting a ...  (check one with "x")
[ ] question
[x ] any problem or bug report
[ ] feature request
plugin version:  (check one with "x")
[ ] 1.4.x
[x] 2.0.0-beta2
cordova information:  (run $> cordova plugin list)
com-sarriaroman-photoviewer 1.1.10 "PhotoViewer"
com.googlemaps.ios 2.3.0 "Google Maps SDK for iOS"
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-apprate 1.2 "AppRate"
cordova-plugin-camera 2.4.0 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.5 "Console"
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 1.1.4 "Device"
cordova-plugin-dialogs 1.3.1 "Notification"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-globalization 1.0.5 "Globalization"
cordova-plugin-google-analytics 1.7.9 "Google Universal Analytics Plugin"
cordova-plugin-googlemaps 2.0.0-beta3-20170816-1600 "cordova-plugin-googlemaps"
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
cordova-plugin-ios-no-export-compliance 0.0.1 "iOS No Export Compliance"
cordova-plugin-nativeaudio 3.0.8 "Cordova Native Audio"
cordova-plugin-network-information 1.3.1 "Network Information"
cordova-plugin-spinner-dialog 1.3.1 "SpinnerDialog"
cordova-plugin-splashscreen 4.0.1 "Splashscreen"
cordova-plugin-statusbar 2.2.1 "StatusBar"
cordova-plugin-touch-id 3.2.0 "Touch ID"
cordova-plugin-tts 0.2.3 "TTS"
cordova-plugin-vibration 2.1.4 "Vibration"
cordova-plugin-whitelist 1.3.1 "Whitelist"
cordova-plugin-wkwebview-engine 1.1.4-dev "Cordova WKWebView Engine"
cordova-plugin-x-socialsharing 5.1.6 "SocialSharing"
cordova-plugin-x-toast 2.6.0 "Toast"
cordova-plugin-zip 3.1.0 "cordova-plugin-zip"
cordova-sqlite-storage 2.0.1 "Cordova sqlite storage plugin"
cordova-wheel-selector-plugin 1.0.0 "Cordova Wheel Selector Plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 1.9.4 "PushPlugin"

Current behavior:
https://ionicframework.com/docs/native/wheelselector-plugin/
https://ionicframework.com/docs/native/date-picker/
These both 2 plugins does not work at all with new Google Maps version.
The feeling is that those 2 plugins are invisible - finger can't do any tap.
Expected behavior:
They should work as they worked in the 1.4 version.
Steps to reproduce:
<!-- Reproduce steps are really important.
Install both plugins with 2.0 google maps version.

I don't support the compatibility with other plugins.

I thought you would know, probably there is some type of overlay?
Because this is very strange that they stopped working right after updating to Google Maps 2.0.
Would you be able to help here or you want me to close it?

Since inspecting other plugin needs to work a lot, I don't support the compatibility with other plugins.
If the wheelselector-plugin/date-picker is html element, I check it. But it uses native view.
Please asks to the wheelselector-plugin/date-picker repository.

Hi guys, see pull request to fix this issue
https://github.com/mapsplugin/cordova-plugin-googlemaps/pull/1875


Avoid exceptions while searching for tweets

Hello and have a nice week! This addresses some exceptions that occurred to me from time to time. I've tested and use these changes in my site 😉

Summary by CodeRabbit

Bug Fixes

Improved error handling in the tweet search functionality to ensure stability when no tweet data is available.

New Features

Enhanced flexibility in tweet properties, allowing view_count and state to be unspecified (null).

Thank you


Hierarchy propagation opt-out

What problem does this solve or what need does it fill?
There are a lot of cases where I'd like to group entities logically together, but I can't because it would mean their positions would be required to be relative to each-other.
For example, one common usecase I've found (maybe a bit more common for me than other people given the physics-y-ness of my project) is anything with a joint needs to not have a parent entity. Otherwise the joint will either be overridden by the transform propagation and the joint essentially doesn't exist or it explodes out to infinity because it'd try to keep correcting position.

These are all logically the Player 1 entity in my mental model, but the hierarchy doesn't really represent that very well, it also makes it more difficult to traverse this non-standard hierarchy which I have ended up having to do quite often.
What solution would you like?
Adding a Split component that would act as if it wasn't a child of its parent during propagation.
Or maybe call it NoTransformPropagation if it won't be that generic over the different propagation stuffs.
What alternative(s) have you considered?

Having alternative hierarchies be less error prone for users to create.
Maybe propagation as an opt in? But I don't see that worth the confusion with more basic cases.

The main challenges here are avoiding serious performance hits and user-facing complexity. Definitely want this though in some form.
See #3742 for a general purpose tool for alternative hierarchies.

Actually yeah, thinking about it I think relations in general would solve this in a cleaner way.


change mut arg on None and added checker is None

https://florimond.dev/en/posts/2018/08/python-mutable-defaults-are-the-source-of-all-evil

Thank you)


In Backup limits there is no condition mentioned for 2

Team,
In the Backup limitation, when we see "Size of individual data disk attached to an Azure virtual machine for backup" it is mentioned as 4 TB but there is a mark of 2. Where is that condition mentioned?

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

ID: 1cd57b6d-3c6f-e546-b3ea-f83892f4c23d
Version Independent ID: 27aecc7b-f107-96d4-b044-ae026bca2727
Content: Azure subscription limits and quotas
Content Source: articles/azure-subscription-service-limits.md
Service: billing
GitHub Login: @rothja
Microsoft Alias: byvinyal

@aquibqureshi26 Thanks for the comment. Your feedback has been shared with the content owner for further review.

@aquibqureshi26 Thanks for the question. I believe that @markgalioto would be the right person to answer this question. @femsulu Could you assign this to Mark for followup (unless Mark suggests another owner). Thank you!


[FEATURE REQUEST] Allow pairing of Lora/Lycoris with Trigger Words

Hi,
I have extra networks that I use which require trigger words. I would like to be able to autocomplete both the (in my case) Lycoris with the triggerword(s).
I explored this extension which offers some sort of functionality to this end, but it is not user friendly. For instance, you cannot include multiple extra networks in a prompt.
I have considered that I can just create pairings in the extra file config, and disregard auto-complete for the networks, but that means I lose some of the auto-discovery functionality which is not desirable. Alternatively, I can use both autocomplete and extra file in tandem - one to load up the network, and the other to pull in desired tags. This works, but is not super ideal, either.
Any thoughts on potentially incorporating some sort of system to this end?

The extension you mentioned seems to use a pre-configured list with known keywords and an option to manually add more.
It would be out of scope for me to maintain my own list for stuff like this or scour civitai for keywords, but I could give it a try to use their existing list if both extensions are installed.
Main difficulty here is that their system is hash-based, hash calculation can take a bit and isn't a good fit for real time completion. They use the old method where hash is built from the first x bytes of the file instead of a proper full hash, but it is still a delay. And I probably can't use the list as-is without mirroring their hash system. But at least the manual way would definitely be an option.
Another question would be where to insert them, since text position matters. Probably an option to choose between start or end would be best.

I finally made some progress on this. It does in fact use the model-keyword extension list, so a lot of stuff will work out of the box.
Once it is installed, model-keyword can also be disabled, since we only care about the default keyword list they provide (which is updated quite often, probably automatically).
Custom mappings will also work, they can be set through the model-keyword UI and are saved in a lora-keyword-user.txt file.
I calculate the hashes in the same format for all local lora/lycos and cache them until they are modified, so they can be compared with the model-keyword lists later without needing to recalculate at every start (although the method is quite fast anyway since it only looks at the first few bytes like older webui versions). However, this can also lead to hash collisions which will override the previous keywords with the last loaded ones, but hopefully this will be rare enough to be ignorable. model-keyword has the same issues there.
The main problem is that model-keyword has no support for Lycos at this moment, and their built-in list also doesn't contain any keywords for lycos at the moment, from what I've seen. You can also only select models from the Lora folder in the UI to add custom mappings, so it's a bit of a hassle to add Lycos. One option would be to move the lycos into a temporary Lora subfolder, add them in the UI, then move them back. The other option would be to visit the respective Civitai page and copy the "AUTOV1" hash from there (which can be accessed by cycling through the hash field with the arrow next to it), and then write that hash and the keywords to the lora-keyword-user.txt file manually.
Another issue is undoability, currently if you don't want the keywords you need to disable the option for it beforehand. Since they are added programmatically, CTRL-Z to undo them will not work (there are some methods, but all deprecated or requiring a custom history implementation). Before this is merged, I want to try to add the latter (or at least a one-time undo) so they can be removed fast if they were added by mistake.
But you can check out the https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/tree/feature-trigger-word-completion branch to try it out, feedback would be appreciated. You need to enable it in the settings:

For now, it also always adds the keywords to the beginning of the prompt for simplicity.

That was quite a quick turnaround! My response took longer than the work you put in.
Unfortunately, that branch appears to be broken at present. When installing it, autocompletion fails outright. Additionally, I receive an error when trying to Refresh TAC temp files.
Is my experience expected? I recognize that the branch could be in a different state from when you responded.

No, that would definitely be unexpected. The main branch is only one commit ahead, and that is a non-critical small fix.
For me, completion and refreshing the files still works without problems on the feature branch, and I didn't change anything there since my original answer.
It will also just print "Tag Autocomplete: Could not locate model-keyword extension, LORA/LYCO trigger word completion will be unavailable." in the console if it can't find the necessary mapping files, so I don't think it's related to that.
Can you give me some more details on the errors you are getting? Both the webui terminal and the browser console are relevant.
Since the refresh fails. it seems path related, so maybe I overlooked something that isn't properly getting set up for you.

I like this idea and want it even if I need to manually input the trigger words for each LORA/LYCO I use. how close is it to that kind of state.

@a-krum-of-bread Well, you can try out the branch right now. It does work both with the preset and custom added trigger words specified in the model-keyword extension already.
The only thing missing before I will add it to the main branch is what I mentioned above, an easy way to remove the keywords if you don't want them that time, along with some minor stuff like more settings. Which I hope to finish this week.

I was able to mostly finish it up today and merge it, hopefully it works for you now without issues.
For more info on how it works, see the accompanying README section.
For now it always inserts at the beginning of the prompt, but I think that will be sufficient for most use cases.

Sorry for not checking back in on this til now. I have limited time for SD. However, I tested out the extension updates, and it works great! Thanks for putting in the work to make using LORAs that much easier.


How to assign USB endpoint address manually in stm32f4_disco for CDC ACM class driver

I can't assign the USB endpoint address for the CDC ACM calss driver.
The below is the compile command and configuration
CLI:
west build -b stm32f4_disco zephyr/samples/subsys/usb/cdc_acm
The prj.conf file with the content:
CONFIG_STDOUT_CONSOLE=y
CONFIG_GPIO=y
CONFIG_USB=y
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_UART_CONSOLE=y
CONFIG_LOG=y
CONFIG_USB_DRIVER_LOG_LEVEL_ERR=y
CONFIG_USB_CDC_ACM=y
CONFIG_USB_DEVICE_LOG_LEVEL_ERR=y
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_UART_LINE_CTRL=y
CONFIG_UART_CONSOLE_ON_DEV_NAME="CDC_ACM_0"
CONFIG_USB_DEVICE_MANUFACTURER="STMicroelectronics"
CONFIG_USB_DEVICE_PRODUCT="Zephyr/RT Virtual COM Port"
CONFIG_USB_DEVICE_VID=0x0483
CONFIG_USB_DEVICE_PID=0x5740
CONFIG_USB_DEVICE_SN="301"
# CONFIG_CDC_ACM_IAD is not set

Flashing the program and seeing the console logs on ubuntu by executing the CLI: sudo lsusb -d 0483:5740 -v.
Bus 003 Device 006: ID 0483:5740 STMicroelectronics STM32F407
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            2 Communications
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0483 STMicroelectronics
  idProduct          0x5740 STM32F407
  bcdDevice            2.01
  iManufacturer           1 STMicroelectronics
  iProduct                2 Zephyr/RT Virtual COM Port
  iSerial                 3 301
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           67
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0
      CDC Header:
        bcdCDC               1.10
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x02
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             255
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

The USB endpoint address obtained is as follows:
0x81 0x01 0x82(1: INT/BULK OUT 2: BULK IN)
I want to get the following address by modifying the code or config.
0x82 0x01 0x81(1: BULK IN/OUT 2: INT)
......
   Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0
      CDC Header:
        bcdCDC               1.10
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x02
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN      ---
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             255
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT   ---
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN   ---
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0

I tried to modifty the file.
zephyr/subsys/usb/class/cdc_acm.c
#define DEFINE_CDC_ACM_DESCR_AUTO(x, _) \
	DEFINE_CDC_ACM_DESCR(x, AUTO_EP_IN, AUTO_EP_OUT, AUTO_EP_IN);

#define DEFINE_CDC_ACM_EP_AUTO(x, _) \
	DEFINE_CDC_ACM_EP(x, AUTO_EP_IN, AUTO_EP_OUT, AUTO_EP_IN);

->
1.
#define DEFINE_CDC_ACM_DESCR_AUTO(x, _) \
	DEFINE_CDC_ACM_DESCR(x, 0x82, 0x01, 0x81);

#define DEFINE_CDC_ACM_EP_AUTO(x, _) \
	DEFINE_CDC_ACM_EP(x, 0x82, 0x01, 0x81);
2.
#define DEFINE_CDC_ACM_DESCR_AUTO(x, _) \
	DEFINE_CDC_ACM_DESCR(x, 0x81, 0x01, 0x82);

#define DEFINE_CDC_ACM_EP_AUTO(x, _) \
	DEFINE_CDC_ACM_EP(x, 0x81, 0x01, 0x82);
3.
#define DEFINE_CDC_ACM_DESCR_AUTO(x, _) \
	DEFINE_CDC_ACM_DESCR(x, 0x01, 0x82, 0x81);

#define DEFINE_CDC_ACM_EP_AUTO(x, _) \
	DEFINE_CDC_ACM_EP(x, 0x01, 0x82, 0x81);

I have tried lots of configs, they all fail, would you please help me out on it?

You can not because it is not necessary. The purpose of the endpoint descriptor is to describe the configuration. The problem is your host when it needs hard-coded endpoint addresses.

I have filled hard-coded endpoint address in the the usb descriptor in the file zephyr/subsys/usb/class/cdc_acm.c, so i thought it would work，on the contrary, nothing changed, it seems that the driver re-assigned the endpoint address automatically,  where and how ?

it seems that the driver re-assigned the endpoint address automatically, where and how ?

The stack does it here.

Thank you for your help
The driver re-assigns the endpoint address  in the function usb_validate_ep_cfg_data usb_descriptor.c, after I commented the code below, I can specify the endpoint address manually.
		case USB_ENDPOINT_DESC:
			if (!cfg_data) {
				LOG_ERR("Uninitialized usb_cfg_data pointer, "
					"corrupted device descriptor?");
				return -1;
			}

			LOG_DBG("Endpoint descriptor %p", head);
			ep_descr = (struct usb_ep_descriptor *)head;
			if (usb_validate_ep_cfg_data(ep_descr,
						     cfg_data,
						     &requested_ep)) {
				LOG_ERR("Failed to validate endpoints");
				return -1;
			}

			break;

You can not because it is not necessary. The purpose of the endpoint descriptor is to describe the configuration. The problem is your host when it needs hard-coded endpoint addresses.

I agree that this shouldn't be an issue, good drivers should parse the interface descriptor and pick up the right endpoints. However, that's not always the case.
There are plenty of drivers in Linux and elsewhere that use hard-coded endpoint numbers. For example, I have started to implement a gs_usb-compatible USB to CAN device using Zephyr and the Linux driver simply won't work unless specific endpoint numbers are used. The driver makes no attempt parsing any interface descriptors. This is the case for the Python driver as well. Fixing the driver is of course the desirable approach, but that's not always possible.
I would argue that not being able to override automatic EP assignment is a shortcoming in Zephyr that needs to be fixed to support real-world use cases.

I'm currently testing a patch that solves the issue for me by only enabling auto-assignment if the EP has been set to AUTO_EP_OUT or AUTO_EP_IN. Unfortunately, this means that USB descriptors need to be parsed in two passes since all of the statically assigned EP addresses need to be added to the requested_ep mask before automatic assignment starts. I should be able to post this patch sometime next week if this seems like the desirable behaviour (it was the behaviour I expected when implementing my device).

There are plenty of drivers in Linux and elsewhere that use hard-coded endpoint numbers. For example, I have started to implement a gs_usb-compatible USB to CAN device using Zephyr and the Linux driver simply won't work unless specific endpoint numbers are used.

Please fix it there in Linux Kernel.

Thank you for your help
The driver re-assigns the endpoint address in the function usb_validate_ep_cfg_data usb_descriptor.c, after I commented the code below, I can specify the endpoint address manually.
		case USB_ENDPOINT_DESC:
			if (!cfg_data) {
				LOG_ERR("Uninitialized usb_cfg_data pointer, "
					"corrupted device descriptor?");
				return -1;
			}

			LOG_DBG("Endpoint descriptor %p", head);
			ep_descr = (struct usb_ep_descriptor *)head;
			if (usb_validate_ep_cfg_data(ep_descr,
						     cfg_data,
						     &requested_ep)) {
				LOG_ERR("Failed to validate endpoints");
				return -1;
			}

			break;

@darwinbeing  I have the same issue, I want to change endpoint descriptor address but it is not working. How did you solve this by your end ?


tty,win: Fix duplicate vt100 fn key

By #2114 function keys etc duplicate in neovim. I think that this is the correct condition.

Sorry, I'll be away for a week and cannot test this. I'll rubber stamp LGTM, the change makes sense, looks good and the test is great.
Can someone confirm that this works?

This issue is very noticeable moving around in the repl. I tried this change and it appears to fix the issue.

Without the change, two of the three new tests pass:
ok 301 - tty_composing_character
ok 302 - tty_duplicate_alt_modifier_key
not ok 303 - tty_duplicate_vt100_fn_key
# exit code 3
# Output from process `tty_duplicate_vt100_fn_key`:
# expected nread 4, but found 8
# expect 0x1b 0x5b 0x5b 0x41 , but found 0x1b 0x5b 0x5b 0x41 0x1b 0x5b 0x5b 0x41
# Assertion failed in test-tty-duplicate-key.c on line 66: FALSE

When I've made that change I've only checked Alt+something, not other special keys. This is also why originally I did not see any change with and without this change.
Anyway, @cjihrig, this probably needs a new libuv release, since currently Node is broken in a rather spectacular way.

CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1206/

CI with no related failures: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1216/

Landed in https://github.com/libuv/libuv/commit/7ed1eced3145c9eb17f831c2d66cdaa3d440d904. Thanks!


Remove Query.whereArgs(List<?> whereArgs) from StorIOSQLite

This was my mistake in the API, I guess, nobody used it because we have nice overload which is used in all other Queries whereArgs(Object… whereArgs).
I think it's okay to remove this API in 1.1.0?
@nikitin-da, anybody?

I agree. But have you decided that it will not break compatibility?

Unfortunately it will break compatibility, but I hope nobody uses it because there is Object... whereArgs overload.
Recently OkHttp denied body in PUT and DELETE requests, I didn't see so many issues about one change for a while…
I think it's critical to made this change ASAP while we don't have a lot of users.

Ok. Lets remove it.

Reopening, this is incompatible API change, so we need to move this issue to v2.0.0
PR with revert — #468

@artem-zinnatullin, @nikitin-da, before removing whereArgs(List<?> whereArgs) consider more complex cases of constructing a query. In example below, additional expressions are appended to where clause based on condition. One would probably implement it like this:
boolean includeHappyTeenagers = true;
StringBuilder whereBuilder = new StringBuilder();
List<Object> argsList = new ArrayList<>();

// required part
whereBuilder.append("age BETWEEN ? AND ?");
argsList.add(60);
argsList.add(90);

// optional part
if (includeHappyTeenagers) {
    whereBuilder.append(" OR age BETWEEN ? AND ? AND mood > ?");
    argsList.add(13);
    argsList.add(18);
    argsList.add(0.7);
}

Cursor c = db.get().cursor()
        .withQuery(Query.builder()
                        .table("people")
                        .where(whereBuilder.toString())
                        .whereArgs(argsList)
                        .build()
        )
        .prepare()
        .executeAsBlocking();

c.getCount();
c.close();

Without whereArgs(List<?> whereArgs) same result will be possible to achieve by converting to a plain array:
whereArgs(argsList.toArray())
whereArgs(argsList.toArray(new Object[argsList.size()]))

that doesn't look beautiful.
Moreover, developer might mistakenly think that whereArgs(Object... whereArgs) accepts List<?> object, then he would write perfectly valid whereArgs(argsList) and would get the following result:
SELECT * FROM people
WHERE age BETWEEN '[60, 90, 13, 18, 0.7]' AND NULL
  OR age BETWEEN NULL AND NULL AND mood > NULL

because every array item from Object... whereArgs argument is converted to its string representation.
This problem is actual for RawQuery.args(Object... args) also. Raw queries may be used for much more complex queries, e.g. unions.
To my mind, whereArgs(List<?> whereArgs) should exist both in Query and RawQuery. Guys, what are your thoughts on this case? How to construct complex queries with less pain?

In general, I agree with you, the only thing that I don't like is keeping both Object... and List overloads, because it looks suspicious both for the compiler and me.
I'll check what we can do here and probably add it to the RawQuery too.
@vokilam, thanks for the input!

@artem-zinnatullin
where should append to the previous selection rather than replacing the existing clause
public Builder where(String selection, String... selectionArgs) {
if (TextUtils.isEmpty(selection)) {
if (selectionArgs != null && selectionArgs.length > 0) {
throw new IllegalArgumentException(
"Valid selection required when including arguments=");
}
        // Shortcut when clause is empty
        return this;
    }

    if (mSelection.length() > 0) {
        mSelection.append(" AND ");
    }

    mSelection.append("(").append(selection).append(")");
    if (selectionArgs != null) {
        Collections.addAll(mSelectionArgs, selectionArgs);
    }

    return this;
}

thoughts ?

where should append to the previous selection rather than replacing the existing clause

We've discussed this with @nikitin-da and decided to keep current behavior. The main reason for this is that it will be non-intuitive for the users of the library, because all other methods of the Query builder won't do this, for example: sortOrder(), limit() and  so on. Also, it'll require kind of understanding of the SQL inside of StorIO (you're adding AND between two where()) which we are trying to avoid. Sorry for this, but I hope you'll find our decision pretty reasonable and good :)

Also a toBuilder() method to edit the existing Query will be nice.

YES! I want this too, created issue for this #537 (planned for v1.6.0).

@artem-zinnatullin

I understand. I wrote a little wrapper around for myself for all my entities. Sample below.
Makes it easier for me to create Queries and pass them.

public static class TweetQuery {

        final Query.CompleteBuilder builder = Query.builder().table(TweetsTable.TABLE);
        StringBuilder selection = new StringBuilder();

        public TweetQuery() {
        }

       // Similarly or and between addition.
        private void and(String where, String... whereArg) {
            if (selection.length() > 0) {
                selection.append(" AND ");
            }
            selection.append(where).append(" = ").append(whereArg);
        }

        public TweetQuery id(Long id) {
            and(TweetsTable.COLUMN_ID, String.valueOf(id));
            return this;
        }

        public TweetQuery author(String author) {
            and(TweetsTable.COLUMN_AUTHOR, author);
            return this;
        }

        public Query.CompleteBuilder build() {
            return builder
                    .where(selection.toString());
        }
    }

Cool.

Nice!
We'll try to ship it :ship: soon!

Correct me if I'm wrong but doing :
selection.append(where).append(" = ").append(whereArg);
will prevent indexes from being used no ?

Should work okay, indexes will be applied after all placeholders will be processed and changed with real values.

@nikitin-da @geralt-encore what should we do with this?

maybe remove this method before v2 or v3?

Does removing this method will help users? If not - better keep it.
On the other hand, are there technical problems with keeping it?

@Rainer-Lang, there is no technical problem. But as @artem-zinnatullin said above it looks
suspicious for compiler=(
Moreover it looks inconsistent because other queries do not contain for now overload that takes list (ContentResolver: query, deleteQuery, updateQuery. Sqlite: deleteQuery, updateQuery and rawQuery)
Btw observesTags and affectsTags have both variant

+1 for removing it. It is a rare chance to clean up the API :)


Fix cargo lock lookup

The main loop of racer::cargo::get_cargo_packages previously used otry! extensively which would cause the entire function to return None in the case that any of the crates in the package list didn't have all of the desired properties. otry! usage in this function was replaced with an unwrap_or_continue! macro which yields the value of some or continues which skips the current package.
The remaining changes are cleanup and logging additions. The main commit to look at for review purposes is 27602934fe6d52525016c18e5b1abfa07fb2aec3. There was also some minor refactoring in 6eaefb2ad83b47312e4c089963ef5c7d6a55536d.

This change is

Relevant - I think this was only a problem when there was a local path dependency. After applying these changes, the added debug!("get_cargo_packages skipping {}", package_name); only printed such a dependency.

Thanks @jwilm, merged


[SPARK-43169][INFRA] Bump previousSparkVersion to 3.4.0

What changes were proposed in this pull request?
The main change of this pr as follows:

Bump MiMa's previousSparkVersion to 3.4.0
Clean up expired rules and case match
Add shaded and generated protobuf code exclude filters to defaultExcludes
Increase the mem of mima check from 4096m to 4196m to avoid java.lang.OutOfMemoryError: GC overhead limit exceeded

Why are the changes needed?
To ensure that MiMa checks cover new APIs added in Spark 3.4.0.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Scala 2.12
dev/mima -Pscala-2.12

Scala 2.13
dev/change-scala-version.sh 2.13
dev/mima -Pscala-2.13

Merged to master.

Thanks @HyukjinKwon


Keybinding fail. "cmd+t" prefixes a "#" in the input. No known way to remove it.

VSCode Version:
OS Version:

Steps to Reproduce:

press cmd+t
view a "#" in the search input

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

My impression was #... in the Actions Toolbar at the top is a shorthand way of searching for symbols in opened workspaces. In the Keyboard Shortcuts menu, I see Cmd + T assigned to Go to Symbol in Workspace.... Am I wrong?


Interactivity routing support

I'm trying it now I realized there is only supported events routing.
https://github.com/seratch/slack-edge/blob/1b7346fb9de21d1bbe6eed351851dd0ada646391/src/app.ts#L529-L534
However, the console has an input field for the interactivity path we have to.

But if we set it to the same event_subscriptions path, it seems to work well.

What's the correct?
Is there no problem with the wired setting?

Hi @t6adev, thanks for asking the question. The name "events" might be a little confusing but you can use a single endpoint URL, which is configured as "routes.events" for all Request URLs in the Slack app configuration page.


RequestLogger not working

What is your Test Scenario?
Use requestLogger to intercept requests. Run below test.js on Mac.
import { RequestLogger } from 'testcafe';

const logger     = RequestLogger('http://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png');

fixture('Prebid')
    .page(`http://prebid.org/`);

test
    .requestHooks(logger)
    (`image loading`, async (t) => {
        await t
            .expect(logger.contains(record => record.response.statusCode === 200)).ok();
    });

What is the Current behavior?
RequestLogger is not working as expected. It can't intercept requests.
Running tests in:
 - Chrome 87.0.4280.141 / macOS 10.15.5

 Prebid
 ✖ image loading

   1) AssertionError: expected false to be truthy

      + expected - actual

      -false
      +undefined

      Browser: Chrome 87.0.4280.141 / macOS 10.15.5

          7 |
          8 |test
          9 |    .requestHooks(logger)
         10 |    (`image loading`, async (t) => {
         11 |        await t
       > 12 |            .expect(logger.contains(record => record.response.statusCode === 200)).ok();
         13 |    });

 1/1 failed (33s)

Steps to Reproduce:

run below test.js with command  testcafe chrome ./tests/test.js --skip-js-errors --disable-page-caching

import { RequestLogger } from 'testcafe';

const logger     = RequestLogger('http://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png');

fixture('Prebid')
    .page(`http://prebid.org/`);

test
    .requestHooks(logger)
    (`image loading`, async (t) => {
        await t
            .expect(logger.contains(record => record.response.statusCode === 200)).ok();
    });

See the error

Running tests in:
 - Chrome 87.0.4280.141 / macOS 10.15.5

 Prebid
 ✖ image loading

   1) AssertionError: expected false to be truthy

      + expected - actual

      -false
      +undefined

      Browser: Chrome 87.0.4280.141 / macOS 10.15.5

          7 |
          8 |test
          9 |    .requestHooks(logger)
         10 |    (`image loading`, async (t) => {
         11 |        await t
       > 12 |            .expect(logger.contains(record => record.response.statusCode === 200)).ok();
         13 |    });

Your Environment details:

testcafe version:                   "^1.10.1"
node.js version:                    v12.20.0
command-line arguments:  testcafe chrome ./tests/test.js --skip-js-errors --disable-page-caching
browser name and version:  Chrome 87.0.4280.141 (Tried with other browsers(Safari 13.1.1 / macOS 10.15.5) on Mac, it has same error.)
platform and version:         MacOS 10.15.5, Ruby ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-darwin19], Python Python 3.6.0
other:

Thank you for your report. I was trying to reproduce the issue, and I didn't find the request with the url mentioned in your example. The attached screenshots illustrates a list of requests to image files. Could you please make sure that the url is correct?

Thank you for your report. I was trying to reproduce the issue, and I didn't find the request with the url mentioned in your example. The attached screenshots illustrates a list of requests to image files. Could you please make sure that the url is correct?

Thanks for reply! I followed the same way you gave and found out it is the configuration of local env for my project is wrong so that's why the requestLogger could not find the request. You can close this one. Thanks a lot!

Thanks for reply! I followed the same way you gave and found out it is the configuration of local env for my project is wrong so that's why the requestLogger could not find the request. You can close this one. Thanks a lot!


Update existing lambda functions to inject identifiers from api or auth throws TypeError

Describe the bug
Updating to the latest version and based on this comment on #1099  you should be able to inject identifiers from auth or api category into functions. Updating a existing function to add the AWS AppSync Api ID results in a typeError.
Policies cannot be added for api TypeError: Cannot read property 'api' of undefined
To Reproduce
See Screenshot.
Expected behavior
Updating the function results in the AWS AppSync Api ID available as parameter in the cloudformation template.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Version 1.7.0

Additional context
I already setup the policies for the function with a hardcoded Api ID from appsync, maybe this is conflicting with the update process from the cli, but the error seems more like a reference was not found.

@foxfl What does your amplify/backend/function/functions-params.json file show?
Also, can you run the amplify update function command the second time around and see it you get the same error?

@kaustavghosh06 Thanks for the fast reply.
I tried to rerun to command yesterday which resulted in the same output.
Today i also tried to rerun the command which then didnt throw an error and outputed this:
{     "permissions": {         "api": {             "test_api": [                 "create",                 "read",                 "update",                 "delete"             ]         }     } }
in the functions-params.json
I also tried the same process on a different function in my project. First try results in the error. Second try updates the functions-params.json  succesfully as shown in the screenshot.

jap, the second try is working. BUT:
UPDATE_FAILED               functioncalculateZscoreVariables   AWS::CloudFormation::Stack Mon Jun 03 2019 11:35:28 GMT+0200 (Mitteleuropäische Sommerzeit) Template format error: Parameter name API_AIVY_GRAPHQLAPIIDOUTPUT is non alphanumeric.
than i get this.

@davidbiller
You have to replace API_AIVY_GRAPHQLAPIIDOUTPUT  with  api{your_api_name}GraphQLAPIIdOutput (take a look at the default value) in your cloudformation templates for the function in the parameters section, that did the trick for me.

@davidbiller
You have to replace API_AIVY_GRAPHQLAPIIDOUTPUT  with api{your_api_name}GraphQLAPIIdOutput (take a look at the default value) in your cloudformation templates for the function in the parameters section, that did the trick for me.

in which file?

@davidbiller
You have to replace API_AIVY_GRAPHQLAPIIDOUTPUT  with api{your_api_name}GraphQLAPIIdOutput (take a look at the default value) in your cloudformation templates for the function in the parameters section, that did the trick for me.

in which file?

In /amplify/backend/function/{your_function}/{your_function}-cloudformation-template.json

@davidbiller
You have to replace API_AIVY_GRAPHQLAPIIDOUTPUT  with api{your_api_name}GraphQLAPIIdOutput (take a look at the default value) in your cloudformation templates for the function in the parameters section, that did the trick for me.

in which file?

In /amplify/backend/function/{your_function}/{your_function}-cloudformation-template.json

Thx. I will try.
 So i need this for the table names. BUT can i use graphQL(appsync) than in Lambda to get data? so for now i do this direct over dynamodb.

@davidbiller
You have to replace API_AIVY_GRAPHQLAPIIDOUTPUT  with api{your_api_name}GraphQLAPIIdOutput (take a look at the default value) in your cloudformation templates for the function in the parameters section, that did the trick for me.

in which file?

In /amplify/backend/function/{your_function}/{your_function}-cloudformation-template.json

Thx. I will try.
 So i need this for the table names. BUT can i use graphQL(appsync) than in Lambda to get data? so for now i do this direct over dynamodb.

Yep, you should be able to access AppSync directly from the lambda function, as the update process has added a policy for the function to access AppSync and injects the App Id from AppSync (@kaustavghosh06 Correct me if I’m wrong here). The thing is, that from now on you don’t have to hardecord the App Id into the template. Also, the App Id gets injected into the lambda as an environment variable. You can still directly access DynamoDB, as your lambda acts as a resolver for a GraphQL field but for example, you can now trigger mutations from your lambda when you add access to the API, as a result from a streaming event or such.

@foxfl You're right. Also, we fixed the issue in with the latest version of our CLI - 1.7.1.
cc: @davidbiller


Chore: Review errors when attempting to query schemas/tables that don't exist in external databases

Description
Error: test fail: query failed: db error: ERROR: Failed to dispatch to table: Failed to connect to Postgres instance: query returned an unexpected number of rows
[SQL] SELECT table_schema, table_name
	FROM external_db.virtual_datasource_schema.tables
	WHERE table_schema = 'public' AND table_name = 'bikeshare_stations';

virtual_datasource_schema doesn't exist in the external database. "Failed to connect to Postgres instance: query returned an unexpected number of rows" is not a great error.
What This Enables

Impacts

General usability

Adding support to this. Made a failed query hard to debug.

Let's open an issue per bad error just to make it more tractable and actionable


keyword "max_non_rigid_registartion_dim_px" misspelled

Hello,
would it be OK if I sent you a PR changing max_non_rigid_registartion_dim_px into max_non_rigid_registration_dim_px ?
See the files that would be affected by the change: https://github.com/MathOnco/valis/search?q=registartion
Cheers,
Egor

Hi @zindy,
Ooops, thanks for pointing out typo! I have an approach I'd like to use that can treat the misspelled keyword like a deprecated argument, and it would avoid inducing argument errors in anyone's existing scripts. I'll have it fixed the next update.
Best,
-Chandler


[Minor] Player's BoxCollider2D gets stuck b/w TilemapColliders.

Game is playable but a bit annoying when character can't jump anymore.

Issue has been fixed with the new player. However, gameplay have been changed and need testing.

Issue has been fixed. Player has been replaced by a circle collider and a ball.


Broken

I just tried the demo on glitch and it's broken. It seems like some of the services are unreachable.

Running the conduit service showed this error: ERROR: Service 'api' failed to build: The command '/bin/sh -c npm install --silent --progress=false --production' returned a non-zero code: 6
Looking onto the npm install errors, node-pre-gyp was failing due to an older version of bcrypt. Updating the version of bcrypt unblocked the error and is now running properly.


Relicense from LGPL-3 to BSD-3

All the code in this repo comes from contributors who have now either signed the new CLA or are employees of the Met Office.
The new CLA enables us to relicense to BSD-3.
This PR:

adds a BSD-3 LICENSE file (to replace the old COPYING* files)
Updates the pypi classifiers/metadata etc
Updates the file license headers

@lbdreyer Test failure to investigate, but not your doing... 🤔

I think that test failure is just a method that shouldn't start with "test".

Thanks for catching the problem @pp-mo !
The changes should now be correct

Thanks @pp-mo !


Anyone got help?

I'm stuck on "pip install -r requirements.txt" on termux, anyone got tips to get past on it?

do you have python 3 installed?

Gonna close it due to inactivity, feel free to reopen @nonoyesnt