Fix VirtualizingStackPanel ScrollIntoView

What does the pull request do?
Fixes VirtualizingStackPanel.ScrollIntoView to prevent duplicate items and elements not being correctly scrolled into view with variable sized items.
This problem often shows up when scrolling with the keyboard because keyboard navigation uses ScrollIntoView internally. What was happening was the following:

The item to be scrolled to is realized and placed into the scroll viewer at its estimated position, based on the currently realized elements
The scroll viewer is scrolled to make this "scroll to" element visible
A layout pass is run to realize a page of items at this new scroll position
The first item in the viewport is calculated (this element is called the "anchor")
Containers are realized around the anchor
But the sizes of elements at the new scroll position are different to the elements at the previous scroll position
Meaning that the "scroll to" element doesn't fit in the viewport
The "scroll to" element is left as a orphan element

This PR fixes this by using the "scroll to" element as the "anchor" in step 4; that is, realization is started from the "scroll to" element rather than the first element visible in the viewport. This ensures that the "scroll to" element is guaranteed to be realized and visible.
I looked through the open issues for ItemsControl but didn't find an open one that reported this exact problem with a repro, though various comments suggested that they were hitting it.

This PR is now ready for review.


[feature] Run sidekiq in forked process on Heroku dyno (#1032) (#1034)

Addresses: https://github.com/restarone/violet_rails/issues/665
To run Sidekiq on Heroku free tier
set environment variable INLINE_SIDEKIQ_WITH_PUMA to true in Heroku.

Co-authored-by: Prashant<EMAIL_ADDRESS>

Acceptance criteria 📋

Sidekiq UI working in Heroku ✅
Ahoy visits being tracked on Heroku ✅
Ahoy visits being tracked on staging ⌛


rename rhis team

Type of modification to a team
We want the existing team to be renamed from "rhis-builder-admins" to "rhis-code-admins"
Requested name for the team
rhis-code-admins

Team Description
Administrative Steering Committee for the RHIS Code
Membership
@bkaraoren
@heatmiser
@mannyci
@mhjacks
@mmtktl
@mwelk-rh
@parmstro
@yigitpolat
@techuser-github-rhis
Repositories
rhis-code
rhis-inventory

Review request:
cc: @redhat-cop/container-cop-core

@bkaraoren ; why do you want the name change? it's just an internal name...

Hi @garethahealy , just for the alignment with the project. We want to ensure that rhis-code-admin team is directly related to the rhis-code not rhis-builder.

@bkaraoren ; am abit confused. the PR (https://github.com/redhat-cop/org/pull/811) created those repos as showroom-code and showroom-inventory , but those repos no longer exist in the org so wont have the correct team membership applied.
have you manually renamed them?

yes, renamed the repos but not the team name.

@bkaraoren please dont rename repos/teams/manually change permissions etc. All of that is controlled by the automation in this repo. if you manually change things, stuff breaks:

https://github.com/redhat-cop/org/actions/runs/11285769108/job/31389093998


Implements #304: Adds deprecated-bugs.csv and refactors commit-db into active-bugs.csv

This PR fixes #304.

commit-db has been refactored into active-bugs.csv.
A header has been added to the first line of active-bugs.csv noting what each column represents.
All code handling active-bugs.csv has been adjusted to handle the header.
deprecated-bugs.csv has been added, containing the entries for all deprecated bugs.
deprecated-bugs.csv utilizes the same header as active-bugs.csv, with the addition of the D4J version where the bugs was deprecated and the reason for deprecation.
Constants.pm has been updated with constants representing the column names.

@Greg4cr, thanks for implementing this. Can you please define the file names in Constants.pm as well and make sure that every script uses the constants? Linking to these constants in the pod (as opposed to using the file name) would also be good to avoid inconsistencies in case these file names change.

@rene -
I have pushed commits that:

Add constants for the filenames, and use that constant elsewhere.
Renamed the column names in the CSV files to match style and usage elsewhere in the framework.
Refactored test_export_command to use the method get_bug_ids instead of duplicating the code in that method.

I looked at the use of system calls to tail in the bug mining framework. There is only one use of tail in the bug mining framework, in initialize-project-and-collect-issues.pl. This is when we mine more bugs for an existing project, and are filtering commit hashes that already appear in the existing project. I don't think this is worth refactoring right now. I don't know if there is a good way to surface that information via DBI, and it represents a fairly specialized corner case. This is something we may want to file a bug report for and tackle as part of a broader clean-up of the bug mining code.

Thanks @Greg4cr for implementing this.

I'm wondering whether we want to rename commit-db to something else.  This single change will break all my scripts and I believe others' as well.
The brand new active-bugs.csv and deprecated-bugs.csv do include a header line, which will also break all my scripts (even after addressing 1).

How about we keep commit-db as it is and add an extra column status which could be active or deprecated?

By the way, @Greg4cr, I noticed in a couple pull requests that you've been mentioning @rene instead of @rjust.   :-)

@jose Haha, oops! I should proofread the comments more thoroughly.
This change came out of discussions @rjust and I had earlier this week. We discussed the concerns you mentioned. At the time, this is what we decided on:

active_bugs.csv and deprecated_bugs.csv makes a clear distinction between current and deprecated metadata that commit-db does not.
Two files instead of one enforces separation between bugs that should be used and those that are no longer considered valid - but that we retain information on for historical reasons.
A header should be added to document what these fields actually represent. This helps reduce confusion and questions when using the framework.

Something that Rene and I discussed, and that I certain agree with, is that internal changes to Defects4J can and should go forward even if it would impact external scripts. Even if we didn't make this particular change, other changes to Defects4J will break someone's scripts. We shouldn't let that prevent changes to the framework.
I'm certainly willing to discuss alternative implementations, though. @rjust - thoughts?

I have strong opinions about improving the internals of the framework such as separating active and deprecated bugs, consistent use of headers, consistent naming, removing code clones, etc., but I do agree that backward compatibility is a concern to keep in mind. IMO, the problem with commit-db (and why this file is used in so many wrapper scripts) is the lack of a simple, public API to obtain the list of valid project ids and bug ids -- we already floated some ideas for addressing this issue.
I am OK with leaving the commit-db file in the repo for now and clearly documenting that (1) it is deprecated and (2) will be removed in the future. At the same time, we should offer a clear alternative, which is not use the new file name instead and skip the header. If we want others to migrate away from using commit-db, which is not part of the public API, we should make sure that there is an alternative public API. Iterating over all bug ids should be as simple as for bid in $(defects4j <info, export, or new cmd> -p $pid). Note that v2.0.0 will break existing scripts that assume that bug ids correspond to line numbers in commit-db. Having documented a preferred way of obtaining valid project and bug ids would clearly help users.

@rjust @jose

I am OK with leaving the commit-db file in the repo for now and clearly documenting that (1) it is deprecated and (2) will be removed in the future.

I agree. We can include the commit-db as well, with a disclaimer that it will be deprecated and removed in the future.

At the same time, we should offer a clear alternative, which is not use the new file name instead and skip the header. If we want others to migrate away from using commit-db, which is not part of the public API, we should make sure that there is an alternative public API. Iterating over all bug ids should be as simple as for bid in $(defects4j <info, export, or new cmd> -p $pid).

I also agree with this. I was initially thinking about this as an extension of defects4j info, but it might be clumsy to build it on top of that existing command. Perhaps it would be better to have a new command built around exporting info from active/deprecated bugs files:
defects4j bug-query -p $pid -q $query
(or some other name)

Basic call (just project, no query) would print the entire active-bugs.csv for a project
$query is a comma separated list of fields. These must correspond to the field names defined in the CSV header. This allows definition of a custom set of fields to be returned

For example, "bug_id" would return just bug IDs, "bug_id,bug_report_id" would return bug IDs and issue tracker IDs.

Additional flags then control active/deprecated inclusion:\

No flag prints info on active bugs only.
-D prints info on deprecated bugs only.
-A returns both active and deprecated bugs.

-H includes a header in what is printed. By default, a header will not be printed.

I added another commit making minor tweaks (see @rjust's questions above) and restoring the commit-db files (with the intention that they are deprecated and will later be phased out, and that the framework makes use instead of active-bugs.csv).

@Greg4cr, I would keep it simple and try to implement this as an extension of the existing defects4j info, instead of yet another command.
defects4j info -p $pid already returns the Number of bugs:. I would just augment the output to include something like:
Active bugs:1,2,3,6
Deprecated bugs:4,5

So that anyone could do defects4j info -p $pid | grep "^Active bugs: " | cut -f2 -d':' and have the list of bug ids.

Meeting discussion today:

Implement API as a new command, d4j-query (or some other name)

I will think about semantics of query.
Base idea - provide Project and a comma-separated set of fields, get metadata info that is applicable. See comment above.

Extend to other metadata potentially too, not just active/deprecated bugs.

Add constants to core/Constants.pm for any additional fields

@rjust @jose
I have implemented the d4j-query command, which can be used to query the project metadata for particular fields. Some examples:
defects4j query -p Collections -h returns the list of available fields that can be queried.
defects4j query -p Collections returns the list of active bug IDs for project Cli.
defects4j query -p Collections -q "revision_id_buggy,modified_classes" returns all active bug IDs, and for each, the revision hash of the buggy version and the list of modified classes.
defects4j query -p Collections -q "revision_id_buggy,modified_classes" returns all deprecated bug IDs, and for each, the revision hash of the buggy version and the list of modified classes.
defects4j query -p Collections -q "revision_id_buggy,modified_classes" -a> returns all bug IDs (active and deprecated), and for each, the revision hash of the buggy version and the list of modified classes. defects4j query -p Collections -q "deprecated_reason" -a` returns all bug IDs (active and deprecated) along with the reason for deprecation. For active bugs, the deprecation reason will be "NA", as those bugs do not have values for that field.
test_d4j_query.sh demonstrates those examples (with expected output in framework/test/resources/output/d4j-query/).
Feel free to try it out and suggest improvements.

@rjust @jose - Any thoughts or issues on this? Can we merge, or would you like any changes to the d4j-query command?

@rjust @jose
One thing this PR does not address right now is check out of deprecated bugs

Should we allow check out at all of deprecated bugs?
If yes, how should we handle this? Options include:

Warn on checkout, but allow everything
Warn on checkout, disable d4j-test (and d4j-compile for uncompilable bugs)

@Greg4cr: @rjust and I were chatting about this feature yesterday during our meeting and here's a quick summary: Rene was thinking long term about a good organization for the different commands. Rene's concern is that there will be four different commands that kind of step on each others toes: info, query, export, and env. These each report some sort of information about defects4j's database and environment. I don't totally grok the differences between export and info but from what I understand there are some implementation-related things that make it useful to separate them (stuff about having to check out a project for export-related commands).
Anyway, here are a few thoughts on possible unifying approaches.

Make info more robust and include query in info
Make the differences between query and info explicit. Currently info prints more human-facing info, while query looks to be geared towards a lower level representation. Maybe it makes sense to make query the plumbing for d4j, and make info the porcelain? If this happens, it might be worth while to refactor info to rely on query. There will still be some decisions to make---info prints stuff about where scripts are located, etc. Is this a query question or an env question? Should env provide a command for script locations?
Long term we might also want to support some sort of aliasing for sub commands. For instance, from where I am as an end user, I'd love to be able to run defects4j bugs -pLang and get the current output of defects4j query -pLang. Having nice high level aliases to complex functionality might be useful if query is going to be our main data-querying plumbing.

But yeah, definitely looking forward to getting this into master so I can use it!
@rjust  any followups/things that need doing?

And in response to @jose's comment about about printing Active bugs:1,3,4,5,... and grepping, maybe this is the way. As an end user I'd rather be able to just run defects4j bugs -pLang and not have to worry about grep/cut for two reasons:

it's easier to write
it's easier to read
I'd rather not deal with raw text semantically---if I have to parse user-facing human-readable stuff that isn't in a structured and well defined format I'm not going to be sure that it won't change on me. Will there be a commit that changes formatting Active bugs: -> Active Bugs:?

Conversely, adding more commands makes things more complicated and adds extra work on the development end.

@bkushigian @rjust @jose

Rene's concern is that there will be four different commands that kind of step on each others toes: info, query, export, and env

This is a reasonable concern, and one that Rene and I have also discussed. There are multiple ways this could be addressed.
The intent of info is a human-facing interface and the intent of query is a scripting interface, but both access project-related information. These could be combined (i.e., using a flag to control whether output is pretty or not). Alternatively, it may make sense to keep them separate and make the separate intents clear.
export is specifically a way to extract Ant properties, if I recall correctly. It is kind of its own thing, and I think should be kept separate. It is also version-specific, not project or bug-specific. It operates at a different level of granularity.
env is for examining the value of environment variables. Again, I see this as a separate utility altogether. queryand info are specifically for project metadata. I don't see environment variables as part of the same use case. Again, a different level of granularity.
So, in terms of combining tools, I see a case for merging info and query, but not the other two. I also see a case for keeping info and query separate, and making the differing intent explicit. Let's discuss and make some decisions.
(as a TODO for myself, info does print some information that is not currently offered by query. When I have some time, I'll see what other information it would make sense for query to surface from the metadata.)

This makes sense.

@rjust @jose
Some updates:

d4j-query now can surface several additional pieces of information from the metadata. A full list of fields is documented in: https://github.com/rjust/defects4j/blob/bugs-csv/README.md#export-project-specific-metadata
I've added a flag that can output the extracted csv to a file
I added a high-level command d4j-bugs that just prints the list of bug IDs.


Sops and helm usage proposal

Hi, thank you very much for writing a great book!
I'd like to make a proposal (or possibly question or discussion) on sops and helm usage for feeding an applications' secret file to k8s secret object.
Currently hello-sops example places staging-secrets.yaml and production-secrets.yaml inside of the demo chart.
k8s
 └── demo
     ├── <others are omitted for brevity>
     ├── Chart.yaml
     ├── production-secrets.yaml
     └── staging-secrets.yaml

However, the book suggests (in an applicable situation) making one single secret file (not k8s secrets object, but something like .env or production-secrets.yaml) as a strategy of avoiding secret duplication across applications.
Let's say I have multiple charts like demo1 and demo2. Also assume I have a secret file production-secrets.yaml, which has secrets for both demo1 and demo2. Unlike hello-sops, I want to keep it independent from each chart, so place it outside of the charts.
k8s
 ├── demo1
 │     ├── <omitted for brevity>
 │     └── Chart.yaml
 ├── demo2
 │     ├── <omitted for brevity>
 │     └── Chart.yaml
 └── production-secrets.yaml

However, .Files.Get cannot read an external file outside of the chart (There's a discussion though, helm#3276).
Thus, after decrypting production-secrets.yaml, I have to copy and paste the decrypted file under demo1 and demo2.
This is cumbersome.
Fortunately, using --set-file and .Values instead of .Files.Get can solve the problem.
For instance,
helm upgrade --install \
  --set-file mysecrets=./k8s/decrypted-production-secrets.yaml \
  production-demo ./k8s/demo

# secrets.yaml in helm chart
data:
  mysecrets.yaml: {{ .Values.mysecrets | b64enc }}

helmfile supports --set-file as well. The below is same as the above.
releases:
- name: production-demo
  chart: k8s/demo
  set: # --set-file mysecrets=./k8s/decrypted-production-secrets.yaml
  - name: mysecrets
    file: k8s/decrypted-production-secrets.yaml

I feel this way is more practical, as secrets are now "free" from charts.
I made a simple demonstration repo jjangga0214/k8s-sops-helm, so you might take a look.
How do you think of this?
Thanks.

Thank you for opening the issue and starting the discussion! I think your idea is a great one and thanks for making the repo with the working example. I had a few questions to keep the discussion going and wondering if you have thoughts:
Are you typically managing all of your charts for multiple apps in the same repo? The secrets/file repo structure issue you point out is still going to be something to solve, but as a side note I've been happy lately with https://github.com/fluxcd/flux in cases where you want a single control repo for managing multiple apps.
I think there could be some upcoming changes to Flux based on their recent announcement to collaborate with Argo on the "GitOps" front (https://www.weave.works/blog/argo-flux-join-forces) so it's something I'll be watching and sort of looking to see what sorts of examples they come up with for secrets management and repo structure across apps/environments/clusters.
I have mostly worked in situations where each app has its own separate repo and the k8s/helm config for that app lives inside that same repo as the app, so in your example the chart for demo1 would live in a k8s folder in the demo1 app repo, and the chart for demo2 would live in the demo2 repo. In cases where secrets and/or config values are shared between them, then you either have to decide if you would rather duplicate them in 2 repos (and remember that if you change it in 1 you need to also change it in the other, which is less than ideal), or add some complexity to your deployment pipeline to bring in the secrets from some other place. Your example of a top-level shared folder in git is one of the simpler/better suggestions I have seen.
A 2nd strategy I have seen and used with some success is storing all secrets for all apps encrypted in an external place, such as a centralized encrypted git repo just for secrets, file(s) in a GCS/S3 bucket, or something similar. That path requires adding steps to pull in the appropriate secrets at deploy time and definitely adds some complexity. It requires coming up with a plan for updating/changing secrets, as well as figuring out a strategy for versioning across environments and apps.
At some point if a team decides to go down that path it's probably worth spending a little bit of time evaluating and deciding if it would just be worth taking the plunge with something designed for centralized secrets management, such as Hashicorp Vault. AWS, GCP, and Azure all have their own options for similar hosted secrets managers. Again, the sops path and your approach is much simpler than something like that, but at some point I think it makes sense for teams to evaluate if their situations is complex enough where it makes sense to add something like Vault to their environment.
Another similar situation to this that I've worked in is with subcharts/child charts. In the cases where apps need to share a value between them, Helm has the concept of Global values: https://helm.sh/docs/topics/chart_template_guide/subcharts_and_globals/. Your example doesn't quite seem like demo1 and demo2 are dependencies of each other so this may not exactly be relevant to your example. The tricky part I've found with globals in Helm charts is if a value needs to move from non-global to global then you have to remember to update any places in the chart that refer to it.
I have an example of that setup in a demo repo here: https://github.com/domingusj/rails-k8s-demo/blob/master/k8s/rails-k8s-demo/templates/secrets.yaml that handles cases where some shared secrets are needed by subcharts.
Thanks again for opening the issue and would love to keep the discussion going! Have a great New Years!

Closing to clean up old issues, but reply back if you think this is unresolved and want to continue discussing.


Plugin not working?

Installed on a vault (with Minimal theme plus a few other plugins)...
Cannot see commands in Command palette. Works in another vault with different themes and some different plugins.

Disabled all other plugins - still not working.
Changed theme to default - still not working.
Uninstalled all other plugins - still not working.

(BTW, restarted Obsidian after each step)...
Any ideas? Thanks in advance...

Have you reinstalled the plugin? There is no reason this shouldn't be working on the default vault or one with custom themes, plugins, settings.

Hi Gavin,
Thanks for responding 👍
Yes, I have reinstalled, and done the usual restart etc. I have again tried it in other existing and new vaults, and it works fine, therefore I must assume it is an issue with another plugin - going to try reverting my existing vault to a default setting and see what happens...

Hmm, I think I'm eating humble pie...I seem to have missed the issue that the plugin works only in editing mode :( I do apologise...feel free to delete this thread!


Fix Incorrect Link to Slither Installation Guide

An issue was identified in the shell script where the link to the Slither installation guide was incorrectly formatted:
https://github.com/crytic/slither?tab=readme-ov-file#how-to-install

The parameter ?tab=readme-ov-file is invalid and leads to a broken or incorrect page. The corrected link is:
https://github.com/crytic/slither#how-to-install

This adjustment ensures users are directed to the correct section in the official Slither documentation, improving their ability to follow the installation process seamlessly.
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I have run yarn format and yarn compile without getting any errors
[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

@cedoor AI submitted PR?


Need to provide an example of a CSP that does not apply for MDMWinsOverGP

🚨 Looks like you arrived from the internal review site
🚨 Do not enter Microsoft confidential information here
[Enter feedback here]
Need to provide an example of a CSP that does not apply for MDMWinsOverGP
Current:
It does not apply to other MDM settings with equivalent GP settings that are defined in other CSPs.
Recommendation:
It does not apply to other MDM settings with equivalent GP settings that are defined in other CSPs such as Defender CSP.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: becd9bd1-6396-3f4a-cc78-c9a06b781516
Version Independent ID: efeec2a0-08b0-d1fc-72c5-14c23fa11397
Content: ControlPolicyConflict Policy CSP - Windows Client Management
Content Source: windows/client-management/mdm/policy-csp-controlpolicyconflict.md
Product: windows-client
Technology: itpro-manage
GitHub Login: @vinaypamnani-msft
Microsoft Alias: vinpa

Thx Vinay.
From: Vinay Pamnani @.>
Sent: Wednesday, April 12, 2023 7:24 AM
To: MicrosoftDocs/windows-itpro-docs @.>
Cc: Yong Rhee @.>; Author @.>
Subject: Re: [MicrosoftDocs/windows-itpro-docs] Need to provide an example of a CSP that does not apply for MDMWinsOverGP (Issue #11453)
Closed #11453https://github.com/MicrosoftDocs/windows-itpro-docs/issues/11453 as completed via #11454https://github.com/MicrosoftDocs/windows-itpro-docs/pull/11454.

Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-itpro-docs/issues/11453#event-8986338267, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANN7NO25UCM6R6MDYRVEZUDXA23HVANCNFSM6AAAAAAW3WY3DU.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>


Out-param inprocessing and subgoal reordering in TC search

See #1901. mathlib mostly builds except for one new #2074 issue.
TODO documentation

!bench

!bench

!bench

Closing in favor of #2174.


v-bind in SSR with dev server fails to resolve imported objects

Vue version
3.4.31
Link to minimal reproduction
https://github.com/bcdanieldickison/ssr-test
Steps to reproduce
When rendering SSR inside of the vite dev server with vite.ssrLoadModule, v-bind inside of

ssr-fail.js:
import { exit } from 'process'
import { createServer as createViteServer } from 'vite'

const vite = await createViteServer({
  server: { middlewareMode: true },
  appType: 'custom'
})
const { render } = await vite.ssrLoadModule('/src/entry-server.js')
const appHtml = await render('/')
console.log(appHtml)
exit(0)

What is expected?
$ npm test

Hello

What is actually happening?
$ npm run test
/Users/daniel/bc/src/ssr-test/src/App.vue:26
    "--7a7a37b1-Color\\.red": $setup.Color.red
                                           ^

TypeError: Cannot read properties of undefined (reading 'red')

System Info
System:
    OS: macOS 14.4.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 1.50 GB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 21.7.2 - /opt/homebrew/bin/node
    npm: 10.8.1 - /opt/homebrew/bin/npm
  Browsers:
    Chrome: 126.0.6478.127
    Safari: 17.4.1
    Safari Technology Preview: 18.0
  npmPackages:
    vue: ^3.4.29 => 3.4.31

Any additional comments?
We maintain a design-system module with various constants for color tokens. The most natural way to use these in our app components leads to this error in our dev environment.

This problem does seem to be reproducible using the Playground in SSR mode:

Playground

This problem does seem to be reproducible using the Playground in SSR mode:

Thanks! I didn't notice there was an option to enable dev-mode SSR rendering in the playground. I'll add a link to the description.

This has bitten us multiple times in the past month. While there is a workaround, that doesn't really scale well if you have dozens of v-binds per component (e.g. for theming purposes).


Bugfix/load initial services via migration

Issue number: N/A
Description of change
loadinitialmetadata was failing in new environments because of the policy feedback service added via a migration. This moves loading the initial services to a migration (just before loading the policy feedback service) to avoid that.
Checklist

[x] Have any relevant search models been updated?
[x] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[x] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[x] Has the admin site been updated (for new models, fields etc.)?
[x] Has the README been updated (if needed)?

Codecov Report

Merging #945 into develop will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #945      +/-   ##
===========================================
+ Coverage    96.61%   96.63%   +0.02%
===========================================
  Files          178      178
  Lines         4964     4964
  Branches       473      473
===========================================
+ Hits          4796     4797       +1
+ Misses         112      111       -1
  Partials        56       56

Impacted Files
Coverage Δ

...ub/core/management/commands/loadinitialmetadata.py
96.96% <ø> (+3.03%)
:arrow_up:

Continue to review full report at Codecov.

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


Support executing fuzz tests with custom environment variables

Requested Behavior
Specifying an env dictionary of environment variables in a cc_fuzz_test causes the regression test and fuzz test to execute with the environment variables set.
Actual Behavior
Specifying an env dictionary of environment variables currently has no effect on the regression and fuzz tests.
Motivation
We use environment variables to configure sanitizers (e.g., where to look for runtime suppressions, UBSan should crash upon finding UB, print a stack trace).
I'm presently working on extending rules_fuzzing to support env.

I'll also try to add support for env_inherit at the save time as well

@zhenyudg I realized that this was missing as well when specifying a suppression file and symbolizer path wasn't working. Do you have a draft PR? I'm happy to help try it out and provide feedback.

@sfc-gh-ebrossard So sorry for the long delay in responding; I am no longer an active user of rules_fuzzing, so I'm afraid that I am no longer in a position to provide assistance (at least for now).


Test opening an issue for usnistgov/OSCAL#1936 (updated perms 4)

PAT permissions are adjusted to match https://github.com/actions/add-to-project/issues/462#issuecomment-1712561302 guidance for this to work this time (more permissive than I hoped, but oh well).

Still failed, the plot thickens. :-(

This issue was successfully added after oscalbuilder was added to the ImportantFederalAgencyTest org and teams. This discovery of the requirement is an unfun problem. I will have to discuss with NIST's team that handles GitHub management for next steps if test working again.


Update auto-generated documentation

Repository: openmicroscopy/ome-documentation
Already up-to-date.
Generated by build OMERO-DEV-latest-docs-autogen#743.

--no-rebase

https://github.com/openmicroscopy/openmicroscopy/pull/5148 fixed typo noticed


Feature Request: Timeouts

We should be able to set the timeout on promises/requests, and handle accordingly

+1

I'm positiv for this feature too. +1

+1 toooooo

It's implemented in the current develop branch, have a try.

Available in v0.5.0.

Awesome @steffans!


fixed issue with autosave

Fixes #1878  .
JS was checking length of the html within the answer-locking element. Recent reformatting of the HTML for Rubocop/readability added some blank space to the element which was causing the length to always be greater than zero.
Updated to check the length of the element's text instead.

Well caught!

nice catch


Please document Vagrant bootstrap script

Great to see a bootstrap script with so many parts. Could you please add some basic documentation, such as one comment every few lines?

Finished.


Remove support for npm in development

Description
Remove and ignore package-lock.json
Issue : fix #86

Codecov Report

Merging #126 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #126   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          74     74
  Lines         246    246
  Branches       48     48
=====================================
  Hits          246    246

Continue to review full report at Codecov.

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


Refactor startIndex/endIndex to findStartIndex()/findEndIndex()

Here is the pr for the refactor. When should I run docs? Or is that done after merged?
Tested on my react project, haven't tested others (except running e2e)

https://github.com/inokawa/virtua/discussions/544#discussioncomment-11263214

Released in 0.37.1.


Fix for issue #20

TL;DR
This change along with #22, fixes #20
Long Story
Issue #22 solves the case, when you integrate existing project with react-native, and want to use CocoaPods for react-native-branch for iOS.
The error about non-modular headers is still there, when trying to use the code from Swift files.
There's a blog post, which explains non-modular headers issue in cocoapods, under the section "Common Header Pitfalls": http://blog.cocoapods.org/Pod-Authors-Guide-to-CocoaPods-Frameworks/
This problem doesn't appear with Objective C, but does happen in Swift, because swift has a different treatment of modules as well as header files. So when an existing project in Swift gets integrated with react-native and react-native-branch, using cocoapods, the problem above prevents the Swift code from accessing
RNBranch code, necessary for the initialization under iOS.

👍  thank you sir


Regression, "left of '=' is not an l-value", error 30011

A regression is reported and the error message is as following,
$ slangc.exe ../polynomial_soa.slang
../polynomial_soa.slang(92): error 30011: left of '=' is not an l-value.
    call_data._result_primal[{call_id[0]}] = val;

The regression happened from PR 5177.
TODO: I will add a repro shade code here once ready.

Closing this as not a bug.


Uri.php createFromEnvironment

#2107 similar issue.
$basePath = '';
$virtualPath = $requestUri;
if (stripos($requestUri, $requestScriptName) === 0) {
    $basePath = $requestScriptName;
} elseif ($requestScriptDir !== '/' && stripos($requestUri, $requestScriptDir) === 0) {
    $basePath = $requestScriptDir;
}

plain english in the url will execute
if (stripos($requestUri, $requestScriptName) === 0) {
$basePath = $requestScriptName;

non-english in the url converts to %blahblah...  executes
elseif ($requestScriptDir !== '/' && stripos($requestUri, $requestScriptDir) === 0) {
$basePath = $requestScriptDir;

there's something wrong with those part. I have no idea what the problem is but if I put
$virtualPath = $requestUri;

then run
$uri = new static($scheme, $host, $port, $virtualPath, $queryString, $fragment, $username, $password);

everythings works fine after that
it's not multi-byte safe
stripos that is
probably needs to use mb_stripos if availabl
It's not exactly the same, but #2107 issue probably has some connection with mine. basePath, requestScript, virtualPath, etc  there are somethings wrong with these parts

I think this is going to make it into v4.

Slim-Http no longer has a concept of base path.


Update Package To Use New autocomplete-plus API

Please:

Switch to the new autocomplete-plus API: https://github.com/atom-community/autocomplete-plus/wiki/Provider-API
Move away from having 1 provider instance for every editor instance

The old autocomplete-plus API will be removed on Tuesday, February 10th. Please update the API prior to that date, or let me know if you have issues meeting that timeline.

Sorry that I did not focus to this but thank you very much for heading up.
I am going to update my package during this weekend.

@joefitzgerald, let me check one thing about the wiki page of Autocomplete Providers.
Currently this autocomplete-emojis is listed in the 'Packages That Claim Autocomplete, But Are Not API 1.0.0 Compatible' category, but this has already used the new API. So I would like to update the wiki page for autocomplete-emojis to be listed in 'Providers Not Tied To A Specific Grammar' category.
Do you have any plan to update the wiki page (probably, for other providers as well)?
Or, can I update it by myself?


SolvePnP overload with non-Mat arguments throws Exception

Summary of your issue
The SolvePnP overload that uses IEnumerable sets of points throws the Exception shown below.  Apparently I'm not the first person to discover this problem: https://stackoverflow.com/questions/37279776/how-to-fix-unhandled-opencvexception-from-calling-cv2-solvepnp
Environment
Visual Studio 2015
OpenCVSharp3-AnyCPU v<IP_ADDRESS>70911
What did you do when you faced the problem?

I intended for SolvePnP to work properly given valid inputs.

Here's complete code to reproduce:
var rvec = new double[] { 0, 0, 0 };
var tvec = new double[] { 0, 0, 0 };
var m = new double[3, 3]
{
    { 1, 0, 0 },
    { 0, 1, 0 },
    { 0, 0, 1 }
};
var dist = new double[] { 0, 0, 0, 0, 0 };

var objPts = new Point3f[]
{
    new Point3f(0,0,1),
    new Point3f(1,0,1),
    new Point3f(0,1,1),
    new Point3f(1,1,1),
    new Point3f(1,0,2),
    new Point3f(0,1,2)
};

double[,] jacobian;
Point2f[] imgPts;
Cv2.ProjectPoints(objPts, rvec, tvec, m, dist, out imgPts, out jacobian);

Cv2.SolvePnP(objPts, imgPts, m, dist, out rvec, out tvec);

The last line throws the Exception.


MySQL Support

This PR contains a near feature-complete implementation of MySQL support. Although it's missing a few features, I do think it is wise to merge to prevent more significant merge conflicts down the line.
Most notably, the refactoring of the dinosql/gen.go file into parser agnostic Go code generation functions could potentially cause difficulty merging if we wait until MySQL support is fully stable.
Much of the remaining implementation work involves supporting all types and functions of the MySQL spec completely. This should not drastically alter the structure of the current implementation.
Critiques and contributions are welcome!
Fixes #150

Amazing.  I'm going to try this out.

🏆 🏆 🏆
@cmoog thank you so much for this pull request! I didn't think MySQL support was going to land any time soon and I've been proven wrong. I'm still on Christmas / NYE vacation, so I won't get a chance to review this until January 2nd. I just wanted to let you know that I've seen the PR and will be reviewing it soon.

Although it's missing a few features, I do think it is wise to merge to prevent more significant merge conflicts down the line.

Agreed! There's another open PR which I will wait to merge until this lands.

@cmoog I've changed the pull request's base branch, it now merges into the mysql branch. I'm going to accept this PR as is and work on the configuration changes in that branch.
If you'd rather we work on this another way, please let me know. It's easy to do this differently.

@kyleconroy Sounds good to me. Thanks for taking a look at the PR. Let me know how you'd like to proceed with improving the interface between parsing and code generation.  When you think it's appropriate, I'd be happy to make the necessary changes to the mysql package.

I've added a set of TODO items to #230. I don't think the mysql package will need to change too much before being merged in. The interface between parsing and code generation is a work in progress, so there's no point in letting this code sit around before it gets figured out.


Enable mirrored hand tracking support

Summary
Adds an option to make right hands track for left hands, and left hands track for right hands.
I've seen a couple people request this, and I think the Unreal plugin already supports this, but I wanted to enable the end user to be able to make their right hand work as their left hand and their left hand work as their right hand without having to rebind too much.

I did this by adding a checkbox to "Mirror Hand Tracking"

And I did this at the provider level in the transformFrame method, modifying the frames read from the device directly, which allows other things that depend on the provider such as physics hands to "automagically" support it.

I'm not sure if there's a better way to do this currently, but if there is a better way, I can implement those changes, or if this works and is acceptable I think a lot of users would be happy to have support for this. I'm also pretty new to Unity and Unity plugin development in general so if there's any changes or recommendations that should be made, please let me know!
Contributor Tasks
These tasks are for the merge request creator to tick off when creating a merge request.

[ ] Pair review with a member of the QA team.
[ ] Add any release testing considerations to the MR for the next release.
[ ] Consider any licensing/other legal implications for this MR e.g. notices required by any new libraries.
[ ] If this MR closes a Jira issue, make sure the fix version on the JIRA issue is set to the correct one.

Reviewer Tasks
Add any instructions or tasks for the reviewer such as specific test considerations before this can be merged.
Use emojis in review threads to communicate intent and help contributors.

[ ] Code reviewed.
[ ] Non-code assets e.g. Unity assets/scenes reviewed.
[ ] Checked and agree with release testing considerations added to MR for the next release.

Closes JIRA Issue
If this MR closes any JIRA issues list them below in the form Closes PROJECT-#

Hi, Thanks for the contribution! 🚀
I was actually looking at ways to do similar this last week and totally forgot about the LeapTransform.MirrorX method, so thanks for spotting it and using it!
I hope to get around to testing it out properly tomorrow, but as a quick response:
As the LeapServiceProvider is specific to LeapC connections and does not cover OpenXR-based tracking, also it fairly substantially editing the way that the hand data is presented
As such, I think it would work better as a PostProcessProvider. This way the raw data can be passed from either a LeapServiceProvider, or an OpenXRLeapProvider and then modified via a MirroredHandsPostProcessProvider and finally fed into Hands, or as you point out, a PhysicsProvider
It would also allow for more customization such as: only mirroring one hand, mirroring both (flipping), flipping but keeping position, flipping along a different axis(?) etc
If you would like to implement this, feel free, otherwise I will look to getting the same into the Plugin (possibly with an accompanying example scene 🙂)

Hi, Thanks for the contribution! 🚀
I was actually looking at ways to do similar this last week and totally forgot about the LeapTransform.MirrorX method, so thanks for spotting it and using it!
I hope to get around to testing it out properly tomorrow, but here's a quick response:
The LeapServiceProvider is specific to direct LeapC connections and does not cover OpenXR-based tracking, also mirroring data is fairly substantially editing the way that the hand data is presented via the Provider
As such, I think it would work better as a PostProcessProvider. This way the raw data can be passed from either a LeapServiceProvider, or an OpenXRLeapProvider and then modified via a MirroredHandsPostProcessProvider and finally fed into Hands, or as you point out, a PhysicsProvider
It would also allow for more customization such as: only mirroring one hand, mirroring both (flipping), mirroring but keeping position, mirroring along a different axis(?) etc
If you would like to implement this, feel free, otherwise I will look to getting the same into the Plugin (possibly with an accompanying example scene 🙂)

😮 !
Sorry for the late reply on this. I think from what I remember reading people were saying that PostProcessingProviders didn't work with some of the gesture scripts and controls, which is why I originally didn't pursue going this route. Is that just not true, or does that change when that post processed information is passed into something like a PhysicsProvider which then processes stuff down stream non the wiser that the data entered into it has already been post processed?
Also, I will say, I feel super bad, because I definitely made it sound like I was willing to do all the extra work necessary at the time, but I've kind of ended up a little busier than I expected, and I probably wont have too much extra time to iterate on this at the current moment. ( I also think you'll probably be able to put together a way better solution to this problem than I will! )
All that said, thank you so so so much for your time and all the extra information! Also if time allows at a later point, I hope to contribute to this project in the future! ( Hopefully next time with a proper solution! 😄 )
I'm also not sure if at this point I should close this issue, but please feel free to do whatever you have to do with it x)

😮 ! Sorry for the late reply on this. I think from what I remember reading people were saying that PostProcessingProviders didn't work with some of the gesture scripts and controls, which is why I originally didn't pursue going this route. Is that just not true, or does that change when that post processed information is passed into something like a PhysicsProvider which then processes stuff down stream non the wiser that the data entered into it has already been post processed?

The Physics Provider is a PostProcessProvider and they can quite happily stack, so long as it's handled properly, once the data is passed out of a PostProcessProvider, it is treated as if it came directly from a LeapProvider

Also, I will say, I feel super bad, because I definitely made it sound like I was willing to do all the extra work necessary at the time, but I've kind of ended up a little busier than I expected, and I probably wont have too much extra time to iterate on this at the current moment. ( I also think you'll probably be able to put together a way better solution to this problem than I will! )

That's not a problem, we could end up with a bunch of back-and-fourth about it so i'm happy to push for us to implement this in the Plugin. "Better" is subjective! 😀

All that said, thank you so so so much for your time and all the extra information! Also if time allows at a later point, I hope to contribute to this project in the future! ( Hopefully next time with a proper solution! 😄 )

Contributions or feedback is always appreciated, particularly on content from the Preview Package like Physics Hands 😁 You can send any feedback to the Discord server

I'm also not sure if at this point I should close this issue, but please feel free to do whatever you have to do with it x)

I'll close it for now and mention any future developments here so you can see how it's going 🙂 Thanks for the contribution!


Unable to open the app when clicking on push notification using PhoneGap plugin?

Expected Behaviour
User should be able to receive action button push notification and clicking notification opens the app.
Actual Behaviour
User receive action button notification, but on clicking notification, Notification is closed and app is not opened( Even if App is in Foreground or background)
Problem
I am able to receive the notification with action button using phonegap plugin. However, I am not able to open the app when I click on notification.
**I have checked following parameter in config.xml
android:launchMode="singleTop"**
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Android 7.1.2
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Motog
Cordova CLI version and cordova platform version
8.1.2
Plugin version
2.3.0
Sample Push Data Payload
I have tried various payloads. I am using postman to send these notification. I am able to open the app when i use following payload(Supported by FCM) but I don't receive action buttons.
`
{
"registration_ids": ["dG7v71qgTtQ:APA91bGzfypc_bf-YZ_Gzayqoit4b4DeAZpCaTvPq5Cw3XqTClEFVkgTvvIZCkJVPXIa6-iLnzSrLuFO39SN-kCypBkkxklBIkf4qyYb1WWRZV4qVpR7sMKsNE3tNqtvd6m-ierZxRT6"],
"notification": {
"title": "My title",
"message": "My message."
},

"data": {

    "actions": [
        { "title": "Accept", "callback": "app.accept", "foreground": true},
        { "title": "Ignore", "callback": "app.ignore", "foreground": false}
    ]
}

}
When I use following payload I receive action buttons notification. But not able to open the app when user clicks the notification! :
{
"registration_ids": ["dG7v71qgTtQ:APA91bGzfypc_bf-YZ_Gzayqoit4b4DeAZpCaTvPq5Cw3XqTClEFVkgTvvIZCkJVPXIa6-iLnzSrLuFO39SN-kCypBkkxklBIkf4qyYb1WWRZV4qVpR7sMKsNE3tNqtvd6m-ierZxRT6"],
"data": {
"title": "AUX Scrum",
"message": "agenda.",
"actions": [
{
"icon": "emailGuests",
"title": "EMAIL GUESTS",
"callback": "emailGuests",
"foreground": true
},
{
"icon": "snooze",
"title": "SNOOZE",
"callback": "snooze",
"foreground": false
}
]
}
}
`
Sample Code that illustrates the problem
Logs taken while reproducing problem
No logs are generated when I click the notification.

pass "click_action: "FCM_PLUGIN_ACTIVITY"" inside o payload data notification

I will try that, thanks


Configurable token life-time and number

A service-providers should be able to configure the token life-time and the number of allowed tokens in that frame of time by himself.

By that way, each service-provider can use a very huge number of allowed tokens and token life-time range which will endanger the security of the service-provider, and therefore the clients which are using it.
If it will make your life easier, I can expand the token life-time for number of weeks.


How to expose a function to Javascript that takes a Uint32Array and returns a Uint32Array?

Hello, sorry for the noob question but I am extremely new to WASM and this is the final step I need to get my code working, and I can't quite figure it out.
For my website I am looking to offload a very intensive computation to WASM, and I thought Rust would be a good fit for this. Basically, I would like to send a matrix from Javascript to my WASM library and have it process it and then return a new matrix.
I have already written all the Rust code that computes the matrix (in Rust I am using a Vec) and I have verified that it works. The only thing I need to do now is somehow figure out how to get Javascript to be able to send a Uint32Array to this function and then have it send back a Uint32Array back to Javascript.
Unfortunately, I am getting some errors. First I tried doing this:
#[wasm_bindgen]
pub fn calculate_matrix(pixels: &mut Vec<usize>) -> Vec<usize> {
  // elided
}

But that was giving me this compiler error:
error[E0277]: the trait bound `Vec<usize>: RefMutFromWasmAbi` is not satisfied
  --> src\lib.rs:23:1
   |
23 | #[wasm_bindgen]
   | ^^^^^^^^^^^^^^^ the trait `RefMutFromWasmAbi` is not implemented for `Vec<usize>`

I thought maybe it was because it was only supported for u32 and not usize and that it's not allowed to be a mutable reference, so I had my function take a Vec<u32> instead and just clone the vec in the function back to usize, and that kind of worked, except now I'm getting a runtime error.
When I run wasm-pack build I get around 1000 pages of compiled WASM text output, and I have figured out that it is due to me trying to return a Vec<u32 from the function. If I remove the return value then it compiles successfully. For some reason it is not letting me return a Vec<u32>, but I'm not sure why. I thought that it would allow this but Javascript would just interpret it as a Uint32Array.
I was looking through the runtime compile logs and found these snippets:
Fatal: error in validating input
Error: failed to execute `wasm-opt`: exited with exit code: 1
  full command: "C:\\Users\\Admin\\AppData\\Local\\.wasm-pack\\wasm-opt-171374efd61df962\\wasm-opt.exe" "C:\\Users\\Admin\\Desktop\\wasm-rust\\pkg\\wasm_rust_bg.wasm" "-o" "C:\\Users\\Admin\\Desktop\\wasm-rust\\pkg\\wasm_rust_bg.wasm-opt.wasm" "-O"
To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.

Hmm, okay so I think what I might need to do is have the function take a &[u32] and return a Box<[u32]>, but that is still resulting in the same error in validating input runtime error. Even stranger, I found this page:
https://rustwasm.github.io/wasm-bindgen/reference/types/boxed-number-slices.html
And one of the code snippets gives me the same error:
#[wasm_bindgen]
pub fn return_boxed_number_slice() -> Box<[u32]> {
    (0..42).collect::<Vec<u32>>().into_boxed_slice()
}

Also results in me getting the same runtime error. Is it possible this used to be allowed but is now different and the docs haven't been updated? Or maybe I'm doing something else wrong?

Ah, it appears that was an unrelated bug (from here: https://github.com/rustwasm/wasm-pack/issues/886#issuecomment-667669802) and it has now compiled. Nice, progress!

You should be able to return Vec<u32> from a function as well as take &[u32] as well as an argument. Additionally you can take/return js_sys::Uint32Array which should work to. Have your issues been fixed at this point or are you still loooking for help?

You should be able to return Vec<u32> from a function as well as take &[u32] as well as an argument. Additionally you can take/return js_sys::Uint32Array which should work to. Have your issues been fixed at this point or are you still loooking for help?

I'm having a similar issue actually.
I have these errors:

the trait RefFromWasmAbi is not implemented for Vec<u32>
the trait bound Vec<u32>: RefFromWasmAbi is not satisfied

I'm having a similar issue actually.
I have these errors:

the trait RefFromWasmAbi is not implemented for Vec<u32>
the trait bound Vec<u32>: RefFromWasmAbi is not satisfied

I am a newbie too and I encountered this problem, I wrote a dummy function to test but it did not work:
// Rust
#[wasm_bindgen]
pub fn my_dummy_function(
        num_samples: u32,
    ) -> Vec<u32>
{
  let my_array: Vec<u32> = vec![12; num_samples as usize];

  //Clone::clone(&my_array)
  my_array
}

In the frontend the rust module is loaded like this:
import('../wasm-test-pack/pkg/myDummyPackage_bg.wasm').then((response) => {
      this.myFirstResult = response.add_one(1);
      console.log("Test dummy add: " + this.myFirstResult); // Works fine !! returns 2
      console.log("Test dummy vector: " + response.test_vec_output(1,1)); // Only works if I take two arguments
    });

The strange thing is after compiling the rust-wasm pack, the myDummyPackage.d.ts has the following exports:
Note that the function add_on is correct and it's working while the test_vec_output takes two numbers when in rust it takes only one input.
export const memory: WebAssembly.Memory;
export function test_vec_output(a: number, b: number): void;
export function add_one(a: number): number;
...

I am on ubuntu 22.04, rustc 1.71.0, I would really appreciate some help here :pray:

That's happening because you're importing the wrong file: you should be importing pkg/myDummyPackage.js, not pkg/myDummyPackage_bg.wasm.
pkg/myDummyPackage_bg.wasm is the underlying WebAssembly that gets created by rustc, and pkg/myDummyPackage.js is a JS wrapper for it created by wasm-bindgen. The reason that it needs to exist is that WebAssembly can only directly pass numbers to and from JS, which is what you're seeing in those TypeScript declarations; the JS wrapper then converts them to JS values (in this case, a Uint32Array).

Actually, when using the ".js" file I was not even able to get the result from the function add_one(a: number): number;, I also have not specified, but I use the angular framework. I use similar approach as this repo. When I use import and specify the ".js" file, this is what I get:

When I import using the "wasm" file:

I am actually not sure how much of the problem angular-related

The repo you linked instantiates the Wasm module by itself calling WebAssembly.instantiate(), if you gave it the JS file then the error message  isn't surprising. The generated JS shim by wasm-bindgen exports a default function, which you should use to initialize the Wasm module.
Unfortunately I know nothing about Angular, but it would certainly help to see the code again you changed to get to where you are now.


cftime.DatetimeNoLeap incorrectly decoded from netCDF file

What happened?
I have been given a netCDF file (I think it's netCDF3) which when I open it does not decode the time variable in the way I expected it to. The time coordinate created is a numpy object array

What did you expect to happen?
I expected it to automatically create a coordinate backed by a CFTimeIndex object, not a CFTimeIndex object wrapped inside another array type.
Minimal Complete Verifiable Example
The original problematic file is 455MB (I can share it if necessary), but I can create a small netCDF file that displays the same issue.
import cftime

time_values = [cftime.DatetimeNoLeap(347, 2, 1, 0, 0, 0, 0, has_year_zero=True)]
time_ds = xr.Dataset(coords={'time': (['time'], time_values)})
print(time_ds)
time_ds.to_netcdf('time_mwe.nc')

<xarray.Dataset>
Dimensions:  (time: 1)
Coordinates:
  * time     (time) object 0347-02-01 00:00:00
Data variables:
    *empty*

ds = xr.open_dataset('time_mwe.nc', engine='netcdf4', decode_times=True, use_cftime=True)
print(ds)

<xarray.Dataset>
Dimensions:  (time: 1)
Coordinates:
  * time     (time) object 0347-02-01 00:00:00
Data variables:
    *empty*

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.
[X] Recent environment — the issue occurs with the latest version of xarray and its dependencies.

Relevant log output
No response
Anything else we need to know?
No response
Environment
cftime 1.6.2
netcdf4 1.6.4
xarray 2023.8.0

This bug is causing me pain, especially in the index. For the array I can just do ds['time'].astype('datetime64[ns]') but I can't actually work out how to coerce the type of the array backing the CFTimeIndex object after it's been created.
I would prefer to fix the bug, but I actually don't know where in xarray to look. Perhaps @kmuehlbauer you might know where to point me? :)

@TomNicholas sorry for not commenting on this earlier.  As far as I can tell this is just an issue with the HTML repr, i.e. it should not affect indexing or otherwise interacting with the time coordinate (ds.indexes["time"] returns a CFTimeIndex).  It's definitely something we should fix, but it should not require any type coercion to work around.

Thanks @spencerkclark

this is just an issue with the HTML repr,

Oh really?? So I'm trying to coerce unecessarily? But is the dtype of the array backing the CFTIndex supposed to be object?

Like this looks like the wrong type of array
array([cftime.DatetimeNoLeap(347, 2, 1, 0, 0, 0, 0, has_year_zero=True),
       cftime.DatetimeNoLeap(347, 3, 1, 0, 0, 0, 0, has_year_zero=True),
       cftime.DatetimeNoLeap(362, 1, 1, 0, 0, 0, 0, has_year_zero=True)],
       dtype=object)

Yes, this is expected.  cftime.DatetimeNoLeap objects are not a NumPy dtype, so they have to be stored in an object dtype array.
As an aside, if you need to coerce to datetime64[ns] I would recommend using ds.indexes["time"].to_datetimeindex(), as ds["time"].astype("datetime64[ns]") is vulnerable to overflow.  See also https://github.com/pydata/xarray/issues/5107.

The repr looks similar for other types of pandas indexes too, so I'm guessing this was at some level intentional (though maybe worth revisiting in light of this confusion):

Thank you everyone for your help! ❤
I am still confused about what the difference between
cftime.datetime(1999, 1, 1, 0, 0, 0, 0, calendar='noleap', has_year_zero=True)

and
cftime.DatetimeNoLeap(347, 2, 1, 0, 0, 0, 0, has_year_zero=True)

is, but I was now able to do the operation I needed to do.

Should we leave this open to track the repr not being super clear, or just close?

I think we can close.
Though this could be a good opportunity to update our docs to be more clear about CFTime handling :)

For sure!  From the perspective of cftime they are the same, but for historical reasons xarray continues to use the calendar-specific subclasses.  To adopt the use of calendar-aware cftime.datetime objects internally will require a few changes in xarray, but maybe it's time we make that switch.  For context it was not always possible for cftime.datetime instances to be calendar-aware (it used to be a base class with limited functionality).
I am fine with closing.  Maybe if this kind of confusion around PandasIndex comes up again we can revisit the repr?

It seems I can't concatenate this index either:
dates = [
    cftime.DatetimeNoLeap.strptime('1999-01', '%Y-%m', calendar='noleap', has_year_zero=True),
    cftime.DatetimeNoLeap.strptime('1999-01', '%Y-%m', calendar='noleap', has_year_zero=True),
]
da = xr.DataArray(data=[0, 1], coords={'time': ('time', dates)}, dims=['time'])
print(da)

<xarray.DataArray (time: 2)>
array([0, 1])
Coordinates:
  * time     (time) object 1999-01-01 00:00:00 1999-01-01 00:00:00

xr.concat([da, da], dim='time')

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/IPython/core/formatters.py:344, in BaseFormatter.__call__(self, obj)
    342     method = get_real_method(obj, self.print_method)
    343     if method is not None:
--> 344         return method()
    345     return None
    346 else:

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/common.py:172, in AbstractArray._repr_html_(self)
    170 if OPTIONS["display_style"] == "text":
    171     return f"
{escape(repr(self))}
"
--> 172 return formatting_html.array_repr(self)

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/formatting_html.py:322, in array_repr(arr)
    320 if hasattr(arr, "xindexes"):
    321     indexes = _get_indexes_dict(arr.xindexes)
--> 322     sections.append(index_section(indexes))
    324 sections.append(attr_section(arr.attrs))
    326 return _obj_repr(arr, header_components, sections)

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/formatting_html.py:199, in _mapping_section(mapping, name, details_func, max_items_collapse, expand_option_name, enabled)
    192 expanded = _get_boolean_with_default(
    193     expand_option_name, n_items < max_items_collapse
    194 )
    195 collapsed = not expanded
    197 return collapsible_section(
    198     name,
--> 199     details=details_func(mapping),
    200     n_items=n_items,
    201     enabled=enabled,
    202     collapsed=collapsed,
    203 )

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/formatting_html.py:159, in summarize_indexes(indexes)
    158 def summarize_indexes(indexes):
--> 159     indexes_li = "".join(
    160         f"
{summarize_index(v, i)}
"
    161         for v, i in indexes.items()
    162     )
    163     return f"
{indexes_li}
"

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/formatting_html.py:160, in <genexpr>(.0)
    158 def summarize_indexes(indexes):
    159     indexes_li = "".join(
--> 160         f"
{summarize_index(v, i)}
"
    161         for v, i in indexes.items()
    162     )
    163     return f"
{indexes_li}
"

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/formatting_html.py:144, in summarize_index(coord_names, index)
    142 index_id = f"index-{uuid.uuid4()}"
    143 preview = escape(inline_index_repr(index))
--> 144 details = short_index_repr_html(index)
    146 data_icon = _icon("icon-database")
    148 return (
    149     f"

{name}

"
    150     f"
{preview}
"
   (...)
    154     f"
{details}
"
    155 )

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/formatting_html.py:136, in short_index_repr_html(index)
    133 if hasattr(index, "_repr_html_"):
    134     return index._repr_html_()
--> 136 return f"
{escape(repr(index))}
"

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/indexes.py:851, in PandasIndex.__repr__(self)
    850 def __repr__(self):
--> 851     return f"PandasIndex({repr(self.index)})"

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/coding/cftimeindex.py:356, in CFTimeIndex.__repr__(self)
    348     end_str = format_times(
    349         self.values[-REPR_ELLIPSIS_SHOW_ITEMS_FRONT_END:],
    350         display_width,
    351         offset=offset,
    352         first_row_offset=offset,
    353     )
    354     datastr = "\n".join([front_str, f"{' '*offset}...", end_str])
--> 356 attrs_str = format_attrs(self)
    357 # oneliner only if smaller than display_width
    358 full_repr_str = f"{klass_name}([{datastr}], {attrs_str})"

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/coding/cftimeindex.py:276, in format_attrs(index, separator)
    270 def format_attrs(index, separator=", "):
    271     """Format attributes of CFTimeIndex for __repr__."""
    272     attrs = {
    273         "dtype": f"'{index.dtype}'",
    274         "length": f"{len(index)}",
    275         "calendar": f"'{index.calendar}'",
--> 276         "freq": f"'{index.freq}'" if len(index) >= 3 else None,
    277     }
    279     attrs_str = [f"{k}={v}" for k, v in attrs.items()]
    280     attrs_str = f"{separator}".join(attrs_str)

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/coding/cftimeindex.py:704, in CFTimeIndex.freq(self)
    701 """The frequency used by the dates in the index."""
    702 from xarray.coding.frequencies import infer_freq
--> 704 return infer_freq(self)

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/coding/frequencies.py:98, in infer_freq(index)
     95         index = CFTimeIndex(index.values)
     97 if isinstance(index, CFTimeIndex):
---> 98     inferer = _CFTimeFrequencyInferer(index)
     99     return inferer.get_freq()
    101 return pd.infer_freq(index)

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/coding/frequencies.py:107, in _CFTimeFrequencyInferer.__init__(self, index)
    105 def __init__(self, index):
    106     self.index = index
--> 107     self.values = index.asi8
    109     if len(index) < 3:
    110         raise ValueError("Need at least 3 dates to infer frequency")

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/coding/cftimeindex.py:685, in CFTimeIndex.asi8(self)
    681 from xarray.core.resample_cftime import exact_cftime_datetime_difference
    683 epoch = self.date_type(1970, 1, 1)
    684 return np.array(
--> 685     [
    686         _total_microseconds(exact_cftime_datetime_difference(epoch, date))
    687         for date in self.values
    688     ],
    689     dtype=np.int64,
    690 )

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/coding/cftimeindex.py:686, in <listcomp>(.0)
    681 from xarray.core.resample_cftime import exact_cftime_datetime_difference
    683 epoch = self.date_type(1970, 1, 1)
    684 return np.array(
    685     [
--> 686         _total_microseconds(exact_cftime_datetime_difference(epoch, date))
    687         for date in self.values
    688     ],
    689     dtype=np.int64,
    690 )

File /glade/work/tnicholas/conda-envs/kerchunk3.9/lib/python3.9/site-packages/xarray/core/resample_cftime.py:495, in exact_cftime_datetime_difference(a, b)
    461 def exact_cftime_datetime_difference(a: CFTimeDatetime, b: CFTimeDatetime):
    462     """Exact computation of b - a
    463
    464     Assumes:
   (...)
    493     datetime.timedelta
    494     """
--> 495     seconds = b.replace(microsecond=0) - a.replace(microsecond=0)
    496     seconds = int(round(seconds.total_seconds()))
    497     microseconds = b.microsecond - a.microsecond

File src/cftime/_cftime.pyx:1574, in cftime._cftime.datetime.__sub__()

TypeError: cannot compute the time difference between dates with different calendars

@TomNicholas from the xarray point of view this essentially the same issue since cftime.DatetimeNoLeap.strptime (admittedly awkwardly) returns a cftime.datetime instance:
>>> import cftime
>>> cftime.DatetimeNoLeap.strptime('1999-01', '%Y-%m', calendar='noleap', has_year_zero=True)
cftime.datetime(1999, 1, 1, 0, 0, 0, 0, calendar='noleap', has_year_zero=True)

Concatenation should work OK with indexes composed of cftime.DatetimeNoLeap instances.


SpongeAPI 8

Test jar LuckPerms-Sponge-5.2.43.kar compiled from this branch: https://we.tl/t-8AYRD2N0kp

One thing, when you update someone's permissions, you will want to call Sponge.getCommandManager().updateCommandTreeForPlayer(ServerPlayer); for any player that has had their permissions updated so Sponge will send the updated command tree to the player.

Sure will do - do you know if it's safe to call that async?

@dualspiral @lucko That would not be safe to call async.

Thanks 👍
Added that, here's another jar: https://we.tl/t-7EKaJk4gGE

Updated to latest Sponge API.. new test build:
LuckPerms-Sponge-5.3.78.jar.zip

LuckPerms-Sponge-5.3.80.jar.zip

LuckPerms-Sponge-5.3.80.jar.zip

LuckPerms-Sponge-5.3.82.jar.zip

Sponge 8 has stablised version 8.0.0 of the API - https://forums.spongepowered.org/t/status-update-8th-january-2022-spongeapi-8-released/39861 (Although no stable release of the implementation yet)
So this should be changed to be using the non-snapshot version of the api and fixed for any changes.
Thanks for all your work on LuckPerms.


go1.18-openssl-fips: building toolchain2 fails with undefined reference to `dlsym'

I tried to build the new go1.18-openssl-fips branch on Fedora, with:
GOROOT_BOOTSTRAP=/ GOROOT_FINAL=/usr/lib/golang GOHOSTOS=linux GOHOSTARCH=amd64 GOOS=linux GOARCH=amd64 ./make.bash -v

but got this error:
Building Go toolchain2 using go_bootstrap and Go toolchain1.
...
# crypto/internal/boring
/usr/bin/ld: $WORK/b061/_x002.o: in function `_goboringcrypto_EVP_CIPHER_CTX_free':
/_/crypto/internal/boring/goopenssl.h:668: undefined reference to `dlsym'
/usr/bin/ld: $WORK/b061/_x002.o: in function `_goboringcrypto_EVP_CIPHER_CTX_new':
/_/crypto/internal/boring/goopenssl.h:287: undefined reference to `dlsym'
...

@derekparker any ideas? The same command succeeds with the go1.17-openssl-fips branch (3ece7d349521057450d587a94a495b2c476d0d88).

Are you using OpenSSL 3.0? In that case @dbenoit17 if finishing up adding OpenSSL 3.0 support right now.

@ueno I can not reproduce this, but it looks like go1.17-openssl-fips provides -ldl in #cgo LDFLAGS, which we may want to add to the 1.18 branch.  Could you test if this patch resolves your issue?
https://github.com/golang-fips/go/commit/f31bc5d8a4e6a365213761e4730daa7818e2f016

@dbenoit17 thanks; after changing #cgo LDFLAGS: "-pthread -ldl" to #cgo LDFLAGS: "-pthread" "-ldl" (note the quotation), it works.

Sorry, I overlooked that dlsym was the missing symbol, my brain read it as if the EVP_* symbols were missing hence my question on OpenSSL 3.
That LDFLAGS section was changed during the rebase because upstream added -lpthread however we don't need it in our fork. I'm testing a patch to fix this now. Odd it didn't come up sooner.


Implement rollup bundling

This implements a fairly standard Rollup bundling implementation, with
two different outputs for CommonJS and for ESM.
This moves to using the Rollup TypeScript plugin, and adds a couple
useful plugins for resolving node-like and commonjs packages.
May need some tweaking in externalizing dependencies, and I haven't
verified bundle sizes, but Rollup's ESM output should get us "as good as
it gets" bundle sizes when configured properly.
Should be an improvement over tsc's commonjs output, which is what was configured prior.

Huge thank you for this, @bwhitty! This has already saved me a lot of time.
In playing around with this pull request, I found a few issues (like the compilation step not finishing) that I've addressed with an iteration of your pull request. (See #47; I didn't want to push to your PR.) It's now passing all of the tests, though (as you mentioned) it still needs some more work. I did add a plugin for externalizing dependencies which seems to be working. (TSC already didn't include the dependencies, so this gets it back to where it needed to be.)
One remaining concern is that, since it is set back to ES6, it seems to be preserving most of the ES6 syntax in the final bundle. I know that the first project we tried to include Objective-Redux in had issues with that. Do we need to do some kind of polyfilling as part of the bundling process?

Closing in favor of #47


Allow customization of git clone command

I have 2FA on, which requires ssh keys. I have this setup within my sshconfig. Is there any way that we would change this to put a structured string like so: git clone github:%v in the ~/.config/sail/sail.toml file? Of course, the %v would be replaced with the repo that is being run.

Note: This would also solve #156

By default sail clones via ssh, so if you were to run sail run cdr/sail, it will expand the clone command to:
git clone<EMAIL_ADDRESS>

For me, it needs to be ssh://github:cdr/sshcode

of course, I can simply change it but just thought that customization of the command would be good (so I did not have to).

I changed it. I still think that it is good for non-github users for example. re: #128

This is already configurable via the default_host key in the config


Remove ref-names from .git_archival.txt

Howdy! @webknjaz recently posted about this issue with ref-names on a package I maintain, so I thought I’d also submit a change the recommendations/instructions/templates here (where I think I originally learned about .git_archival.txt).
It turns out that the ref-names field in .git_archival.txt will generate a different value depending on whether the commit that an archive was built from was the head of a branch at the time of archiving. That's a problem because it means someone trying to compare the hash digests of two archives built from the same commit might get different results based on when the archives were made, and not on any other intrinsic feature of the archives' content (e.g. if I wanted to verify a published archive from an official release of a package against an archive I made the package’s git repo, I might get a different hash). This removes the field in order to make Git archives a bit more stable and useful.
There’s some discussion and detail in setuptools-scm’s repo at: https://github.com/pypa/setuptools_scm/issues/806. In particular, this comment about Arch Linux packaging was pretty convincing for me that this is an issue: https://github.com/pypa/setuptools_scm/issues/806#issuecomment-2053967913

Thanks!


Look at the absolute difference in maximum usage percentage.

Motivation
When determining whether to publish a new load report to ZooKeeper, the usage% is compared with the usage% in ZooKeeper. If the percentage differs by a configurable percentage, the load report is published. Change this comparison to use the absolute percentage difference for usage% rather than percentage of a percentage.
For example, if usage% fluctuates between 10% and 15% and back again, that amounts to a 50%
increase (and 33% decrease) which triggers ZK updates (both times) although the utilization really only changed by 5% which should not be significant enough to update ZooKeeper.
Modifications
Write a load report to ZooKeeper only when the absolute  usage% changes by a configurable amount.
Result
Load report will not get published when the load fluctuation are small (in absolute) but large (as a percentage).

The percentage is configurable (loadBalancerReportUpdateThresholdPercentage) but it is not dynamic.


drivers: i2s: Fix compilation warning in i2s_mcux_flexcomm

CONFIG_I2S_MCUX_FLEXCOMM gates compilation of i2s_mcu_flexcomm.c, as well as the mcux-sdk fsl_i2s.c driver file.  If the config is defined but there are no devices that use the driver in the device tree, a few compilation warnings will happen.  Added an ifdef around the code to fix it.

I have a temporary out of tree i2s driver that needs fsl_i2s.c but does not use i2s_mcu_flexcomm.c (it replaces it).  Since the compilation is gated by the same config CONFIG_I2S_MCUX_FLEXCOMM, both get compiled and I get the compilation warnings that some static functions are defined but unused in i2s_mcu_flexcomm.c.
Perhaps the better way to solve this is to give the i2s_mcu_flexcomm.c driver its own config that selects I2S_MCUX_FLEXCOMM so that the compilation is gated by a different config value?  Or do you have another recommendation?

Perhaps the better way to solve this is to give the i2s_mcu_flexcomm.c driver its own config that selects I2S_MCUX_FLEXCOMM so that the compilation is gated by a different config value? Or do you have another recommendation?

Truthfully for a short term solution like this I'd just include the fsl_i2s driver via your application's CMakeLists. You can do something like this:
# Set MCUX SDK project name to app target
set(MCUX_SDK_PROJECT_NAME app)

list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/drivers/common)
list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/drivers/flexcomm)
include(driver_flexcomm)
list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/drivers/flexcomm/i2s)
include(driver_flexcomm_i2s)

