Add EvaluationEnsemble

This PR adds the EvaluationEnsemble class that lets users combine several EvaluationModules into a single, compact object that behaves like a single module. Here's how it works:
from evaluate import EvaluationEnsemble

clf_metrics = EvaluationEnsemble(["accuracy", "f1", "precision","recall"])
clf_metrics.compute(predictions=[0,1], references=[1,1])

{
    'accuracy': 0.5,
    'f1': 0.666,
    'precision': 1.0,
    'recall': 0.5
}

Under the hood the add, add_batch, and compute function iteratively call the methods with the same name for each module.
There are a few scenarios for the returned dict:

if there are name clashes in the score names the module name is prefixed
if there are name clashes in the modules the prefixes are additionally enumerated
one can force the prefix with force_prefix=True at initialization
for the name the module names are used except if the modules are passed as a dict in which case the keys are used.

Here an example to illustrate forced prefixing with custom names:
bleu_metrics = EvaluationEnsemble({
    "bleu_simple": evaluate.load("bleu"),
    "bleu_complex": evaluate.load("bleu")}
)

{
 'bleu_simple_bleu': 0.0,
 'bleu_simple_precisions': [0.75, 0.5, 0.0, 0.0],
 'bleu_simple_brevity_penalty': 1.0,
 'bleu_simple_length_ratio': 1.0,
 'bleu_simple_translation_length': 4,
 'bleu_simple_reference_length': 4,
 'bleu_complex_bleu': 0.0,
 'bleu_complex_precisions': [0.75, 0.5, 0.0, 0.0],
 'bleu_complex_brevity_penalty': 1.0,
 'bleu_complex_length_ratio': 1.0,
 'bleu_complex_translation_length': 4,
 'bleu_complex_reference_length': 4
}

This should be especially useful if the same metric with different configs is used in one ensemble.
I am not married to the name EvaluationEnsemble so if there are any better suggestions I am happy to hear them.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Tbh I'm not sold on the name - won't people get confused about this being a different kind of "ensemble"? I'd call it AggregatedEvaluation or EvaluationAggregation?

I suggested load_metrics(names: List[str]) and combine_metrics(metrics: List[Metric]) here: https://github.com/huggingface/evaluate/issues/8#issuecomment-1093271835
Btw I think EvaluationModule is not a good name, I did not approve https://github.com/huggingface/evaluate/pull/42 - I'd like to discuss this more

Yes, I am also not totally happy with the name, yet. The reason I didn't go for combine_metrics or load_metrics is that it is again specific to metrics whereas we have Metrics, Comparisons, and Measurements. We could go for combine but I feel it might be a bit too general to understand its purpose intuitively or maybe combine_evaluations. I also like AggregatedEvaluation.
Regarding EvaluationModule I have not a strong opinion. I feel like only a small fraction of user will create a custom module and for them it will already be populated and what's left to do is described. We can create subclasses of EvaluationModule for Metric, Comparison, and Measurement if you think that would make it more intuitive.

Yes, I am also not totally happy with the name, yet. The reason I didn't go for combine_metrics or load_metrics is that it is again specific to metrics whereas we have Metrics, Comparisons, and Measurements. We could go for combine but I feel it might be a bit too general to understand its purpose intuitively or maybe combine_evaluations. I also like AggregatedEvaluation.

Ok I see ! I'm fine with having combine at the top level to be honest ^^

Regarding EvaluationModule I have not a strong opinion. I feel like only a small fraction of user will create a custom module and for them it will already be populated and what's left to do is described. We can create subclasses of EvaluationModule for Metric, Comparison, and Measurement if you think that would make it more intuitive.

The idea is to make it easy for anyone to read a metric/comparison/measurement script. I think it's easier to understand when we use more relevant names. Though it also depends if it is compatible your plans regarding the abstractions/separations of those types of evaluations

Following the discussions above I added a combine function and renamed EvaluationEnsemble to AggregateEvaluation. Behind the scenes the AggregateEvaluation still does the heavy lifting and is the object returned by combined.
The naming or EvaluationModule is addressed in #160 separately. Do you think we also need to split AggregateEvalaution into AggregateMetric, AggregateComparison etc.? The plan is not to expose this to the user directly by removing it from the __init__ but they would still see it when inspecting the object returned by combine.
Let me know what you think.


Display sections in using APM so Tag Spotlight and Log Observer are listed in the agenda

Is your feature request related to a problem? Please describe.
I didn't realize we had Log Observer included at all in the workshop.
Describe the solution you'd like
I'd like to see APM section include the sub topics on the left navigation. I did not realize LO and Tag Spotlight were part of it without scrolling the long page.
https://signalfx.github.io/observability-workshop/v4.31/apm/docs/using-splunk-apm/

@rcastley


python-six is required in the build process

the build error log is:
Traceback (most recent call last):
Traceback (most recent call last):
  File "./ovsdb/ovsdb-idlc.in", line 8, in <module>
    import ovs.json
  File "/root/rpmbuild/BUILD/openvswitch-2.6.1/python/ovs/json.py", line 21, in <module>
    import six
ImportError: No module named six

Signed-off-by: Jian Li<EMAIL_ADDRESS>

Can you please add a Signed-off-by header to your commit message?  Please see the CONTRIBUTING.rst file for more information about the meaning of this header.  Thanks!

@russellb  , thanks
Add a Signed-off-by into comment

Thanks for the patch!  I added your name to the AUTHORS file and applied this patch to master.


s3 target for drb gridmet

make an S3 target for the drb gridmet data.

@jsadler2 tried this in #133 and #137.
{targets} x S3 isn't working as we expected for file targets like the .nc file containing the gridmet met drivers aggregated for all the NHDv2 catchments in the DRB.  For example, when running tar_make(), I would have expected targets to go and download the file from S3 if it is not stored locally (and place it in the given file path).
# target definition:
tar_target(
    p1_drb_nhd_gridmet,
    "1_fetch/in/drb_climate_2022_06_14.nc",
    format = "file"
  )

It doesn't do that, but rather, throws a complaint that the file isn't available in the local path.
# run tar_make() to download the file from S3
> tar_make(p1_drb_nhd_gridmet)
Linking to GEOS 3.9.1, GDAL 3.2.1, PROJ 7.2.1; sf_use_s2() is TRUE
* start target p1_drb_nhd_gridmet
x error target p1_drb_nhd_gridmet
* end pipeline: 0.94 seconds
Error : _paths_ missing files: 1_fetch/in/drb_climate_2022_06_14.nc
x Problem with the pipeline.
i Show errors: tar_meta(fields = error, complete_only = TRUE)
i Learn more: https://books.ropensci.org/targets/debugging.html
Error:
! problem with the pipeline.
>

For now, we'll plan to store the gridmet data (full DRB, aggregated to NHDPlusv2 catchments; ~15 GB) on caldera, load the data via a plain targets "file" format, and subset to the desired COMIDs within our pipeline. If running the pipeline on a local clone of the repo, you'd have to download the gridmet data from our S3 bucket and manually place it in 1_fetch/in though.

Closing this for now as addressed in #141. We can re-open this issue if we decide to pull from S3 down the line.


region nomenclature

UK North and UK South 2 are not Azure region names, suggest updating to avoid confusion

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

ID: b006a616-2f2f-8ecf-8b80-fd0a3cc62090
Version Independent ID: 92c54dc6-8ddf-b1f7-4a58-d61b8cd7fe25
Content: What is a private endpoint? - Azure Private Link
Content Source: articles/private-link/private-endpoint-overview.md
Service: private-link
GitHub Login: @asudbring
Microsoft Alias: allensu

@adstuart , thank you for your feedback. We have assigned this to the content owner/author for review.
@asudbring , for your review.

Thanks @adstuart for your feedback!
Fixed incorrect regions in table.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/216842
#please-close


Prepare 0.22.0 release

Summary
Details and comments
Fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6162

Relevant Lines:
7378

💛  - Coveralls


CrxObject::involvedIn

Shared association delivering objects where obj::getInvolvedIn returns all objects having an InvolvedObject i with i::involved = obj

fixed with opencrx-4.2.0+


iOS simulator binary

Expected behavior
When embedded for iOS project, it should be compilable for both deploying to device and simulator.
Actual behavior
It'll only compile if the target is to actual device.
Steps to reproduce the behavior
Compile the demo project on simulator, it will fail due to the binary was built only for device architecture.
I think it's probably worth it to provide a universal binary for iOS, otherwise it'll mean that adding this library to the project will cause that the project no longer compilable for simulator. The barrier of entry to adopt this library will be really high.

Thanks for bringing it up. You are correct. We had this request multiple times now.
I am going to put it on our task list for the next sprint. I'll keep you posted.

Thanks!! Also noticed that the .a is compiled with the target deployment of 11.2. Is it possible to lower it down maybe to 10.0 or 11.0, unless there's a specific reason that might cause difficulty?
This is just again, about lowering barrier of entry.

I will check to make sure there is no good reason for it. Much appreciate the contribution. I'll keep you posted. I think a good time for pushing all this in would be v1.5 release. But I see how we can accelerate it.

Also waiting for that. Thanks!

Hello,
I am getting some error like,
No such module 'pv_porcupine' in PorcupineManager.swift class

Are there any news on this issue? I'd at least like to get rid of the warnings when building for simulator or device that the other framework (libpv_porcupine_iOS/ libpv_porcupine_Mac respectively) is throwing

I still like to get this done. It is unlikely to have it ready in 2018. But I expect it to be out Q1 2019.

Great library guys! Any chance there's been any progress on this?

any chance there's been progress on this? It would be very helpful to be able to run this on a simulator instead of having to use physical devices

the new release (v1.6) should run on the simulator as well.


chore(docs): mathspec v1

Description
While this still not in a good shape for GitHub, token economics can review the preview as an exported PDF:
Mathematical Specification of Staking Protocol.pdf
Implements #56
A formal mathematical specification on the staking protocol, agnostic of implementation details.
Another spec might be necessary to express the specific implementation details.
Checks

[ ] Verify if specification is aligned with Token Economics
[ ] Verify if all formulas are correct
[ ] Verify if the state logic is correct
[ ] Verify if is easy to understand
[ ] Verify formatting is good for GitHub
[ ] Verify for spelling mistakes

Turns out GitHub wont accept the math formulas in some contexts, such as inside bullet points (why GitHub? others accept it fine) so I will reformat it in a way is still good looking but dont need to use bullet points, to do that I wll have to revisit all the way the document is formatted to find another way of representing the topics.

I'll rebase and squash this once its reviewed.


White to black color-scale has a color in the wrong order

/** choropleth visualization */

