Add details about list of google domains that aurora store need to access

Source: https://gitlab.com/AuroraOSS/AuroraStore/-/issues/694
It might be good to add explanation for each rather than write domain list. eg:
sub.domain.com - load app icons, description images
sub.domain.com - download apk file
Furthermore that help users to unblock only necessary domains or subdomains if they are handling restricted network environment
@marchingon12 Consider to keep this repository too on gitlab under https://gitlab.com/AuroraOSS and you can set mirror to github if necessary :)

IAs said on Gitlab, I said I'd do it. But as for the "keeping it on Gitlab" would be a bit too much to maintain, because there is no easy way to copy paste to the GitLab integrated wiki platform. I hope you understand!


Broken short array syntax fixer

Ther short array syntax fixer after the latest commit also unalings the equals too...

Can you provide an example?

I think this is actually caused by the transformer changes. https://github.com/laravel/framework/pull/14681/commits/c0305b4dab922b6da7c235a6484f654dcda8b6e7

Please provide specific version (what is latest commit? at least which line) and minimal code sample that describes issue.

Broken on master branch. Not broken 18 days ago on master.

Unrelated to the short array syntax fixer.

To be honest I have no idea what is the bug you are trying to report. To messy, too few information.
Please create a PR with utests. Or even with a fix.

laravel/framework@c0305b4
The above happened with zero config changes. The unalign double arrow fixer was not turned on.

I'll try and send a proper bug report once I get time. Sorry this one was really shitty.

ping @GrahamCampbell


App password delete

It will need Global Admin to delete existing app password. Authentication admin cannot do this.
https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/delegate-by-task
Please update the doc

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

ID: 51eadd8e-b820-be21-9cb3-b52f334fb94d
Version Independent ID: fe358aa5-5bb6-b8f0-8ab7-ef181dc8af42
Content: Manage authentication methods for Microsoft Entra multifactor authentication - Microsoft Entra ID
Content Source: docs/identity/authentication/howto-mfa-userdevicesettings.md
Service: entra-id
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@BoNiuMM
Thanks for your feedback! We will investigate and update as appropriate.

@BoNiuMM
Thank you for bringing this to our attention! We've initiated a pull request (PR) to address this issue. Once the author reviews the changes, they will be merged, and the updates should go live shortly. Your diligence is much appreciated!


Fix media-block having 0 height with only floating children

The media-block element has 0 height when it contains only floating children, has floating elements do not induce height on their parent. The result is text sitting to the right of the media when it shouldn't. Using overflow: hidden on it fixes this by establishing a new block formatting context, as explained here: https://www.w3.org/TR/CSS21/visuren.html#block-formatting

@delroth Please review and/or merge! This should fix an issue I ran into while replacing gfycats on the blog.

You could also use display: flow-root; in modern‑ish browsers.


obs screen recognition doesnt work  when open a ingame map

Hello,
i try your script on my game with the newest update and when i open map ingame doesnt work but do the job on the deploy screen.
The bug is due to the incorrect mask, i dont know if it's my screen, new update or simply incorrect mask but i resolve by doing a new mask with the correct screen.
I send in attached file, the correct mask and my psd use to do it.
mask-1080p.zip
mask-1440p.zip
edit:
instead of pip install -r requirements.txt
the command used by people is python -m pip install -r requirements.txt
and in file requirements.txt you need to put or you get No matching distribution found on opencv
mss==6.1.0
numpy==1.19.3
obs-websocket-py==0.5.1
opencv-contrib-python==<IP_ADDRESS>
opencv-python==<IP_ADDRESS>
six==1.15.0
websocket-client==0.57.0
click==7.1.2

All packages are update to latest, only numpy are leave to 1.19.3 because a bug on latest numpy
the message when try to use latest numpy is
RuntimeError: The current Numpy installation ('C:\\Python\\lib\\site-packages\\numpy\\__init__.py') fails to pass a sanity check due to a bug in the windows runtime. See this issue for more information: https://tinyurl.com/y3dm3h86

Updated! Thanks for the mask files - real time saver. Thanks for the other feedback too, I've tested and updated them all.


Remove mention of ncdump in README/docs

The call to ncdump was removed in #37, and it would be nice to update the docs to reflect this.

Closed by #53, thanks.


Added CSS Pseudo Classes deck with 3 questions

New to this, here from Hacktoberfest, let me know if I've made any errors!

@nicholasnbg thanks for additions! Do you mind updating your master, and adding these to the current psuedo-classes deck? Then make a new PR


Request: Armor as (Customizable) Damage Reduction

Hi!
First off, thank you for your hard work.
I looked into creating this mod myself, but I'm lost (no exp with C# or Unity). Given how well this one is going, I decided to try my luck asking you.
The feature I'd love is to be able to convert all armor bonus to AC into N/- damage reduction.
I doubt specifically all Armor AC can be converted to DR. So, just a flat Blueprint modification of all equippable armor to grant DR instead of AC would also work. If we could also adjust the DR value through the options menu, it'd be awesome.
Keep up the good work and thanks in advance.

There is already an unchained ruleset for this in the alt rules:
https://www.d20pfsrd.com/gamemastering/other-rules/armor-as-damage-reduction/
Natural armour bonuses and armour basically get converted to DR which can stack with class features. Though armour DR has bypass depending on material.


About the difference between two task

Task "2D → 3D" is based on single frame input & single frame output
While task "I2D → 3D" is based on multi-frames(or frame sequence) input & single frame output.
Is it right?

No. '2D' means  your input is 2D skeleton which all keypoints given.
'I' in 'I2D' means incomplete, so you still take 2D skeleton but with some of them missing (annotated as 0s, to simulate occluded points) and you need to predict complete 3D skeleton

No. '2D' means your input is 2D skeleton which all keypoints are given. 'I' in 'I2D' means incomplete, so you still take 2D skeleton but with some of them missing (annotated as 0s, to simulate occluded points) and you need to predict complete 3D skeleton

Wow, thank you for your reply! I think the model of task "I2D → 3D" is more practical!


update npc drop target to match new R20 syntax

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[ ] The pull request makes changes to files in only one sub-folder.
[ ] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Updates

Updated npc drop target for upcoming swedish compendium to match new R20 class syntax.

Character Sheet Info Roll20 Internal Use only.


Validate excluded checkers

PR for issue #390

Thank you for awesome PR! :+1:

Btw, just a tip: if you types "fixes #..." or "closes #...", Github will automatically closes the issue after merge of this PR.

Thank you @mzstic
I got some time so I've resolved my comment, merging :+1:


Migrate //kccapi:spec to this repository

The //kccapi:spec target can be built in the monorepo. Migrate the code needed to be able to run this target in this project instead. When this is done, it should be possible to run bazel build //:spec in this repository, generating an output file that is equal to the file available as bazel-bin/kccapi/all-specs.yaml after having run bazel build //kccapi:spec

Migration completed, awaiting review

This has been done


Remove -isysroot when patching sysconfig

Summary
This is equivalent to https://github.com/indygreg/python-build-standalone/pull/414, but at install-time, so that it affects older Python builds too.

Should this be scoped to macOS?

I think I'll leave it? We only set this in the macOS builds anyway, IIRC.


llvm binaries

On windows specifically how and where do we get the libllvm binaries from or do we compile them from source because i am probably missing something obvious

Unfortunately you need to compile them from source. Use cmake and follow the instructions on the llvm site, I guess.

Alright thatll have to do i guess

Note: I've recently put up a set of compiled libraries for our dependencies for use by the CI platform: https://github.com/flax-lang/flax/releases/tag/win-build-deps


🐛 Bug Report: Error InputError - Committing the changes to feature/branchname failed. Please check that none of the files created by the template already exists

📜 Description
backstage "version": "1.28.0"
Using software template creating merge requests to existing repository in gitlab
if we create merge request with new files its creating merge requests
if we create merge request with files already exists in repository its resulting in error, tried with create and update options
below is our template
https://github.com/vinaykv23/catalog-info/blob/main/catalog-info.yaml
properties:
action:
title: Merge action
type: string
default: "create"
enum:
- "create"
- "update"
- "delete"
Error
InputError
Message
Committing the changes to feature/branchname failed. Please check that none of the files created by the template already exists. HTTPError: Response code 400 (Bad Request)
👍 Expected behavior
it should be able to complete the gitlab merge request creation process
👎 Actual Behavior with Screenshots

👟 Reproduction steps
backstage "version": "1.28.0"
Using software template creating merge requests to existing repository in gitlab
if we create merge request with new files its creating merge requests
if we create merge request with files already exists in repository its resulting in error, tried with create and update options
below is our template
https://github.com/vinaykv23/catalog-info/blob/main/catalog-info.yaml
properties:
action:
title: Merge action
type: string
default: "create"
enum:
- "create"
- "update"
- "delete"
Error
InputError
Message
Committing the changes to feature/branchname failed. Please check that none of the files created by the template already exists. HTTPError: Response code 400 (Bad Request)
📃 Provide the context for the Bug.
No response
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

Gonna close this as a duplicate of #16662
This is now also fixed by #25548, which will be released on Aug 20th.


[Suggestion] integration w/ immersive petroleum

in what aspect? which part of immersive petroleum doesn't work with tfc?


coq_8_12: 8.12+β1 → 8.12.0; coqPackages.equations: 1.2.2 → 1.2.3

Motivation for this change
New release: https://github.com/coq/coq/releases/tag/V8.12.0
Also update the equations package for compatibility with Coq 8.12.0
Things done

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

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

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

@GrahamcOfBorg build coqPackages_8_12.bignums coqPackages_8_12.equations


[firebase_auth] compilation error uprgading from 0.15.3 to 0.15.4

Describe the bug
When I upgrade firebase_auth from v0.15.3+1 to v0.15.4, the following error appear in compilation:
Error: The method 'confirmPasswordReset' isn't defined for the class 'FirebaseAuthPlatform'.

details can be found in the check run https://github.com/tianhaoz95/iwfp/pull/265/checks?check_run_id=411215259#step:12:57
To Reproduce
Steps to reproduce the behavior:

compile a project with firebase_auth 0.15.3 or below
upgrade to 0.15.4
compile again
see the compilation error