Perhaps the better way to solve this is to give the i2s_mcu_flexcomm.c driver its own config that selects I2S_MCUX_FLEXCOMM so that the compilation is gated by a different config value? Or do you have another recommendation?

Truthfully for a short term solution like this I'd just include the fsl_i2s driver via your application's CMakeLists. You can do something like this:
# Set MCUX SDK project name to app target
set(MCUX_SDK_PROJECT_NAME app)

list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/drivers/common)
list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/drivers/flexcomm)
include(driver_flexcomm)
list(APPEND CMAKE_MODULE_PATH ${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk/drivers/flexcomm/i2s)
include(driver_flexcomm_i2s)

ok, thanks.  i will close this.


methods option doesn't work in v2?

What am I doing wrong?
I get a JSON parse error:
app
  .use(bodyParser())
  .use(cors({
    methods: ['GET', 'PUT', 'POST', 'PATCH', 'DELETE']
  }))

my bad. I had a trailing comma in my JSOn sending over the wire.


Overlay timestamp

How can I overlay timestamp on the video before it is stream out?
Thanks in advance

I am using MultiRtpDisplay. I tried addFilter/setFilter with TextObjectFilterRender(). But the text was not on the stream. May I know how could I add text especially the real time of the stream onto the stream.
Thank you very much.

Closing as inactive.


feat(postgres): use docker's official postgres:11 image

The original pg9.4 is too old and needs to maintain an independent boto; so I upgraded to the latest pg11, and all Python dependencies were in the official version.
I have passed tests in swift and minio, and I am trying to build other environments.

@duanhongyi , looks like Travis CI is failing because Docker needs to build image before we run tests. We will need to submit a PR to fix this and rerun our tests:
In travis.yml:
script: make test
should become:
script: make docker-build && make test
Have you tried running the controller with this new database image?

@duanhongyi , looks like Travis CI is failing because Docker needs to build image before we run tests. We will need to submit a PR to fix this and rerun our tests:
In travis.yml:
script: make test
should become:
script: make docker-build && make test
Have you tried running the controller with this new database image?

Yes, there is no problem with the controller. I'm still doing other tests. First, don't merge. I'll do a system test tomorrow.

@Cryptophobia
Hi Hi, the test has passed.
make docker-build && make test

This PR has been running for two days in our pre-release environment, there are five physical machines in this environment, I think there should be no problem.

add the latest Minio support, see this PR.

Merging now as it all looks resolved. Thank you @duanhongyi .

This broke some stuff, the image no longer has ca-certificates package in it, at least.  Also missing wget or curl for debugging purposes...

This broke some stuff, the image no longer has ca-certificates package in it, at least. Also missing wget or curl for debugging purposes...

Is ca-certificates necessary?

@Cryptophobia @yebyen
Sorry, I didn't verify this in S3 environment. ca-certificates have been added to postgres: 11-alpine.  #5

awesome! I will test that next, thank you very much


fix databricks builds

Signed-off-by: Gera Shegalov<EMAIL_ADDRESS>Databricks shim build are broken after #3323

build


 It seems to be related to how dawn is killed as it occasionally says she died when she's killed then lists all damage dealt to her and time elapsed since you started. This only happens about 1/10-20 kills.

Correction, it randomly ends the "kill" sometimes when dawn leaves at the halfway mark, not when she actually dies. Neither off the actual kills seem to trigger the kill, and it also doesn't seem to count the damage well.


Feature/3524 score card example

Fixes # BLUI-3524

Changes proposed in this Pull Request:

Added examples for Score card

Screenshots:

To Test:

yarn start:reactdev

These examples look very nice; one small comment -
Score Card w/ Heroes highlight needs adjusted.

It still looks like the code highlighting for Score Card with Heroes is off by 1 line.

It still looks like the code highlighting for Score Card with Heroes is off by 1 line.

@emclaug2 Updated


Create a "Check Application Status" page

Page must follow the theme and style of the website.
The header and footer must be the same.

What will the page include? @QAZIMAAZARSHAD

Something like this

Refer to few websites or implement your own ideas.
There should be few inputs like -  Your token number
There should also be a disabled button to download the generated voter id card. Should be active only when the card is generated after a few stages.


Fix overflowing image issues

False alarm. Issue is fixed. Had to do with the way I added tabs instead of spaces when changing all tips in posts.


Update to latest version of FIDO Metadata Service

Update to the latest MDS3 BLOB url. The format of the BLOB didn't change and the root certificate to validate it neither.

👍


Y axis range is increasing when the window is resized

Hey,
Initially the chart and annotations render perfectly, however when the window is resized, the Y axis range increases considerably. Without the annotations this doesn't happed. I think it might be happening because the bottom and top box annotations have no yMin and yMax values respectively (although it does say they're optional). Below are my annotation options and screenshots.
Any help would be greatly appreciated, cheers!
[       {          "type": "box",          "xScaleID": "x-axis-0",          "yScaleID": "y-axis-0",          "backgroundColor": "rgba(55, 56, 71, .2)",          "yMax": 20  },  {         "type": "box",         "xScaleID": "x-axis-0",         "yScaleID": "y-axis-0",         "backgroundColor": "rgba(55, 56, 71, .2)",         "yMin": 100     } ]