#abc{
  polygon-fill: #F7F7F7;
  polygon-opacity: 0.8;
  line-color: #FFF;
  line-width: 0.5;
  line-opacity: 1;
}
#abc [ hour <= 23] {
   polygon-fill: #252525;
}
#abc [ hour <= 22] {
   polygon-fill: #525252;
}
#abc [ hour <= 21] {
   polygon-fill: #737373;
}
#abc [ hour <= 20] {
   polygon-fill: #969696;
}
#abc [ hour <= 19] {
   polygon-fill: #BDBDBD;
}
#abc [ hour <= 18] {
   polygon-fill: #D9D9D9;
}
#abc [ hour <= 17] {
   polygon-fill: #F7F7F7;
}

to me it looks like #D9D9D9; and #BDBDBD; are reversed
to recreate, load any polygon dataset and make a choropleth withe the wizard. choose the white to black ramp

no, i'm crazy. it is from the font color over it


extra changes to your PR

I guess you'll have to merge and go from there to check tests are passing.

Done. Thanks a lot for the interest and effort put into this. Let's see back in your repo how the tests go.


docs: fix contributing guide

🔗 Linked issue
related #69, #109, #120
❓ Type of change

[x] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
fixed a contribution guide along with the removal of the postinstall command.

@harlan-zw , thanks for merged 🙏


[Azure DevTest Labs ] "Add a VM using an image from the attached shared image gallery " refers to an unexisting req body properties.SharedImageId

The Azure DevTest Labs documentation about how to "Add a VM using an image from the attached shared image gallery" refers to a PUT method on virtual machines request body property  properties.SharedImageId that is not  documented.

See : https://learn.microsoft.com/en-us/azure/devtest-labs/add-vm-use-shared-image and https://github.com/MicrosoftDocs/azure-docs/blame/0f620e6ac197ef0c3ecdc9c7778e533bbbb931ea/articles/devtest-labs/add-vm-use-shared-image.md#L53
Here is the link of the AZ DevTest Labs virtual machines REST API: https://learn.microsoft.com/en-us/rest/api/dtl/virtual-machines/create-or-update?view=rest-dtl-2018-09-15&tabs=HTTP#request-body where properties.SharedImageId does not exists.
Below is the error when using the undocumented request body property with python sdk:
azure.core.exceptions.HttpResponseError: (MissingRequiredProperties) One of the following properties must be specified: customImageId, galleryImageReference.
Code: MissingRequiredProperties
Message: One of the following properties must be specified: customImageId, galleryImageReference.

ms.author: @rosemalcolm
author: @RoseHJM
ms.custom: UpdateFrequency2

@ggorge-etiqa
Thanks for your feedback! We will investigate and update as appropriate.


Rename error

Microsoft PowerToys version
0.85.1
Installation method
GitHub
Running as admin
No
Area(s) with issue?
PowerRename
Steps to reproduce
Use it
✔ Expected Behavior
Don't crash on a constant basis
❌ Actual Behavior
Crashes constantly

Other Software
No response

/bugreport

Closing as I don't care enough and am not going to submit a log full of personal info, and the devs don't care enough to investigate, and I've found a far superior app and have no further use for PowerToys.

Understood. The bug report shouldn't contain any personally identifying information, but the caution is fair. What replacement tool do you use?


Timeline responsiveness issue

Hi, nice template, but I noticed that the time-line gets disturbed when I try to view it on a mobile device. Attaching screenshot below

Also with landscape mode

Thanks I see it. Some of the CSS may have been disturbed for some reason when I moved it all into one file. I will check into it.

This is a bug in less compilation, where calc(100% - 90px) translates into calc(10%) because the unit px is ignored by the compiler and treats 90 as percentile. Use string literal for the whole calc() statement as a workaround.

That saved me a ton of time @vicary, much thanks.

Just change the dist\css\sb-admin-2.css file on line 410, 411,412 to
width: calc(85%);
width: -moz-calc(85%);
width: -webkit-calc(85%);
it will work fine


feat: add WithRateLimit as a new MockBackendOption

Use the rate limiter from golang.org/x/time to provide a new MockBackendOption: WithRateLimit
Resolves migueleliasweb/go-github-mock#57.

Thanks for the contribution, @jlucktay !
I thought of adding this as a fix for #57 but was unsure this would create instability for the tests as the rate is applied to the whole server and all GH endpoints. Any thoughts on this?

I started playing around with a variant on this with another MockBackendOption that has this signature: func WithRateLimitedEndpoints(rps float64, endpoints ...EndpointPattern) MockBackendOption
I also thought about embedding EndpointPattern into another struct and adding an RPS field to that, something like RateLimitedEndpointPattern.
Either way, the implementations could cover off one limiter per specified endpoint or one limiter across all specified endpoints.
This PR is one limiter for the whole mock server, which, I think, is a good baseline to work forward from.
Larger and more complex tests could definitely benefit from implementing either/both of the above on top of this, for sure.

That's quite interesting! We basically went through almost the same iterations of ideas :smile: . I do like the idea of adding the rate limiting per endpoint though.
It would allow a more gradual rollout of this without messing with more complex tests that might have been written out there.
What do you think of something amongst the lines of:
mock.WithRequestMatchOptions(
    mock.GetUsersOrgsByUsername,
    []github.Organization{
        {
            Name: github.String("foobar123thisorgwasmocked"),
        },
    },
    &RequestMatchOptions{
        RPS: 1,
    },
)

This would look quite familiar compared to the rest of the api for go-github-mock that solidified in the last year or so. There would also be a possibility of adding more options in the future in the struct.
I assume this is somewhat close to what you said:

I also thought about embedding EndpointPattern into another struct and adding an RPS field to that, something like RateLimitedEndpointPattern.

Just pushed two small refactors:

95ec10f6361ee633a1fb32fb5befaf23c8dc0084 for cleaner error handling using errors from stdlib.
ae5bba675dfae39b30efab497f852b73564c7d2e to isolate the rate limit middleware for later re-use.

I think this PR is OK to go as-is now, to get some basic rate limiting into the mix.
Next I will draft another PR with another branch from this one with some variations/ideas on the per-endpoint implementations.
Does that sound OK @migueleliasweb?

Thanks for the contribution!


HealthChecker Check & Warn about Fast Search Memory Config Changes

Based on few articles in internet customers are changing Memory settings for Fast Search which causes Index to either Fail or remain in Unknown state or fails with Out Of memory Exception
Locate the Noderunner.exe.config file. By default, this file is located along the following path: C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Runtime\1.0
Edit the file, and then locate the following key:
Warning should be generated if the above value is changed from default.

@dsureshb  what key?

Locate the Noderunner.exe.config file. By default, this file is located along the following path: C:\Program Files\Microsoft\Exchange Server\V15\Bin\Search\Ceres\Runtime\1.0
Edit the file, and then locate the following key:

@dsureshb what key?

For some reason Git is truncating the text its referenced here https://social.technet.microsoft.com/Forums/en-US/7e0e4ae9-6ce0-4f84-9f90-b070f2477a04/noderunner-occupying-high-memory-on-the-exchange-server

Updated the original message to place the line in a code block to be seen.


Pattern not found is constantly printed in insert mode if native_menu and noshowmode are enabled

FAQ

[X] I have checked the FAQ and it didn't resolve my problem.

Issues

[X] I have checked existing issues and there are no open or closed issues with the same problem.

Neovim Version
0.6.0
Minimal reproducible config
if has('vim_starting')
  set encoding=utf-8
endif
scriptencoding utf-8

if &compatible
  set nocompatible
endif

let s:plug_dir = expand('/tmp/plugged/vim-plug')
if !filereadable(s:plug_dir .. '/plug.vim')
  execute printf('!curl -fLo %s/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim', s:plug_dir)
end

execute 'set runtimepath+=' . s:plug_dir
call plug#begin(s:plug_dir)
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/vim-vsnip'
Plug 'neovim/nvim-lspconfig'
call plug#end()
PlugInstall | quit

set noshowmode

" Setup global configuration. More on configuration below.
lua << EOF
local cmp = require "cmp"
cmp.setup {
  snippet = {
    expand = function(args)
      vim.fn["vsnip#anonymous"](args.body)
    end,
  },

  mapping = {
    ['<CR>'] = cmp.mapping.confirm({ select = true })
  },

  sources = {
    { name = "nvim_lsp" },
    { name = "buffer" },
  },
  experimental = {
    native_menu = true,
  },
}

EOF

lua << EOF
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())

require'lspconfig'.cssls.setup {
  capabilities = capabilities,
}
EOF

Description
If the experimental nvim-cmp native_menu and the Vim noshowmode options are enabled, the message Pattern not found is printed to the command line with every keystroke in insert mode.
Steps to reproduce

Use minimal configuration file.
Set:

experimental = {
  native_menu = true,
}

Set:

set noshowmode

Run nvim -u <minimal-config>
Enter insert mode
Begin typing

Expected behavior
Nothing is printed to the command line when typing in insert mode.
Actual behavior
Pattern not found is printed to the command line with every keystroke in insert mode
Additional context
No response

set shortmess+=c

I think this is a sign of a different problem. I use nvim-cmp with airline, and when the (native) completion menu is open, airline shows the current mode as INSERT COMPL. This is how it is supposed to work, but with nvim-cmp the COMPL label is added from so much as entering the Insert mode, and appears even if no results are available (so no completion menu is shown). I think this is because nvim-cmp calls vim.fn.complete() way too frequently.

I think this should be fixed and will be fixed.
Please tell me the reason for using native_menu for reference.
I'm thinking of removing it in the future, so I'd like to know if there is a problem with custom_menu.
google translated

The undo bug, #328

I'm thinking of removing it in the future, so I'd like to know if there is a problem with custom_menu.

Oh. I guess I just prefer using the native UI components so everything can be uniform.

That fixes it, thanks!


Update Master

Please read the Pull Request Checklist to ensure you have everything that is needed to get your contribution merged.

Pull Request Test Coverage Report for Build 450

23 of 107 (21.5%)  changed or added relevant lines in 14 files are covered.
9 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-0.01%) to 45.794%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

frappe/init.py
0
1
0.0%

frappe/core/doctype/doctype/doctype.py
0
1
0.0%

frappe/utils/init.py
0
1
0.0%

frappe/utils/xlsxutils.py
0
1
0.0%

frappe/custom/doctype/customize_form/customize_form.py
3
5
60.0%

frappe/email/inbox.py
0
3
0.0%

frappe/limits.py
0
7
0.0%

frappe/core/doctype/prepared_report/prepared_report.py
1
21
4.76%

frappe/desk/query_report.py
7
55
12.73%

Files with Coverage Reduction
New Missed Lines
%

frappe/desk/query_report.py
1
38.07%

frappe/core/doctype/doctype/doctype.py
1
62.69%