Expected behavior
It should compile and execute without crashing.
Additional context
The compilation was executed in ubuntu-latest in GitHub Actions.

Closing - confirmPasswordReset support is now available in the latest plugin version.


Bump to version 20.2

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Fixes https://github.com/grimme-lab/xtb-python/issues/32

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Assume masks are correct

Reopened from #385.  Closes #384.
I should have waited for CI to go green :)

I think there must be an infinite loop in valid because it causes a stack overflow.


Fatal: too many params

I'm getting that all the time, I believe it's because of lack of escaping of ", how I can fix it?
Running command: git config --local user.name "xxx"
Running command: git config --local user.email "yyy"
Running command: git tag -a -m "blabla "the name" bla" "tag name" "tag path"
fatal: too many params
EDIT:
Seems like https://github.com/nirvdrum/svn2git/blob/master/lib/svn2git/migration.rb

run_command("git tag -a -m "#{escape_quotes(subject)}" "#{escape_quotes(id)}" "#{escape_quotes(tag)}"")

is not escaping properly. I'm not Ruby guy, anybody with quick-fix?

What worked for me, since I was making a Win batch script, was to replace single quotes with double quotes


Prioritisation/routing between queues

Now that Dynamics supports voice, chat and record routing, please can the document be updated to clarify behaviours when multiple workstreams/queues are assigned to agents with the push assignment method?
For example how do I make sure voice calls and/or chats (real time work items) are prioritised and routed to available agents above record based (offline work items)?
The documentation does not explain how routing works between multiple queues or if it is possible for administrators to change/define routing behaviours between queues. This is critical to adopting and getting maximum value from Dynamics Omnichannel.

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

ID: fc2d0da5-119d-574e-2a8c-b3ed19df5484
Version Independent ID: f331e4b4-f013-93ce-be71-33b292b1e093
Content: Create and manage workstreams
Content Source: ce/customer-service/create-workstreams.md
Service: dynamics-365-customerservice
GitHub Login: @neeranelli
Microsoft Alias: nenellim

Thanks for your comment, @Dan-Newton. This issue has been assigned to the doc author for review.

Hello @Dan-Newton,
The PMs have suggested the following approach. Currently, we are considering the options to document this information.

We typically recommend a combination of the capacity profile settings and the presence in assignment rules to optimize blended channel implementations. We can ensure that agents are not disturbed by new work from any channel while on a call, but they can receive more work from any channel while working on chats or emails.
To do this, each channel can have its own capacity profile to track the work limits separately in each channel, for example:

Voice Profile: with a limit of 1, assignment blocking is set to "Yes". This ensures that agent presence is set to Busy-DND when the limit is reached.
Chat profile: with a limit of 3, assignment blocking is set to "No". Presence is updated as "Busy" after 3 chats have been assigned.
Record profile: with a limit of 5, assignment blocking is set to "No".

With these profiles and allowed presences for Voice set to "Available" only in the workstream, no further chats or emails will be assigned while the agent is on call. For chat, "Busy" and "Available" can be set as allowed presences, so that new chats can be assigned even with other items, but calls will not be interrupted. For records, all presences can be provided as allowed to make it more permissive.
On the assignment and prioritization side, today unified routing runs assignments in parallel across queues to optimize performance. Due to this parallelization the configuration in each queue is independent and prioritization is only within a queue.

Thank you.
Neeraja

Thank you Neeraja, however please can I pick up one point on the below?

On the assignment and prioritization side, today unified routing runs assignments in parallel across queues to optimize performance. Due to this parallelization the configuration in each queue is independent and prioritization is only within a queue.

Does this mean there is no consideration given to how long work items have been waiting in each queue? So if I have
Voice queue - longest waiting work item 10 minutes
Chat queue - longest waiting work item 3 minutes
Email queue - longest waiting work item 25 minutes
The business requirement here would be:
Voice queue routes first since it has the longest waiting 'real time' work item.
Chat queue routes second since it is the 2nd longest waiting 'real time' work item.
Email queue routes only if there are no work items in voice or chat.
If work items across queues simply route "in parallel" how does Microsoft ensure even distribution across work items/queues? how can I be assured that my agents will not be stuck on less important work items whilst work items such as voice calls are left waiting excessively?
This feels like a problem many organisations will have.

Hi @neeranelli
Please could we get an update from the PMs on the above and specifically this point

On the assignment and prioritization side, today unified routing runs assignments in parallel across queues to optimize performance. Due to this parallelization the configuration in each queue is independent and prioritization is only within a queue.

Despite following the guidance above on capacity profile settings and the presence in assignment rules we are seeing an issue whereby work items routing in parallel does not make sense when using blended channels. For example if we have a voice call waiting 15 minutes, it is possible an agent becoming available may be routed a chat which has only been waiting 2 minutes, this causes the voice call to abandon.
Do the PMs have any additional advice/workarounds for blended channels? this seems to be a substantial blocker to adopting the omnichannel solution and maximising licence value.

My apologies for the delay, @Dan-Newton. I have forwarded your questions and am awaiting their response.
Best regards,
Neeraja

Thank you for following up, @Dan-Newton. I have sent a reminder to the stakeholders and will get back with their response.
Best regards,
Neeraja

Hello @Dan-Newton,
Apologies for the delay! The PM's response is as follows:

Currently we would look at the wait time within the queue and not across the queues. We see other customers dividing agent shifts between live channels and non-live channels. By doing this only the voice channel is allowed to interrupt chat channels. And non-live channels are handled at a different time.

We are exploring cross-queue prioritization ask but do not have any timelines to share. However, it would be really helpful you could let us know the following details of your scenario in our Ideas portal ¬

Do agents handle all three channels at the same time?
Can agents work on more than one item per channel for ex. Up to 3 chats and 10 emails at a time. If yes, would agents already holding 2 chats, be eligible for newer emails or is the requirement to allow agent to finish up on a live channel before assigning from a non-live channel?

If this response meets your expectation, please let me know if I can close this issue as there's nothing that requires to be updated in the docs itself.
Best regards,
Neeraja

Hi @neeranelli
Are you able to confirm with the PM if routing between agents in multiple queues has changed recently or since the last statement in this thread?
There is some suggestion from our team that record based routing (cases) are no longer actively routing while calls/chats are queued. Only if no calls/chats are queued are records being routed.
All our agents are in the same 3 queues - voice, chat and record based.

Hello @Dan-Newton,
As far as I am aware of, there's no change in prioritization. I am awaiting the PMs response.
Best regards,
Neeraja

Hello @Dan-Newton ,
Can you please provide the following information that's required:

Which region are you using the Customer Service instance in?
Do you use units or capacity profiles for your case and chat assignment?

Thank you.

Hi @neeranelli
UK region
We use units for case and chat assignment, capacity profiles for calls.


How to set up the environment

Hello, I'm curious to know how you configure the IDE while developing. Although I am able to run the project from the command line and fuzzing, I am having trouble reading the code and jumping to see the function definitions and references.
I don't know much about bazel, and I tried to set up the dev environment for several days. What's worse.. There is no tutorials about develop go program with bazel.
Hope to get a reply

Hey!
Thanks for reaching out, we don't have good advice here as most of us just code on terminal + vim and use github/git grep to find references/definitions.
Sorry we don't have better advice on this, but you could take a look at https://docs.bazel.build/versions/0.24.0/ide.html


fix(pr): Testing PR on master

The script to validate PRs was really confusing about what being a PR
meant or not. This version should work better.
Basically it will succeed when not on Travis, reject PRs not on
develop, except if they are on master with either a docs() or
a hotfix mention.
So this very own PR, even if done on master, should just be valid and fix #931

Thx


Should Brochard offer UoW pattern through IContentStore?

This issue is to discuss if the UoW pattern is a need to fulfill in Brochard or not
Discussion started in the middle of a commit: https://github.com/OrchardCMS/Brochard/commit/327cd9b43667e975a036fc2d66ee6aaa3c2696a1#commitcomment-11269146

My opinion.
If I only pay attention to what I get from UoW pattern I prefer to have it, because it helps me to make simpler code when I retrieve contents through IContentStore that I need to process in an algorithm that can change or not some of those contents. I don't need to include code that updates those contents only if they are changed. This duty is delegated on the IContentStore when it implements UoU.
If I pay attention to the cost of developing an implementation of IContentStore with UoW behavior is when doubts arise. Even though I don't think it should be difficult.
I did it previously on a private project with Siaqodb db (that OO db doesn't provide an UoW service). Problem is I did it based on Property Changed events that were raised by setters of the properties of my contents. In Brochard we don't have that Property Changed events (in fact I don't think it is the right solution). Instead, we can use a similar approach to what EF tracker does.
At this point, maybe we should take a look to EF7 to see how its tracker works and maybe use it or borrow it for our alternate implementations (based on stored procedures, or others).
Thinking it twice, the only thing EF7 offers us when we'll use EF7 for accessing NoSQL dbs is the UoW pattern and LINQ queries, other duties will be delegated on the EF7 Provider specific for a concrete db.
So, why do not investigate a bit how EF7 has abstracted their providers to see if it is interesting to use EF7 as our UoW implementation for all our IContentStore implementations, and offer alternate providers for the different storages we want to support?

I think some of the assumptions related with UoW that we made when we initially designed Orchard need to be challenged, although I'm not sure what the solutions are. But here goes, to get the conversation started:

ambient transaction: even though transactions are also useful when only reading, the default settings for that transaction unnecessarily slow things down by assuming that there will be writes. In a CMS however, writes are the exception, and most requests are read-only.
implicit persistence and commits: changes to entities get automatically and mysteriously persisted, if the transaction is not rolled back, which is somewhat surprising to new users. I've come to prefer more explicit persistence, still framed with transactions.
change tracking: it's not always clear what objects track changes, and what objects don't. In a document-driven storage system, the requirement to track changes is not as strong, and way less complex, as there are less relationships to keep track of.

@bleroy I totally agree first two points have a room for improvement in the sense you point.

ambient transactions: by default shouldn't be used.
implicit persistence and commits: much better explicit persistence

However, related to third point I don't agree due two reasons.

First, because change tracking still is useful to kwow which of the documents of a set has been changed in situations where you have to store changed ones after process them.
Second, because I think it would be better to maintain Orchard as agnostic of the technology of storage as possible. When you think in document-driven storage to decide if change tracking is needed, you are taking a decission based on a a technology (document-driven storage). What if in a near future we test hibrid dbs (Graph-document dbs) and those improve performance of queries retrieving documents pointing to other documents? At this point change tracking would matter. Why renounce to this possibility by a design decission?

Can you elaborate on a scenario when only some of the documents in a collection need to be persisted, and you couldn't as easily know without tracking?
I'm not assuming a storage technology, just that the high-level API will deal with documents. In Decent, I already have three different storage technologies under the same document-centric API.
Content items are documents, it's a fact of CMS that unfortunately few CMS recognize (including Orchard), and it makes their data API awkward. I think that's what we're trying to fix.
Now there remains questions about non-content-item data, but our first scenario is content.

You are right is difficult to find a sample for simple documents. All the scenarios I can think where tracking really helps me are those not based only on documents. I mean it would be a help in document-graph dbs. For example if you have a Product document that has Content-Item field called Supplier that links it to an external Supplier document. And this Supplier document has a Content-Items field called Products that links to all the Products it supplies.
If I remove a Product from the Products list of a Supplier my code will change the Supplier of the Product Document to null. This change in Product Document needs to be tracked to help me simplify storage.
I agree content-items are documents  but why documents cannot have links to other documents that can improve a lot queries performance. So I think is worth to take into account the Document-graph dbs to put things easy to harness them.
What if for previous scenario I want to get all the products with its Supplier?
Which steps will do a pure document db?
An hybrid db supporting LINQ should allow us in theory to get them in very fast way (faster than a relational db or an document db):
dbContext.Products.Where(p=>p.Description.Contains("soap").Include("Supplier")
What if for previous scenario I want to get all the products that belongs to suppliers located in Spain?
Which steps will you do with a pure document db for creating this query?
An hybrid db supporting LINQ should allow us in theory to get them in very fast way (faster than a relational db or an document db):
dbContext.Products.Where(p=>p.Supplier.Country=='Spain')

The point is if you remove tracking from IContentStore, all the code which consumes this interface will be written with that in mind. If in the future you want to take profit of tracking for hybrid dbs, the code written by all the consumer classes till that date will be broken.

Documents can have references to other documents, but they should not in most cases. Furthermore, those links themselves will be an id somewhere in the document, which an ORM won't be able to track.
Query performance is irrelevant if we decide to separate querying from storage, using a map/reduce type of querying API: in that case the storage schema, even with relations between documents, doesn't matter as you'll flatten all that into an index, and then that's what you query. Your product-supplier scenarios are covered with simple indexes.

Well, there are other places where those links will be useful, like Taxonomy Terms and this is a very important topic in Orchard
In the case of document databases as you say those links are simply ids (foreign keys) pointing to external documents that an ORM cannot track if you store in that way.
The question is; EF7 that that will support NoSql dbs will it support to use navigation properties when underlying storage is a DocumentDb or a Graph-documentdb? If the answer is yes then it means we can store those relations as Navigation properties and it will do the dirty work under the hoods.
The steps needed to get all the products with its Supplier or to get all the products in a taxonomy term, will be very diferent in performance terms if you use an hibrid db or a model without navigation properties like the one you propose.
The steps with navigation properties + hibrid db + EF:

Query index to get the taxonomy term id by term name
dbContext.TaxonomyTerms.FirstOrDefault(p=>p.Id==termId).Include("Products")
this only query to the db engine is specially fast in a graph db because retrieving the TaxonomyTerm it has the phisical addressed in disk where referenced Products are stored because they are stored within the TaxonomyTerm. So db engine retrieves each Product directly from its postion in disk in one step.
The steps without navigation properties + hibrid db + EF:
Query index to get the taxonomy term id by term name
taxonomyTerm = dbContext.TaxonomyTerms.FirstOrDefault(p=>p.Id==termId)
foreach (productId in taxonomyTerm.ProductIds) {dbContext.Products.FirstOrDefault(p=>p.Id==productId)}
This time you need make a call to db per each product in the TaxonomyTerm (instead of one like in previous scenario)  and each of this calls needs two steps by the db engine (instead of one like in previous scenario): first retrieves the position in disk from an index, second retrieves the product from the address in memory.

I think the difference in performance will be relevant.
Related to map/reduce API I like the idea but I still see it as a black box. Can you point me a sample with an approximation of the consumer code that will create indexesfor queries like the ones in scenarios I proposed where there are relations between documents to have a clear idea of what you propose?

Well, the way it would happen is that you'd be able to move the costly part of the request to the indexing phase, where performance is less crucial. The way if would work is that the map function would create an index entry for each term, with a value that contains the list of associated products, with as much or as little details as you want. When querying that index, you'd just access the entry for the term(s) you're looking for. That's an extremely cheap operation.
But I'm thinking that it may be a little too radical to do all querying through the map/reduce API, and if we leave other, more conventional possibilities, then your points stand.

I see, it looks better to maintain both paths open.
Related to how EF does change tracking and its impact on performance. I would spect that EF7 document db or hibrid db providers would offer its own change tracker that provides a lighter change tracking aware of the nature of documents. But this pure speculation I'm looking for information related with this. By the moment I have asked the question to Athur Vickers in his interesting post related to how to develop a providerf for EF7
http://blog.oneunicorn.com/2015/05/07/ef7-provider-building-blocks-2/#comment-10655

The UOF pattern is provider specific.... as only the content store which wraps the storage can dictate how to persist and track data - so this will also leave both paths open.


Business logic

Is there any where to put business logic? Could you add en example to the readme if so?

What kind of business logic?
If it's logic relating to authorization, I'd look into creating an authorized repository that determines which resources users have access to (see here).
If it's something else, you can always override the controller methods. But I'd be interested in hearing your use cases.
[Route("api/v1/[controller]")]
public class DataFactoriesController : JsonApiController<DataFactory, long>
{
    public DataFactoriesController(
        IJsonApiContext jsonApiContext,
        IEntityRepository<DataFactory, long> entityRepository,
        ILoggerFactory loggerFactory)
    : base(jsonApiContext, entityRepository, loggerFactory)
    { }

    [HttpGet("{id}")]
    public override async Task<IActionResult> GetAsync(long id)
    {
        // --> my logic
        return await base.GetAsync(id);
    }
}

Thanks, that answered my question.


[deliver] Is there a way to set empty string for metadata ?

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
No change for the appStore, when I set an empty string to subtitle.txt and upload it to appStore by deliver
Command executed
fastlane deliver
Environment

 fastlane 2.160.0

I want to set empty string for some metadata, but deliver ignored uploading them.

Please use discussions as per #16811 for questions.


Un-generators

We'll eventually want un-generator commands. Generally, they'll do the following:
• Delete the generated screen
• Delete the generated styles
• Un-link the screen from the navigation if the navigation plugin supports removing.

This is probably close enough to close this issue. Plugins are responsible for cleaning up after themselves and we haven't yet implemented any plugins that do handshakes with other plugins, so the last item in the list isn't even necessary for now.


How to handle exception when face is detected but no descriptor applied?

Hi,
my algorithm gets all faces from the input files at first and saves the faces into a new .jpg like snippets, then i let the user name 1 of them and iterate through the snippets to recognize them and name them and there i got the following exception thrown when there is a face detected but no descriptor.
the .jpg is the snippet generated by the faceapi
no faces detected for /mnt/frshare/known/Leanda_1c3c3e487262583a.jpg
(node:6833) UnhandledPromiseRejectionWarning: Error: no faces detected for /mnt/frshare/known/Leanda_1c3c3e487262583a.jpg
    at Promise.all.labels.map (/var/www/html/facereco/face-api.js/examples/examples-nodejs/test.js:290:10)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
(node:6833) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6833) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

May you help me with the exception handling please?
I provide the Code as soon as im at home.
Thank you.

If a face is detected, then there will also be a descriptor. Actually your issue is that there are no faces detected in the image you are using, as the error message suggests.
 In this case you directly want to compute the descriptor of such an image faceapi.computeFaceDescriptor(img). The BBT Face Similarity example does the same.


How do i know which section selected under the cursor?

Is there a way tell me which section selected by mouse?
So I can change material of section by mouse click.
I want this to occur at runtime.

I try to store the transform of section when created, but I can't get the transform.

Hey @ToniFF,
For mobile you'd need to make sure to include the RuntimePhysXCooking module in the build.cs file for it to work on mobile. I'll be closing this issue as it should be working as intended, if you have additional issues, please feel free to open a new issue!


Can't instantiate a Tokenizer when folder is read-only.

Description
I'm instantiating a Tokenizer, the folder is read-only and thus I get a RuntimeException.
However, I already defined the DJL_CACHE_DIR and ENGINE_CACHE_DIR as described here but I have the impression that the Rust implementation is not using it.
I'm instantiating a new tokenizer like this:
HuggingFaceTokenizer.newInstance("sentence-transformers/all-distilroberta-v1");
And I'm setting the cache properties as described here.
System.getProperties().setProperty("DJL_CACHE_DIR", "/usr/local/somefolder");
System.getProperties().setProperty("ENGINE_CACHE_DIR", "/usr/local/somefolder");

Error Message
Caused by: java.lang.RuntimeException: Read-only file system (os error 30)
	at ai.djl.huggingface.tokenizers.jni.TokenizersLibrary.createTokenizer(Native Method)
	at ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.newInstance(HuggingFaceTokenizer.java:103)
	at ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.newInstance(HuggingFaceTokenizer.java:90)

@carlos-aguayo
HuggingTokenizer uses a different environment variable: TOKENIZERS_CACHE, will update the document to reflect this behavior.
Usually, this won't be a problem, HuggingfaceTokenizer will fallback to temp directory, unless your temp directory is also readonly

Created a PR to document this: #2334

Thank you!


update hpc scripts

Update hpc scripts for SAGE2021

Codecov Report

Merging #237 (276f23a) into master (603cb29) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #237      +/-   ##
==========================================
- Coverage   47.93%   47.89%   -0.05%
==========================================
  Files         118      118
  Lines       15353    15343      -10
==========================================
- Hits         7359     7348      -11
- Misses       7994     7995       +1

Impacted Files
Coverage Δ

python/mspasspy/algorithms/RFdeconProcessor.py
29.18% <0.00%> (-0.91%)
:arrow_down:

python/mspasspy/util/decorators.py
66.66% <0.00%> (-0.46%)
:arrow_down:

python/mspasspy/db/database.py
82.58% <0.00%> (-0.11%)
:arrow_down:

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 603cb29...276f23a. Read the comment docs.


Synchronous launch compounds

Launch compounds in workspaces launch asynchronously. While this saves launch time, we found a couple of issues with this:

Following quick pick menu / input box will cancel the previous one. If two launch task both have such requirements, then one of them ends up to be cancelled.
One launch may depend on another.

Although launching them one at a time is a workaround, it requires a lot of mouse clicks, and is error-prone if there are a lot of launch configs in a project.
So a synchronous launch compounds feature might be a great addition. Feel free to provide other workarounds though.

The first issue is https://github.com/microsoft/vscode/issues/141514
The second, I'm not sure we can do anything about it. How can we know when one config is "done launching" so that a dependent config can be started? Is it ready when we have attached to the debuggee and initialized the session?
Can you give an example of when you have a launch config that depends on another.

The second issue is a suspicion since our project is still in its early state. A possible usage is one project starts a service, and the second, like a test or some user space app, uses this service.
Is returning from startDebugging(), which is in vs code api but there should be something equivalent internally, not enough to decide a launch action is completed?

not enough to decide a launch action is completed

Maybe - the second project depends on "something" from the first project, and there is no way to know generically when the first project is in the right state that the second needs.
But I think if we tried to address this we would want to change the launch.json format to let us declare dependencies for a launch config. Curious whether you ever considered this @isidorn @weinand

We have our own debug adapter, so we can work around this by adding a new launch config request type, which is only allowed in workspace, and in which force launch configs to start one by one. And the only criteria we are using to decide if the previous launch finishes is returning form await startDebugging():
for (const launchConfig of config.launchConfigurations) {
    const folderIndex = launchConfig.folderIndex;
    if (!isNumber(folderIndex) || folderIndex >= vscode.workspace.workspaceFolders.length || folderIndex < 0) {
        // Print error
        return;
    }
    await vscode.debug.startDebugging(vscode.workspace.workspaceFolders[folderIndex], launchConfig.launchConfigurationName);
}

And the reason I open this feature request is because, if VS Code has this built in, then I don't need to add a different request type for this.

@roblourens we do not want to duplicate shell functionality in launch configs. If more control over process execution is needed, we recommend to use a shell script.

@roblourens we do not want to duplicate shell functionality in launch configs. If more control over process execution is needed, we recommend to use a shell script.

Is it possible to start debugging in VS Code via shell script?

You approach is a good one @xisui-MSFT, it works for you but might not work in every situation, and I would not build it into vscode.
You can also start your app in a shell script in debug mode, and write an "attach" config. Or if this is javascript, you can run a shell script in a "javascript debug terminal".


JCenter will be closed - deploy release packages somewhere else?

https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/
As JCenter will be shut down is it possible to deploy release packages somewhere else?

We are actively working on the alternatives. We will share the information about the new location for our packages soon.

Any updates on this? Looks like JCenter will be kept in read only mode indefinitely but would be nice if artifact was available on maven central because JCenter is currently down.

We already moved our latest release for cnp-sdk-for-java to maven central. We are planning to move our older versions as well but no ETA as of now.
Please refer following for latest release in maven central:
https://mvnrepository.com/artifact/io.github.vantiv/cnp-sdk-for-java
Please be aware that version available in maven central is having package structure changes as compared to the one available in jCenter.
Hope this helps.

Unfortunately we are on an older version and looks like all new major version upgrades require a recertification. For now, we've mitigated the issue by uploading the jar file to our private maven repo. Thanks for the prompt response.


Merging sln is terrible experience.

@mokeyish We need more information to provide the correct feedback. We have also changed our mechanism to monitor  issues, if you still experience a problem kindly raise a new issue with correct repo as mentioned dotnet/1275


[Run] Website appends forwardslash

ℹ Computer information

PowerToys version: v0.29.3
PowerToy Utility: PowerToys Run
Running PowerToys as Admin: Yes
Windows build number: 19631.1

📝 Provide detailed reproduction steps (if any)

Open PowerToys Run
Type "YouTube" for example without quotation marks
Hit enter

✔ Expected result
The expected result would be to either go to youtube.com or to just have "youtube" in the bar on top
❌ Actual result
The actual result is that you end up going to youtube/
📷 Screenshots

issue is internal websites, https://itweb/ is a valid URL inside MSFT for instance.  dropping the slash would be easy but then would default to searching.

issue is internal websites, https://itweb/ is a valid URL inside MSFT for instance.  dropping the slash would be easy but then would default to searching.

So how do I personally fix this?

one idea is override Ctrl-enter here to append on .com like the browsers do.

This is more in-line with an enhancement request than actual bug.


S3BucketView update

Context
S3BucketView queries a S3 profile on a Managed Cluster, and returns a list of available backups on that cluster. The current design finds this information and stores it on the S3BucketView object's Status, along with a timestamp. If the timestamp field has been used (meaning that the timestamp field is not the default value), no further results are processed.
Issue
What if users want to run this query multiple times?
Potential Solutions

Current method: create a new object, or re-create the existing S3BucketView, to get updated results.
Alternative method: enable periodic S3 queries on the same object. An example implementation may be: add a field to S3BucketView.Spec to enable periodic lookup (e.g. "1m" for every 1 minute).

Additional Comments
This was discussed briefly on 5/19/2022 before the S3BucketView initial implementation PR was created. It was decided that since there was no request for this functionality, it could be postponed. This Issue was created to document the discussion and the alternatives proposed, in the event that this changes in the future.

@pdumbre requested this feature.  It is supported by the user deleting the status.  Support was merged into ShioRamen in PR #43


Steps to disable authentication methods don't work

https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-mfasettings#enable-and-disable-verification-methods
Browsing to "Users" in Azure Active Directory does not present an option to configure multi-factor authentication.

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

ID: 84b26750-880c-8f14-1628-436293de915e
Version Independent ID: 518b727f-79e8-b5c2-bcb3-ff4de3444c6f
Content: Configure Azure AD Multi-Factor Authentication - Azure Active Directory
Content Source: articles/active-directory/authentication/howto-mfa-mfasettings.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@bmilbauer
Thanks for your feedback! We will investigate and update as appropriate.

@bmilbauer
Thank you for pointing this out!
I believe the button name recently changed from "Multi-Factor Authentication" to "Per-user MFA", so I've created a PR to update the documentation and it's currently waiting for the author to review and sign off.

If you're still having issues finding the MFA button, please let me know.
Thank you for your time and patience throughout this issue.

Hi James,
That's not correct. That's a separate pane for management of legacy MFA on a per-user basis, and has nothing to do with disabling authentication methods for the tenant.
Thanks

@bmilbauer
Thank you for the quick response!
Are you referring to the "users" section as the management of legacy MFA?

From the documentation, you should be navigating to "service settings" which will allow you to manage the verification options for the tenant.

I'm not sure that's the right place, as it doesn't allow disabling email as a factor. You can see below email is available as an authentication factor in the tenant, but it's not possible to disable it from the pane in per-user MFA settings.

Do you know why you can't disable email as a verification method? It's still available in my tenant

@bmilbauer
Thank you for the quick response and the screenshot!
When it comes to adding another method to the Security Info page, Email is only used for Password reset authentication only and not MFA.

Since our documentation is currently up to date, I'll go ahead and close out this issue. If you require additional troubleshooting I'd recommend reaching out to our Q&A forums so our community and MVPs can take a closer look into your issue.
Thank you for your time and patience throughout this issue.


Exception has occurred: AttributeError 'DataFrame' object has no attribute 'amount'

Problem Description
Dear,
I'm trying to parse my generated backtest object into 'returns', 'positions' and 'transactions' by using function 'pf.utils.extract_rets_pos_txn_from_zipline' however, when I call such function I get this error "Exception has occurred: AttributeError
'DataFrame' object has no attribute 'amount'". I have the pyfolio logic within the function "analyze" and it is called from the function "run_algorithm" (I follow the quantopian pipeline)
This is the location where I get the error:
def analyze(context, perf):
    returns, positions, transactions = pf.utils.extract_rets_pos_txn_from_zipline(perf)

This is how I call the above function:
run_algorithm(
    start=start_date,
    end=end_date,
    initialize=initialize,
    handle_data=handle_data,
    analyze=analyze,
    capital_base=10000,
    data_frequency = 'daily',
    bundle='quantopian-quandl')

Thank you.
Versions

Pyfolio version:      0.9.2
Python version:      3.6.12
Pandas version:      0.22.0
Matplotlib version: 3.3.2

@cmperal I'm having the same issue.

I have the same issue.  How to address it?

Ok, the root cause is that no trade is triggered in handle_data function.  Try to low the trigger condition from RSI 90/10 to 80/20 to avoid the issue.
def handle_data(context, data):
    price_hist = data.history(context.stock, ["open", "high", "low","close"], context.rolling_window, "1d")
    stock=sdf.retype(price_hist)
    rsi = stock.get('rsi_12')
    if rsi[-1] > 90:
        order_target_percent(context.stock, 0.0)
    elif rsi[-1] < 10:
        order_target_percent(context.stock, 1.0)


RFC Proposal - Require 1 docs-reviewer and 1 technical-reviewer for o3de.org repo

This RFC proposes that submissions to the o3de/o3de.org repo, in the /content/docs and /content/static/images directories,
require at least one docs reviewer and at least one technical reviewer to review and approve the PR before it can be merged.

Approved at https://github.com/o3de/sig-docs-community/issues/82
Some concerns:

Tech reviewers may be lacking and cause prs to hold up

May need to work with other SIGs to ensure their engagement with docs PRs

What about PRs that don't need a technical reviewer e.g. fixing broken links

There can be an acceptance process for scenarios like this


⬆ Upgrade and relax dependencies for extras "all"

⬆ Upgrade and relax dependencies for extras "all"
Because @ofek convinced me with this link: https://iscinumpy.dev/post/bound-version-constraints/ ( by @henryiii)

Thanks for relaxing some of the restrictions. May I ask, what convinced you to keep the other optional dependencies restricted in the old way? I can understand that you keep pydantic and starlette restricted, but now we have pyyaml some times with upper bounds and once without.

Thanks for the feedback! I'm glad this was well received :sweat_smile:
@sallner I didn't uncap the other extras because those shouldn't really be extras, they are development dependencies, for tests, docs, and local development. I should not have them exposed in the released versions/wheels.
I plan on removing those extras that shouldn't be public and replace them with something else, probably requirements.txt files with pinned dependencies that Dependabot can suggest to update later.


[code-coverage] Introduced first set of tests for taskHandler in service/history/decision

What changed?

Added last set of tests cases for HandleDecisionTaskCompleted
Introduced tests for the taskHandler

Why?
Improve code coverage in service/history/decision folder

How did you test it?
unit tests

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018f2ef9-362a-478e-9ada-1d35f9bdcb2a
Details

0 of 0   changed or added relevant lines in 0 files are covered.
19 unchanged lines in 8 files lost coverage.
Overall coverage increased (+0.05%) to 67.935%

Files with Coverage Reduction
New Missed Lines
%

common/task/weighted_round_robin_task_scheduler.go
1
89.05%

service/history/task/transfer_standby_task_executor.go
2
86.42%

common/peerprovider/ringpopprovider/config.go
2
81.58%

tools/cli/admin_db_decode_thrift.go
2
70.51%

common/persistence/historyManager.go
2
66.67%

service/history/task/timer_standby_task_executor.go
3
85.63%

service/history/task/fetcher.go
3
86.6%

service/frontend/wrappers/metered/metered.go
4
66.67%

Totals

Change from base Build 018f2ee9-0353-45b7-a8ea-2317acb3549d:
0.05%

Covered Lines:
99749

Relevant Lines:
146831

💛  - Coveralls


fix-bug/dot-in-groupName

refer: python gitlab implementation

@Tonyqu123 I just opened PR #613 in order to fix this bug using a different approach. It would be great if you can verify that the PR works correctly and fixes your issue.


Not work in ios (iphone)

Hello everyone,
I am using flatpickr v4.5.7. On the PC and mobile androi it work ok. But on the iphone or  Chorme's iPhone  simulator i can't choose date by click. When i  double click it work. I try xample in website https://flatpickr.js.org but it  the same issue (https://prnt.sc/p1m7u7).
Can you check this issue.
Hope that helps. Thanks for datepickr, iOS aside, it's really great :-)
Your Environment

flatpickr version used: v4.5.7
Browser name and version:  On Chorme's iPhone  simulator, Safari mobi
OS and version:  9 10

I'm not sure this will be fixed. Flatpickr doesn't officially support mobile and recommends using the native date picker on mobile: https://flatpickr.js.org/mobile-support/

Any plans to fix this on iOS?   I started implementing this all over my site and just found out about this bug.  I would love to continue using Flatpickr, but not working correctly on iOS is kind of a big deal.
I see the same thing the original poster mentioned where it takes a double tap to open any of the examples where it should fall back to Flatpickr instead of the Native calendar.   Examples like the "range" option not only take a double tap to open Flatpickr, but also take a double tap to select the start and end dates (6 taps)

This is apparently the issue:
https://stackoverflow.com/questions/25731106/ios-requires-double-tap-for-a-simple-link-element
One tap = Render :hover CSS
Double tap = Actual click
So flatpickr should probably use media query to prevent displaying :hover CSS on mobile devices...

or I think, if Flatpickr buttons are actually implemented as <button>, they will behave properly when clicked in iOS...


Simplify TLS for Knative and Kuebrenets + Document

Fixes #157
Move to production mode only... << this simplifies much of the scripting and setups we need to do.
We use AUTH token by default
We always use TLS by default
ROOT_CA is now taken from the mounted secret, and works in line and automatically by default with Knative internal TLS (no more need for special config of the ROOT_CA). If no ROOT_CA, we prefer to use TLS without server verification (still better than HTTP)
Add Kind support - a simple, example of installing Guard in Kubernetes
Add documentation for Kubernetes installation
Release Note
Guard documentation and scripts were added to enable installation in Kind as Kubernetes example
Guard setup is now secured by default (AUTH token and TLS switched on)

/retest

Failure in Security / analyze / Analyze (pull_request) test seems unrelated to the changes

Failure in Security / analyze / Analyze (pull_request) test seems unrelated to the changes

My bad - the symbolic links used absolute-path instead of a relative one... :)

Will take a look next week, maybe @maximilien can review if you need it sooner...

What should work out of the box:

Running ./hack/kind/deployDevOnly.sh (deploying without TLS and AUTH)
Running  ./hack/kind/deployProduction.sh (deploying with TLS and AUTH)

In both cases, after you run the script you should have a working helloworld (and myapp) secured by guard on your kind.
To test that helloworld work you can use curl http://<IP_ADDRESS>/hello
To see guard works ok, you can kubectl logs deployment/helloworld guard-rproxy and see that:

Guard was started
It uses or does not use TLS and AUTH
It uses is able to communicate with the guard-service

Unfortunately learning now takes ~ 5-6 min, so you have to wait if you want to really test guard in action.
An upcoming PR #176 is going to improve that and you will see learning done after ~ 1 minute.

/hold

/unhold

/retest

/retest

@davidhadas did you change your email or anything like that? CLA check is failing for some reason...

and now it works :shrug:

@davidhadas did you change your email or anything like that? CLA check is failing for some reason...

No - did not change email
Not sure why that is.
It happened before and closing the issue and opening it fixed it.
Let me try again to force it to check

/check-cla


docker-compose.dev: pnpm install: --force

Solves this:
https://evals-workspace.slack.com/archives/C07KLBPJ3MG/p1728315025225569

The previous PR where we considered doing this is here:
https://github.com/METR/vivaria/pull/375

and that git clean -fdx node_modules server ui shared would fix it.

Fix it as in "if I wanted to switch between running locally vs. running in compose, I'd have to do that command every time I switched, and I couldn't have both running at once"?
Anyway, I tried running this and then doing docker compose up --detach --wait and the run migrations container again failed, but this time with
 ERR_PNPM_Unknown system error -116  Unknown system error -116: Unknown system error -116, copyfile '/app/.pnpm-store/v3/files/ef/29a64580efc8b80fb7425b294931d16774bcf11ea0258bddc593f24a83b7a39ae15c450ae6055776a8593c0d1bf02ba660a2eec7647589d2bb4530cff9c6ae' -> '/app/node_modules/.pnpm/@smithy+util-retry<EMAIL_ADDRESS>
I'm gonna go out on a limb and say that we can't deprecate local viv development (i.e., no containers at all) until we can get the dev docker compose dev setup to run reliably.

If you add git clean -fdx .pnpm-store to the directories listed above, does that resolve the issue? Are you using Docker Desktop or Orbstack? If Docker Desktop, are you using package-import-method=clone-or-copy in .npmrc?

@mtaran , see Sami's last question
However this is resolved, I'd like to (at least) add it to the readme.

@mtaran friendly ping with a cat emoji 🐈

Meanwhile, here is the "fix" just as a FAQ in the readme:
https://github.com/METR/vivaria/pull/539

This PR is replaced with https://github.com/METR/vivaria/pull/548
cc @mtaran


Added an error message when the name is longer than a character. Not too worried about people running out of characters, happy to see someone make a game where it is a problem though.


Refactor the mechanism for keeping track of exit code to avoid race condition

Right now there is a race condition with the following code:
open Feather

let () =
  process "a" [] |> run_bg;
  process "b" [] |> run;
  print_int (Feather.last_exit ())

It could sometimes print the exit status for process "a" if it happens to finish between process "b" exiting and the call to last_exit. Instead the interface should expose some way to get the exit status in run. (Maybe with an optional GADT parameter that allows run to return a different type?)

Hey, I came up with a potential solution involving GADT for this, which also involves unifying run and collect_stdout (and also adds a way to collect stderr).
I implemented it on some toy code to check everything made sense and the compiler was happy but I wanted your feedback before trying to implement it on Feather (this is mostly me having fun with GADTs so feel free to reject this if it's too complicated for what it's worth)
User-wise, executing commands without collecting anything would not change. However the status would be definitely lost (last_exit would be removed).
let A = process "a" [] in
let B = process "b" [] in
A |> run;
A |> run_bg;

If the user wants to collect anything about the command (status, stdout, stderr), she has to use the want function then a function for each wanted information (in any order), between the command and run.
ignore ( A |> want |> status |> run );
ignore ( A |> want |> status |> stdout |> stderr |> run );

Using collecting functions without or before want does not type. Same for using want multiple times. Same for putting want or collecting function inside the command itself.
 B |> run );

If the user collects info about the command, then run always return a record with three fields stdout, status and stderr. However the type of the fields depend on what the user selects.
 I want to think a bit about this more before deciding anything but some quick thoughts:

I am a bit hesitant to use GADTs because I think they can sometimes make things less approachable for beginners but yeah it might end up offering the best interface... I'm not sure.
I think I would probably want to use collect or capture instead of want.
I am curious if it's possible to do somthing like collect (stdout >> stderr >> status) using composition_infix instead of a chain of |> since it might be a bit clearer that the info-getting functions are relevant to collect.

Anyways yeah this is exciting! The current exit code system definitely leaves something to be desired.

Thanks! To address your thoughts:

Yeah, GADTs complicates the type of the objects we're carrying around and some error messages. I'm not sure either what the best solution is.
Definitely agree with collect or capture (maybe more collect since capturing the status makes a little less sense)
It's definitely possible to do what you suggest with the composition operator (I adapted my toy example to test it) and I think it's more legible indeed

Sounds great! Agreed. Anyway yeah I might do some refactoring or editing along the way, but I'm definitely open to improvements!

Sure! I'm gonna wait until you have a look at https://github.com/charlesetc/feather/pull/8 before working on implementing this into Feather.

Fixed in #10! Thanks for the huge improvement!


Are lazy extractors worth it?

  Checklist
Checklist

I'm asking a question and not reporting a bug or requesting a feature
I've looked through the README
I've verified that I'm running yt-dlp version 2<IP_ADDRESS> (update instructions) or later (specify commit)
I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
I've read the guidelines for opening an issue

Question

I have been running yt-dlp under Python 3.10 (Debian testing) for some time, sometimes applying local hotfixes. Some of the fixes require updating the URL-matching regex, and those have to be additionally propagated to the lazy extractor stub class. But an easier option is to simply delete the lazy_extractors.py file. I have noticed virtually zero slowdown due to this, despite this being a relatively old laptop (from 2010); most extraction latency seems to come from HTTP requests made after the URL is already matched. I wonder if this is because of performance improvements that 3.10 brought.
I wonder how viable it would be to just remove them; I imagine they are something of a maintenance burden and they complicate the codebase considerably. Are they worth the trouble? Have we got any data on how much speed is gained by enabling lazy extractors under different OSes and Python versions?
(Variables we might need to control for: kernel/distro, file system where the program is stored, Python version, amount of RAM, SSD vs HDD, cold start vs populated disk or bytecode caches.)
If there are some slowdowns noticeable only under older Python versions, perhaps we can remove lazy extractors anyway. This is another way we could nudge people to upgrade; even if we support older versions, we don’t necessarily have to tune for them.

I'm pretty sure that the lazy_extractors.py file is auto generated, because I can't find it anywhere in the git repo, and I can find a file named lazy_extractors.py. I don't know anything about it though, so I could be wrong.
It's also mentioned in the .gitignore file

I have been running yt-dlp under Python 3.10 (Debian testing) for some time, sometimes applying local hotfixes. Some of the fixes require updating the URL-matching regex, and those have to be additionally propagated to the lazy extractor stub class. But an easier option is to simply delete the lazy_extractors.py file.

If you plan on modifying the extractors, it makes sense not to have lazy extraction. Are you installing with PIP and them applying hotfixes? Why not just run from source in that case? (which doesn't have lazy-extractors enabled)

I wonder how viable it would be to just remove them; I imagine they are something of a maintenance burden and they complicate the codebase considerably. Are they worth the trouble? Have we got any data on how much speed is gained by enabling lazy extractors under different OSes and Python versions?

Not really. The entire implementation of the feature is in make_lazy_extractors and lazy_load_template. Except for this one tiny caveat, the rest of the code doesn't have to do anything. The current implementation using metaclasses is also quite stable. So there really is no maintenance overhead - and I don't see any point in removing it even if the the benefits are now minimal

Have we got any data on how much speed is gained by enabling lazy extractors under different OSes and Python versions?

When I last worked on the feature, I had noticed significant improvement in startup time (I don't think Ive tested on 3.10). Even so, under many use-cases, it won't factor much into the total time taken because, as you said, the download times far outweigh it. But it would make a difference when --simulate is in effect

btw, You can force-disable lazy extraction by setting the environment variable YTDLP_NO_LAZY_EXTRACTORS=1 (yes, this is undocumented)

Timings (best of 5 with pycache) on Windows 11 Py 10.4, running yt-dlp.cmd

Command
Lazy
Time

yt-dlp
✔
0.5 s

yt-dlp
❌
0.8 s

yt-dlp -s test:youtube
✔
2.1 s

yt-dlp -s test:youtube
❌
2.8 s

No

Timings (best of 5 with pycache) on Windows 11 Py 10.4, running yt-dlp.cmd
Command	Lazy	Time
yt-dlp	✔	0.5 s
yt-dlp	❌	0.8 s
yt-dlp -s test:youtube	✔	2.1 s
yt-dlp -s test:youtube	❌	2.8 s

What is the exact parameters and command u ran for this??
for me
time yt-dlp = 0.2 s
time yt-dlp -s test:youtube = 1.38 s
this dlp was installed using homebrew. Python 3.9.12.
Any "noticeable" improvement will come from a faster ssd rather than some cool haxor code tricks, hence my previous answer, "NO".

Those are the exact commands I ran. My measurements are on an HDD

Though, I'd think the % improvement would be higher on an SSD

time yt-dlp = 0.2 s
time yt-dlp -s test:youtube = 1.38 s

And without lazy extractors?
PS: I only posted the timings just because. It was not meant to try and justify lazy extractors. If we were discussing the addition of a new feature, profiling makes sense. But I've already explained in https://github.com/yt-dlp/yt-dlp/issues/4190#issuecomment-1166488205 why there is no point in removing the feature even for minimal benefit

And without lazy extractors?

I have no idea how to test this or if lazy extractors are enabled by default or not.


Batarang not working with Chrome Version 53.0.2785.143 (64-bit)?

I noticed that nothing shows up on AngularJS tab with Chrome Version 53.0.2785.143 (64-bit). Anyone has the same problem?
Thanks,

It works for me. Make sure you refresh the webpage with the DevTools open (and Batarang enabled).

Thanks.


Transition from altool to notarytool

Hello! I really enjoy using PyMacApp - it's great and saves a lot of time. Unfortunately Apple will no longer support code signing using the "altool" command starting November (tomorrow). Instead, "notarytool" should be used from now on. Any chance that you can update PyMacApp accordingly? That would be awesome. Thanks in advance!

@lufrikas thanks for bringing this to my attention! I'll try to push a fix tonight, investigating now.

@lufrikas I pushed #v4.0.1 to solve the issue; I made some major changes, some of which are breaking (notably to correct my embarrassing typo in the "Package.notorize" method to the correctly-spelled "Package.notarize".
Please check out the release notes here before upgrading.
I also made a better demo in both the README.md and as a stand-alone build.py script here.
I already pushed this to PyPi (https://pypi.org/project/PyMacApp/4.0.1/) so you can upgrade when you're ready.
Test this out and let me know how it goes! Happy to bug-fix as necessary.

@lufrikas I'm going to close this issue, but feel free to reopen or open another if this did not solve the problem. Thanks!

Thanks a lot for the quick fix! Works perfectly now.


gnomeExtensions.drop-down-terminal: init at v24

Motivation for this change
Add the drop down terminal GNOME shell extension.
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

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

This one require a few dependencies at runtime which needs fixing:

Needs typelib from vte, so needs something similar to eg. this but for vte https://github.com/NixOS/nixpkgs/blob/373f59f4093108c814637bb39130bb245484c210/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix#L20-L25
It runs stuff with gjs so that needs an absolute path, so similar to eg. this: https://github.com/NixOS/nixpkgs/blob/373f59f4093108c814637bb39130bb245484c210/pkgs/applications/backup/deja-dup/fix-paths.patch#L7-L8

@hedning
I dont know how I can perform this changes. For the first one, Do I need to create a patch for my pkg and in this other pkg, somehow download and install this typelib from vte?
And for the second, I should change in the InstalPhase to use absolutePath right? I tried to use inside the installPhase Posix.system("@coreutils@/bin/mkdir -p $out/share/gnome-shell/extensions"); but is not working :/

Ah, right, I only meant that the fixes needed here are the same kind of fixes that I referenced.
So the patch will look something like this:
modified<EMAIL_ADDRESS>@@ -15,6 +15,8 @@

 // Author: Stéphane Démurget<EMAIL_ADDRESS>
+imports.gi.GIRepository.Repository.prepend_search_path('<EMAIL_ADDRESS>+
 const Lang = imports.lang;
 const Gettext = imports.gettext.domain("drop-down-terminal");
 const Mainloop = imports.mainloop;
@@ -653,7 +655,7 @@ const DropDownTerminalExtension = new Lang.Class({
         this._killingChild = false;

         // finds the forking arguments
-        let args = ["gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path];
+        let args = ["@gjs@/bin/gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path];

         // forks the process
         debug("forking '" + args.join(" ") + "'");

And then @vte@ and '@gjs@just needs to be replaced with the correct paths when building. We have a convenient utility for this. This will find occurrences of the names to the left surrounded with@and replace them with the expression to the right. So in nix eg. the packagevtesimply expands to its nix store path when used as a string (This can be seen in action usingnix eval nixpkgs.vte --raw`):
patches = [
  (substituteAll {
    src = ./fix_paths.patch;
    vte = vte;
    gjs = gnome3.gjs;
  }

Does that make sense?

@hedning
Yep, make total sense, I'm new to this nix world, but I think I got it how this works.
I created the patch with the diff, let me know if something is missing.
One question, how do you test this and know that some libs needs absolutePath? I'm just running nix-build -A 'gnomeExtensions.drop-down-terminal' to check if everything its alright

Right, you basically need to run things and see if they work. For regular programs that's usually as simple as result/bin/program.
In the case of gnome-shell extensions we need to run gnome-shell and activate the extension. Doing this in your current gnome-shell can be a bit annoying. To solve that there's two options:

run a virtual machine
run a nested gnome-shell session

Building a virtual machine can be very useful in general. Put something like into  vm.nix in your nixpkgs repo:
{ pkgs, config, ... }:
{
  environment.systemPackages = with pkgs; [
    gnomeExtensions.drop-down-terminal
  ];

  services.openssh.enable = true;
  boot.cleanTmpDir = true;

  services.xserver = {
    enable = true;

    desktopManager = {
      gnome3.enable = true;
      gnome3.debug = true;
    };

    displayManager = {
      gdm.enable = true;
      gdm.debug = true;
    };
  };

  users.users.foo = {
    isNormalUser = true;
    uid = 1000;
    password = "foobar";
    extraGroups = [ "wheel" "networkmanager" ];
    openssh.authorizedKeys.keys = [
      # put your machines public key here to get ssh access
    ];
  };

  system.stateVersion = "16.09";
}

And then build and run the VM like this for instance:
nixos-rebuild build-vm -I nixpkgs=./. -I nixos-config=./vm.nix
QEMU_NET_OPTS="hostfwd=tcp::2222-:22" ./result/bin/run-*-vm -m 2500

Then you can log in and activate the extension with gnome-tweaks.
Now that takes a while. I use this script through emacs (session.sh) to easily launch nested gnome-shells to test and develop extensions. For that something like this should work:
nix build -f. gnomeExtensions.drop-down-terminal
session.sh wayland<EMAIL_ADDRESS><EMAIL_ADDRESS>

Uow, its a great way to test, I'll try to setup this and test this whole thing, thank you!

I fixed the vte path, but this time, ther is no error message, so i cannot figure out what is wrong...
When I activate the extension, only this message shows:

And on Looking-glass, there's no error message:

Right, looks like terminal.js also needs the imports.gi.GIRepository.Repository.prepend_search_path('<EMAIL_ADDRESS>preamble, as it's run in a separate process.

Finally worked!
Thank you for the incredible help and teach @hedning :)

@ericdallo It appears you're trying to merge this into release-19.03 and all contributions should go to master first. You probably want this in the current stable release, so we can backport it after it's merged to master.

hum, makes sense @worldofpeace , so i need to open the PR to the master, right?

@ericdallo Likely, it's the easiest route. It also appears you're working directly on the release-19.03 branch and not a feature one.
Best to do
git checkout upstream/master
git checkout -b some-branch-name

Got it, I'll create a branch from updated master, open a new PR with theese changes and link it here. Thank you @worldofpeace

Right and squash everything into one commit :)

New PR with commits squashed https://github.com/NixOS/nixpkgs/pull/70042


How to show snippets

In the README you say to press Shift + ^, but that doesn't work for me on my Windows machine.
I had to go into Keyboard Shortcuts and assign editor.action.showSnippets which appears to be unbound by default.
Maybe it's bound by default on another OS or you bound it in the past?
In any case, it might be worth updating the README in case others have the same problem?
Oh, and thanks for the extension!

Same here on a Mac.

same for me too on Mac.

Not working for me on Mac. Turned on tab completion but nothing triggers.


Import and export Redshift tables (fixes #26)

To do:

[x] Spike and set up test server.
[x] Write end-to-end test.
[x] Implement Redshift import.
[x] Implement Redshift export.
[x] Reduce the excessive number of parameters in the Locator API, because the old version made @seamusabshere sad and this version is worse.
[ ] Move all code shared between two drivers into an appropriate drivers/*_shared directory. We can do this another time. It's pretty minor.
[x] Fix https://github.com/faradayio/dbcrossbar/issues/40

Notes on the Locator API refactoring and Features
The problem: We support N driver features and M drivers, but every feature interacts with every driver, giving us O(N*M) code complexity. This also means that adding a new driver requires O(N) effort (to at least print an error if a feature isn't supported) and adding a new feature requires O(M) effort, to examine each driver. This also means that local_data, write_local_data and write_remote_data have long and constantly-growning parameter lists.
The solution here has several parts:

Each driver must explicity declare the features it supports, using a
set of bit flags in a Features struct. See https://docs.rs/bitflags.
Driver arguments are grouped into SharedArguments,
SourceArguments and DestinationArguments, vastly simplifying
parameter lists.
In order to use an *Arguments struct, it must be verified against
a Features list, so that any unsupported features can be rejected
automatically. We enforce mandatory verification using a neat Rust
trick known as "type states": http://cliffle.com/blog/rust-typestate/.
This allows us to keep track--at compile time!--of which arguments
have been verified and which haven't.

The net result of all this is that we could now add a feature like --select, and we would only need to change those drivers which we want to support --select. All other drivers will automatically print an error.

This PR requires review by either @seamusabshere or @n1ywb. Once it is reviewed, we can ship support for Redshift and for PostgreSQL schemas. Please don't hesitate to ask questions. Thank you!


RFC: Monotonic impl for stm32 based on stm32-metapac

This PR uses stm32-metapac to add support for STM32 64 bit monotonic timer.
TODO

[ ] currently it does not take timer peripheral, so user can accidentally use the same timer later somewhere in the app
[x] expose STM32 16bit timers as 64 bit monotonics
[x] figure out how to get NVIC_PRIO_BITS for crate::set_monotonic_prio(pac::NVIC_PRIO_BITS, pac::Interrupt::$timer);
[x] figure out how to deal with stm32-metapac feature flags - there are a lot of them: https://github.com/embassy-rs/embassy/blob/main/embassy-stm32/Cargo.toml#L143
[x] figure out how to use make_timer! based on stm32-metapac feature flags - not all timers are available for all STMs

TEST
TIM2, TIM3 and TIM15 are tested on stm32g081kb

I think adding timer peripheral to start function might be too restrictive. Currently only stm32-metapac is used as a dependency but if we want to move a timer peripheral then this depends on which kind of HAL is going to be used.
Current implementation would work with any STM32 HAL (embassy-stm32, stm32-hal2, etc).


fix: update ocp_version description and only allow latest instead of default

Description
See details in https://github.com/terraform-ibm-modules/terraform-ibm-base-ocp-vpc/pull/45
No release required

[ ] Examples or tests (addition or updates of examples or tests)
[ ] Documentation update
[ ] CI-related update (pipeline, etc.)
[ ] Other changes that don't affect Terraform code

Release required

[ ] Bug fix (patch release (x.x.X): Change that fixes an issue and is compatible with earlier versions)
[ ] New feature (minor release (x.X.x): Change that adds functionality and is compatible with earlier versions)
[x] Breaking change (major release (X.x.x): Change that is likely incompatible with previous versions)

Release notes content
Replace this text with information that users need to know about the bug fixes, features, and breaking changes. This information helps the merger write the commit message that is published in the release notes for the module.

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

Merge actions for mergers

Merge by using "Squash and merge".

Use a relevant conventional commit message that is based on the PR contents and any release notes provided by the PR author.
The commit message determines whether a new version of the module is needed, and if so, which semver increment to use (major, minor, or patch).

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


Require node >= v8

Also makes CI test all versions that we support, rather than just one.

Is the failing CI test a concern? Otherwise looks good to me


tests: Add a test for force rejoin option

Force re-join option allows to re-join a already joined realm re-creating configuration and possibly fixing issues. The test checks this by changing sssd.conf and keytab and checking if the change was removed.

@jakub-vavra-cz lgtm - ready for review and merge?

@richm The tests seems to be working correctly now so this can be reviewed and merged.
I have incorporated the suggestions and squashed the commits.


Mouse scroll input for WSL linux apps like less, vim, nano etc.

If this  feature doesn't already exist I would suggest the following where by default mouse scroll would scroll terminal applications and say something like Shift + Scroll would scroll the terminal window itself.
Much like the Linux terminals Guake or Gnome terminal (Or even cmder I believe) there would be detection of such running apps like vim and less where if these are open and in the foreground the terminal app knows to pass scroll input to the running app rather than scroll the window.
Currently all mouse scrolling does is scroll the Terminal window which is less then ideal when you're inside vim or less etc.
I've read the documentation on configurable options and I couldn't see anything applicable?

This looks like a /duplicate of #381. These applications are using the "most basic" mouse mode, which is "when I am a fullscreen application, send mouse scroll events to me as arrow key events." WT cannot fully detect that they're fullscreen applications, so it doesn't know to send the arrow key events on scroll.
For vim, set mouse=a will enable "full" mouse mode (which supports scroll, click, select, drag, etc.). For less there is not currently a mouse mode option.

@DHowett-MSFT

This looks like a /duplicate of #381. These applications are using the most basic mouse mode, which is "when I am a fullscreen application, send mouse scroll events to me as arrow key events." WT cannot fully detect that they're fullscreen applications, so it doesn't know to send the arrow key events on scroll.

If it can't detect it like a Linux console can then add a toggle to manually input mouse scroll as up arrow like I mentioned such as < shift + mouse scroll >
Or allow people to bind that to whatever they want in settings.

It’s more worthwhile to just fix the underlying issue :)
we do, however, have “mouse bindings” on our roadmap which would allow you to set wheel actions to send data.

FWIW, adding the --mouse argument to less works for me.
less --mouse the_file.txt

Use the following commands to enable scrolling for the whole session. (Optionally add the following to your .bashrc | .zshrc):
[[ "${LESS}" != *--mouse* ]] && export LESS="${LESS} --mouse"

Version details
C:\>wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

╰─$ uname -s -r -m -p -i -o
Linux 4.19.128-microsoft-standard x86_64 x86_64 x86_64 GNU/Linux

╰─$ lsb_release -r -c -i -d
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

@tocker regretfully less --mouse disables Automatically copy selection to clipboard  in Microsoft Terminal

A workaround is pressing SHIFT which does seem to work in tmux too. Then you have a workaround for a workaround.:cry:

This workaround breaks even selecting text for me. Any advice?


Update node-fetch

Fix for #2 ; that will stop new users installing the plugin or if old users try to reinstall.

anything less than 3 should be fine. thanks @mitch7391

Thanks @satrik :)

Hey @satrik I am a little confused as to how your plug-in registers in Homebridge UI without being published to npm. This means that this update will not flag for an update in Homebridge UI for any users who have installed it. Another thing that confuses me is that the version in Homebridge UI is v1.0.0; but the version in your package.json is v0.1.1.
To get your latest version, I had to use git clone your repo, npm pack and the install it locally.

@mitch7391 1. the package is on npm since the beginning. also in homebridge UI you can install it via the plugin search and the update wasn't visible yesterday because I just updated the npm package today.
to your second question, npm uses semantic versioning

@satrik really sorry about that, I don’t know why I could not find your npm, but yes then everything makes sense again then. Sorry to have rushed you on the publish and thanks again for looking at this :)

no problem :)


[WIP]: Set up Github actions

Why was this closed?


[Feature Request]: UEFA-compliance / autotype compliance

Suggest an idea or something that can be improved.
Currently, our functions are compliant to StatsBomb and Opta. UEFA-styled coordinates do exist today, new news for me, and it would be a nice thing to have that implemented.
A nicer thing would if we were able to understand the type of the dataframe automatically,,,,, food for thought!

auto-identify dataset type is an interesting idea, but we should probably fix the bugs for the current version and do a CRAN release so that we're free to experiment with the idea on dev

For now, we could just add a way to transform UEFA data to opta within the guide itself?

Either that or we add UEFA as a data type to all functions

Or we create a helper function that transforms datasets from UEFA to one of Opta/StatsBomb

Here's a simple internal function we could create to auto identify the dataset type
data_type_identify <- function(data) {

  if (max(data$x) > 98 & max(data$x) < 102 &
      max(data$y) > 98 & max(data$y) < 102) {
    print("opta")
  } else

  if (max(data$x) > 118 & max(data$x) < 122 &
      max(data$y) > 78 & max(data$y) < 82) {
    print("statsbomb")
  }

}

Updated function
data_type_identify <- function(data) {

  data <- data %>%
    select(x, y, finalX, finalY) %>%
    na.omit()

  if (max(data$x) > 98 & max(data$x) < 102 &
      max(data$y) > 98 & max(data$y) < 102 &
      max(data$finalX) > 98 & max(data$finalX) < 102 &
      max(data$finalY) > 98 & max(data$finalY) < 102) {
    data_type <- "opta"
  }
  else

    if (max(data$x) > 118 & max(data$x) < 122 &
        max(data$y) > 78 & max(data$y) < 82 &
        max(data$finalX) > 118 & max(data$finalX) < 122 &
        max(data$finalY) > 78 & max(data$finalY) < 82) {
      data_type <- "statsbomb"
    }
  else

    if (max(data$x) > 103 & max(data$x) < 107 &
        max(data$y) > 66 & max(data$y) < 70 &
        max(data$finalX) > 103 & max(data$finalX) < 107 &
        max(data$finalY) > 66 & max(data$finalY) < 70) {
      data_type <- "international"
    }

  return(data_type)

}

Suggest an idea or something that can be improved.
Currently, our functions are compliant to StatsBomb and Opta. UEFA-styled coordinates do exist today, new news for me, and it would be a nice thing to have that implemented.
A nicer thing would if we were able to understand the type of the dataframe automatically,,,,, food for thought!

Can't we use the uniqueness in the column names of each data frame type to find out the type of data (UEFA, Opta, SB etc) and then return the pitch accordingly?

Suggest an idea or something that can be improved.
Currently, our functions are compliant to StatsBomb and Opta. UEFA-styled coordinates do exist today, new news for me, and it would be a nice thing to have that implemented.
A nicer thing would if we were able to understand the type of the dataframe automatically,,,,, food for thought!

Can't we use the uniqueness in the column names of each data frame type to find out the type of data (UEFA, Opta, SB etc) and then return the pitch accordingly?

That cant work unfortunately as we already require the dataset to be inputted into the functions with specific column names

I don't fully understand why the passplot functions scales them fine but the pass networks don't scale properly.

Hey @robbiejdunne could you please be a little more specific? As in what is the problem with scaling. I would also recommend you to create a new issue for this problem, and continue the conversation there

This is part of the original issue with international/opta/statsbomb data. The pass network's dimensions only go as high as 68 in this dataset. But they seem to be just fine for the progressive passes. Does that make sense?

I dont think they're fine for the progressive passes, rather the size of the pitch in plot_pass is making it appear right when it might not be.
Try running this on your dataset before running the passnet function.
data <- data %>%
  mutate(x = x * 105/100,
         finalX = finalX * 105/100,
         y = y * 68/100,
         finalY = finalY * 68/100)

This should make it work

Please make sure to document stuff like this in a separate, fresh issue from next time as it becomes really difficult to track problems if not done @robbiejdunne

I'm going to play around with the function Harsh made

function seems to be working well.
im going to add a sample UEFA dataset and push the auto-type compliance. Will take some time because I have to change tests as well,,,

quick fixes that need to be implemented: for some functions, they only look at x,y and we have, in our guides, the user selecting only x and y. As such, the function needs to be updated to be able to find the type based on just the (x,y).

I am going to start working on this week, test out a much more improved functionality so it can account for the case I referenced above ^


Dropwizard-example (Sorry for reissue my problem)

Sorry for re-post my problem...
I wish to have a working dropwizard-example project, but even i get branch 1.3.x and put 1.3.7 version on pom.xml i have some errors and problems building it... which (and where) i can get a working version ?
Thanks for your support 👍

@charbonnier666 Please post these kind of issues to the Dropwizard User mailing list at https://groups.google.com/forum/#!forum/dropwizard-user


Custom Step in a mat-stepper

I have encountered an issue when implementing a custom type in the mat-stepper.
It would appear that when the custom type contains a child component hidden by a condition, the child component will not get initialised after the condition has been resolved.
There was no issue with this when previously using 5.12.5 for formly/core and formly/material.
https://stackblitz.com/edit/angular-dkhpnm?file=src/app/app.module.ts
Any guidance on what is going wrong would be greatly appreciated.

I think its related to onpush change detection, some solutions that you may consider:

rely on observable:

  Hello Again!

rely on field props:

  Hello Again!

use options.detectChanges:

      .subscribe(() => {
        this.isFetching = false;
+       this.options.detectChanges(this.field);
      })

use ChangeDetectorRef:

      .subscribe(() => {
        this.isFetching = false;
+       this.cdRef.detectChanges();
      })

Awesome, using the ChangeDetectorRef fixed the issue. Thanks!


Done for local repos. You can try to run

commit 4c0af90bfccc5656b5cd25a08615a4f4fa1ea755
Author: Artem <>
Date:   Wed May 3 22:56:48 2023 +0300
Added: bb - print class name in F.java.

commit 2712efa15a814f9f7d60d27885044e5eded8cfb7
Author: Artem <>
Date:   Wed May 3 22:56:48 2023 +0300
Start of project. Added initial files.


Handling adding items dynamically

Hi,
I have a problems with the view when updating collection. I have created a setup where I can endlessly swipe through dates (disabled the infinite scroll option). So what I did was create a collection with three dates and set the selected index on the middle one. On the CardsViewItemSwipedHandler I then handled the right or left swipe and based on that do the following:
right swipe (previous date)

Add a new date on index 0 and remove the last date

leftswipe (nextdate)

Add a new date at the end and remove the date on index 0

This seems to be working for the first few swipes but after that the views gets of center (content is not completly shown). Do you have a suggestion how I can solve this ?
Thank you

Hi, if i understood you correctly you want to have 3 active views (3 items)
SelectedIndex = 1 (regular state)
And if you swipe right (you want to make right view as centered - index = 1, remove left one, old centered make as index = 0 and added new one with new index = 2)
Is it correct?
I think you should use ItemAppearing event (and if index = 0 or 2, you recycle views)

Hi, if i understood you correctly you want to have 3 active views (3 items)
SelectedIndex = 1 (regular state)
And if you swipe right (you want to make right view as centered - index = 1, remove left one, old centered make as index = 0 and added new one with new index = 2)
Is it correct?
I think you should use ItemAppearing event (and if index = 0 or 2, you recycle views)
OR
Create please small sample for me

Thanks for your reply Andrei,
How do I go about recycling the views? I will setup a sample.

@martinvds81 great. I wait

@martinvds81 don't forget)

@martinvds81 don't forget)

I changed the setup yesterday and is seems to be working now. Instead of adding and removing the items in the carousel, they now have some fixed items and enabled cyclic again. In
the CardsViewItemSwipedHandler I now only register the left or right action and based on that reload the bindable data in the card.
Anway thanks for this control and your help 👍


Fix some jsdoc path types

The latest version of babel-plugin-jsdoc-closure (#8102) reveals a few path type conversion mistakes, which are fixed by this pull request.

@fredj Fixed, and added a few more fixes.

I agree it would be nice and also easier to transform if the tilde would be required only for named exports. However, JSDoc does not handle them that way. We could handle those in a JSDoc plugin though.

@tschaub Expanding path types so they point to the default export in the docs is tested in https://github.com/openlayers/closure-es-modules/commit/d94d144ecd353847b5d9085f52f96a3a6582b208. In a follow-up pull request to this one, I could apply a babel transform derived from babel-plugin-jsdoc-closure to the code base to remove all ~DefaultExportFromVariable parts from name paths.

Thanks for the work on this @ahocevar.
I understand that there may be JSDoc limitations involved here, but in terms of type annotations, I think it is important that we have flexibility in how we author our modules.
For example, these two modules export the same thing:
const foo = 'bar';
export default foo;

export default 'bar';

So our type annotations should be the same for both styles (e.g. module:path/to/foo or more explicitly module:path/to/foo~default).
And ideally, module:path/to/foo~foo would raise an error somewhere, since the module doesn't have an export namewd foo.


One Single source JS file to be used in browsers

Hi, Is it possible to get single JS file with the complete source that do not require nodejs depedency to be used in the browser by including it in HTML? Is it possible by any chance?

To have a file for browsers use, I use browserify. You can try it.

Hi Nicolas, i  tried the following:

Downloaded xml-writer.js from lib folder
Browserified the same using the command: browserify xml-writer.js  -o xml-writer-browser.js
Included xml-writer-browser.js file in my code.

But I am getting the error: "uncaught ReferenceError: XMLWriter is not defined(…)" while try to instantiate XMLWriter. What am i missing? Please advice

Hi @gandhirajan ,
I am also getting the error: "uncaught ReferenceError: XMLWriter is not defined(…)" while try to instantiate XMLWriter.
Did you happen to find any solutions for this error?
Thanks - Siddharth

@siddharthnaik7 , we were planning to use this earlier for xml building but later decided to use this - https://github.com/oozcitak/xmlbuilder-js So i m not sure whether someone managed to resolve this.

@gandhirajan  thanks for your input.


Possible issue with mushroom block drops

Is it intended for elder mushrooms to be harvest-able by explosion?    Also, are there plans to add hammers for the other ores, or is it intended for there to only be a golden bone hammer?  Would you add the ability to mine vanilla mushroom blocks with the golden bone axe, as well?  I don't know where to put some of this stuff so I'm putting it here.
Also, what do the pigtificate villages look like?

No, that is not the intended behavior and it has been fixed in the next version. NetherEx is about improving the Nether and not touching other aspects of Minecraft, so, there is not going to be any other hammers and the Golden Bone Axe is only going to be used with the Elder Mushrooms. The Pigtificate Villages consist of tiny huts made out of Nether Brick.