I have seen the same issue.
I have created a fiddle that shows the issue...
https://jsfiddle.net/benshort/f27e49jt/2/
Try resizing the page to see the issue.

Does not happen with v1 anymore: https://jsfiddle.net/g6ohzu48/


docs: update Transform examples

While learning how to use Blueprinter, I encountered some confusion with the current code examples.
The concepts are well-explained, but there appears to be a discrepancy with the method names used in the examples.
Checklist:

[x] I have updated the necessary documentation
[x] I have signed off all my commits as required by DCO
[ ] My build is green

Thanks for your review and suggestion!
I agree that the current example is too complicated, so I updated PR(I just only took in your suggestion 😄 ).
Let me know if there are any further adjustments needed.


ActionController::InvalidAuthenticityToken in Users::SessionsController#create

I like the starter kit. However, when I tried to sign up I received an error saying -> ActionController::InvalidAuthenticityToken in Users::SessionsController#create
I tried to solve this problem by adding ;
app/controllers/users/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
skip_before_filter :verify_authenticity_token, :only => :create
end
But, then it gives an error in the  forgot password screen. And also when I try to log in it redirects me automatically to sign in page. Not like in your demo
Thank you

same thing here

Switching to AR session store and removing this change set seems like solution
https://github.com/starterkits/rails4-starterkit/commit/a0865d9db7fe0bdd510737100762e278e53ca8ad