frappe/utils/init.py
1
32.64%

frappe/init.py
1
53.74%

frappe/boot.py
5
0.0%

Totals

Change from base Build 446:
-0.01%

Covered Lines:
17865

Relevant Lines:
39012

💛  - Coveralls


Restarting Cases

This PR addresses #95

Adds docs for restarting cases
Makes some changes to pre_process that allow for adding new patches while restarting
New example case, 2D_shockbubble_restart

After running case.py and then running ./mfc.sh run -n 8 ./examples/2D_shockbubble_restart/restart_case.py -t pre_process
I get
 Pre-processing a 300x100x0 case on 8 rank(s)
mkdir: ./restart_data/lustre_3848.dat: File exists
 Final Time   2.7792999999999998E-002

    Done (in 0:00:00.268480)
mfc: (venv) Exiting the Python virtual environment.

Something is going wrong here: mkdir: ./restart_data/lustre_3848.dat: File exists

I also notice that this case is very long. I would rather have a simple case that can be executed and shown to work in 1D, even, is fine, in just a moment or two. This simulation takes ~30 minutes for me.

The running.md file has syntax errors. For example, it isn't showing code variables like_this. Also, lustre files are only output for certain case.py parameters. What if one is using binary files?

@sbryngelson I believe this is ready to merge.


add psiboard / invitesys applet

Blockers

[ ] React Router params being available across different pages.
[ ] Transactions without an account
[ ] Strategy to import / write to accounts in the wallet applet.

Closed in favour of #303


Names of functions defined in let are getting lost

(let [myNeg (fn [x] (neg? x))] (myNeg "test")) lists the error as occurring within an anonymous function on the stack trace.  Viewing the stack trace directly shows that the function on the stack is called as "myNeg__1172".  Is it possible to determine if a dynamically assigned function has a "real" name, and if so, retrieve it?

When an anonymous function is on the call stack, it takes the form <fn__####>, with the number signs standing in for numerals.  When a function defined within a  is on the stack, it takes the form <name_####>, replacing "name" with the name assigned to the function within the .

Stack trace sample, showing both the filtered trace, and the relevant section of the unfiltered trace:
`In Clojure interactive session on line 1.
Call sequence:
[isNeg (ns:clojure.lang.Numbers) called in file Numbers.java on line 125]
[An anonymous function called dynamically]
[An anonymous function called dynamically]
[Clojure interactive session (repl)]
#error {
:cause "class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')"
:via
[{:type java.lang.ClassCastException
:message "class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')"
:at [clojure.lang.Numbers isNeg "Numbers.java" 125]}]
:trace
[[clojure.lang.Numbers isNeg "Numbers.java" 125]
[babel.middleware$eval1086$myNeg__1087 invoke "form-init7081259885597659217.clj" 1]
[babel.middleware$eval1086$myNegWrapped__1089 invoke "form-init7081259885597659217.clj" 1]
`

Note that if the function name is defined in a destructured way, the name is lost entirely.  These behave totally independently:
Default Error: class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')

In Clojure interactive session on line 1.
Call sequence:
[isNeg (ns:clojure.lang.Numbers) called in file Numbers.java on line 125]
[An anonymous function called dynamically]
[An anonymous function called dynamically]
[Clojure interactive session (repl)]

