Chore: File template for publishing textures from substance painter

Changelog Description
This PR is to add new file template for publishing textures from substance painter.
To solve the udim texture issue when updating loaded assets from substance painter to maya.
Additional info
You need to add a template preset after installing the addon built by this branch to make it work.

Name : substanceImage
Directory template: {root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/{product[name]}/{@version}
File name template: {project[code]}{folder[name]}{product[name]}{<EMAIL_ADDRESS>Testing notes:

Build addon with this branch
Add the template preset(See additional info)
Launch Substance Painter
Publish RS template preset
Launch Maya
Load Texture from Maya
Update/Set Version to load texture

What is difference from default template?

What is difference from default template? And why we have default setting for it if we don't have that template in default anatomy?

very small difference:<_{udim}> and <.{udim}>

very small difference:<_{udim}> and <.{udim}>, any way to add the template into default anatomy?

Aren't we better of just updating the default then?
And also, why does Maya fail with the first one - isn't that technically valid as well? (And hence, may just need fixing om some loading part in maya instead?)

Aren't we better of just updating the default then?
And also, why does Maya fail with the first one - isn't that technically valid as well? (And hence, may just need fixing om some loading part in maya instead?)

It doesn't fail in loading but updating assets, and it is not failing in maya loading but the scene inventory.

I am trying to find the json data which stores the data in template.json in OP. But I can't

Ah, good point - those are anatomy settings I believe and are actually in the backend as presets. I noticed that recently when doing this draft PR: https://github.com/ynput/ayon-backend/pull/252
As such they should be somewhere here: https://github.com/ynput/ayon-backend/blob/develop/ayon_server/settings/anatomy/templates.py

It doesn't fail in loading but updating assets, and it is not failing in maya loading but the scene inventory.

Again, seems like we should fix that instead. This sounds like a Maya loader issue - not a template issue.

NOTE: The bug that happened on update IS NOT related to template.

NOTE: The bug that happened on update IS NOT related to template. If this is meant as bugfix of that bug then this won't help.

I had to figure out what the issue was - I reported it for now as this: https://github.com/ynput/ayon-core/issues/765

This change breaks backwards compatibility, does not resolve existing representations and to be honest I don't think is correct fix for this.

Modified PR. Adding explicitly "udim" to representation context is skipped as it is there automatically within used_values on filled template. Added auto-fix for old representations to use first udim during get representation path.

That publish from substance painter will need to be 'investigated manually' because the "backwards compatibility" fix will hide it if currently the new published data is still wrong.

What's wrong with substance painter? Did I miss something?

@iLLiCiTiT for better info here is the working occasion vs mutliselection when trying Manage > Set Version
Again, this could be for other PR maybe??

small note tho, probably for other PR?? when performing Manage > Set Version it works just on single image product not for multiple selected image products (even tho other actions like the aformentioned update to latest works for multiselection of images)

Looking into it. Merging this one tho.

What's wrong with substance painter? Did I miss something?

Sorry @iLLiCiTiT what I meant was - we should double check whether the new UDIM publish now actually does integrate with the value to NOT be a list anymore in the database and that it results in a value we expected in representation_entity["context"]

@LiborBatek did you try to publish new texture with udim? Could you quickly try with develop if not?

Libor confirmed he tried to publish and update new textures.

Libor confirmed he tried to publish and update new textures.

Haha, sorry for going back to this again. But my point is that the updating itself would work regardless, even if the new publish data would still be storing it as a list for whatever reason because we have the conversion logic there now as well.
To be entirely sure the data is now fixed we may need to investigate the actual representation entity's data to ensure representation_entity["context"] is now a str like 1001 instead of list like ["1001"].
Looking at the code I suspect it should be fixed - but the code is also complex in other areas and we might be missing another subtle bug.

To be entirely sure the data is now fixed we may need to investigate the actual representation entity's data to ensure representation_entity["context"] is now a str like 1001 instead of list like ["1001"].
Looking at the code I suspect it should be fixed - but the code is also complex in other areas and we might be missing another subtle bug.

Aaah, now I get it. Will validate with Libor tomorrow.


When creating elastic search index, the index that can delete histori…

When creating elastic search index, the index that can delete historical data can be created by day by configuration control. When deleting historical data, the index can be deleted directly, which improves the performance of elastic search.
Please answer these questions before submitting pull request

Why submit this pull request?
New feature provided

Related issues

New feature or improvement

Describe the details and related test reports.
When creating elastic search index, the index that can delete historical data can be created by day by configuration control. When deleting historical data, the index can be deleted directly, which improves the performance of elastic search.
The TraceQueryService.queryTrace method has changed in the UI layer. See the UI submission for details.

I noticed https://github.com/apache/incubator-skywalking-ui/pull/236 . Why do you need to change query in this implicit? This is bad for integration.
We have another UI, RocketBot, we are discussing to accept it as primary UI. This change could break it.
cc @TinyAllen

If query protocol needs to be changed, it must be changed in protocol level.

Daily index queries need time to determine which index to route to, but the TraceQueryService. queryTrace (String traceId) method has no timestamp

cc @peng-yongsheng Welcome to join this review. I think you mentioned someone else has a segment index change too.

@yeerpeng @wu-sheng

From the previous pressure measurement, the record insertion and deletion are the key issues. There is no need to change the metrics. Why IndicatorEsDAO has been changed.
There is no need to add a new method named historyOther in IHistoryDeleteDAO, the parameters in deleteHistory method are enough to delete the index by the time.
No found the implementation of the other DBs.
Just for record, Why are other queries affected?  getClient().search(new String[]{EndpointInventory.MODEL_NAME}, searchSourceBuilder)
queryTrace by trace id is really needs the UI to be modified or we can try to search from the records indexes. Not too more, and the trace id is primary key. So I think the performance loss is acceptable.

queryTrace by trace id is really needs the UI to be modified or we can try to search from the records indexes. Not too more, and the trace id is primary key. So I think the performance loss is acceptable.

This is hard to say. Which do you expect UI knows? Or which field should we add into GraphQL protocol?


VScode is unusable on Ubuntu 24.10 => immediately hangs/times out

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

VS Code Version: 1.94.2
OS Version: Ubuntu 24.10

Any interaction I have with vscode results in
Steps to Reproduce:

Start vscode. Click on anything, for example try opening a file.

I didn't know it, but the old Windows trick of rebooting the PC also worked on Ubuntu.


--graph-output ignores -e and -p options

When I use either the -e or -p flags, behavior is as expected.
When I use these flags in conjunction with --graph-output, it's as if -a were thrown.
bash$ pipdeptree -e ipython | grep "ipython"
bash$ pipdeptree -a | grep "ipython"
  - ipython [required: >=5.1.0, installed: 7.18.1]
      - ipython-genutils [required: Any, installed: 0.2.0]
ipython==7.18.1
    - ipython-genutils [required: Any, installed: 0.2.0]
ipython-genutils==0.2.0
  - ipython-genutils [required: Any, installed: 0.2.0]

Another example:
bash$ pipdeptree -p kolibri
kolibri==0.14.4.dev0+git.20200830222656
bash$ pipdeptree -p kolibri --graph-output json | wc -l
18681

This has been fixed in the new version 2.0.0b1 which is a beta version, so it wouldn't get installed using pip install pipdeptree.
Try sudo pip install --pre pipdeptree instead.

Hi Vineet,
Thanks! I installed the beta and it seems as if output is consistent across formats/modes (json, stdout, raster).


av stack tree doesn't show "which" master a stack stems from

one thing i noticed is that av stack sync --rebase-to-trunk doesn't update all the stacks only the current one, but when you av stack tree, it doesn't show the older versions of master that other stacks are based on . So there's really no way of knowing which stacks are up to date with latest master or not
pictured is g j my alias for git branchless sl which shows the full unsimplified tree of commits

Yes, stack sync updates the current stack by default. To sync all stacks, you can use av stack sync --all.


macOS Inverted Cursor

VSCode Version: 1.45.0
OS Version: OS: macOS Catalina Version 10.15.4

Steps to Reproduce:

Set color theme to any color theme with a dark background.
Open 'New Terminal', hover over text and observe the inverted cursor
Hover over text in standard editor, and notice the cursor has not inverted, making cursor difficult to locate and blocking text from the "bolder" design caused by the white border

.

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

This issue randomly occurred one day after opening VSC. No settings were changed and nor were any extensions edited/added/removed.

Will be addressed by https://github.com/microsoft/vscode/pull/96947


Add missing methods to SinkContext & SourceContext interfaces

Is your feature request related to a problem? Please describe.
I would like it if the Context objects for Pulsar Sinks & Sources had the same methods defined as the Context object for Pulsar functions,
https://github.com/apache/pulsar/blob/master/pulsar-functions/api-java/src/main/java/org/apache/pulsar/functions/api/Context.java
Describe the solution you'd like
Make the following context objects interface definitions as close as practical to the functions context interface to provide some level of consistency when developing them
https://github.com/apache/pulsar/blob/master/pulsar-io/core/src/main/java/org/apache/pulsar/io/core/SinkContext.java &
https://github.com/apache/pulsar/blob/master/pulsar-io/core/src/main/java/org/apache/pulsar/io/core/SourceContext.java interfaces
e.g. Logger getLogger(); is missing from Sink & Source

This is fixed by #3397


WIP: fix public address detection

Do not consider address public, if we are behind EIM NAT.

This branch is soon going to be swapped with work going on in other branches


Custom event modal

Hi,
Thanks for this awesome package.
Is it possible to make the event modal more customizable?
It would be very helpful if I could add custom components fields in it.

Hi
You can put up your own modal from scratch. use customEditor prop, ans see this example https://codesandbox.io/s/customeditor-tt2pf
is that what you looking for?

Indeed.
I'll check this.
Thanks!


reply thru IE  does not show up properly???

it does not show up often  but if you ctrl F5  it show up again ??? what is the problem?

btw it works fine on other explorer

No idea, what IE do you run?

ie 10 ,  sometimes show up sometime not ,  it work ok on other browsers except ie

Not enough info.


Why does the docs page suggest adding the Microsoft.ReportViewer.WinForms and  Microsoft.ReportViewer.Design assemblies to a web project?

Per the directions here it says add these to a web project.  Including that Designer DLL causes several assemblyBindingRedirects to need to be included, yet the assembly isnt called by any code I can find in the project or by the other report viewer package assemblies.
I dont understand the need for a winforms dll at all.

Those are required to support the design time experience

@jtarquino then they need to be included in a separate tools package, declared as dev dependencies, or made as an extension to VS.
Currently they are only serving as a potential source of runtime bugs.

We have the item in our backlog for future releases

Thanks, I'll accept that info as a closure reason.


Port jetty to cats-effect-3

I can pick this up if this is available.

I can pick this up if this is available.

It is. Thanks!

It is. Thanks!

jetty depends on servlet. And servlet has not yet been ported. I will start with that first.

jetty depends on servlet. And servlet has not yet been ported. I will start with that first.

Oops, I overlooked that. :+1:

Oops, I overlooked that. :+1:


[Privacy] Allow users to provide a private genesis file

Add an option to allow the provision of a private genesis file.
--Xprivacy-genesis-file
The file will follow the same format as --genesis-file but with most options being unavailable or not applicable. Currently only alloc is useful.

Problems
There is no way to prevent nodes from having a different private genesis file. Currently, there is no private consensus to prevent this from happening. As such, there is the possibility for nodes to have inconsistent states.

* It is kind of dangerous, as you have to rely on the file being the same for all nodes

Agreed, there's no consensus on this, there's some chat about verifying private state somehow. But yes, everyone needs to have the same genesis and there is no mechanism, currently, in place to guarantee this.

* It is not very flexible, as we can not have different genesis files for different privacy groups

The difficulty is getting the private genesis to everyone in the group. If you want something different for a privacy group I think the instantiator of the group should immediately deploy the 'genesis' as the first transaction. e.g I create a privacy group and off chain we've agreed to play by a particular rule book so I deploy that rule book for this group.
Unless you're using some other tactic (see below)

* we cannot upgrade the genesis file ever if we are using on chain privacy groups

True, use with care :smile: - You can not upgrade a private genesis on any instantiated privacy group because the genesis and maybe management contracts are put into the state trie. Also, you cause problems with re-hydration etc. However, what you can do is make sure your contracts use an upgradable proxy pattern. So in your privacy pre-compile you have a proxy that points to v1 contract then over time you can upgrade the contract to v2.

* it is hard to upgrade the private genesis, because every node would have to restart at the same time with the new private genesis file

I think you could do something for new groups, specify a block number in the alloc? All privacy groups instantiated after that block number get the new contract. Would give time for a consortium to coordinate an upgrade. I think the best approach would be for the privacy genesis to be a proxy pointing to a contract. Then the existing privacy groups can be upgraded by deploying the new contract and pointing the proxy to the new one and new privacy groups would already be pointing to the new one.

There are two things I can think of that could be done to fix that:
1. The genesis could be retrieved from the public state (code from a contract in the public state or a contract that returns the contract code, where the private transaction could somehow identify how/where to get the state from the public state)

Interesting, you get some public commitment about what the group genesis should be. You could also do it on a per-group basis.
You would need to specify a privacy genesis contract address when you start your node (could be a pre-compile in genesis for private network or a simple deployed contract on a public network). The node would also need to be an archive node as you would need the state of the private genesis at a block height in case of re-hydration/re-sync. But could be really cool.

2. The payload of the first pmt in a privacy group could contain the genesis state

I not sure it feels strange from a user perspective. I deploy something to an empty privacy group and you have two transactions appear. You would do something:

eea_sendRawTransaction
first transaction?
create genesis transaction (get it from config/on public chain doesn't matter)
sign and submit
wait for the genesis transaction to be mined
sign and submit transaction from eea_sendRawTransaction

The main upside is you get all the bits around public-ish commitment on what the private genesis for this group should be.

What do you think?

I really like the on-chain idea, I don't think it's mutually exclusive with a fixed file though and is probably something for another day.
The first transaction would fix the issues we have with the hidden flexible privacy group genesis and some issues with co-ordination.

Hey Anthony,
Hey Anthony, why don’t we let the plug-in provide the genesis json? In the plug-in precompile we would just check whether the world-state is empty, and if the plug-in returns a json-object we apply the genesis.
This way we can keep the file, which probably is the easiest way of providing a genesis, but we are flexible enough to do it in a different way.
I guess the plug-in needs to know whether this is the first transaction in a privacy group. In addition it might be a good idea if the plug-in knows whether a transaction is the first one in a privacy group when it is encrypting/creating a pmt payload.
In addition I think that passing the block number to the getPrivateTransactionFromPayload() method, as that will become useful when we start thinking about the add and remove functionality.
Let me know what you think!

Hey Anthony,
why don’t we let the plug-in provide the genesis json? In the plug-in precompile we would just check whether the world-state is empty, and if the plug-in returns a json-object we apply the genesis.
This way we can keep the file, which probably is the easiest way of providing a genesis, but we are flexible enough to do it in a different way.
I guess the plug-in needs to know whether this is the first transaction in a privacy group. In addition it might be a good idea if the plug-in knows whether a transaction is the first one in a privacy group when it is encrypting/creating a pmt payload.
In addition I think that passing the block number to the getPrivateTransactionFromPayload() method, as that will become useful when we start thinking about the add and remove functionality.
Let me know what you think!

I like the idea of eliminating the opportunity for user error - if the plugin can provide the initial state then all the nodes just need to agree on the plugin!
@antonydenyer what is the initial state we are talking about - what is the user requirement?

Agreed, having it resolved by the plugin makes sense, it reduces the chance of someone miss-configuring something. I'll move it onto PrivacyPluginService with something like getGenesis(long blockNumber, Transaction pmt, PrivateTransaction privateTransaction)

@antonydenyer what is the initial state we are talking about - what is the user requirement?

You might want to initialize a privacy group with some contracts already deployed, it just means that it doesn't have to happen every time you create a privacy group.
Should have been specific about which initial state! We're talking about the initial private blockchain world state for that privacy group. ie it starts empty, then perhaps a genesis will be applied and possibly the flexible privacy group management contracts applied.


⚠ ECDC Shop has degraded performance

In a6876be, ECDC Shop (https://shop.memmingen-indians.de) experienced degraded performance:

HTTP code: 200
Response time: 10148 ms

Resolved: ECDC Shop performance has improved in afeb418 after 47 minutes.


Use json to fetch latest versions

Go provides a json url to fetch the latest versions: https://go.dev/dl/?mode=json
We should use this data rather than polling for file download URLs.

How is it being polled at the moment? I thought it was being hardcoded.
Can you extend this example a bit? I can try to implement it.

The builder-bumper does a really basic HTTP HEAD request on the next possible version(s) to see if the release tar files exist to download.

Are we only interested in linux-amd ones?
I have some dirty code at the moment that fetches the link for it, but I could iterate more and add some other things too.
$ ./builder-bumper "1.20" "1.21"
https://dl.google.com/go/go1.22.0.linux-amd64.tar.gz

We only actually care about the current stable version numbers, so we can decide if we need to update.

Should it return the version(s) only instead?

Please take a look at what the builder-bumper does, the actual functionality should not change. Just how it detects what version(s) to update.


Change EO to work off of dice in dice pool

All weapons should have a "Dice per EO"
All weapons can have a "Loading" Property that eats up a portion of a weapons "Combat Dice".
For instance, a light bow might have a loading cost of 1. A Heavy Bow might have a loading cost of 2. A musket might have a loading cost of 4.
You retain "EO Dice" spent from a previous round on loading your weapon to the next round.
For resolving instances where someone is reloading and being charged, for every "EO dice" spent on reloading, the opponent may take a dice worth of movement towards them. For normal humanoid terrestrial movement this would be 10 ft.

Could also make Dodging take up "EO dice"
Could also make environmental actions cost the same.

Maybe have EO calcs below 1 (i.e. 0.5) always scale up to 1.
Could also just always round up by default. and make it 3 dice per EO. I don't know if I like this though.

This turned out to be a bad idea, better to scale off of skill dice pool size


API versioning the devise scope of token validation and ominiauth controller path will wrap up

Hi @lynndylanhurley
First of all, thank's for making this gem. It make my life more easier.
But when i tried to use API versioning and i put mount_devise_token_auth_for 'User', at: '/auth' inside the namespace :api and scope :v1, the route of token validation and ominiauth will add api/v1, to the beginning.
routes.rb:
  namespace :api, defaults: {format: :json} do
    scope module: :v1, constraints: ApiConstraints.new(version: 1, default: :true) do
      mount_devise_token_auth_for 'User', at: '/auth', skip: [:confirmations]
    end
  end

and the route will be
 api_validate_token GET      /api/auth/validate_token(.:format)     api/v1/devise_token_auth/token_validations#validate_token {:format=>:json}
                 api_failure GET      /api/auth/failure(.:format)            api/v1/devise_token_auth/omniauth_callbacks#omniauth_failure {:format=>:json}
                         api GET      /api/auth/:provider/callback(.:format) api/v1/devise_token_auth/omniauth_callbacks#omniauth_success {:format=>:json}

I think it should be without the api/v1 in the controller path

@vs-zhang - I just pushed an update that may fix your nesting issue. Please update to version 0.1.31.beta2 and let me know if it works for you.

This is the route configuration that I'm using in the tests, and it's passing:
Rails.application.routes.draw do
  # ...

  namespace :api do
    scope :v1 do
      mount_devise_token_auth_for 'User', at: 'auth'
    end
  end
end

@lynndylanhurley I am using a fork version of mongoid, i will make the change and test it later. When i get more time late, hope i can contribute more for the mongoid version.

@vs-zhang - 0.1.31.beta2 had issues. Try out version 0.1.31.beta7 instead if you can.

Closing due to inactivity. Can re-open as needed!


How to interpret data?

Hello, I want to know how to interpret 2d_bbs and 3d_bbs.
I see that lidar can be reshaped to (-1,4), but I wonder how 2d_bbs and 3d_bbs should be converted and how they should be interpreted.
Thank you!

You can refer to the function _draw_2d_bbs in base_agent.py. For interpreting 3d_bbs, one way could be to project them into 2D image and visualze them. The functions _find_obstacle_3dbb, _get_2d_bb_baseline and _baseline_to_box can provide more details.


Return Statement Reachability

Possibly related to #10
Go enforces a syntactic reachability analysis for returns, while C never required that returns be reachable and C compilers which do reachability use more sophisticated algorighms.
Some situations where the return statement is considered reachable (or at least not an issue) by C are not considered reachable by Go.
It appears that cxgo has implemented a bit of checking to implicitly add missing returns (see postproc.go:fixImplicitReturnStmts).
However, I've found a test case which is improperly handled.
#include <stdio.h>

#define TRUE 1
#define FALSE 0

int implicit_return(char* str)
{
    while(TRUE)
    {
        while(TRUE)
        {
            if(*str == '\0') { return 0; }
            else if(*str != 'a') { break; }
            str++;
        }

        printf("%c is not a\n", *str);
        str++;
    }
}

int main()
{
    return implicit_return("aaabaababaaaaa");
}

I believe the last line of this function should have an (actually unreachable) return 0 added to fool Go into believing there is a reachable return 0.
DISTRIBUTION STATEMENT “A”. (Approved for public release. Distribution is unlimited.)
This material is based upon work supported by DARPA under Contract No. HR001122C0047. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of DARPA. DISTRIBUTION STATEMENT “A”. (Approved for public release. Distribution is unlimited.)

Thank you for providing a reproducer, I will check why reachability analysis fails for this case.

It's fixed in the recent versions, but requires implicit_returns: true option in the config.


#6 Starbucks landing page

Description
I have made a Starbucks landing page and a added a readme file
Related Issue

Closes #6

Type of Change
Please check the type of change that applies to your PR:

[ ]  Bug Fix
[ ] New Feature
[ ] Enhancement (improvements, refactoring, etc.)
[ ] Documentation Update
[ ] Other (please specify):Starbucks landing webpage

Checklist
Before submitting your pull request, please ensure you've completed the following:

[ ] I have read the CONTRIBUTING.md document and followed the contribution guidelines.
[ ] My code follows the project's coding standards.
[ ] I have added or updated the necessary documentation (if applicable).
[ ] My changes do not introduce any new linting or test errors.
[ ] All new and existing tests have passed.
[ ] I have reviewed my code to ensure its quality.

Screenshots (if applicable)
Demo link : http://<IP_ADDRESS>:5500/projects/Sneha_webpage/starbuck.html
Author's Note
Is there anything else you'd like to add or mention about this PR? Feel free to share any thoughts or considerations here.

Best of Luck and Happy Coding.


Ccm one comp fix

There is a Class named ccmOneComp, while public class inside named ccmOneComponent. Fix would allow use this class in testing.

@yegor256 could you please merge it


Feature request: Specify name for installed product

Description of feature/enhancement
I'd like to see an option to customize the name of an installed application, so that I don't have to use the default name. I couldn't figure out if this already exists, so if this already a thing I can do, could you point me instructions on how to do this?
Justification
Some casks aren't named as well as I'd like; for example, they use a different name than the standard installer so I end up with two copies when running autoupdates, or they append a version number to the app's name so I have to go and delete the old one when running upgrades. For others, I'd like to manually name it so it doesn't conflict with something I already have.
Example use case
If I have some-cask which installs "SomeCask.app", I'd like to see an option when installing, such as brew cask install some-cask --name AnotherName.app which will name the app "AnotherName.app" instead of "SomeCask.app".

This isn't some you can do unless you create your own tap for the Casks you wish to rename.
Allowing users to rename Casks will cause more problems then it will solve.

they use a different name than the standard installer so I end up with two copies when running autoupdates, or they append a version number to the app's name so I have to go and delete the old one when running upgrades.

Can you elaborate further on this? Which Casks are you having issues with?

Off the top of my head, Android Studio Preview adds a version number to the installed app, which causes it to leave the old one untouched when upgrading, and Eclipse (for Java programmers) uses the name "Eclipse Java" to prevent collisions with other Eclipses. However, since I don't use any of the other ones, I'd just like it to be called "Eclipse".

Android Studio Preview adds a version number to the installed app, which causes it to leave the old one untouched when upgrading

When running brew cask upgrade?

Eclipse (for Java programmers) uses the name "Eclipse Java" to prevent collisions with other Eclipses. However, since I don't use any of the other ones, I'd just like it to be called "Eclipse".

It was renamed because some users do use the other Eclipse apps. Nothing we can you about this unless you have your own tap.

When running brew cask upgrade?

No, apparently. Looks like this occurred because I was running a reinstall, which would leave the old Android Studio and install a new one.

It was renamed because some users do use the other Eclipse apps. Nothing we can you about this unless you have your own tap.

I guess…I'll just close this for now, but if I have any other issues I'll report them here.


add documentation link in .local-context file

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug

Add a documentation link in .local-context file.
To Reproduce

Expected behavior

Environment summary

Additional context

This is to provide more info for  user who want to learn more about the file.

Local context document is not published now, move this to S175.


New Rule: disallowIdenticalDestructuringNames

Fixes #1081
Closes gh-1844
cc @iamdanfox

Still WIP?

No tests are passing now so I think I'm good

If anyone can review first?

all good

Ok merging then


[Improvement] Split spark connector with different Scala version

What would you like to be improved?
Currently, we can only use one scala version in a build process, say 2.12 or 2.13, we need to support them both in a single build task.
How should we improve?
No response

seems hard to build multi scala versions at same time, and most projects build with only one Scala version.


Patch fixes for latest sync

Revert the latest change to src/material/icon/icon-registry.ts and src/material/icon/icon.ts (See PR #20146).
Add check to src/material/form-field/form-field.ts to ensure .split is defined before calling it.

Can you amend your commits to include more information about why the change is being made?

@jelbourn Updated my commit messages. Let me know if those are descriptive enough


Audit 1.4.3 | Ensure authentication required for single user mode fails when root password is set using yescrypt (now default in Ubuntu 22.x)

Describe the Issue
Audit 1.4.3 | Ensure authentication required for single user mode runs the following grep regex against /etc/shadow:
grep -Eq '^root:\$[0-9]' /etc/shadow || echo "Root is locked", which is identical to the recommendation from CIS.
However, if the root password is set but encrypted with Yescrypt, the above grep statement will fail and give a false negative to the audit.
Expected Behavior
Audit 1.4.3 should not fail if the root password has been set
Actual Behavior
If encrypted using Yescrypt (and stored in /etc/shadow beginning: root:$y$) the audit fails.
Control(s) Affected
1.4.3
Environment (please complete the following information):

branch being used: improvements
Ansible Version: core 2.15.4
Host Python Version: Python 3.10.12
Ansible Server Python Version: Python 3.9.16

Possible Solution
Change test to: grep -Eq '^root:\$[0-9y]' /etc/shadow || echo "Root is locked" to support Yescrypt

hi @LoZZoL
Thank you for taking the time to raise this issue and further discussions on discord if resolving these issues. Time like this really does help us to improve the product.
many thanks
uk-bolly


refactor(client): replace Bootstrap button component on settings page

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

This PR

Replaces Bootstrap button component with ui-components's Button
Partially addresses #52092

Affected areas and steps to test

Details with screenshots

Affected area
Steps to test
Screenshot

Inline login CTA
- Sign out and go to the landing page  - Check the sign in button in the navigation

Block login CTA
- Sign out and go to the landing page  - Check the "Get started (it's free)" button

Update button on /update-email
- Go to /update-email  - Check the update button

"Personal Information" section on Settings page
- Go to /settings   - Scroll down to the "Personal Information" section - Check the save button

"Privacy Settings" section on Settings page
- Go to /settings  - Scroll down to the "Privacy Settings" section  - Check the save and the download data buttons

"Email Settings" section on Settings page - save button
- Go to /settings  - Scroll down to the "Email Settings" section  - Check the save button

"Email settings" section on Settings page - edit button
- Flip the rendering logic of the edit button (link to the code) - Go to /settings  - Scroll down to the "Email Settings" section  - Check the edit button

"Your Internet Presence" section on Settings page
- Go to /settings  - Scroll down to the "Your Internet Presence" section  - Check the save button

"Portfolio Settings" section on Settings page - add item button
- Go to /settings  - Scroll down to the "Portfolio Settings" section  - Check the add item button

"Portfolio Settings" section on Settings page - save and remove item buttons
- Go to /settings  - Scroll down to the "Portfolio Settings" section  - Click the "Add a new portfolio item" button - Check the save and remove item buttons

"Academic Honesty Policy" section on Settings page
- Go to /settings  - Scroll down to the "Academic Honesty Policy" section  - Check the accept button

"Certification" section on Settings page - show cert
- Go to /settings  - Scroll down to the "Certifications" section  - Check the "Show Certification" buttons

"Certification" section on Settings page - claim cert
- Seed the DB with isFullStackCert being false  - Go to /settings  - Scroll down to the "Legacy Full Stack Certification" section  - Check the "Claim Certification" button

"Danger zone" section on Settings page - delete and reset buttons
- Go to /settings  - Scroll all the way down to the "Danger zone" section  - Check the buttons in the section

"Danger zone" section on Settings page - delete modal
- Go to /settings  - Scroll all the way down to the "Danger zone" section  - Click "Delete my account"  - Check the buttons in the modal

"Danger zone" section on Settings page - reset modal
- Go to /settings  - Scroll all the way down to the "Danger zone" section  - Click "Reset all of my progress"  - Check the buttons in the modal

Seems that aria-label would still be there after the button was disabled. This was not the case for the Button component:

May Cypress die peacefully

Thank you for all your hard work Huyen!


[Runtime] Ensure we always generate names for ObjC classes.

If something fails while trying to generate a name for an ObjC class, we fall back to a generated name based on the metadata pointer.  This ensures that we won't crash, and if the name turns up in the debugger or somewhere it should be obvious that something went wrong.
rdar://107718586

@swift-ci Please test

This is a cherry pick of #65140. It solves a problem where we crash when we hit a situation where we have an @objc class that happens to be a generic extended existential on the Swift side, and will also prevent similar crashes when we otherwise fail while trying to work out a suitable name for an @objc class.

@swift-ci Please test


Add Font::units_per_em, derived methods and doc

This partly follows on from #6 which was closed without specifying a unit. In https://github.com/kas-gui/kas-text/pull/7 @RazrFalcon explained that ttf-parser is just using font-units for everything, which means to know what the unit is we need Face::units_per_em. This adds that, plus some derived methods and clarifying documentation.
For my purposes, I generate the raw scale factors directly (and then multiply by font.height_unscaled() for compatibility with PxScale). Therefore an extension to this PR could be to add RawScale and RawScaleFont types, with the latter implementing ScaleFont. Caveat: Glyph::scale has type PxScale, thus it would be necessary to convert RawScale to PxScale anyway for drawing (unless Glyph is generalised, which would be significantly more work).

Having units_per_em seems fine. The _unscaled should probably become _units to connect the concepts.
Better docs for the PxScale definition is very welcome too.
I'm not sure the pt/dpi did should live here though. As long as the units are provided that stuff can be done downstream.

I mostly added it as documentation. Quite possibly that should live elsewhere.

I'm not a fan of a _units ending. It's not immediately clear which unit it refers to. With a little doc somewhere (the line I put on Font), the _unscaled ending is fine I think.
Shall I move the scale-conversion doc to Font and remove those methods?

Shall I move the scale-conversion doc to Font and remove those methods?

Yep sounds good.

Done.

Thanks!


Added "inf" as a valid option to run_test.py's -n flag.

Especially useful in combination with -f.

This needs a small tweak to shuffle_iterable or we will effectively leak memory.

When we next_it.append, we need to check len(next_it) and if it's big (say, 1000 elements), we need to shuffle it and yield it (like at the end of shuffle_iterable) and reset next_it and probably p.

Ah, subtle! Thanks. Done.


test: io_socket_handle_impl_integration_test.cc contains non-hermetic tests that depend on external network connectivity

The style guidelines in https://github.com/envoyproxy/envoy/blob/main/STYLE.md call for tests being hermetic and no non-local network access.
The test in https://github.com/envoyproxy/envoy/blob/main/test/common/network/io_socket_handle_impl_integration_test.cc depends on external network connectivity to a hard-coded external IP address and fails in environments that correctly restrict external network connectivity.
It may be helpful to pass --sandbox_default_allow_network=false to bazel test in CI to detect tests that attempt external network connectivity.
cc @davinci26 @alyssawilk @mattklein123 @htuch @lizan

We discussed in the PR with the reviewers and this is why I marked the test as tags = ["requires-network"]  (see here)
Is this not good enough?

Thanks for pointing to that PR review comment.  It may have been helpful to add a comment that refers to it to the test's source code.  I didn't know about tags = ["requires-network"], it seems that this test is the only one tagged in that way.
I filed the bug due to getting a report of this test failing in a dev's environment while reviewing a PR.  See https://github.com/envoyproxy/envoy/pull/15135#discussion_r580937355

Yeah makes sense, I will add some comments on the source code of the test to leave trails on the discussion to make it clearer for the next person.
We chose it over the manual tag, because manual libraries are not getting compiled on CI and they end up being stale code. This allows devs to have a clear way to execute this feature on their dev box otherwise the code is not getting covered at all on Envoy tests.

Follow up after the PR with the comments is merged is to use getLocalAddress and make the test pass on CI. See https://github.com/envoyproxy/envoy/pull/15212#discussion_r583839576


MultiplayerReady is set to true

MultiplayerReady is set to true.
I tested this in multiplayer and it works fine.

I came here to suggest this, having the mod in multiplayer would be very nice.


convert script to functions

[x] filter genes - filter_genes
[x] CQN normalization - normalize_cqn
[x] correlation with mRNA expression, PCA and covariates
[x] iterative normalization

closed by PR #88 and #85.


performing a segue while dragging -> draggable element freezes on screen

Please use DragDropiOS.cancelDragging() before perform a segue.

I`ve already tried it with DragDropiOS.cancelDragging().
But the problem remains.

the same happens when you drag one element in your example application and before dropping, clicking another draggable element. Hope you can help

seems we only have to delete the represtationImageView from the old bundle before assign the new one. Otherwise we are not able to remove the old represtationImageView from the superview since we've lost the reference
DragDropManager: #106
  if let bundle = self.bundle{        bundle.representationImageView.removeFromSuperview()     }

I fix this bug on 0.2.3 version.
Only one dragging progress be allowed at the same time. The new dragging progress will be fails, and the repressentationImageView would not shows.


How to properly model the relation between External Interfaces and Internal Links

How to model the relation between an Internal Link and an External Interface. Considering the following example (taken from a real example made by experts )
The InternalLink LinkSetPointSWHW references the combination of Internal Elements and External Interfaces.
RefPartnerSideA references the Internal Element C and the External Interface SetPointSW.
RefPartnerSideB references the Internal Element LIRCS+-A+- and the External Interface SetPointHW.
InternalLink references RefPartner (cardinality = 2)
RefPartner is the combination of (maybe the Union) an InternalElement and an ExternalInterface
<InternalLink Name="LinkSetPointSWHW"  RefPartnerSideA="5df276b3-b22c-4c5e-903e-bb3be141c892:SetPointSW"  RefPartnerSideB="adb2ebf7-dc6f-479b-abfe-64a4fd69c209:SetPointHW"  />
<InternalElement Name="C" ID="5df276b3-b22c-4c5e-903e-bb3be141c892" RefBaseSystemUnitPath="NE150SUCLibrary/Control">
<InternalElement Name="LIRCS+-A+-" RefBaseSystemUnitPath="NE150SUCLibrary/PCERequest" ID="adb2ebf7-dc6f-479b-abfe-64a4fd69c209">
<ExternalInterface Name="SetPointSW" RefBaseClassPath="NE150InterfaceLibrary/SWSignal" ID="a6b7ed29-4b3a-4a6b-870a-7283cb1a6dce">
<ExternalInterface Name="SetPointHW" RefBaseClassPath="NE150InterfaceLibrary/HWSignal" ID="cbc4f253-0aaf-4879-9732-efcd8d3b4de3">

After looking through the sample files, I would suggest the following:

we define 4 extra object properties:

hasRefPartnerSide(A/B)_Object to connect to InternalElement(s) and SustemUnitClass(es) (its values  range = instances of InternalElement or SustemUnitClass classes)
hasRefPartnerSide(A/B)_Interface to connect to ExternalInterface (its values range = instances of ExternalInterface  class)

We can optionally define referencesInternalLink (or smth like) property from the ExternalInterface to InternalLink, which would model the opposite direction of the connection from IL to EI. But i am not sure it is needed.

Also, one should be careful with how the values are assigned between the "A" and "B" sides. In the examples i have its always across, e.g., if there is a connection between Band and a Frame then it is modeled like:
[SideA_Object]: Band, [SideA_Interface]: Frame_Interface, [SideB_Object]:Frame, [SideB_Interface]:Band_Interface
And direction is important!


accept link with period at the end

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #47854

which option do you want?

clear hint to remove the period
accept a link text with a period at the end

Ive done option 2, let me know if you'd rather have option 1 instead (the clear hint and not allow the period.)

This issue is not open for contribution yet


Enochian Timer does not update

The Enochian Timer does not appear to function with my game.
Enochian Status UP (27s remain) | Enochian Timer still shows "Over"

Settings for Enochian Timer are below

Sorry.
It doesn't correspond to English log at present.
It's corrected by the next version.

Please try this version.
https://github.com/anoyetta/ACT.MPTimer/releases/tag/v1.5.11

I can confirm that the new version resolves the issue with the English log.
Thanks!


Update to Cadence v1.0.0-preview.49

Description
Automatically update to:

onflow/cadence v1.0.0-preview.49
onflow/flow-go-sdk v1.0.0-preview.51
onflow/flow-go 8b4fff2114d4
onflow/flow-emulator v1.0.0-preview.40

Summary by CodeRabbit

New Features

Updated various dependencies to newer versions, potentially enhancing application performance and functionality.

Bug Fixes

Incremented versions of multiple libraries may include bug fixes that improve overall stability.

Chores

Conducted maintenance updates on dependency versions for better compatibility and security improvements.

I have already opened https://github.com/onflow/flow-evm-gateway/pull/463, where I have updated all dependencies, including the transient ones, to Cadence v1.0.0-preview.49

@m-Peter Ah, perfect, thank you so much!


script/mafia is now properly atomic, this time for sure

This should in theory fix https://github.com/ambiata/mafia/issues/36
/cc @nhibberd

LGTM :+1:

:fallen_leaf:


AT+CIPSEND, SEND OK sometimes received after endpoint response

Environment

Development Kit: ESP-WROVER-KIT
Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4]
Module or chip used: ESP32-WROOM-32
IDF version: v4.0.1-193-ge7ac221b4
Build System: CMake
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2019r2) 8.2.0
Operating System: macOS
Power Supply: USB

esp-at commit 4335e4cbc7b2b122a493495f80a466babb4fed24
Default sdkconfig with log verbosity set to info.
Problem Description
I have a very simple HTTP client that sends data over UART using TCP/IP commands (CIPSTART/CIPSEND) using SSL.
Sometimes when I send AT+CIPSEND=<length>, I receive a response through +IPD,<len>: from the server before the esp-at firmware has returned SEND OK.
Expected Behavior
If there is a CIPSEND in progress, any incoming data over that connection should be returned after the SEND OK response.
Actual Behavior
I often receive +IPD response data before SEND OK has been received.
Steps to reproduce
This reproduces maybe 20% of the time when I use the script provided below.

Make a connection to a server with AT+CIPSTART=.....
Send some data down, which expects a response (in this case, a GET request)

Code to reproduce this issue
Here is a simple python script that I use to demonstrate the issue, it is hard-coded with an image URL that I have seen the problem with a lot.
https://gist.github.com/mjessome/8f60059405944d4c5078dc3522a01581
To run:
python3 OoO-Demo.py <serial port> <ssid> <pass>

Debug Logs
Logs from python script:
---> Draining output
> AT+CWMODE=1

< AT+CWMODE=1
<
< OK
--> Connect to WIFI
> AT+CWJAP="xxxxx","yyyyy"

< AT+CWJAP="xxxxx","yyyyy"
< WIFI DISCONNECT
< CLOSED
< WIFI CONNECTED
< WIFI GOT IP
--> Disable SSL
> AT+CIPSSLCCONF=0

<
< OK
--> Open Connection
> AT+CIPSTART="SSL","pyxis.nymag.com",443

< AT+CIPSSLCCONF=0
<
< OK
< AT+CIPSTART="SSL","pyxis.nymag.com",443
< CONNECT
--> Send
> AT+CIPSEND=156

<
< OK
--> Wait For >
---> Send Header
> GET /v1/imgs/2f3/e6b/4f8d37ff4555c6aedae051ff3080cf9b9f-05-animations-01.2x.rhorizontal.w1100.jpg HTTP/1.1
Host: pyxis.nymag.com
User-Agent: Custom-UA

<
< Recv 156 bytes
<
< +IPD,283:HTTP/1.1 200 OK
< Connection: keep-alive
< Content-Length: 340694
< Last-Modified: Mon, 05 Oct 2020 16:02:35 GMT
< ETag: "7e412d8b8e3bb8745c846275b923a462"
< Content-Type: image/jpeg
< Cache-Control: max-age=86400
< Accept-Ranges: bytes
< Date: Fri, 16 Oct 2020 15:54:53 GMT
< Age: 112892
<
<
<
< SEND OK

Notice how the SEND OK is received after the +IPD response from the server
Other items if possible

SDKConfig is default with logs increased, but can be found here https://gist.github.com/mjessome/8f60059405944d4c5078dc3522a01581

@mjessome sorry for the late reply.
i am afraid esp-at maybe will not be designed in this way, for SEND OK is TCP TX and +IPD is TCP RX.
they are parallel, otherwise, the throughput of esp-at will cut down a half.
emm, if you insist on doing this, it is suggested to pre-process the data on uart tx and uart rx.
uart rx: https://github.com/espressif/esp-at/blob/master/main/interface/uart/at_uart_task.c#L117
uart tx: https://github.com/espressif/esp-at/blob/master/main/interface/uart/at_uart_task.c#L109
if something not clear, please let me know.

@mjessome sorry for the late reply.
i am afraid esp-at maybe will not be designed in this way, for SEND OK is TCP TX and +IPD is TCP RX.
they are parallel, otherwise, the throughput of esp-at will cut down a half.
emm, if you insist on doing this, it is suggested to pre-process the data on uart tx and uart rx.
uart rx: https://github.com/espressif/esp-at/blob/master/main/interface/uart/at_uart_task.c#L117
uart tx: https://github.com/espressif/esp-at/blob/master/main/interface/uart/at_uart_task.c#L109
if something not clear, please let me know.

Closing due to lack of response, please feel free to reopen if this is still an issue. Thanks.


exec format error

When trying to follow the example, I get
[Warning] The requested image's platform (unknown) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

exec /bin/sh: exec format error

This is on a Mac mini M2. I am on Ventura

You don't need to uninstall, you can just temporarily quit it.

Hi there, I tried to quit it, didn't work. I then uninstalled it, reinstalled docker, did everything, it still shows the same issue.

I'm not sure I can help you any further. If you're still getting exec error that talks about linux, it means you have something Linux-related running and it listens to /var/lib/docker/dockerd.sock socket file.  The possibility of running macOS containers alongside with Linux containers is a dream of a very far away future, so today we need to make conscious decisions on which one is currently in use.

I'm not sure I can help you any further. If you're still getting exec error that talks about linux, it means you have something Linux-related running (Docker Desktop, Rancher Desktop, colima, etc) and that listens to /var/lib/docker/dockerd.sock socket file, preventing macOS native Docker daemon from doing the same.  The possibility of running macOS containers alongside with Linux containers is a dream of a very far away future, so today we need to make conscious decisions on which one is currently in use.

Ah yeah I replaced Docker Desktop with Colima as I couldn't figure out how to run Docker without (I just got this Mac about 10 hours ago haha, still getting used to this). I've stopped colima and docker seems to function now. It's reinstalling Ventura latest (though I have slow internet) so I'll update you on that asap.
In the mean time, do you mind telling me how you manage to get Docker running without colima/DD?

Earthy has an article that explains how all this macOS container stuff is functioning. I'm not sure I would be able to explain things better than them :)

Earthly has an article that explains how all this macOS container stuff is functioning. I doubt I would be able to explain things better than them :)

This is a great link, thank you!

I've got it alive! However, doing RUN name -a seems to infinitely build. Same goes for any run command. Any ideas?

That was fixed yesterday: https://github.com/macOScontainers/rund/commit/cf7cb664cb88088dbf3cbaba23058fa60635176c
You need to brew update && brew upgrade

Closing, since initial issue (exec format error) was resolved.

That worked! Thank you!!!


Cannot set exposure using python SDK (I can set it in RS viewer)

Required Info

Camera Model
D415

Firmware Version
<IP_ADDRESS>

Operating System & Version
Windows 10

Platform
PC

SDK Version
<IP_ADDRESS>4

Language
python

Segment
others

Issue Description
Hi. I am using python SDK in my application to get the depth and color frames from realsense. I needed to set the exposure time manually. There are 2 issues:

I can only set 2 different exposure values. Although I try setting different microsecond values (1000, 5000, 33000, 50000, 100000 etc.), the resulting color pictures are always in 2 different levels (which I don't know what exposures are used)
I can only capture once with manual exposure after the pipeline has started. After the first image is acquired, rest of them are captured in auto exposure mode. See the for loop below. Setting the exposure before every capture inside the loop did not help.

I can set the exposure in realsense viewer without any problem and the value I set persists. I searched but did not seem any issues reported for this problem. I'll be glad if you can tell me where I'm doing wrong.
import pyrealsense2 as rs
import matplotlib.pyplot as plt
import numpy as np

if __name__ == "__main__":

    # Get the context
    ctx = rs.context()

    # Create the pipeline
    pipeline = rs.pipeline()

    # Configure the device
    cfg = rs.config()
    cfg.enable_all_streams()

    # Set exposure
    dev = ctx.devices[0]
    ds = dev.first_depth_sensor()
    ds.set_option(rs.option.exposure, 1000)

    profile = pipeline.start(cfg)

    # Only the first frame is captured in manual exposure mode with an unknown exposure value!
    for _ in range(10):
        frames = pipeline.wait_for_frames()
        color = np.asanyarray(frames.get_color_frame().get_data())
        plt.imshow(color)
        plt.show()

Ok I found my mistake. Apparently I was not setting the option for the right sensor here:
# FOLLOWING IS NOT CORRECT IN MY CODE ABOVE
dev = ctx.devices[0]
ds = dev.first_depth_sensor()
ds.set_option(rs.option.exposure, 1000)

Correct way to do it:
# Get the sensor once at the beginning. (Sensor index: 1)
sensor = pipeline.get_active_profile().get_device().query_sensors()[1]

# Set the exposure anytime during the operation
sensor.set_option(rs.option.exposure, 1000.000)

Notice that the correct index of the color camera sensor is "1".  Tested with D415 and D435i. It's not related with Python API and behaves in both C++ and Python API similarly.
Hope this helps others!


feat: charity updates

add new charity eventsubs
add new charity donations endpoint
add unit test for charity donations

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

9 of 11 (81.82%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 92.784%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

charity.go
9
11
81.82%

Totals

Change from base Build<PHONE_NUMBER>:
-0.08%

Covered Lines:
1350

Relevant Lines:
1455

💛  - Coveralls


Consider DIS_SERVICE_UUID as in BLEOTA library

https://github.com/gb88/BLEOTA

Service does not contain FW VER


auto adoptation to sqlite3's configuration?

I am writing wrapper around C++ library that uses sqlite3.
And need to link to this C++ library statically. The problem is that I used also rusqlite.
As can I see it is possible to use SQLITE3_STATIC  env variable or in_gecko feature.
But what about sqlite3's configuration?
C++ library build sqlite3 as:
-DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1  # Default to NORMAL sync mode on SQLite (safe with WAL mode)
-DSQLITE_LIKE_DOESNT_MATCH_BLOBS    # Optimize SQLite "like" queries
-DSQLITE_OMIT_SHARED_CACHE          # Allows SQLite to discard shared cache, eliminating some branches
-DSQLITE_OMIT_DECLTYPE              # Disable returning the declared column type from query (reduces memory usage)
-DSQLITE_OMIT_DATETIME_FUNCS        # Don't compile SQLite date functions
-DSQLITE_ENABLE_EXPLAIN_COMMENTS    # Add comment text to the result of sqlite3_explain
-DSQLITE_DISABLE_FTS3_UNICODE       # Disable FTS3 unicode61 tokenizer (not used in LiteCore)
-DSQLITE_ENABLE_MEMORY_MANAGEMENT   # Enable sqlite3_release_memory to release unused memory faster
-DSQLITE_ENABLE_STAT4               # Enable enhanced query planning
-DSQLITE_HAVE_ISNAN                 # Use system provided isnan()
-DHAVE_LOCALTIME_R                  # Use localtime_r instead of localtime
-DHAVE_USLEEP                       # Allow millisecond precision sleep
-DHAVE_UTIME                        # Use utime() instead of utimes()
-DSQLITE_OMIT_LOAD_EXTENSION        # Disable extensions (not needed for LiteCore)
-DSQLITE_ENABLE_FTS4                # Build FTS versions 3 and 4
-DSQLITE_ENABLE_FTS3_PARENTHESIS    # Allow AND and NOT support in FTS parser
-DSQLITE_ENABLE_FTS3_TOKENIZER      # Allow LiteCore to define a tokenizer
-DSQLITE_DQS=0                      # Disallow double-quoted strings (only identifiers)

Some options I suppose can be used also by rusqlite, like: HAVE_UTIME or HAVE_LOCALTIME_R to increase portability and performance.
But what about other options, in bad case I always get link time errors or it is possible
to get hidden bug, when rusqlite expect some invariant from sqlite3, but this invariant is false?
I suppose the SQLITE_THREADSAFE is example of such options,
are any other hidden threats ?

And main question is it possible to verify build config automatically,
provide for example provide list of sqlite config options into
rusqlite/libsqlite3-sys/build.rs and it emit build error if something wrong?

We do this in both https://github.com/mozilla/application-services/ (e.g. part of mobile firefox) as well as in mozilla-central (e.g. desktop firefox) itself.
In general rusqlite doesn't need to know about these options for the most part. What build errors are you getting?

What build errors are you getting?
@thomcc

My main point that I may not get any build errors.
In other words that I build and link all just fine and get random errors in runtime.
Example of such mistake may be setting SQLITE_THREADSAFE to wrong value and as I can see
it doesn't cause any build time errors.

Note: The 'in_gecko' feature is a bit of a hack that should be more generally expanded into a 'direct_link' feature or something.
I'd recommend in the mean time providing sqlite via rusqlite (e.g. passing in SQLITE_{LIB,INCLUDE}_DIR, and SQLITE_STATIC via environment).

I don't think rusqlite can do anything about your sqlite being potentially misconfigured prior to runtime.

I don't think rusqlite can do anything about your sqlite being potentially misconfigured prior to runtime.

I think it can actually, as I described in the second post.
For example I set SQLITE3_CONFIG="-DSQLITE_THREADSAFE=0 -DSQLITE_..." all options that I used to build sqlite3.c amalgama and rusqlite/libsqlite3-sys/build.rs check this variable and call panic! if something wrong with config.

I'd recommend in the mean time providing sqlite via rusqlite (e.g. passing in
SQLITE_{LIB,INCLUDE}_DIR, and SQLITE_STATIC via environment).

I will try it first of course, but I am not sure about this.
sqlite3.o is part of libBigCppLib.a , and I also link libBigCppLib.a
into my crate my_big_cpp_lib_wrapper,
may be linking rusqlite and my_big_cpp_lib_wrapper into final executable
may cause symbol duplication error on some platform, but I hope it is not cause errors.

sqlite3.o is part of libBigCppLib.a , and I also link libBigCppLib.a

Ah, yeah, that's basically why I hacked in the in_gecko feature, which is for a similar use case. I'd love to do a, uh, better job there, but at the time was, well, pressed for time, and so I just did the hacky thing.

For example I set SQLITE3_CONFIG environment variable to "-DSQLITE_THREADSAFE=0 -DSQLITE_...", in other words all options that I used to build sqlite3.c amalgama and rusqlite/libsqlite3-sys/build.rs check this variable and call panic! if something wrong with config

I now understand what you're suggesting and... Well, I worry this would just be confusing. Like, in a bundled build you'd assume this would be used to actually configure things.... And perhaps that would be valuable, but is different from what you're suggesting.
It's also a maintenance burden for a bit of an edge case. Can you think of things other than -DSQLITE_THREADSAFE=0 for this to catch? I think you're better off just solving this via having test code that exercises stuff and thus would catch the issue.

Can you think of things other than -DSQLITE_THREADSAFE=0 for this to catch?

R-tree flag, all compiled just fine, but then failure happens during running the application.

Yeah, I don't think we want to be in the business of ensuring the SQLite build flags you used at compile time turn out to match what you end up setting up at runtime. That's a nontrivial effort if we're going to catch everything, and you can more easily catch these things via test coverage.


Add special case time selection in model.sel()

In GitLab by @jdelsman on Jan 11, 2021, 15:47
To allow model slicing on the time dimension, allowing for times not present in all packages. (selecting times that are present in all packages works fine btw)
Say you have a model that looks like:
riv   a---b---
ghb   a--c----
model --------d
and want to slice from e to f:
slice --e---f--
Then a model should be returned where in riv and ghb time a is moved to e, and other times retained, and model end time d should be set to f
(this closes #132)

In GitLab by @Huite on Mar 8, 2021, 10:40
Being implemented in !111


[Bug]: @web3-onboard/trezor throws error when attempting to execute state changing transaction

Current Behavior
When connecting to a Trezor hardware wallet and trying to execute a transaction that would change state on-chain, the Trezor module is trying to call a function from the included ethereumjs-util package that does not exist: https://github.com/blocknative/web3-onboard/blob/v2-web3-onboard-develop/packages/trezor/src/index.ts#L383
Looking at the package.json and checking out the source for that specific version of the package used, it seems like that function indeed doesn't exist. (https://www.npmjs.com/package/ethereumjs-util)
It does however exist in the now archived and old repository: https://github.com/ethereumjs/ethereumjs-util/blob/master/src/bytes.ts#L204
The problem occurs most likely because the npm link has been updated to point to https://github.com/ethereumjs/ethereumjs-monorepo instead of https://github.com/ethereumjs/ethereumjs-util/
Expected Behavior
Transactions should work without issues like they do for other connectors.
Steps To Reproduce

Set up project with trezor module installed
Connect project to trezor wallet
Attempt calling a function to execute a transaction

What package is effected by this issue?
@web3-onboard/trezor
Is this a build or a runtime issue?
Runtime
Package Version
2.10.0
Node Version
14.18.1
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
Anything else?
No response
Sanity Check

[X] If this is a build issue, I have included my build config. If this is a runtime issue, I have included reproduction steps and/or a Minimal, Reproducible Example.

@n4n0GH thanks for raising this issue, we will take a look at this later this week or early next week.
Can you verify the issue presents on our internal demo reactdemo.blocknative.com?
If you have a fix you are welcome to submit a PR in the meantime if that gets you unblocked and we can get that reviewed more quickly.

Those errors are related to the Infura provider api key that is domain scoped.
It is interesting that I see that method available in my local build and it should be there because of the yarn.lock.
How are you using web3-onboard? Did you use npm or yarn to install or do you have a local instance/fork?
Can you send a screenshot of the error you see?

@n4n0GH closing this issue, if this comes back up or you have more details please re-open


Add a PartialEq implementation to generated types

Here's a quick attempt at adding PartialEq to gateway type implementations for #52. I tried adding Eq as well, but it looks like ObjectMeta and friends don't actually implement Eq.
error[E0277]: the trait bound `ObjectMeta: Eq` is not satisfied
   --> gateway-api/src/apis/standard/gatewayclasses.rs:16:5
    |
16  |     CustomResource, Serialize, Deserialize, Clone, Debug, JsonSchema, Default, PartialEq, Eq,
    |     ^^^^^^^^^^^^^^ the trait `Eq` is not implemented for `ObjectMeta`

To make these changes, I updated update.sh and  the generate enums xtask to include auto-deriving PartialEq where I could and regenerated with a fresh install of kopium.
$ kopium --version
kopium 0.20.1

Thanks for adding this! Please note you'll just need to sign off on commits in the kube-rs org (more details here).

Please note you'll just need to sign off on commits in the kube-rs org

done!


Improve asymptotic running time of interleave_longest

interleave_longest() currently works by using zip_longest() with a fillvalue of _marker, and then filtering out all the _marker references in the returned iterable.
This has a running time of O(len(iterables) * max(map(ilen,iterables)). This is particularly inefficient if one iterable is much larger than any of others.
Using the proposed OrderedDict based implementation in distributions where OrderedDict exists, the running time can be changed to O(sum(map(ilen, iterables)) + len(iterables)), which is better in cases where one iterable is much larger than others without realistically affecting the runtime of the other cases.

Interesting.  Did you happen to profile your implementation?  It would be informative to compare it against the present more_itertools.interleave_longest and more_itertools.roundrobin recipes.

I didn't know about roundrobin.
I ran a test with my first implementation as well as your implementation and roundrobin. It specifically targets the "difference in number of items case":
import cProfile
from playground import *

for num_lists in range(5):
    print(f'==== # Iterables {num_lists} ====')
    for variance in (10, 20, 50, 100, 1000, 10000, 100000):
        print(f'==== Variance {variance} ====')
        iterables = [[] * num_lists, list(range(variance))]
        cProfile.run('for i in range(100): [*interleave_longest(*iterables)]')
        cProfile.run('for i in range(100): [*interleave_longest_ordered(*iterables)]')
        cProfile.run('for i in range(100): [*roundrobin(*iterables)]')

The output of that test is here:
https://pastebin.com/RwxHNg9r
It looks like next was a bottleneck, so in my implementation I mapped the keys to the __next__() function, but I still couldn't beat roundrobin:
https://pastebin.com/6z7qqbd8
roundrobin is simply a more efficient version of what I'm proposing with the same basic idea, so I'll drop my implementation for roundrobin's from now on. It's fairly clear that roundrobin is better in cases where one iterator is much bigger than the other, so let's look at more general cases.
I would assume in the real world that we would see a lot of iterators that are relatively similar in size, so I went for a general test that generates a lot of random list of lists with a normal distribution. It should be rare that lists are of wildly different sizes, but it is possible with this test.
Here's the new test:
import cProfile
from playground import interleave_longest, roundrobin
from random import normalvariate, randint

for std_dev in (10, 25, 50, 100, 500, 1000, 2000, 5000):
    print(f"σ: {std_dev}")
    test_cases = list(list(range(int(normalvariate(10000, std_dev))) for _ in range(randint(2, 5))) for _ in range(1000))

    pr = cProfile.Profile()
    pr.enable()
    for test_case in test_cases:
        A = list(interleave_longest(*test_case))
    pr.disable()
    pr.print_stats()

    pr = cProfile.Profile()
    pr.enable()
    for test_case in test_cases:
        A = list(roundrobin(*test_case))
    pr.disable()
    pr.print_stats()

The results confirm what we'd expect:
https://pastebin.com/UwdJwuJ0
interleave_longest is more susceptible to variance in the lengths of the input iterables, whereas roundrobin is more susceptible to variance in the amount of input iterables. You can see the 'waste' in interleave_longest by looking at the difference in calls between <lambda> and roundrobin.
It looks like the overhead of the calls is still too great for roundrobin to be better in all but very big cases. I think it would be worth updating the docstring to mention this.

I was about to close this pull request but then I tried it in PyPy, where roundrobin is better in literally every way:
https://pastebin.com/09SNdHe8
I've changed my pull request to use roundrobin in PyPy.

What a great analysis.  This would be a cool blog post if you were ever so motivated.  I appreciate the statistical approach to profiling.  It's the first time I've seen it done this way.
It seems to counter an earlier observation (#122), in which interleave_longest appeared to be 2x faster.   However, that test was likely done with a less robust test using jupyter's %timeit.  Thanks for this insight.

Restarted my computer. I ran a slightly different test that doesn't discard the results of the lists and compares them for equality afterwards. Here's the test:
import cProfile
from playground import interleave_longest, roundrobin
from random import normalvariate, randint

for std_dev in (10, 25, 50, 100, 500, 1000, 2000, 5000):
    print("σ:", std_dev)
    test_cases = list(list(range(int(normalvariate(10000, std_dev))) for _ in range(randint(2, 5))) for _ in range(1000))

    pr = cProfile.Profile()
    pr.enable()
    listA = [list(interleave_longest(*test_case)) for test_case in test_cases]
    pr.disable()
    pr.print_stats()

    pr = cProfile.Profile()
    pr.enable()
    listB = [list(roundrobin(*test_case)) for test_case in test_cases]
    pr.disable()
    pr.print_stats()

    print(listA == listB)

Results:
Cython 3.6.1 - https://pastebin.com/L3RAkNdC
PyPy3 3.5.3 - https://pastebin.com/LR9abz7A
Interestingly, in this test, roundrobin trounces interleave_longest even in Cython.
Can I get some reproducability on this? I would like more data from other computers.


cdk-virtual-scroll-viewport  - support window scroll

Bug, feature request, or proposal:
Feature request
What is the expected behavior?
Allow the scroll of the cdk-virtual-scroll-viewport to be controlled by the top level window scrollbar.
See example at the link below. (Go to that page and click on parent scroll to see desired behavior)
https://rintoj.github.io/ngx-virtual-scroller
Another example of window scrolling in the context of virtual scrolling
https://bvaughn.github.io/react-virtualized/#/components/WindowScroller
What is the current behavior?
Specifying a parent scroll does not seem to be supported, from what I can tell.
What is the use-case or motivation for changing an existing behavior?
Having a single top level window/page scroll is standard in a lot of SPAs. The virtual-scroll would be a lot more useful in these cases, if it could use the same scroll bar, otherwise often times you end up with two scrollbars (one for the virt-scroll and the other for the page, or else a smaller inset container for the virt-scroll with a scrollbar), which is less than ideal.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular: 7.0.1
Material: 7.0.2
Is there anything else we should know?

That would be very useful!

+1

This should definitely be implemented soon!

@hezzyg You can use this module. It already supports window scroll.

@hezzyg otherwise if @mmalerba and/or @jelbourn are OK with my approach, I can deliver a patch ASAP. But I'm still waiting their (no)go to do it (or not). ;-)

@hezzyg otherwise if @mmalerba and/or @jelbourn are OK with my approach, I can deliver a patch ASAP. But I'm still waiting their (no)go to do it (or not). ;-)

Thanks @rmedaer . I do prefer a solution integrated into Angular Material for better support in the future. So I hope your suggestion will get there asap :-)

@hezzyg You can use this module. It's already supported window scroll.

I'll have a look. thanks @vahidvdn

@rmedaer yes I'd like to do this, please send a PR and mention me on it, thanks!

This would be a really useful feature. We are unable to use this at the moment because we have a scrollbar at a different level.

@rmedaer @mmalerba

@hezzyg otherwise if @mmalerba and/or @jelbourn are OK with my approach, I can deliver a patch ASAP. But I'm still waiting their (no)go to do it (or not). ;-)

@rmedaer yes I'd like to do this, please send a PR and mention me on it, thanks!

Is there a pull request for the patch?
I really need to implement a window scrolling CDK viewport so I'd be grateful for any help!

There is a PR, https://github.com/angular/material2/pull/14287, but it needs some changes and the author hasn't responded in quite a while

@mmalerba the PR #14287 is simply introducing the virtual adapter but is there any PR to support scrolling at parent level or window level for cdk-virtual-scroll-viewport?

@jeetparikh yeah my bad, I saw that it was linked to this issue but didn't look closely enough, that PR is unrelated. Deleting my previous comment to avoid confusion for people reading this later.
I thought I remember seeing a PR related to this, but it may have just been a proof of concept on someone's branch

@rmedaer thank you for sharing that. Does that work without any tweaks? Also, does it work with cdk-table? or I would have to make amendments?

Yes it should work out of the box by adding window to cdk-virtual-scroll-viewport component (see cdk-virtual-scroll-viewport[window] directive).
I don't know about cdk-table... You'll probably have to use CdkVirtualScrollNestedViewport directive to  deal with parent relative positioning... but again I don't know much more about that.

thanks @rmedaer .. what exactly does the nested viewport support?

Instead of using existing viewport from cdk-virtual-scroll-viewport, it takes the closest relative parent (nativeElement.offsetParent) as reference. Later it uses offsetTop property to measure the scroll offset (c.f. measureScrollOffset method). Because my code is a POC it's currently implemented only to measure from "top".

sounds good.. thanks @rmedaer I l have a look :)

@rmedaer

@jeetparikh if it's really urgent, you can take a look at this commit. It's the POC I made to test virtual scrolling on window.
Btw I don't have so much time to do a PR for now but at least you can already play with it !

@rmedaer  How can I use this in my project?

This is very feature. We are not able to use virtual scroll as scroll bars are at different levels.

Will this feature be implemented soon?

@rmedaer Will you be open to fixing your previous #14287 ? It seems to have some suggested changes here I think the idea looks great!

One year later, there is no news about this feature :(

@rmedaer

@jeetparikh if it's really urgent, you can take a look at this commit. It's the POC I made to test virtual scrolling on window.
Btw I don't have so much time to do a PR for now but at least you can already play with it !

@rmedaer How can I use this in my project?

@hanishmaram :
Recipe for you:

Build from source
git clone https://github.com/rmedaer/material2 && cd material2 && npm run install && npm run deploy

Then you need content into your repo, just this content
material2/dist/packages (just cdk folder is enough)

Installation into your project
yarn add ${github_user}/${github_repo}

Import into your project:
import { ScrollingModule } from '${github_user}/${github_repo}/cdk/scrolling';

@rmedaer
Hi,
can you provide an example how to use window scroll? For my purpose, I can use "nested" but "window" is more optimal.

The last small problem is, when you are not using window.scroll, adress bar on anrdoid cannot be hidden automatically when you scroll down.
I hope that this feature will be available soon.
Thanks,
Celtian

What is the current status on this? Still being looked at?

Guys, don't make me move to React :) Please write, is there a chance to do this task in 2020? Who needs to buy a beer?
Just check this module instead if you need this feature.

@vahidvdn
My adventure with Angular has been going on for several years and sometimes such small nuisance can drive me crazy. I have an application that is designed to be displayed as desktop / mobile / PWA / Electron / Android / iOS. One code base. The last thing I miss is hiding the address bar (while scrolling) in mobile browser. There is no other way but to scroll the window object. I tested the module you're writing about. The problem is that scrolling mode on the window does not work with https://material.angular.io/components/sidenav/overview. Angular Material is very important for me because of the great support for disabled people. That's why I would like to know if scrolling on window support will be available this year or I have to look for completely different solutions having in mind the parallel support of many different platforms.

@limes Good point. But the important thing is that maybe this is a much bigger problem in reactjs. Because that's a library and even a lot of important things like router component is not coming out of the box (but made by the community). So even in react you will gonna use a 3rd party library for your virtual scroll. (You may have some problems or may not)

@vahidvdn And that's the reason I use Angular. I like the fact that I have everything in the box and I don't have to look for more libraries and watch out for dependencies. Just this little problem with scroll on the window @ mobile :)

@vahidvdn
[...] I tested the module you're writing about. The problem is that scrolling mode on the window does not work with https://material.angular.io/components/sidenav/overview. [...]

I implemented ngx-virtual-scroller with a window scroll and mat-sidenav. It works perfectly now (URL Bar is hiding on iOS and Android), after getting the html and css set correctly (which was a pain).
But still I think supporting scroll on the document.window is essential for mobile for the reasons mentioned.

It works perfectly now (URL Bar is hiding on iOS and Android), after getting the html and css set correctly (which was a pain).

@iBaff Can you show me how you fixed it?

@limes
please check difference (div native element in sidenav-content) between
https://stackblitz.com/edit/angular-virtual-scroll-with-sidenav-work
and
https://stackblitz.com/edit/angular-virtual-scroll-with-sidenav-not-work

@limes
URL bar hiding work
https://stackblitz.com/edit/angular-virtual-scroll-with-sidenav-work-with-urlbar-hide

@dmc31a42
https://angular-virtual-scroll-with-sidenav-work-with-urlbar-hide.stackblitz.io/
https://angular-virtual-scroll-with-sidenav-work.stackblitz.io/
Maybe I'm doing something wrong, but no pages under the above addresses hide the address bar when I'm scrolling them. I tested on real iPhone/Chrome

@limes I have checked. I'll tell you when find solution

@limes I fixed https://angular-virtual-scroll-with-sidenav-work-with-urlbar-hide.stackblitz.io/ work in iOS
Key point is,

make 'overflow' of mat-sidenav-container and mat-sidenav-content to 'visible' to fix virtual-scroller does not work in sidenav

mat-sidenav-container {
  overflow: visible;
}
mat-sidenav-content {
  overflow: visible;
}

use scroll.window to work url hide

@dmc31a42 Thank you! 👍

@mmalerba is there any update on timeline / prioritization of this feature?

I am searching for this approach. nice to see this issue.
is there any updates?

Any updates on this ?

An update would be really great

What i feel is that,

By default if we don't control overflow (overflow: auto) at cdk-virtual-scroll-spacer, that carries to parent element all the way to window.
Now that is missing in the cdk-virtual-scroll-viewport element. and cdk-virtual-scroll-spacer should accept the element be it window, of element in local component, or element from parent component as scrollable. A attribute possibly?
the cdk-virtual-scroll-viewport should be calculating header and footer size to occupy the cdk-virtual-scroll-spacer. Basically accept the header, footer and any other intermediate element height to be considered to have complete scroll option. Again via attribue.
Either spacer to take care of the complete page available to scroll or we can set height of cdk-virtual-scroll-content-wrapper excluding header/breadcrumb/footer including media query adjustments.
as much as possible the position of cdk-virtual-scroll-viewport should be not fixed, or absolute. because some application may not able to reuse at their component level depth if that is the case.

Angular doing lot, not sure why this feature is on hold for long time. And again, suggesting alternative 3rd party library is another overhead. These all angular can fix and sell itself well among industries.

Until this is merged i found a quick workaround for this. You can create a new custom scrolling strategy which is basically the same as the fixed size scrolling strategy, but for the viewPort height you use the hight of the window and for the scroll offset you use the pageYOffset of the window.
And what is left to do is to listen to the scroll event on the page and update the redered range when this happens.
Here is a basic stackblitz with it. It might not work for every case, but it's good enough for what i need it to do. Maybe it will help others too.

https://stackblitz.com/edit/window-virtual-scroll-strategy

@ghenry22 ionic built-in virtual list component was literally useless. Hope it's going to work with the angular CDK virtual-scroller.

@vahidvdn I've used the Ionic virtual scroll component successfully in a number of cases.  It definitely has some quirks and never got the attention it needed but when you work around it's specific weirdness it does the job.
I agree though I am hoping that the cdk virtual scroller will provide a much more robust and more actively supported solution.  Only time will tell!

Any update on this feature?

Until this is merged i found a quick workaround for this. You can create a new custom scrolling strategy which is basically the same as the fixed size scrolling strategy, but for the viewPort height you use the hight of the window and for the scroll offset you use the pageYOffset of the window. And what is left to do is to listen to the scroll event on the page and update the redered range when this happens. Here is a basic stackblitz with it. It might not work for every case, but it's good enough for what i need it to do. Maybe it will help others too.  https://stackblitz.com/edit/window-virtual-scroll-strategy

The stackblitz link is not working, could you please re share it @ursaciuc-adrian

The stackblitz link is not working, could you please re share it @ursaciuc-adrian
Updated the url

@mmalerba Would you still accept a PR adding this feature? I would be happy to provide one following the suggestions by @rmedaer

@spike-rabbit Yes, I'm happy to look at a PR along the lines of what we discussed above.

Will it allow to have two virtual scroll viewports under the same container and the scroll will be in the container? Thus allowing them both to render only what's shown relative to the shared parent container.

@mmalerba Great, thanks for the info. I plan to provide one around March.
@Harpush Based on my current knowledge: yes. But I need to dive further into this to provide a reliable answer

Thanks for all of you effort on this! Really looking forward to seeing this.
This feature is critical for a "native-like" feel in mobile apps with momentum scrolling. When scrolling locks up and you need to scroll again with a new gesture to continue past the virtual scroll viewport, or capture the gesture in the viewport instead of going past, it really interrupts the user experience.
I will be happy to test and contribute to this if there is a beta build to try!


index.md - Added authors til Java

Added authors still not named for certain books and removed italic from their names in order for all content to follow the same pattern. Done so from the beginning until line #106 (Java).

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for opening this pull request.
Book recommendations are beyond the scope of the freeCodeCamp Guide, so we've decided to go ahead and remove these book recommendation articles.
I encourage you to review this book in the ratings category of the freeCodeCamp forum. Your recommendation will reach way more people there.
Thanks again recommending this book, and for contributing to the freeCodeCamp Guide.


Android can't take screenshots

3.5.0 You cannot take screenshots in the ONE app. See top of screenshot for error.
I'm thinking this is because the app lacks camera permissions or something? I verified against the existing app in the play store, which does ask for camera permissions when you install it, but still won't let me take screenshots.

You can't take screenshots due to the PrivacyScreen plugin. It's
intentional (though really the plugin is primarily for stopping the app
from showing in the task switcher, the same privacy flag on Android also
blocks screenshots).
Note: this is not the case on iOS.
On Sat., 12 Nov. 2016 at 04:04, reneelynn<EMAIL_ADDRESS>wrote:

[image: img_1834]
https://cloud.githubusercontent.com/assets/3867179/20223297/9eefbe2e-a7fe-11e6-9eb1-dd65532fe136.JPG
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/SpiderOak/SpiderOakMobileClient/issues/738#issuecomment-260004233,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAh396RqbWCl5dfOr5IFR5SeogNqf_Eqks5q9KAkgaJpZM4Kv8Lm
.


Node: Increase times for SCRIPT KILL tests to avoid flakiness

Increased script and wait timeouts to align with the Python tests. Added more detailed error messages to help diagnose any recurring flakiness.
Issue link
This Pull Request is linked to issue (URL): closes #2625
Checklist
Before submitting the PR make sure the following are checked:

[ ] This Pull Request is related to one issue.
[ ] Commit message has a detailed description of what changed and why.
[ ] Tests are added or updated.
[ ] CHANGELOG.md and documentation files are updated.
[ ] Destination branch is correct - main or release
[ ] Commits will be squashed upon merging.

We discussed these tests with the team. The approach in these tests is incorrect in general - we're trying to test the server, instead of testing the client.
https://github.com/valkey-io/valkey-glide/blob/76a5c107dad42076bc180cdaaf45bab05844090f/node/tests/GlideClient.test.ts#L1478-L1480
This simple check is enough to test the client, all the rest can (should) be removed.
Keep in mind that we have the same test for python and java clients too. Fix them as well.

We discussed these tests with the team. The approach in these tests is incorrect in general - we're trying to test the server, instead of testing the client.
https://github.com/valkey-io/valkey-glide/blob/76a5c107dad42076bc180cdaaf45bab05844090f/node/tests/GlideClient.test.ts#L1478-L1480
This simple check is enough to test the client, all the rest can (should) be removed. Keep in mind that we have the same test for python and java clients too. Fix them as well.

good point!


Presentation: getElementProperties RPC

Purpose of this PR is to expose a simplified RPC to get properties for a single element. On the backend the implementation is built on top of our content APIs and uses the same content traversing mechanisms as our property data provider.
The return format example:
{
  "class": "My Class",
  "id": "0x000111222",
  "label": "My Element's Display Label",
  "items": {
    "Category 1": {
      "type": "category",
      "items": {
        "Nested Category": {
          "type": "category",
          "items": {}
        },
        "Primitive Property": {
          "type": "primitive",
          "value": "1.12 m"
        },
        "Struct Property": {
          "type": "struct",
          "members": {
            "Primitive Member": {
              "type": "primitive",
              "value": "1.12 m"
            },
            "Struct Member": {
              "type": "struct",
              "members": {}
            },
            "Array Member": {
              "type": "array",
              "valueType": "primitive",
              "values": []
            }
          }
        },
        "Primitives Array Property": {
          "type": "array",
          "valueType": "primitive",
          "values": [
            "1.12 m",
            "2.45 m"
          ]
        },
        "Structs Array Property": {
          "type": "array",
          "valueType": "struct",
          "values": [
            {
              "Struct 1 Member 1": {
                "type": "primitive",
                "value": "1.12 m"
              },
              "Struct 1 Member 2": {
                "type": "primitive",
                "value": "2.45 m"
              }
            },
            {
              "Struct 2 Member 1": {
                "type": "primitive",
                "value": "1.12 m"
              },
              "Struct 2 Member 2": {
                "type": "primitive",
                "value": "2.45 m"
              }
            }
          ]
        }
      }
    }
  }
}

@mgooding, can you please have a look at return format example to see if that's suits the purpose

@ramanujam-raman @calebmshafer, how should this be documented for the REST API documentation?

@mgooding, can you please have a look at return format example to see if that's suits the purpose

Yes, this looks great!
Ultimately, it would be nice if the logic from getElementProperties in presentation-backend/PresentationRpcImpl.ts was exposed as a simple backend method that worked outside the RPC layer. As-is I would copy-paste this function for use in imodel-unity-example.

@mgooding, can you please have a look at return format example to see if that's suits the purpose

Yes, this looks great!
Ultimately, it would be nice if the logic from getElementProperties in presentation-backend/PresentationRpcImpl.ts was exposed as a simple backend method that worked outside the RPC layer. As-is I would copy-paste this function for use in imodel-unity-example.

Exposed getElementProperties method on both PresentationManager classes - on the frontend (accessible through Presentation.presentation) and the backend (accessible through Presentation.getManager()).

@ramanujam-raman @calebmshafer, how should this be documented for the REST API documentation?

@grigasp we'll want to document most of it (URL params, return types and limited info on what each part of the return means) on developer.bentley.com but for more extensive details I imagine we'll send them to the itwinjs.org site. I'll follow up via email on where to put the developer.bentley.com docs.

Are we still planning to merge this PR?

Are we still planning to merge this PR?

Yes. I was waiting for directions on how to document this. I think I got what I need now and plan to complete the PR this week.


Add tests for (real world) package installation

Description
Adds an e2e test that packs every package into tarballs and installs from those using npm

Not sure where to put the node ./build-deps-to-tgz.js && npm i step so it's in sources for now

And need to move away from import("fs").glob for the node 18 suite

e2e/packaging tests are expected to fail until #2866 merges


Vue + NUXT Integration

Being that Rellax is vanilla I figured it would be a great addition to my Vue + NUXT project.
I've created a plugin like you would any other library you're trying to get into your project (rellax.js):
import Rellax from 'rellax';
import Vue from 'vue';

Vue.prototype.$rellax = () => {
    return {
        Rellax
    }
}

In my config file I have included it in my Build configuration with the rest of my plugins (nuxt.config.js):
plugins: [
    ...
    { src: '~/plugins/rellax.js', ssr: false}
    ...
]

Lastly, in my component I'm calling this.$rellax('.rellax') on mounted. And have 3 different div'd with the class name of "rellax":
<template lang="pug">
    .trucks-alt
        slide-header.rellax
        parallaxer.rellax
        .placeholder.rellax
</template>

export default {
    name: 'page-name',
    ...
    mounted () {
        console.log(this.$rellax());
        this.$rellax('.rellax');
    },
    ...
}

I went ahead and log'd out "this.$rellax" and it finds the function(el, options). Not sure what I'm doing wrong...

Hey,
I use rellax too on a Vue + Nuxt project. Just import on your component like this :
import Rellax from "rellax";
and for example in mounted() method :
var rellax = new Rellax(".rellax", {options});
or by adding class in html :
<div class="rellax">
Hope this helps !

Thanks for your help @raphaelaitelalim


Keyboard shortcut to open applications as administrator in Run

Summary of the new feature/enhancement
Ability to launch any application as administrator with a keyboard shortcut such as Shift+Enter

@samwdp you can currently run the selected result as admin by using Ctrl+Shift+Enter

Closing this issue. Please feel free to reopen if you run into any problems.


Update dev script in parquet-cpp to remove incubator.

Current script has some wrong paths. It still references incubator.
Reporter: Nong Li / @nongli
Note: This issue was originally created as PARQUET-419. Please see the migration documentation for further details.

Julien Le Dem / @julienledem:
Issue resolved by pull request 17
https://github.com/apache/parquet-cpp/pull/17


ida extractor: extract APIs from renamed globals

Add support to extract dynamically resolved APIs stored in global variables that have been renamed (for example using the renimp.idc script included with IDA Pro).

It supports (and may close if we do not want to support the extraction of other types of API dynamic resolution) https://github.com/mandiant/capa/issues/252

Checklist

[ ] No CHANGELOG update needed

[X] No new tests needed

[ ] No documentation update needed

It seems the removal of setuptools.command.test in the setuptools library is making the CI fail.

CI is green! :green_heart:

:partying_face: thank you!


fix syntax from yum to dnf

fix syntax from yum to dnf

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Why is this desirable?

replace dnf with yum for CentOS and RHEL

RHEL and 8 CentOS 8 have dnf, but version 7 still uses yum. Since yum works with all distributions, it's preferable in these instructions. CentOS 7 is EOL on 2024-June-30.

Although it won't be merged, thank you for your PR all the same, Sumantro.


Application Properties in spring plugin

Was trying to use the properties injection in one of plugins and the properties are not resolved.  Is there a way to propagate the properties from the app to plugin?

Same issue here

Found a solution?


[Cosmos v4] Possible unsafe lazy initialization

Below code
    private static ConnectionPolicy defaultPolicy = null;

    public static ConnectionPolicy getDefaultPolicy() {
        if (ConnectionPolicy.defaultPolicy == null) {
            ConnectionPolicy.defaultPolicy = new ConnectionPolicy();
        }
        return ConnectionPolicy.defaultPolicy;
    }

If above lazy initialization is done for performance reasons then the safest solution is usually to declare the enclosing method synchronized. Otherwise, avoid lazy initialization and initialize static fields using static initializers.
In this case, new ConnectionPolicy() doesn't look like a costly operation, maybe static initializers should be sufficient here.

Working on this.

It has been changed into return a new ConnectionPolicy for each call.