tell me how to start flash while recording

how to start flash while recording. if it has flash on-off feature then it is cool...

Hi @sangharatna,
This is currently not supported, but feel free to add this functionality and create a pull request!
Warm regards,
Jeroen


RuntimeError: The expression contained an invalid character range, such as [b-a] in most encodings

What an error could it be:
import SymSpellCppPy
symSpell = SymSpellCppPy.SymSpell()
symSpell.load_dictionary(corpus='frequency_dictionary_en_82_765.txt', term_index=0, count_index=1, separator=" ")

terms = symSpell.lookup_compound('Any text.')

RuntimeError: The expression contained an invalid character range, such as [b-a] in most encodings.
Python 3.9.7
SymSpellCppPy==0.0.14
MacOS 11.6

It can't parse absolutely any symbols
import SymSpellCppPy
symSpell = SymSpellCppPy.SymSpell()

symSpell.load_dictionary(corpus='frequency_dictionary_en_82_765.txt', term_index=0, count_index=1, separator=" ")
print(symSpell.word_count())

terms = symSpell.lookup_compound("the")

result = (x.term for x in terms)
print(*result)

python t2.py
82834
Traceback (most recent call last):
  File "/Users/romik/Work/swo/Release3/spellers/t2.py", line 7, in <module>
    terms = symSpell.lookup_compound("the")