:trace
 [[clojure.lang.Numbers isNeg "Numbers.java" 125]
  [babel.middleware$eval1160$fn__1161 invoke "form-init7081259885597659217.clj" 1]
  [babel.middleware$eval1160$myNegWrapped__1163 invoke "form-init7081259885597659217.clj" 1]
  [babel.middleware$eval1160 invokeStatic "form-init7081259885597659217.clj" 1]```

Repeated function names don't change the behavior in any interesting way:
Default Error: class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')

In Clojure interactive session on line 1.
Call sequence:
[isNeg (ns:clojure.lang.Numbers) called in file Numbers.java on line 125]
[An anonymous function called dynamically]
[An anonymous function called dynamically]
[Clojure interactive session (repl)]

babel.middleware=> *e
#error {
 :cause "class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')"
 :via
 [{:type java.lang.ClassCastException
   :message "class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')"
   :at [clojure.lang.Numbers isNeg "Numbers.java" 125]}]
 :trace
 [[clojure.lang.Numbers isNeg "Numbers.java" 125]
  [babel.middleware$eval1166$myNeg__1167 invoke "form-init7081259885597659217.clj" 1]
  [babel.middleware$eval1166$myNeg__1169 invoke "form-init7081259885597659217.clj" 1]

When the function defined in the let is called within a more standard named function, the name of the function is shown as the name of the function it was called within:

(sample-test-files.sample3/nestedLetDefinitions "a")
;;Note: nestedLetDefinitions was defined on line 56, with a let on line 57 and line 58, and the call on line 59.

In file sample3.clj on line 59.
Call sequence:
[isNeg (ns:clojure.lang.Numbers) called in file Numbers.java on line 125]
[nestedLetDefinitions (ns:sample_test_files.sample3) called in file sample3.clj on line 57]
[nestedLetDefinitions (ns:sample_test_files.sample3) called in file sample3.clj on line 58]
[Clojure interactive session (repl)]

:trace
 [[clojure.lang.Numbers isNeg "Numbers.java" 125]
  [sample_test_files.sample3$nestedLetDefinitions$myNeg__1117 invoke "sample3.clj" 57]
  [sample_test_files.sample3$nestedLetDefinitions$myNestedNeg__1119 invoke "sample3.clj" 58]
  [sample_test_files.sample3$nestedLetDefinitions invokeStatic "sample3.clj" 59]
  [sample_test_files.sample3$nestedLetDefinitions invoke "sample3.clj" 56]
  [babel.middleware$eval1132 invokeStatic "form-init445456965654135903.clj" 1]

Similarly, anonymous functions are shown as having the name of the function they're called within:

sample-test-files.sample3/anonLetDefinitions "a")
Default Error: class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')

In file sample3.clj on line 63.
Call sequence:
[isNeg (ns:clojure.lang.Numbers) called in file Numbers.java on line 125]
[anonLetDefinitions (ns:sample_test_files.sample3) called in file sample3.clj on line 62]
[anonLetDefinitions (ns:sample_test_files.sample3) called in file sample3.clj on line 63]
[Clojure interactive session (repl)]

babel.middleware=> *e
#error {
 :cause "class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')"
 :via
 [{:type java.lang.ClassCastException
   :message "class java.lang.String cannot be cast to class java.lang.Number (java.lang.String and java.lang.Number are in module java.base of loader 'bootstrap')"
   :at [clojure.lang.Numbers isNeg "Numbers.java" 125]}]
 :trace
 [[clojure.lang.Numbers isNeg "Numbers.java" 125]
  [sample_test_files.sample3$anonLetDefinitions$myNeg__1173 invoke "sample3.clj" 62]
  [sample_test_files.sample3$anonLetDefinitions$fn__1175 invoke "sample3.clj" 63]
  [sample_test_files.sample3$anonLetDefinitions invokeStatic "sample3.clj" 63]
  [sample_test_files.sample3$anonLetDefinitions invoke "sample3.clj" 61]
  [babel.middleware$eval1178 invokeStatic "form-init445456965654135903.clj" 1]

The functions used above, for reference:

(defn nestedLetDefinitions [input]
  (let [myNeg (fn [x] (neg? x))]
    (let [myNestedNeg (fn [y] (myNeg y))]
      (myNestedNeg input))))

(defn anonLetDefinitions [input]
  (let [myNeg (fn [x] (neg? x))]
    ((fn [y] (myNeg y)) input)))

This now corresponds to https://github.com/Clojure-Intro-Course/babel/issues/57 in the migration repository.


Android small-icon not working in background

Expected Behaviour
I'm expected to see the notification with large and small icon.
Actual Behaviour
I'm able to receive the notification with large alone and for small icon I'm seeing only the blank default icon
Reproduce Scenario (including but not limited to)
App in foreground state - Able to receive notification with small and large icon
App in backbground state - Able to receive notification with large icon and default grey small icon
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Android 7.1.1
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Nexus 6
Cordova CLI version and cordova platform version
cordova --version                                    7.1.0
cordova platform version android          6.3.0

Plugin version
phonegap-plugin-push   2.1.2

Sample Push Data Payload
{"image":"ros_icon","sound":"default","title":"You have a new shift.","additionalData":{"content-available":"1","priority":"2","no-cache":"1","ID":"7018","List":"unconfirmed","Type":"shift","notId":"2","content":"Please confirm or decline","coldstart":true,"foreground":false}}
Sample Code that illustrates the problem
pushsetup() {
    const options: PushOptions = {
     android: {
      senderID: '957882626032',
     // icon: 'roster_icon'
     },
     ios: {
         alert: 'true',
         badge: true,
         sound: 'true'
     }
  };

  const pushObject: PushObject = this.push.init(options);
    pushObject.on('notification').subscribe((data: any) => {
      //Will be executed when application in foreground
      if(data.additionalData.foreground){
              this.localNotifications.schedule({
                text: data.additionalData.content,
                title: data.title,
                icon: 'res://ros_icon.png',
                smallIcon: 'res://roster_icon.png',
                data: data.additionalData
              });
      }else if(!data.additionalData.coldstart){
        //App closed and in backround state
        this.onNotificationRecieved(data.additionalData);
      }
    });

    pushObject.on('registration').subscribe((data: any) => {
       //do whatever you want with the registration ID
       this.storage.set('fcm_token', data.registrationId);
    });

    pushObject.on('error').subscribe(error => alert('Error with Push plugin' + error));

    this.localNotifications.on('click', (notification, state) =>{
      let notificationData: NotificationModel = JSON.parse(notification.data);
      this.onNotificationRecieved(notificationData);
});

@macdonst Here is the logcat result
02-01 13:33:05.623 19628 20284 D Push_FCMService: key = message
02-01 13:33:05.623 19628 20284 D Push_FCMService: replace key message with message
02-01 13:33:05.623 19628 20284 D Push_FCMService: foreground
02-01 13:33:05.623 19628 20284 D Push_Plugin: convert extras to json
02-01 13:33:05.623 19628 20284 D Push_Plugin: key = content-available
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = priority
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = no-cache
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = Type
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = icon
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = image
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = notId
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = sound
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = title
02-01 13:33:05.624 19628 20284 D Push_Plugin: key = coldstart
02-01 13:33:05.625 19628 20284 D Push_Plugin: key = foreground
02-01 13:33:05.625 19628 20284 V Push_Plugin: extrasToJSON: {"image":"ros_icon","sound":"default","title":"You have 32 new messages.","additionalData":{"content-available":"1","priority":"2","no-cache":"1","Type":"messenger","icon":"ros_icon","notId":"1","coldstart":false,"foreground":true}}

I'm able to receive Push_plugin logs only when the app is in foreground. After uncommenting the param icon: 'roster_icon' I'm able to receive small-con and large-icon in the notification while the app is in foreground but when it's in background I'm only receiving the large-icon and a default small icon


Pathfinder (Simple) Italian updates

Updates to Italian translation, courtesy of Salerno T.
Please also get this guy the Translator name badge (user 2547667).

Normally that badge is assigned automatically based on whether a user is contributing via crowdin, which is the ideal way to contribute new translations.  I will see if the badge can be applied manually, though I suggest that Salerno T. sign up on crowdin and request to become a translator on the Roll20 project (they can send an email to team@roll20.net).
Jeff


Add marks to skip, fix repeated tests execution. #465

Fixes #465
Here we have globally set CRISPY_TEMPLATE_PACK settings in each run. Before we have to select some tests for each template pack.
Now pytest.mark.skipif checks for CRISPY_TEMPLATE_PACK setting before test execution. It works for separate test functions and for whole classes as well.
E.g. test class decorated with @only_uni_form will run only if tests were run with CRISPY_TEMPLATE_PACK='uni_form' setting otherwise whole class will be skipped to run.
Here is doc for test skipping.
I've transformed conditions from https://github.com/maraujop/django-crispy-forms/blob/dev/crispy_forms/tests/runtests.py to marks required test classes. Also base classes were refactored to eliminate repeated tests executions (#465).

Awesome. Thanks! 👍

You'er very welcome :)


progressbar

from kivymd.uix.progressloader import MDProgressLoader
i get error while importing this.. no module named MDProgressLoader.. cant even find the file in the source code. where can i find it

@jeffy3 This widget has been deleted.


Cant rename folder

Type: Bug
I have a folder structure containing 2 sub folders and no files.
So in Explorer the folder looks like "folder1/folder2/folder3" because only folder 3 contains files and folder1 and folder2 only contain one folder each.
When I want to rename one of the folders with the right click command, nothing happens.
VS Code version: Code 1.81.1 (6c3e3dba23e8fadc360aed75ce363ba185c49794, 2023-08-09T22:18:39.991Z)
OS version: Linux x64 6.2.0-31-generic
Modes:
Remote OS version: Linux x64 5.19.0-41-generic

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i9-13900H (20 x 1025)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
1, 1, 1

Memory (System)
15.24GB (2.63GB free)

Process Argv
--unity-launch --crash-reporter-id 223c1bd1-3901-47f7-bcae-020def971664

Screen Reader
no

VM
0%

DESKTOP_SESSION
cinnamon

XDG_CURRENT_DESKTOP
X-Cinnamon

XDG_SESSION_DESKTOP
cinnamon

XDG_SESSION_TYPE
x11

Item
Value

Remote
SSH: syclart

OS
Linux x64 5.19.0-41-generic

CPUs
12th Gen Intel(R) Core(TM) i7-12700 (20 x 4739)

Memory (System)
62.59GB (59.85GB free)

VM
0%

Extensions (20)

Extension
Author (truncated)
Version

project-manager
ale
12.7.0

remote-ssh
ms-
0.102.0

remote-ssh-edit
ms-
0.86.0

remote-explorer
ms-
0.4.1

project-manager
ale
12.7.0

gitignore
cod
0.9.0

git-extension-pack
don
0.1.3

githistory
don
0.6.20

gitlens
eam
14.2.1

oneapi-analysis-configurator
int
0.1.22

oneapi-environment-configurator
int
0.2.10

oneapi-extension-pack
int
0.0.4

oneapi-gdb-debug
int
0.3.2

oneapi-samples
int
0.0.53

vscode-oneapi-devcloud-connector
int
0.2.3

cmake-tools
ms-
1.15.31

cpptools
ms-
1.17.5

cpptools-extension-pack
ms-
1.3.0

cmake
twx
0.0.17

vscode-open-in-github
ziy
1.3.6

(2 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263:30335439
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
py29gd2263cf:30792227
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30803844
3biah626:30602489
f6dab269:30613381
showlangstatbar:30737416
03d35959:30757346
pythonfmttext:30731395
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
gsofb:30804716
pythonnosmt12:30797651
pythonidxptcf:30805731
pythonnoceb:30805159
synctok:30821570
dsvsc013:30795093
dsvsc014:30804076
diffeditorv2:30821572
dsvsc015:30823817

I think this is a duplicate of an issue which is already fixed in 1.82 Insiders. That version is scheduled for Stable release next week.

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Map blocks with functions with multiple outputs

Fixes #72
This map function produces many dask arrays from a block function that produces
many blocks.
Example
>>> d = da.ones(10, blockshape(5,))

>>> def func(blk):
...     return (blk + 1, blk - 1)

>>> a, b = da.map_blocks_multiple_outputs(d, func, nout=2)

this looks potentially useful -- is something holding it up?

I think I was concerned that it didn't handle some non-standard cases.  We could merge it but keep it out of the da namespace.  Is this something you're likely to fool around with if it gets in?

Stale.  Closing.  Please reopen on renewed interest.


VM coverage is unreliable

I have the following test program:
main(List<String> args) {
  int count = 10000;
  for(int i = 0; i < count; i++) {
    print("Hello $i");
    if (i > 10000000) {
      foo();
    }
  }
  print("Hello $count!");
}

foo() {
  print("hello from foo!");
}

If I run this like out/ReleaseX64/dart --observe=0 t.dart and go to observatory I can see which lines have executed. Most often it claims that the line print("Hello $count!"); has not executed (but it has --- I am looking at the line it printed in the terminal!).
If I run it through this helper program so I can try more times faster:
import 'dart:convert';
import 'dart:io';

import 'package:coverage/coverage.dart' as coverage;

main(List<String> args) async {
  List<String> allArgs = ["--observe=0"];
  allArgs.addAll(args);
  Uri uri;
  bool probablyDone = false;
  Process.start(Platform.resolvedExecutable, allArgs).then((Process process) {
    process.stdout
        .transform(utf8.decoder)
        .transform(new LineSplitter())
        .listen((line) {
      const kObservatoryListening = 'Observatory listening on ';
      if (line.startsWith(kObservatoryListening)) {
        uri = Uri.parse(line.substring(kObservatoryListening.length));
        if (probablyDone) {
          collectStuff(uri);
        }
      } else {
        stdout.writeln("> $line");
      }
    });
    process.stderr
        .transform(utf8.decoder)
        .transform(new LineSplitter())
        .listen((line) {
      if (line.startsWith("vm-service: ")) {
        if (uri != null)
          collectStuff(uri);
        else
          probablyDone = true;
      } else {
        stderr.writeln(line);
      }
    });
    process.exitCode.then((i) => exitCode = i);
  });
}

void collectStuff(Uri uri) async {
  print("------------------");
  print("Starting to collect stuff");
  Stopwatch stopwatch = new Stopwatch()..start();
  Map<String, dynamic> data = await coverage.collect(uri, true, false, false, null);
  for(MapEntry<String, dynamic> entry in data.entries) {
    if (entry.key == "coverage") {
      List value = entry.value;
      for(Map listEntry in value) {
        String source = listEntry["source"];
        if (source.startsWith("file:")) {
          print("$source:");
          print(listEntry["hits"]);
        }
      }
    }
  }
  print("Collected and created hit map in "
      "${stopwatch.elapsedMilliseconds} ms.");
  print("------------------");
}

(and have modified the coverage package slightly to print out the raw hits and misses) I mostly get a result like this:
hitt: 0 -> line 1
hitt: 66 -> line 3
hitt: 76 -> line 3
hitt: 86 -> line 4
hitt: 102 -> line 4
hitt: 115 -> line 5
miss: 135 -> line 6
miss: 154 -> line 9
miss: 175 -> line 9
miss: 181 -> line 12
miss: 191 -> line 13
t.dart:
[1, 1, 3, 2, 4, 2, 5, 1, 6, 0, 9, 0, 12, 0, 13, 0]

but sometimes get a (correct) result like this:
hitt: 0 -> line 1
hitt: 66 -> line 3
hitt: 76 -> line 3
hitt: 86 -> line 4
hitt: 102 -> line 4
hitt: 115 -> line 5
hitt: 154 -> line 9
hitt: 175 -> line 9
miss: 135 -> line 6
miss: 181 -> line 12
miss: 191 -> line 13
t.dart:
[1, 1, 3, 2, 4, 2, 5, 1, 9, 2, 6, 0, 12, 0, 13, 0]

Trying to run it 10 times I get 8 wrong runs and 2 good runs.
In https://github.com/dart-lang/sdk/issues/42061 I can read that I should use --optimization_counter_threshold=-1 to get accurate coverage data --- but that makes it much worse: Now it claims that only line 5 (tokenpos 115) has executed and the rest are misses:
hitt: 115 -> line 5
miss: 0 -> line 1
miss: 66 -> line 3
miss: 76 -> line 3
miss: 86 -> line 4
miss: 102 -> line 4
miss: 135 -> line 6
miss: 154 -> line 9
miss: 175 -> line 9
miss: 181 -> line 12
miss: 191 -> line 13
t.dart:
[5, 1, 1, 0, 3, 0, 4, 0, 6, 0, 9, 0, 12, 0, 13, 0]

/cc @mraleph @rmacnak-google

Duplicate of https://github.com/dart-lang/sdk/issues/42061


Use of HTTP

Greetings,
I am a security researcher, who is looking for security smells in Puppet scripts. I found instances where the HTTP protocol is used instead of HTTPS (HTTP with TLS). According to the Common Weakness Enumeration organization this is a security weakness (https://cwe.mitre.org/data/definitions/319.html).  I was wondering why HTTP is used? Is it because of lack of tool support?
I am trying to find out if developers are forced to adopt bad practices due to lack of tool support when it comes to the HTTPS protocol. Maybe it is due to dependency on a resource that uses HTTP?
Any feedback is appreciated.
Source: https://github.com/cannium/puppet-ceph/blob/master/manifests/repo.pp (line# 43, 53, 70, 101, 114, 128, 144)

Thanks for stopping by. I believe at the time of writing, ceph.com doesn't support full-site https, so this is a matter of legacy code. Would replacing all http with https work for the script?

Thanks for the feedback and the quick reply. Replacing http, with https may help, if they are supported by ceph.


build: Use 1password secrets for most push secrets instead of github secrets

The Issue
It's really difficult to manage our secrets in github actions secrets
How This PR Solves The Issue
Manage most secrets in our team 1password account, and let Github Actions pull from that.
Manual Testing Instructions
Review build from here and where it was tried out for

release
commit
push tagged image
push tagged dbimage

Most of the drama and learning was on

https://github.com/ddev-test/ddev/pull/5

And followup commits that show here and in https://github.com/ddev-test/ddev/commits/master/

There are a couple of "auto" pushes that don't push on prerelease, mostly because we don't have a target for them. So here AUR and Fury pushes didn't get manually tested.


Onbuild triggers

We really should have onbuild triggers for this, so that people using this, will get upgrades of java 8 i.e. when this image was built, it was built at whatever the revision of that was the latest so anyone using it from that point on, will no upgrade their java version which an onbuild trigger will fix.

There are two disadvantages to using onbuild triggers in this way. Firstly
on build triggers always execute LAST, so you could never use Java in the
building of the child image, or you are limited to using a different
version to which you have available when you build the child the container.
Either of which have serious problems for the build & running of the child
container.
The second problem is about making the versioning policy inconsistent
across containers. If you're going to say "oh we can't use X because we
won't be working against a known state of the image" - then that should be
true for all software regardless of if we make it or not. The onbuild
trigger really allows you to have a shifting meaning for whatever tag you
create.
Personally I would create a vMAJORVER (e.g. v8) tag, that would encompass
all non-bc breaking releases, with the explicit knowledge that it'll
change. That way you don't have the issues you get from ONBUILD tags, and
you still get version upgrades.
The reason I think that this is the best option, is that Tags in Docker
aren't the same as Tags in git. They are designed to be updated and
changed, and are more useful labels than fixed tags at a point in time.
Another option would be to include a script that a child image can
optionally run to ensure they have the latest java version. Which would
avoid the ONBUILD problems, but also allow you to release a fixed version
of an image.
On Wed, 4 Nov 2015 at 17:16 Jonathan shanks<EMAIL_ADDRESS>wrote:

We really should have onbuild triggers for this, so that people using
this, will get upgrades of java 8 i.e. when this image was built, it was
built at whatever the revision of that was the latest so anyone using it
from that point on, will no upgrade their java version which an onbuild
trigger will fix.
—
Reply to this email directly or view it on GitHub
https://github.com/UKHomeOffice/docker-openjdk8-jre/issues/3.

--
Billie Thompson
Software Developer
Purple Booth Ltd
Mob:<PHONE_NUMBER>6
Web: purplebooth.co.uk
Keybase: http://billie.codes/1NOw29c
LinkedIn: http://billie.codes/1KT8gcI
Twitter: http://billie.codes/1SGPMCw

your ONBUILD only needs to actually be a yum update -y though?


Windows GUI: Implement signing of uninstaller

Should make a test build before merging to ensure it works as expected on the build farm.

This one looks good. The uninstaller is signed and shows as verified by UAC on uninstall.
https://mediaarea.net/download/snapshots/binary/mediainfo-gui/20241126-6/MediaInfo_GUI_24.11.20241126_Windows_x64.exe


test(semantic): add more test cases for symbol references

#4430
#4429  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @DonIsaac and the rest of your teammates on  Graphite


Update develop with changes from recent release

Description
Minor bug fixes were found and fixed in the 2.6.1 release candidate and release.  Bring develop up-to-date with these changes.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Through CI on AppVeyor and Travis
Checklist:

[x] Make sure you are merging into the develop (not master) branch
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] Add a note to Changelog.rst, summarising the changes
[x] Add yourself to AUTHORS.rst

Pull Request Test Coverage Report for Build 515

16 of 16 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 96.848%

Totals

Change from base Build 506:
0.3%

Covered Lines:
1138

Relevant Lines:
1163

💛  - Coveralls

Pull Request Test Coverage Report for Build 515

16 of 16 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 96.848%

Totals

Change from base Build 506:
0.3%

Covered Lines:
1138

Relevant Lines:
1163

💛  - Coveralls


Implementing the 'Config' file parser

This pull request contains the following additions brought from the 'devel' branch:

Added 'requirements.txt' and 'test-requirements.txt'
Ignoring PyCharm's cache
Adding a simple pytest environment for tox
Creating tests folder structure and first test cases

Maybe all of it is too much for a single pull request and would be convenient to divide it into multiple.

@jsanemet is this still a draft? because it's marked as such

@bregman-arie Yes, this branch has things brought from the 'devel' branch that no longer match what we have on 'main'. I am going to start again one last time and get everything working nicely with 'main'. Also, I still need to write the documentation.


RFM - monosnap

Current Maintainer

[ ] I am the maintainer of the package and wish to pass it to someone else;

Checklist

[x] Issue title starts with 'RFM - '

Existing Package Details
Package URL: https://community.chocolatey.org/packages/monosnap
Package source URL: https://github.com/TakataSanshiro/Chocolatey-Packages/tree/master/automatic/monosnap

/confirm Sanshiro

I'll Take this one too.
can you add tunisiano as maintainer ?
Thank you.

Hello,
This package as been approved
so this issue can be closed as complete.
Thank you.


Added NCC Group

Hi @hzphreak,
Can you please confirm if the Lisbon office has development/tech jobs positions?
I could not find any information about it.
Thanks.

Hi @marmelo,
They do have tech jobs, mainly consultancy in Lisbon. I added the careers page https://www.nccgroupplc.com/careers/ to the commit following the guidelines.
Cheers

@hzphreak  I saw that link, but I did not find any reference to Lisbon jobs -- that is why I asked.
But if you say so, I trust your word. :)

Can't find any Lisbon openings indeed, but if you, @hzphreak, say there is an office there, then it's all good!


Update webpack.config for production envirnoment

How to update webpack.config for development & production environment separately so that for production all js & css files get minified

Duplicate of #17


Pagination use svelte magic

The Pagination component is nice, but I've noticed that in some of the frameworks, specifically Svelte, it's a little bit overcomplicated, for instance, this is how the Pagination component currently works in svelte
<script>
  const totalPages = 50
  let paging = usePagination({ offset: 1 })
  let currentPage = 1
  $: paginationPages = paging.generage(currentPage, totalPages)
  function onPageChanged(p) {
    currentPage = p
  }
  const paginationArgs = {
    onPageChange: onPageChanged,
    ...
  }
</script>

<Pagination {...paginationArgs} current={currentPage} pages={paginationPages} />

I feel this is a bit verbose and could be condensed quite a bit. First of all we can move quite a bit of usePagination into the Pagination component itself, I'm not 100% sure why it's currently a separate function, but if that's absolutely necessary, we could just accept the object with the generate function as a prop of the Pagination component. This would already clean this up a little bit.
<script>
  const totalPages = 50
  let currentPage = 1
  function onPageChanged(p) {
    currentPage = p
  }
  const paginationArgs = {
    pageGenerator: usePagination({ offset: 1 }),
    onPageChange: onPageChanged,
    ...
  }
</script>

<Pagination {...paginationArgs} current={currentPage} />

We could even go so far as to include the usePagination as the default paging generator which would also remove quite a bit.
Secondly, I think we can make use of svelte's bind keyword, to get rid of the onPageChange hook altogether. I'm not sure if you're familiar with the bind keyword, but essentially it turns a prop into a "two way" prop, meaning changes made to that prop inside of the component will replicate out. Once we implement this the code becomes significantly simpler.
<script>
  const totalPages = 50
  let currentPage = 1
  const paginationArgs = {
    pageGenerator: usePagination({ offset: 1 }),
    onPageChange: onPageChanged,
    ...
  }
</script>

<Pagination {...paginationArgs} bind:currentPage /> <!-- if the prop name and the variable name are the same, it isn't necessary to define the var name explicitly -->

If the reason it isn't like this is due to consistency across frameworks I completely understand, but if we're willing to lean into the individual frameworks a bit more, I think it would make some of the components like the Pagination component a bit more idiomatic and more natural to use for people experienced in those frameworks. As usual I am willing to create the PR if this fits into goal for the project.

I like this idea! I think I/we could probably do similarly with Vue and v-model which does similar to svelte bind (both of which I didn't learn until recently!). Yes, I was thinking in react hooks!
Let's go for it similar--first Svelte PR then see about other frameworks as follow up.
Thanks for reaching out and offering to improve it! 🔥🙏🏽🙌🏼

Ok cool I'll get on this soon, what about moving usePagination into the component, is there a reason we're having users call it separately and not just doing that automatically under the hood?

That was definitely something I'd done in Vue using the composition api. If you feel it's cleaner in Svelte to pull it into the component and still can keep it cohesive and decoupled then go for it and let's have a look at what results. I can't honestly say if that'll be better without first seeing a diff I think.

So I think maybe we're having a communication breakdown here, because I'm not entirely sure what the reason is for having usePagination as a separate entity at all, in my mind something like this would work, but I guess I'm not 100% sure what usePagination is even doing.
<script>
  let currentPage = 1
  const paginationArgs = {
    totalPages: 50,
    offset: 1,
    onPageChange: onPageChanged,
    ...
  }
</script>

<Pagination {...paginationArgs} bind:currentPage />```

Also no problem at all, I've had to put out my share of work fires haha.

Yup, I wasn't being clear because I had forgot that in fact usePagination is not a framework-specific thing but an es6 module. In fact, since we're sharing it across frameworks it's the one thing that we've added in a separate repository here:
https://github.com/AgnosticUI/agnosticui/blob/bcdac5be57fcf81af7b20c70d1372d90bb086060/agnostic-helpers/src/usePagination.ts#L10
I think there's some tricky code that's happening there (it could certainly be cleaned up a bit) but try clicking the various paging buttons and see how they react dynamically.
I think we actually want to keep that and I think it's somewhat nice that it's shared and not duplicated in all the frameworks (DRY).
Lmk if that helps and if I can do better to clarify. Btw, I've created a gitter chat which I'll try to start getting going soon. I liked it's integration with GitHub and somehow don't love Discord or Slack.

There may still be a way to use that agnostic-helper usePagination by refactoring the Pagination.svelte component to take it as a prop that it can call internally, and then perhaps bind:* would work. Not sure but just a high-level idea.

I think then I'll refactor it to do something like this
<script>
  const paginationProps = {
    pagingGenerator: usePagnination({ offset: 1 }),
    ...
  }
</script>

<Pagination {...paginationProps} />

That could work 👍 -- perhaps we should put a comment block that pagingGenerator passed in needs to have a generate function that produces that pagination pages so following will happen within the Pagination.svelte implementation itself:
  $: paginationPages = paging.generate(currentPage, totalPages);

So with the latest merge I think you've implemented this bugger 🏆 🥳 🔥 💪 thanks!


Separate useStaging from deciding which repository to publish to

I want to use a nexus container to verify my deployment config locally, but I can't test deploying to a release repo because it expects staging capabilities. Overriding useStaging to false results in the snapshot repo being selected even for release versions.

Does it fail on a initialize${repository.name.capitalize()}StagingRepository task?

@tylerbenson Sounds like you don't need this plugin but just need to specify a regular repository using the maven-publish plugin. 🤔

I understand the sentiment... My use case is I usually publish to maven central/sonatype, but occasionally I want to verify/debug the publishing process by publishing to a local instance. This plugin gets me mostly there.  This is the main issue I ran into that prevents it from fully working.  There's an option to disable staging, why shouldn't there be an option to specify which repo?

but occasionally I want to verify/debug the publishing process by publishing to a local instance

@tylerbenson , just wondering: do you have a Nexus license for that?
I know the following solutions:

You can request "drop on release" profile for testing from Sonatype. You can request that like in https://issues.sonatype.org/browse/OSSRH-54596
Unfortunately, it has to use a different group id.
You could purchase a Nexus license (just joking :) )
You could use https://github.com/vlsi/nexus-stub which is a poor man's Nexus "implementation". It is not that intelligent, however, I created it exactly for the case of local dry-runs. The nice thing is it allows you to configure arbitrary group id, so you could deploy to that "server" with a mere URL change :) . Here's how I use nexus-stub to verify if the recent Gradle and publish-plugin can publish the files to Nexus: https://github.com/vlsi/vlsi-release-plugins/actions/workflows/release-test.yml