RuntimeError: The expression contained an invalid character range, such as [b-a] in most encodings.

Should be difference between compilers.

Had the same issue, it's because of the "-" in the sequence xregex r(XL("['’\\w-\\[_\\]]+"));
It thinks there should be a range as in [a-b] or [0-9] but the characters to the left and right are invalid. Removing the dash or properly escaping it should fix the problem.


Do you have Tensorflow code of AsymmetricLoss?

Thank you very much!

You can refer to this method.
https://github.com/Alibaba-MIIL/ASL or https://github.com/SmilingWolf/SW-CV-ModelZoo/blob/c2f54b0c24653b855025ec9907dca8b03fd6a85d/Losses/ASL.py

https://github.com/SmilingWolf/SW-CV-ModelZoo/blob/main/Losses/ASL.py


saddle-points: Rewrite tests to use hspec with fail-fast.

Related to #211.

:+1:

Thanks again for reviewing all this, @petertseng! :smile:

Well, it is the least I can do since you are doing all the hard work :x


Need help. Float value instead of decimal.

Hi! Can you help me.
I import this excel file with decimal value of some attributes ("area" for example)

but in import preview the value is float:

Is it possible decimal value in import preview.

Hi @tarokinoe
How did you solve that problem with decimal values in xls import?
I will be very grateful for answer

Hi @unbeliever1
I create custom decimal field, where override clean method
class CustomDecimalWidget(widgets.DecimalWidget):
    """
    Widget for converting decimal fields.
    """

    def clean(self, value):
        if self.is_empty(value):
            return None
        return Decimal(str(value))

It works like a charm.
Thanks for the solution.


Add Various ColorPicker shapes

Introduce more choices of ColorPicker. The settings are available in property and editor settings.

Edit : I think this is enough for usability.

The thing that makes me surprised is when color is overbright . . .

Do we really need to implement all the ColorPicker shapes out there? I'd wager the most useful one to be the good old HSV wheel.

Do we really need to implement all the ColorPicker shapes out there? This could end up making the ColorPicker a huge class.
To me, it seems the most useful/desired ColorPicker shape is the good old HSV wheel. It solves most issues that the old square picker shape has.

I'm gonna re-think and edit this draft to dump out some TODO. And you just posted recently ^^
I know this is enough for editor usability, Not like painting software. The only target that I'm planned is the switcher only.

A spacing at the bottom of the circles to separate it from the current color would make it look better.

You need to convert to lab colour. If you're around we can chat on discord.

@fire I prefer to use Discord. gongpha#0238

I have updated the PickerShapeType to be SHAPE_VHS_CIRCLE and rebased on master.