WDYT?

I don't have a pro license.  I'm just using the standard nexus container, which is why I want to disable staging, but still be able to publish to snapshot/release repos.
Anyway, if you don't think separating the config out is useful I'm not going to fight for it.  Feel free to close this issue if you want.
I appreciate the plugin. Keep up the good work!

Then I am puzzled. The key feature of the plugin is the staged deployment.
If you don't need staging, then you should be able to use mavenLocal (e.g. publishToMavenLocal). Does that work for you?

Isn't publishToMavenLocal different from publishing to a "local" maven instance? IIRC, that publishes the files to the local filesystem, not uploading to a server instance.

At best, gradle-nexus/publish-plugin should be able to infer target repository and the staging rules from the Nexus server itself.
In other words, it is Central's peculiarity that it forbids staging for snapshots. I guess Nexus server can be configured in such a way that it requires staging even for snapshot versions.
However, I have no idea if there's /nexus/is_staging_required_for?group=...&version=... API in Nexus.
It looks like the current "release version implies staging" is tied to Maven Central while the plugin name is not gradle-central/publish-plugin but gradle-nexus/publish-plugin

Ok, thanks for writing the plugin.  It certainly helps. I'll close this issue as I don't think it's that big of deal.


Add a debug CMake postfix

It should be nice to add a debug postfix since install target overrides previously built library:

Build a release target on Windows
Install it to ${CMAKE_INSTALL_PREFIX}/lib/glfw3.lib
Build a debug one
Install it to the same path so it overrides a release lib with a debug one

Should be:
4. Install debug build to ${CMAKE_INSTALL_PREFIX}/lib/glfw3d.lib
Suggestion: add a CMAKE_DEBUG_POSTFIX variable or DEBUG_POSTFIX property with the value of "d"

To add to this it's searching for the vulkan library by exact name.  If you're using a vulkan library with a debug postfix or alternate name it will fail to initialize Vulkan with some fairly cryptic error messages.  Passing that flag all the way through, or better have a configuration that can override the name it's looking for, would be great.

There is no need to add this to the GLFW CMake file to have it work and I don't want a debug postfix as default.
To get a debug postfix with command-line CMake add -DCMAKE_BUILD_TYPE=Debug -DCMAKE_DEBUG_POSTFIX=d, or in the CMake GUI click Add Entry and add CMAKE_DEBUG_POSTFIX as a string.


Add option to specify queue

If you want qbatch to submit your jobs to a queue other than the default queue, you have to do this (in PBS land):
qbatch -o "-q myqueue" ...

Perhaps worth adding a -q option to do this explicitly?

Yes, and env variable to set it.

Merged


add zeplin app

Zeplin is the ultimate collaboration tool between designers and developers.
It cuts meetings in half and ensures that designs are implemented perfectly,
however complex.

https://github.com/caskroom/homebrew-cask/pull/13254.

opps  thx


integrations: Add Hubot, Zapier, and IFTTT integrations to search.

Currently if you search for an integration offered by Zapier on /integrations, it looks like we don't have it.
It would great to instead show a card for that integration. It can use the Zapier logo, and link to /integrations/doc/zapier, just like Zapier does. It also doesn't need a category. So the only thing we need from Zapier is the list of integrations it supports, maybe with some QA to shorten long names, and to exclude things we already have custom integrations for.
Same with Hubot and IFTTT.

@eeshangarg this may be a good project for you, but we should talk a bit about how to make this work sensibly.  @rishig is your thinking that we'd not show these in the main grid, but only show them why you type in the search?
I imagine we'd just do a fixed export of the list from e.g. Zapier, and plan to update that periodically?

not show in main grid: yeah, that was my original thought for a V1, so we don't have to obtain 700 logos.
fixed export, updated periodically: yeah, I think that's a fine strategy for now.

@timabbott, @rishig: So the goal is to render all of the integrations that Zapier and Hubot offer on our integrations page? Also, we don't need every integration offered through Zapier and Hubot to have their own logo but they can just have a Zapier/Hubot logo correct?

Right, but probably only if you search/filter; we don't want the default view to have 800 Zapier logos :).

I guess we're not 100% confident what this should look like; I would probably focus on grabbing the data and doing a first-pass rendering quickly so we can play with it, and then we can proceed from there.

@timabbott: Cool, sounds good! I think I'll take this up when I am done with the /api backend work. :)

@eeshangarg If you don't mind this might be a good project for @AasthaGupta for Outreachy.
A follow up of this is project could be to check how hard it is to make hubot integrations native . A lot of hubot integrations just seem like a thin wrapper around some API. So the task is figure out what hubot integrations are offered. We can pick out the 5-10 integrations we think are valuable (i.e. are products that many people use, or are integrations popular on slack). Implement those as native zulip integrations, using the hubot integration as a hint :)
@Rishabh570 @timabbott FYI

@hackerkid: Yeah, no worries! I'm currently too busy to take on anything this big anyway, so @AasthaGupta feel free to pick this one up! :) And also feel free to ping me if you have any questions. :)

@zulipbot claim

@zulipbot claim


Added pytest assertions

Link the Issue(s) this Pull Request is related to.
This pull request was initiated as a part of a CodeDay mentorship program.
Each PR should link at least one issue, in the form:
Partially addresses https://github.com/AcademySoftwareFoundation/OpenTimelineIO/issues/1228
Use one line for each Issue. This allows auto-closing the related issue when the fix is merged.
Summarize your change.
Replaced unittest assertions with Pytest assertions (except those for multi-line strings, as unittests assertions were more descriptive). We're migrating unit tests from vanilla unittest to Pytest to better be inline with the greater Python community.
Add a list of changes, and note any that might need special attention during review.
Reference associated tests.
test_clip.py

I like the improved readability of the new test cases.
The CI is complaining about linting errors. You can run the linter locally to ensure that your change will pass that check, via make lint. After resolving those, you can push your changes to the same branch you've been using and this PR will update & re-run the CI checks.
Also, let us know if you need help with DCO or EasyCLA. We know those can be confusing for new contributors & we're happy to explain what those are all about.

I think the remaining linter issues are not your fault. See this: https://github.com/AcademySoftwareFoundation/OpenTimelineIO/issues/1369


Add a new sha256t::HashEngine type

This is an alternate solution to the issue described in https://github.com/rust-bitcoin/rust-bitcoin/issues/1552
Patch 1 removes the Default trait bound on Hash which allows us to remove the footgun without having to add a tag to the sha256::HashEngine.
Resolves: #1552

Not entirely happy about this, tagging is still better IMO.

No worries, I'll have another go at tagging.


Move to unified FRR config

Remove all deprecated individual daemon configs and move all config to frr.conf

Codecov Report

Merging #56 (0abb3a7) into master (0363e05) will not change coverage.
Report is 1 commits behind head on master.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff           @@
##           master      #56   +/-   ##
=======================================
  Coverage   96.99%   96.99%
=======================================
  Files          23       23
  Lines        1198     1198
=======================================
  Hits         1162     1162
  Misses         36       36

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


fix of usage len on type bool in branches

Changes:

fixed possible TypeError object of type ‘bool’ has no len()

INFO: did not run tests, working on obtaining meraki API key

[ ]  test before merging