I have updated the PickerShapeType to default to SHAPE_VHS_CIRCLE and rebased on master.

I think the SHAPE_HSV_WHEEL would be a better fit. It's more common and easier to use.
Have you seen with OP first? It's not common and practical to force-push changes to someone else's branch.

I did a rebase and set the Picker to SHAPE_VHS_CIRCLE, but it seems like there's disagreement. So I'll probably go with the consensus.
My personal preference is to also add HSY' because it deals with > 1.0 values better as shown earlier.

https://wolthera.info/2014/07/hsi-and-hsy-for-kritas-advanced-colour-selector/

@gongpha Feel free to take control again.

Thanks!

Note: this PR introduced a regression in the editor (and likely in user projects to a degree) because it creates shaders in the constructor of the ColorPicker control. In the editor this causes slowdowns/hitching when updating the Inspector dock, likely the more color pickers are involved, the more it hitches.
A fix is in works.


[$250] Chats - User remains on LHN page after onboarding flow completed

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

Version Number: 1.4.82-0
Reproducible in staging?: Y
Reproducible in production?: Y
Found when validating PR : https://github.com/Expensify/App/pull/41343
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Issue found when executing PR https://github.com/Expensify/App/pull/41343
Action Performed:
Precondition: user should be Signed Out

Open app
Write any email with public domain which was not user for registration before
Click on Continue button
Click on Join button
Select any onboarding option
Complete the onboarding flow