Very good catch. Nothing is using either DeviceTable.has_unique_macs(0 and  DeviceTable.has_unique_ips(). I did envisage at some point having some kind of validation - might still do - at some point. I will delete these methods.

Workflow question for you Johnny - now that I've deleted the code - what would typically happen (obviously no need to merge)? Should I just "Close with comment" in GitHub and don't merge?

Never mind - I figured it out - I just closed the PR (without merging).


Adds duration enforcement

adds strict duration enforcement for generating the recommendations
Closes #731

@bharathappali please merge the latest mvp_demo branch to get the latest test changes


Optimize the return type of some date functions to optimize group by key

Optimize function for year/month/day/hour/minute/second
To be compatible with grayscale upgrades, we are not removing the old implementation for now

For some time function, we don't need to optimize the separate year because the to_date function is currently inlined, so some of the seemingly redundant calculations have already been optimized away.
I compared the assembly code of the separate implementation and the current implementation and they are identical.
year: https://godbolt.org/z/d94joTqE5
day: https://godbolt.org/z/h9K7MP97b
We can't verify the effect of this optimization yet, because currently, our FE plan is that the return value of year(not-nullable(input)) is nullable, and we need to make FE support this optimization

If you do not verify the effect of this optimization, it's better to add [WIP] before you get the real result about the optimization. And also, it's better not to merge the code before you get the real result

@chaoyli
We first need to get the FE support function to return a non-nullable column in order to verify that the query is valid, but there is some effect from some POC results. Also, it works from some sum(year(date_val)) queries. It's just that such queries don't make much sense in a real-world scenario.


Adaptive SMC

It would be very nice to have the rate of resampling be variable. For instance, suppose that the variance of the particle filter starts growing at a particularly after a tricky series of observations. We might want to resample more often. We might also want to increase the population size.
Or we might even just want the user to be able to adjust the population size and resampling rate in real time manually.
(This has some overlap with rhine-bayes, but I think the fundamental solution will be at the dunai level)

Resampling rate
The resampling rate is once per step. I think there is no real way around it. One can use mapMaybeS to skip resampling steps, like so:
justEvery10 = proc a -> do
  n <- count -< ()
  let input = if n `mod` 10 == 0 then Just a else Nothing
resampleEvery10 = justEvery10 >>> mapMaybeS (runPopulationS nParticles resampler msf)

But I'd rather use rhine-bayes in such a situation, and put the SMC part on a clock that runs 10 times slower than the rest. (Or on a clock that can have variable rate, depending on side effects.)
Population size
Adjusting the population size is a cool idea. Whan can already be done without extra definitions is calling arrM spawn -< n. But that only increases it by a factor of n. I don't know how to change the population size in monad-bayes arbitrarily. I'm guessing you need to use runPopulation or resampleGeneric for that. Assuming you have a function takePopulation :: Int -> Population m a -> Population m a, I could write:
takePopulationS :: MSF (Population m) a b -> MSF (Population m) (Int, a) b

If you think this is useful, and you can tell me how to write takePopulation in the best way, I'll implement it :)


July 20th 2021 - Currency Ref Data Meeting Minutes

Currency Reference Data Meeting
Date
20210720 - 10am ET / 3pm GMT
Untracked attendees

Fullname, Affiliation, (optional) GitHub username
...

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

[ ] Convene & roll call (5mins)
[ ] Display FINOS Antitrust Policy summary slide
[ ] Review Meeting Notices (see above)
[ ] Review and evaluate adoption of the FINOS Standards Governance & Community Specification License
[ ] AOB, Q&A & Adjourn (5mins)

Decisions Made

[ ] Decision 1
[ ] Decision 2
[ ] ...

Action Items

[ ] Action 1
[ ] Action 2
[ ] ...

WebEx info

WebEx Meeting URL
Meeting Number:<PHONE_NUMBER>
Join by phone: +1.415.655.0003 USA Toll | +44-20319-88141 UK Toll | Access code:<PHONE_NUMBER>
Password: VXcd2eQgh82
Global call-in numbers

Hi

Hi

hi

hi im in


[.NET SDK - FormFlow] Multiple content types validation in AttachmentContentTypeValidator

When AwaitableAttachment is used with the AttachmentContentTypeValidator attribute
[AttachmentContentTypeValidator(ContentType = "png")]
public AwaitableAttachment File;

Then the result:

If multiple choice is used:
[AttachmentContentTypeValidator(ContentType = "png|jpeg|gif")]
public AwaitableAttachment File;

The result will be:

Available file types are specified via "|"

@pcostantini, what are you think about it?

@tomlm, I resolved conflicts


Plot apphoto

So this is clearly way more than one should actually put in a single PR, but I was on a roll.

Improved the initial guess values for centering on a Gaussian (the centering was failing badly on my ground-based images)
Added a feature so the aperture photometry pops open a window to show where the aperture and sky annulus actually fall. Put in some extra parameters to control that plot. Maybe this should be spun off as a user registered function, but I like it.
For most of the curve and surface fits, added a constant term to the fit with a 0-order polynomial via astropy compound model. It is usually inconsequential if the curve is slightly over-fit, but it fails badly when under-fit, thus the background term needs to be included and should probably be on by default. Still work to be done passing and printing the background values and adding options to turn it off.
Removed duplicate code so now column_fit just calls line_fit+kwarg.
Overhauled the unit tests to mostly remove mysterious magic values. Tests are better, but still very far from perfect (as usual).

The travis update I made barfed...will figure it out and push an update

merged with #128


Revert temporary read only users for ITHC

Now the ITHC is complete we can remove this code.
In future readonly users will be able to be created and given access as
part of the add collaborators ticket (#158)
Closes #1384

Scans are failing as the folder they are trying to scan is now gone, this is an issue with the action rather than the code


Create a ssh key pair for user at installation time

vermin - now - is more suitable for development and testing activities, and this is because it now uses one share ssh key pair located at https://github.com/mhewedy/vermin/tree/master/etc/keys
The point here is to create a key pair for the use at installation time, and on each new VM create, copy the public key inside the VM instead of shipping the images with a copy of the key in the link above.

Is there a formal process to take issues @mhewedy

Is there a formal process to take issues @mhewedy

Sorry I don't understand what you mean by "take issues", do you mean sending PRs? or creating issues?
If you mean fixing issues by submitting PRs, just mention in the issue that you are interested to work on, and then you are more than welcome.
Thanks.

The proposed solution is to do like Vagrant. is to create a new ssh key on VM creating and use it.
we might start from here: https://gist.github.com/devinodaniel/8f9b8a4f31573f428f29ec0e884e6673
Then copy the private key to the dir $HOME/.vermin/vms/<vm_name>, and then copy the public key into the running VM into the file$HOME/.ssh/authorized_keys and then remove the unsecure key from $HOME/.ssh/authorized_keys
Then start using the new private key in the ssh -i $HOME/.vermin/vms/<vm_name>/privatekey


Small bug

All cases of:
plt.grid(b=None, which='major', axis='y', linestyle='--')
should be replaced by:
plt.grid(visible=None, which='major', axis='y', linestyle='--')

Hi Cdiener, solved one of the bugs I am struggling with.  Much appreciated.  God Bless!

No problem! Github is so cool; I don't even remember writing this but I'm glad I was right and that it helped!


Get build.rb script to run again

The Problem
Running
$ ./build.rb

Was unsuccessful, raising errors in a number of places.
Proposal
These changes return ./build.rb to a working state. There were a number of small tweaks made necessary by recent changes to Phlex, including the removal of some testing helpers and the extraction of phlex-translations . Some examples needed to be tweaked to run successfully for other reasons also. Also caught a typo.

Woops, you fixed this when I wasn't looking. Too slow

Sorry about that! Everything got into a mess when I pulled this out of the main phlex repo and then started converting everything to Markdown documents with embedded Phlex. Should be in a pretty reasonable state now, but I should add some tests to keep it that way.


Removed usage of FF specific explicitOriginalTarget.

Unfortunately using explicitOriginalTarget is not a perfect workaround and creates potential problem. Apparently it will be set to the trigger of the event in some cases as per this comment on the related bug report.

:+1:

@atesgoral please double-check, but I will merge for now

:+1:


Support Options to useOnlyUTC in the mail header

This PR supports all changes needed to support useOnlyUTC option in jsmime Header. This way, we can now customize jsmime to only use UTC as its TimeZone in the mail header so that the user's location through the TimeZone info is not leaked through the mail header.

The PR is generated against random-fixes branch as that is supposed to be latest one.

@jcranmer Any comments on how I can improve this PR?

Some more general comments:

This should be compressed into one commit, not two.
There is a lot of random extra trailing whitespace. Make it go away.
I'm picky about style. So try to make sure that you're following 80-char limits, and make sure that you insert the proper number of spaces in places: I don't like if (foo){ but instead want to see the text if (foo) {. Look around the file if you're confused about the style.
Also, try to write proper English sentences in comments, complete with punctuation.

Thanks for all the feedback, I will fix the issues and incorporate the
changes and send a new PR.
On Saturday 26 September 2015 12:15 PM, Joshua Cranmer wrote:

Some more general comments:

This should be compressed into one commit, not two.
There is a lot of random extra trailing whitespace. Make it go away.
I'm picky about style. So try to make sure that you're following
80-char limits, and make sure that you insert the proper number of
spaces in places: I don't like |if (foo){| but instead want to see
the text |if (foo) {|. Look around the file if you're confused about
the style.
Also, try to write proper English sentences in comments, complete
with punctuation.

—
Reply to this email directly or view it on GitHub
https://github.com/jcranmer/jsmime/pull/2#issuecomment-143404460.


Implement mappings based on JOINs

Blocked by https://github.com/elixir-no-nels/trackfind/issues/47

Unblocked.


Disable Vue's console advertisments

Very minor but the console.log advertisment of Vue bothers me because I prefer a clean console. This PR disables both of these messages:

It also disables integration with their browser extension so if someone wants to debug using the extension, they would temporarily need to flip the devtools option.

make lgtm work


ContentType is not set on the response from the proxy

The proxy is not passing through the content type from the proxied response.

Fixed in #6


[QUESTION] Import response with summary of data imported & skipped

Prerequisites

[x] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[x] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[x] Checked that your question isn't already asked before.
[x] Filled in the entire issue template

Versions

PHP version: 7.3
Laravel version: 6.18
Package version: 3.1

Description
For an import code like so:
(new MembersImport)->import($request->file('file'));
Is there a way to access how much data was actually inserted in the database?
I know that there is a Maatwebsite\Excel\Concerns\WithProgressBar concern which we can use to spit out progress bar.
But this is only useful when you want to print the output in console.
What if you want to return the status on REST api?
I'm not talking about a progress bar, I'm just saying let's say if i have uploaded the file with 50 data records. And i have some de-duplication logic which will skip through some rows if necessary. How can i show a message to the use that of 50 rows we saved 48.

We don't have anything in the package for that, you'll have to implement it yourself.

Oh, I'm sorry i'l close this issue.
If anyone have few minutes to spare can please comment below & guide me in the right direction!
I could really use some help.
Thanks so much.


Multiple folder support

Hey there!
I just wanted to thank you heaps for this extension. It's virtually exactly what I think Chrome's internal bookmark workflow should be like, but isn't.
The only thing I'd (strongly! :P) recommend is updating the description and/or keywords in the webstore so it's easier to find; I was recommended it on Reddit after I blew up about the insanity of Google's offerings (and the fact I couldn't find anything else).
Also, FWIW, the name "Better Bookmark" doesn't really do much to belie the extension's awesomeness, btw. =p
The one thing I currently keep falling over with this extension right now is that I really, really wish it was multi-tag-centric, instead of single-folder-centric; I keep wanting to describe my bookmarks using at least two keywords.
However, the various other tagging extensions out there are extension-native: if I remove the extension (or my profile is corrupted) even once, my tags are lost. Tag settings also do not sync across computers.
And no other extension is as keyboard-friendly as Better Bookmark.
All is not lost though :D
When you try to "add" a bookmark to more than one folder via CTRL+D, the logic that moves the bookmark - so it only exists once - is in the CTRL+D UI itself. The bookmark API has no restrictions on letting you add the same thing to more than one folder.
One extension that took full advantage of this was Bookmark#. However, the extension was officially deprecated two months ago and reports an error when I try to install it. The developer of that extension appears to have had financial motivation as a major goal (and the code was not openly licensed) so I would likely have hit a spike-infested brick wall using that anyway.
I don't think I'd personally use the extension-search option Bookmark# implemented, at least not immediately. It probably would be an interesting concept to add at some point though.

My question is similar albeit slightly different... I dont see the need (yet maybe) to add the same bookmark to two bookmark folders, but I would like to add to a sub-folder, or create a subfolder... Right now if I try to create a folder called "Folder1\sub" (folder 1 does exist), but folder sub doesnt get created....  having subfolder management easily would be a godsend :)  Great plugin btw!

Based on this extension's lack of activity, I don't think much is going to happen in terms of updates.
Shortly after posting the comment above I discovered just how easy it is to build Chrome extensions, and considering the overall simplicity of this extension I figured it would make for a good first project.
I'm thinking of rewriting it from scratch, using a more target search algorithm, with multiple-folder support. Subfolder support as you describe seems fairly trivial to add, and who knows, it might get me subcategorizing my stuff more effectively too! :D
I'm just completely blocked on how to redo the UI to support multiple folders, and I finally asked for advice on ux.stackexchange. It hasn't had any answers as I write this, hopefully that can change soon :D
Also, the UI for this extension is simple enough, but that said, it's quite basic. Feel free to pitch in any opinions/thoughts about the styling too. :P

I hope you get your idea off the ground! dont forget to post here once its ready! :)