Expected Result:
User should be redirected either to the Concierge chat or Expensify persona
Actual Result:
User remains on LHN page after onboarding flow completed
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/1ad90af5-9dd3-439c-b39e-46499a23ae44

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0170226485ccb489be
Upwork Job ID:<PHONE_NUMBER>916133888
Last Price Increase: 2024-06-17

Issue OwnerCurrent Issue Owner: @hoangzinh

It seems like you should be redirected to the chat https://github.com/Expensify/App/issues/38774#issuecomment-2180250134

asked https://expensify.slack.com/archives/C036QM0SLJK/p1718885687316199

This seems to be by design on narrow devices https://expensify.slack.com/archives/C036QM0SLJK/p1718898938705079?thread_ts=1718885687.316199&cid=C036QM0SLJK
@slafortune would you be able to please update any testrail cases related to this to make sure they say that on mobile/ narrow screens the users are navigated to LHN after completing the flow? thank you!

Added to the regression test - close since this is expected.


Download sample data rather than having in repo

Similarly to xdem, we could have a script to download the data from archives, like google cloud?
Here's an example of link to Landsat image:
gdalinfo /vsicurl/https://storage.googleapis.com/gcp-public-data-landsat/LE07/01/140/041/LE07_L1TP_140041_20001030_20170209_01_T1/LE07_L1TP_140041_20001030_20170209_01_T1_B2.TIF

Fun thing, this (or at least a highly related) issue just got much more important! The website of the Norwegian Polar Institute have started issuing 503s for the glacier outline dataset, so #265 (and probably all other tests) fail now!

The servers are back now!


Rev'ed notifications to 0.7.0

#54
Now that notifications has been merged into the master branch, needed to include it as part of the scripts.
Signed-off-by: Trevor Conn<EMAIL_ADDRESS>

👍

FYI -- This PR won't pass until config-seed-go PR is merged, followed by fix to Notifications that I have to discuss with @akramtexas @xmlviking tomorrow.

@tsconn23 Sure, let's please discuss the path forward involving (1) config-seed-go PR to be merged, and (2) followed by fix to Notifications.

recheck

recheck

recheck

recheck

recheck


New version: VSCodium.VSCodium.Insiders version <IP_ADDRESS>37

Pull request has been automatically created using 🛫 WinGet Releaser.
Microsoft Reviewers: Open in CodeFlow

@wingetbot run


Field not set by constructor early enough

Is this correct behavior?
I was expecting b to be set by foo2 constructor before executing overloaded doStuff function.
abstract class foo {
    constructor(protected a) {
        this.doStuff();
    }

    abstract doStuff()
}

class foo2 extends foo {
    constructor(a, protected b) {
        super(a);
    }

    doStuff() {
        if (this.b === undefined)
            alert("Boo!");
    }
}

new foo2(10, 20);

example here: playground
TS: 2.7.2

It's illegal to use this before calling the super constructor. So a superclass constructor generally shouldn't call virtual methods.

ok thanks, could it be tested by TS?

I think that would be pretty hard to do in general, though you could avoid the problem completely by writing a lint rule that prevents a constructor from calling abstract methods.

ok thanks:)


Uncrustify requires a config file

https://github.com/mhartington/formatter.nvim/blob/cb4778b8432f1ae86dae4634c0b611cb269a4c2f/lua/formatter/defaults/uncrustify.lua#L1-L7
You'd need a -c /some/path argument, but it's impossible to provide to this formatter.
The alternative is to export an environment variable $UNCRUSTIFY_CONFIG, with the path of the configuration.
If the only way to use it is supposed to be the environment variable, it would be fair to document it (if nothing better, at least a comment in the formatter definition).
Allowing for more arguments to be passed in the formatter definition would be the favorite option (then you could decide to use the environment variable anyhow, but it's up to individual choice).

Looks like you can do this:
return function(lang)
   return {
     exe = "UNCRUSTIFY_CONFIG=/path/to/file uncrustify",
     args = { "-q", "-l " .. lang },
     stdin = true,
   }
 end

Oh, yes, that's very similar to what I'm doing:
local function uncrustify(lang)
  return {
    exe = "uncrustify",
    args = { "-q", "-l " .. lang, "-c $XDG_CONFIG_HOME/uncrustify.cfg" },
    stdin = true,
  }
end

But the issue was that requires to rewrite the formatter myself (in both cases), fully ignoring the one provided by the plugin.
Thus, having it in the plugin is useless, because it is unusable, and everyone would have to maintain possible updates on their own (against the concept of a reusable plugin).
The idea was to replace the formatter with something like:
local function uncrustify(lang, args)
  return {
    exe = "uncrustify",
    args = { "-q", "-l " .. lang, table.unpack(args) },
    stdin = true,
  }
end

to allow extension with further arguments. Or to add an explicit config argument.