hey,
@i336 , thank you for the kind words, it's great to hear that someone finds the extension useful.
I'll be adding multiple folder/tag support soon. I think the UI will stick to the generic "tag" UI, with comma as a separator.
I do agree with what you said with the name and keywords not really describing the extension's usefulness, but I don't really have a better idea :P
Good luck with your extension, feel free to fork this one if you find it helpful. Also, if you decide to submit PR here instead it'd be very welcome.
@RVN-BR As for subfolders, I was considering it and I'll definitely think about it again, but currently I don't see the clear path of keeping the UI simple and minimalistic and adding subfolders at the same time. However, just supporting "" (or "/") during folder creation seems doable. My only fear is that you'll be the only one using it :D However, it still may be worth doing.
It's true that I don't have very much time to focus on this extension now, but the project is not forgotten and I want to push an update this month. If I fail to do that, feel free to motivate me by posting hate emails and bad poetry here :D

I am most pleasantly surprised by this unexpected communication!
It's great to hear this little extension is still kicking along.
I have absolutely no problem with submitting a PR (although I have no idea how and would sooner/more likely PM you a patch XD *ducks*), but I suspect I may rewrite so much this may prove, well, interesting, to say the least. I've also been trying to work out how to redo the UI, and those efforts are likely to produce something that looks at least passingly different from how Better Bookmark looks now.

Hi @ardcore Thanks so much for the reply and for considering adding subfolders! :)
There are a couple of ways I look at this, and again I'm sorry for just throwing ideas with no code to help lol...

Multiple subfolders can exist with the same name, so I could have:
-Base1
---Sub1
-Base2
---Sub1

A search for Sub1 would make it difficult to locate the bkmk correctly... One idea is to show the top levels on the search result, or maybe better even as a tooltip?
So the list would be:

Sub1 (tooltip: Base1\Sub1)
Sub1 (tooltip: Base2\Sub1)

And about creating subfolders, I'd suggest something like search or scroll to the desired folder, and having a + next to it? or right click option menu "add below" and then it would ask for a name?
I really hope I'm not the only one to ever use this lol... if I am then maybe its not worth the effort... nonetheless, some wiseman once said: build it and they will come :lol:
Thanks for great project!
PS: I also use another extension called Neater bookmarks has a great interface for navigating bookmarks.. (I use it as default instead of the bookmarks menu), the interface is really cool... and its opensource... maybe a fork of that with search/add bookmark would be the shortest path to the ultimate chrome bookmarking solution? :D


Buffer has wrong number of dimensions (expected 1, got 2)

Hello,
I uncommented
FEATURE_SELECTION:
  hvg: 2000

and
SCALING:
  - scaled

And I get this new error. Any ides of the reason?
Thanks.
raceback (most recent call last):
  File "scripts/integration/runIntegration.py", line 81, in <module>
    runIntegration(file, out, run, hvg, batch, celltype)
  File "scripts/integration/runIntegration.py", line 36, in runIntegration
    integrated = method(adata, batch)
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/scib/integration.py", line 33, in scanorama
    *corrected, batch_key=batch, batch_categories=categories, index_unique=None
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/anndata/_core/anndata.py", line 1801, in concatenate
    partial(merge_outer, batch_keys=batch_categories, merge=merge_same),
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/anndata/_core/merge.py", line 557, in merge_dataframes
    new_df = pd.DataFrame(merge_strategy(dfs), index=new_index)
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/pandas/core/frame.py", line 614, in __init__
    mgr = dict_to_mgr(data, index, columns, dtype=dtype, copy=copy, typ=manager)
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/pandas/core/internals/construction.py", line 465, in dict_to_mgr
    arrays, data_names, index, columns, dtype=dtype, typ=typ, consolidate=copy
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/pandas/core/internals/construction.py", line 124, in arrays_to_mgr
    arrays = _homogenize(arrays, index, dtype)
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/pandas/core/internals/construction.py", line 590, in _homogenize
    val, index, dtype=dtype, copy=False, raise_cast_failure=False
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/pandas/core/construction.py", line 571, in sanitize_array
    subarr = maybe_convert_platform(data)
  File "/home/users/allstaff/mangiola.s/.conda/envs/scib-pipeline-R4/lib/python3.7/site-packages/pandas/core/dtypes/cast.py", line 126, in maybe_convert_platform
    arr = lib.maybe_convert_objects(arr)
  File "pandas/_libs/lib.pyx", line 2385, in pandas._libs.lib.maybe_convert_objects
ValueError: Buffer has wrong number of dimensions (expected 1, got 2)

[Wed May  4 00:38:52 2022]
Error in rule integration_run_python:
    jobid: 16
    output: /stornext/Bioinf/data/bioinf-data/Papenfuss_lab/projects/mangiola.s/PostDoc/covid19pbmc/software/scib-pipeline/data_pbmc/run_pbmc/integration/scaled/full_feature/scanorama.h5ad
    shell:

        conda run -n scib-pipeline-R4 python scripts/integration/runIntegration.py           -i /stornext/Bioinf/data/bioinf-data/Papenfuss_lab/projects/mangiola.s/PostDoc/covid19pbmc/software/scib-pipeline/data_pbmc/run_pbmc/prepare/scaled/full_feature/adata_pre.h5ad -o /stornext/Bioinf/data/bioinf-data/Papenfuss_lab/projects/mangiola.s/PostDoc/covid19pbmc/software/scib-pipeline/data_pbmc/run_pbmc/integration/scaled/full_feature/scanorama.h5ad              -b batch --method scanorama

        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

Hi @stemangiola,
Super interesting that you got this error. I got this error myself earlier today and fixed it here: https://github.com/theislab/scib/pull/306
Long story short: For some reason, the adata.var DataFrame contains multiple columns with the same name which prevents concatenation, check scib/integration.py:
corrected = anndata.AnnData.concatenate(
        *corrected, batch_key=batch, batch_categories=categories, index_unique=None
    )

I added a check and remove these duplicates, running this on my data solved the issue. Feel free to add it yourself or wait until the PR is merged. That is the code:
corrected = scanorama.correct_scanpy(split, return_dimred=True, **kwargs)
#====START=ADDITIONAL=CODE=========
# Make sure that adatas do not contain duplicate columns
cats = ["obs", "var"]
for _adata in corrected:
    for i, df in enumerate([_adata.obs, _adata.var]):
        duplicate_cols = df.columns[df.columns.duplicated()].unique()
        if not duplicate_cols.empty:
            col_vals = duplicate_cols.values
            print(f"Delete duplicate columns {col_vals} in `.{cats[i]}`.")
            for key in duplicate_cols:
                tmp = df[key].iloc[:, 0]
                df.drop(columns=[key], inplace=True)
                df[key] = tmp
#====END=ADDITIONAL=CODE===========
corrected = anndata.AnnData.concatenate(
    *corrected, batch_key=batch, batch_categories=categories, index_unique=None
)

If it's possible to link here the pull request to this issue, would be awesome, so I will know when this change will be integrated.
Anyway thanks a lot for the change.

The PR was just merged, see
here and
here
On May 13, 2022, Michaela Mueller @.***> wrote:

If it's possible to link here the pull request to this issue, would be
awesome, so I will know when this change will be integrated.
Anyway thanks a lot for the change.

—
Reply to this email directly, view it on GitHub
<https://github.com/theislab/scib-pipeline/issues/32#issuecomment-
1125591088>, or unsubscribe
<https://github.com/notifications/unsubscribe-
auth/AF6VGRMORXAK4NIK2Z4FFI3VJW3X7ANCNFSM5U7EZTIQ>.
You are receiving this because you were assigned.Message ID:
@.***>


add #[serde(default)] to NestedResponseError:status

Hello!
I am using this library together with the bigquery-emulator. The emulator does not return the status field in error responses, and as far as i can tell the status is not a required field in error responses.
Though finding documentation about it has been hard, the sample error on in the docs does not contain a status field: https://cloud.google.com/bigquery/docs/error-messages#sample-error-response

Sorry for the delay. I'm very busy these days, but I will find some time this week to review and possibly merge this contribution.

version 0.18.1 published on crates.io

Thanks!


fix(deps) Upgrade vite due to vulnerability

HELA-2218 Vite XSS vulnerability in server.transformIndexHtml via URL payload spa-tools
Vulnerability in backoffice on a version before 4.5.0: https://github.com/pleo-io/backoffice/security/dependabot/74

Duplicate of https://github.com/pleo-io/spa-tools/pull/194


Device GPU tests

Fixes double device name encoding issue
Adds GPU tests

jenkins: test this please

jenkins: test this please

jenkins: test this please

Testsuite passed

@stgraber ready for review


default gas missing a zero

Looks like a typo on the default_func_call_gas.

@vgrichina looks like you purposely removed a 0 from this value in ccd872615; should we change the comment above it to match?

@vgrichina looks like you purposely removed a 0 from this value in ccd8726; should we change the comment above it to match?

yes, I think we need to change a comment


What's the license for this repo?

I would like to borrow the code that allows using Dry::Structs to define events. Unsure if I can do that given no license on the repo.

It's MIT. Feel free to use it.
https://github.com/RailsEventStore/ecommerce/blob/master/rails_application/LICENSE
It used to be in the main directory, but after some rearrangements we forgot to put it back to the root directory.
I will move it back later.

Thanks!


Links to 2.16.0 binaries missing

Summary:
On https://github.com/stan-dev/cmdstan/releases/ I typically see the following links for each release.
cmdstan-2.X.0.tar.gz
cmdstan-2.X.0.zip
For some reason, they are missing for 2.16.0.
Description:
See summary.
Reproducible Steps:
Go to: https://github.com/stan-dev/cmdstan/releases/
Additional Information:
I depend on these links in automated builds; the builds fail when the links don't exist (or when they change format).
Current Version:
v2.17.0

Fixed

Thanks @seantalts !