Issue with package including a py.typed file

tldr: I am experiencing an unexpected tab completion result when I install a package using pip install -e which contains a py.typed file. Minimal working example shown below.
Environment data

Language Server version: pylance v2022.6.30
OS and version: Ubuntu 18.04.6 LTS
Python version (& distribution if applicable, e.g. Anaconda): Python 3.8.13

Code Snippet
Here is a minimal working example:
example.zip
Repro Steps

Create a folder with the contents of example.zip. Should look like this:

example
├── baz
│   └── demo.py
└── foo
    ├── foo
    │   ├── _bar.py
    │   ├── __init__.py
    │   └── py.typed
    └── setup.py

Open the folder baz, using vscode. (I do think exclusively opening the folder baz is important, but I'm not certain.)

code baz

Create a virtual environment and install an editable version of the package foo.

python3.8 -m virtualenv venv
. venv/bin/activate
pip install -e ../foo

The contents of pip list should show something like this:
Package    Version Editable project location
---------- ------- -------------------------
foo        0.0.0   /home/tsmart/example/foo
pip        22.1.2
setuptools 62.3.4
wheel      0.37.1

Select ./venv/bin/python as the python interpreter and reload the window.

Open the file demo.py and try typing from foo import , tab completion will show:

But I expected to see the variable a in the output window for tab completion.

Interesting thing, if I remove the file example/foo/foo/py.typed I get the result I expected to also see in step 5 (don't forget to reload the window):

Logs
Here is the log from step 5 above:
bad_step5_log.txt
Here is the log from step 6 above:
good_step6_log.txt

Update: Should of tried this before submitting but I do not believe the editable install is relevant to the issue. I can reproduce the issue using a normal install. Although, for convenience I would still suggest doing an editable install to reproduce the issue.
Note: The setup.py I included in my example won't include any data files, so py.typed will be missing it if you simply pip install ../foo. If you choose to do this make sure to manually copy py.typed to the appropriate location, e.g. venv/lib/python3.8/site-packages/foo.

Thanks for the response and explanation! I'm still a bit surprised by the behavior but I'll read up on the documentation as to understand the choice.
Also, I can confirm that switching to from ._bar import a as a works! Wonder if there is a tool out there that can automate this for me 🤔 . Sounds like a fun little tool to write.

I would recommend against automating this. It should be a deliberate decision by a library author to re-export a symbol from a module. By default, you probably want most imported symbols to remain private — an implementation detail of that module.
I agree that using a redundant form of an import looks weird. It was initially introduced by PEP 484 as a mechanism for stub files. The convention was adopted for "py.typed" libraries as well.

In the particular cases I am thinking of it was actually our intent for the symbol a to be public and visible to users of our package. It is our general strategy to have folders (e.g. foo) with private modules (e.g. foo/_bar.py) which we export specific symbols as public via the __init__.py file (e.g. from ._bar import a). So in our case the fact that a symbol being imported in the __init__.py file means we intend for it to be apart of our public interface.
With this strategy in mind, I think having a tool which ensures that symbols in our __init__.py which are intended to be public are considered public by tools like pylance would be nice to have.
But perhaps, we are creating our public interface in an unusual way, I'm always learning.


Documentation is unclear and messy

When I check this and follow the link I see a guide of the usage of Azure AD pod-managed identity.

The rest of the examples on this page require that you've followed the instructions in Provide an identity to access the Azure Key Vault Provider for Secrets Store CSI Driver, chosen one of the identity methods, and configured a SecretProviderClass. Come back to this page after completed those steps.

However, I'd like to see an example of how to use User/System Assigned Managed Identity to retrieve secrets from Azure Key Vault. Also, it's unclear from the documentation how to use secrets as environment variables for my pods.
[Enter feedback here]

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

ID: 409a3be9-4831-9401-0bb3-c65209bb3f42
Version Independent ID: 4cf81213-5989-f36c-7456-70accfe452c2
Content: Use the Azure Key Vault Provider for Secrets Store CSI Driver for Azure Kubernetes Service secrets - Azure Kubernetes Service
Content Source: articles/aks/csi-secrets-store-driver.md
Service: container-service
GitHub Login: @Nickomang
Microsoft Alias: nickoman

Hi @mykolaichuk Please see the document that is attached; it could be helpful.
Steps to follow assigned managed identity to access Azure Key Vault
https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-nonaad
Follow Secrets variables
Disclaimer: This response contains a reference to a third-party World Wide Web site. Microsoft is providing this information as convenient to you. Microsoft does not control these sites and has not tested any software or information found on these sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there.
https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets-as-environment-variables
We've opened a new case to include Secrets variables Kubernetes in a Microsoft document. Thank you for your feedback.

Hi @SaibabaBalapur-MSFT
Sorry but the first link is irrelevant to the topic I have described in my issue.
I have reviewed a document one more time and I was able to retrieve secret as a volume mount.
However, this part is still unclear to me. In the example I see the following note:

The YAML examples here are incomplete.

Why it can't be extended by default so it won't confuse readers?

@mykolaichuk Thank for feedback, we will update to this document author so they can take a look at it accordingly.

Hi @mykolaichuk , for updates, kindly follow the case below.
https://github.com/MicrosoftDocs/azure-docs/issues/104452

Hi @mykolaichuk , for updates, kindly follow the case below. #104452

Thanks for the update, @SaibabaBalapur-MSFT


remove jackson 2.4 compat

It was here only for spark compatibility. Spark 2.0 is on jackson 2.6.5 so we don't need special handling.

This change is

I don't think we can upgrade this before a bunch of services relying on Spark have removed Spark 1.x support.

I will make sure services get migrated to 2.0 ASAP (probably this week). Can we merge this after you cut 1.0?

I think we need to keep 2.4 Support in here for a little while so that
teams can take updates without the spark blocker.
On Thu, Aug 4, 2016, 2:49 PM Robert Kruszewski<EMAIL_ADDRESS>wrote:

I will make sure services get migrated to 2.0 ASAP (probably this week).
Can we merge this after you cut 1.0?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/palantir/http-remoting/pull/195#issuecomment-237694320,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGOdwahmwr0F_l5-YqmP5rH_Tddh5f-nks5qcl5zgaJpZM4JY7VG
.

any update here, Rob?

We shouldn't need 2.4 support anymore. I believe nothing internally uses it anymore and otherwise don't see good reason to support it.

Ping on this as it would be nice to remove Jackson 2.4 support, though I guess we have to wait until 2.0?

Yep. Is this hurting anyone as it is?
On Mon, Oct 31, 2016, 10:10 David Schlosnagle<EMAIL_ADDRESS>wrote:

Ping on this as it would be nice to remove Jackson 2.4 support, though I
guess we have to wait until 2.0?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/palantir/http-remoting/pull/195#issuecomment-257355418,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGOdwTh4dy3pj6L7pziH9zgP7B568e6Qks5q5iDbgaJpZM4JY7VG
.

I don't know of it hurting anyone, but there are compatibility issues with Jackson Afterburner on 2.4 so we don't enable it, see https://github.com/palantir/http-remoting/pull/284/files#diff-01d6c75da22a1a001eb7a8e0e3198989R36

we solved this by providing the missing 2.4 feature we needed as s shim


caliber_video.py taking long time

Hi @krematas ,
Thanks for this amazing repo.
I successfully executed the first step which generated 146 files in

$DATADIR/detectron

.
When I'm running demo/caliber_video.py, It's showing a figure and still running long time.
When I cut the shown figure,the code is throwing

IndexError

.Then I run the file again and I could find the code line
db.calibrate_camera() in caliber_video.py is running.
youtube.txt, metadata/detectron.p and an empty folder calib are created.
Some files are still to be created.
Can we make it little bit faster somehow?
Thanks in advance.

Found the solution.


Add final InMemoryPage source path accessor override

InMemoryPages can, by definition, not have a source path. This PR adds a final method override to return an empty string '' to force a consistent behaviour.

Did not work as I expected. Closing.


Support querying whether shader parameter is used post-optimization

Because of the way shader compilers have traditionally operated, many applications that rely on reflection of shader parameters need to be able to query whether or not a shader parameter is "used." Slang does not currently support such queries, but it should.
Background
A few key choices in the design of the Slang compiler make this kind of query more subtle/challenging than it might appear.
Many other shader compilation systems assign registers/bindings to shader parameters only after performing optimizations, which can include the elimination of shader parameters that are unused by a particular entry point. Slang instead assigns registers/bindings before all non-trivial optimization steps, in order to ensure that we generate a deterministic result (will not change when lines inside function bodies get #ifed in/out). In practice, the Slang compiler assigns registers/bindings based on its AST structures (before IR code generation), and has no facilities at present for performing that task after optimization (where it would need to operate on the Slang IR).
The Slang API for reflection and runtime compilation is carefully designed to support scenarios where a program (or type) is loaded and compiled through the Slang front-end, and then reflection/layout information is queried before any particular variants of that code are linked, specialized, and emitted. This again means that the point in compilation where reflection currently takes place doesn't have access to the kinds of information that would be required to answer a query like "is this parameter used?".
Insight
The key insight that unblocks a path forward is that we don't need to be able to use the Slang IR to answer the full query "is parameter foo used?". Instead, we can break that query into two distinct steps:

What register/space (or binding/set, etc.) was assigned to foo?
Is that register/space (etc.) used in some particular optimized kernel, or not?

The first step is something the current reflection API can answer just fine, and the second step is something that the IR is equipped to be able to answer (it just requires the plumbing work to surface it).
API
The key thing to get right for now is the user-facing API for the feature. At the simplest, we could imagine an operation like:
SLANG_API bool spIsParameterLocationUsed(
    SlangCompileRequest* request,
    int entryPointIndex,
    int targetIndex,
    SlangParameterCategory category, // is this a `t` register? `s` register?
    int spaceIndex,      // `space` for D3D12, `set` for Vulkan
    int registerIndex);  // `register` for D3D12, `binding` for Vulkan

This would check if the kernel code that gets compiled for the given entry point and target ends up including (after optimization) a parameter that overlaps the given category, space, and register. A matching operation on IComponentType would probably also be needed:
virtual SLANG_NO_THROW boolSLANG_MCALL isParameterLocationUsed(
    int entryPointIndex,
    int targetIndex,
    ParameterCategory category,
    int spaceIndex,
    int registerIndex);

We can start with whichever of these is needed first by applications requesting the feature (probably the C-style sp* version).
Other options at the API level are certainly possible, but the above at least seems like a reasonable place to start.
Implementing the Query
The above proposed functions are similar in style to the existing spGetEntryPointCodeBlob operation, and we can follow the flow of that operation to get to where the meat of the work probably needs to get done. The surface-level API stuff for that operation bottlenecks through the TargetProgram type, which owns a demand-generated set of CompileResults, one for each entry point.
If we can extend the CompileResult type to include a field that refers to usage information about shader parameters, then we can try to initialize that information on the code paths that produce CompileResults. This is primarily handled in CodeGenContext::emitEntryPoints(). In the simplest case, the functions that emitEntryPoints() dispatches down to can be modified to return additional data via an output parameter, and that additional data can be packaged up into the CompileResult.
In terms of the actual representations, it should be possible to store something like a List<UsedRange> where each UsedRange is something like:
struct UsedRange
{
    LayoutResourceKind kind; // `LayoutResourceKind` is the same as `ParameterCategory` in the public API
    int spaceIndex;
    int registerIndex;
    int registerCount; // 0 for unsized
};

If those entries are stored in sorted order, then the isParameterLocationUsed query would seemingly just require a binary search to find the appropriate range (if any).
The next step is to figure out how to generate that information.
A Temporary Workaround
For back-end targets that provide their own reflection APIs (e.g., the fxc- and dxc-based compilation paths) we could in principle use the reflection API of the downstream compiler to enumerate and collect the information on used binding ranges. Similarly, for the SPIR-V target, we could take the output SPIR-V and use some ad-hoc logic to scan for the appropriate set and binding decorations.
Doing this work per-back-end is probably not a good long-term answer, but would allow us to get precise information for a few targets in the short term, with relatively simple logic.
Using the Slang IR
All of our code generation targets make use of the Slang IR, and produce the IR that will drive back-end compilation with the linkAndOptimizeIR function. That operation could return additional information in the LinkedIR type that it already produces.
The linkAndOptimizeIR function performs a lot of different passes on the IR, and it should be a simple matter to add an additional step after all the optimization is complete to scan the irModule in that function to identify shader parameters and their binding information.
To a first approximation, a pass to look up this information would do something like:

Iterate over the global-scope instructions in the module: for(auto inst  : irModule->getGlobalInsts())
Identify those that are global shader parameters: if(auto param = as<IRGlobalParam>(inst)
Get the layout information for that parameter: auto varLayout = as<IRVarLayout>(param->findDecoration<IRLayoutDecoration>())
Iterate over the kinds of layout resources the parameter uses: for(auto sizeAttr : varLayout->getTypeLayout()->getSizeAttrs())
The resource kind used is: auto kind = sizeAttr->getResourceKind()
Find the offset of the parameter for each kind: auto offsetAttr = varLayout->findOffsetAttr(kind)
The space for the range is: auto spaceIndex = offsetAttr->getSpace();
The register/binding for the range is auto registerIndex = offsetAttr->getOffset();
The number of registers/bindings in the range is auto count = sizeAttr->getSize();

We can accumulate (and then sort) all the ranges found this way, or we can strip out all but the ones users will actually care about.
Because the enumeration of the parameters will be done after optimization of the Slang IR, it should only include parameters that appear to be used in the HLSL output that Slang will generate. It is possible that some parameters that Slang thinks are used will be optimized away by a downstream compiler (perhaps because it is better at detecting unreachable code), but hopefully that won't break the kinds of applications we are concerned with here.

Closing as fixed.


buggy url resolve

buggy url resolve
Solution:
at line 3: var url = require('url');
at line 61:  link = url.resolve(baseUrl, link);
I couldn't able to commit the change due to permission issue. You could update.
Explanation:
Example if baseUrl is http://www.syr.edu/facultyandstaff/index.html and
anchor url is ../admissions/index.html, then it was trying to fetch
http://www.syr.edu/facultyandstaff/index.html../admissions/index.html
which is wrong.
Fixed with node builtin function url.resolve(from, to), Ref:
https://nodejs.org/docs/latest/api/url.html

Hi, thank you for reporting the issue. You can also create a pull request which I will then merge https://help.github.com/articles/using-pull-requests/ "Fork & pull" , or I will commit the change myself.

Thank. Will do a pull request and will make changes.

Thanks for the contribution, merged.


Update README.md

Description

Related Issues

Checklist:

[ ] My code follows the code style of this project, as detailed in our contribution guidelines.
[ ] I have added tests.
[ ] I have updated the documentation accordingly.

I don't understand this PR


Performance with CPU TF & zero vector output

Hello,
For those of you who had an issue with the mdl.transform returning a zero vector, here how I managed to solve it :
First, it seems that the input text must be at least 64 characters long (see nsteps variable in encoder.py).
Also, the html.unescape function returns bytearray like data. If you replace it with HTMLParser().unescape, you will manipulate strings and this will probably cause an exception in the batch_pad function.
And when I finnaly managed to figure this out, I realized that the transformation was extreamly slow on tiny inputs (5 minutes on 10 imdb review).
So, my question is : Is it caused by my fix or is it caused by the cpu implementation ?
Thank you

The model is pretty compute intensive. Larger batches should help speed things up per example to avoid wasting computation on padding and underutilization so it is not totally un-believable that it would take 5 minutes to process 1000 character long imdb reviews on CPU. For reference it takes about 20 minutes on a high-end GPU to process 25,000 imdb reveiws and this is using efficient batching.


Allow ladder to support setting replicas to 0

This removes the restriction that the lowest number of replicas that a
ladder can configure is 1. The linear mode already supports scaling
to zero with the config option preventSinglePointFailure. I believe
having an explicit safety option like this is not as necessary for
ladder as the zero case has to be explicitly enumerated.
This also removes the validation that the cores or nodes in the ladder
are 1 or greater, as 0 is a valid value for schedulable nodes or cores
(especially when filtering by node labels). This is likely not strictly
necessary, but it makes the boundary condition somewhat more clear.

/assign @thockin

Is this fixing a problem?  What is the use-case for allowing scale-to-zero?

@thockin I'm using cluster-proportional-autoscaler as to configure overprovisioning as recommended by https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-can-i-configure-overprovisioning-with-cluster-autoscaler . I use this to keep a few nodes around to absorb deploys, scale-ups, etc.
This works great, except for very small clusters where having a deployment of size=1 would consume a significant amount of the cluster's available resources (imagine a lightly packed 3 node cluster, where I hold 1 node completely empty for overprovisioning). I use somewhat larger pods for this because if I'm trying to schedule a real workload that requires 8 cores, it matters whether I have one 16 core overprovisioning pod on one node or sixteen 1 core pods spread over sixteen nodes.
I could achieve this behavior by using the linear config with preventSinglePointFailure: false, but I don't want a pure linear scaling pattern for the amount of overprovisioning.

I am confused - at the low-end you want to scale this to zero, so you get no overprovisioning?

@thockin yes. At smaller cluster sizes and for test clusters, I want no overprovisioning. At small sizes the same result is achieved through binpacking inefficiency and the nodes not being full to begin with.
Right now, for small clusters, I disable the cluster-proportional-autoscaler that's controlling this, and re-enable it once the cluster hits a threshold. Part of this is that a cluster may sit around for a while with trivial/testing workloads before the workloads are scaled up for production. I'd like to remove the step to re-enable the CPA and just have overprovisioning kick in once the cluster reaches size.
The effect is amplified as overprovisioning is scaled up in increments of 3 pods to allow overprovisioned capacity to be evenly spread across 3 availability zones (enforced via other mechanisms). This prevents useful workloads from coming up too lopsided.

I realized I misread the meaning of preventSinglePointFailure in linear mode. It looks like linear mode also restricts min to 1 (https://github.com/kubernetes-incubator/cluster-proportional-autoscaler/blob/70c277c276a266d78bdc3fdf72d8ef8b71b000a1/pkg/autoscaler/controller/linearcontroller/linear_controller.go#L78-L79)
That said, I am very sure that 0 replicas is what I want below a certain threshold value.

Any updates on this? I can make the appropriate changes to the linear controller as well to allow scale to zero behavior (when explicitly requested).
I suppose that I think that scaling to zero should be supported because 0 replicas is a valid number of replicas. I have my own use case for this, but could also imagine other ones (for instance, some services may scale both horizontally and vertically with the size of the cluster, with scale-to-zero, one could construct multiple ladders to switch from a deployment of smaller pods to a deployment of larger pods as cluster size increases). Thanks!

@schleyfox +1 for supporting scaling to zero replicas.

OK.  I find it to be a bending of the intention of this component, but not beyond reason.
Can you make the same change for linear mode?

Thanks. Looking at linear controller, I don't think this behavior would make sense for two reasons:

We cannot easily distinguish between min=0 by being explicitly set to that value vs. min=0 because min was omitted from the configuration
number of replicas is calculated as max( ceil( cores * 1/coresPerReplica ) , ceil( nodes * 1/nodesPerReplica ) ) , which would be >= 1

Determining the threshold at which to scale to 0 in the linear model would essentially be the same as introducing a ladder. I also definitely don't want to introduce something that would allow someone to accidentally scale to zero (in the ladder config, this decision is at least explicit).

Hi, any chance to think about this?

Maybe add an example?

/approve

LGTM after docs updates :)

Updated docs/example. Thanks!


Create default index.html file as an entry point if one doesn't exist

 Issue by jakemac53
Originally opened as dart-lang/sdk#20963

It is often confusing if you don't have an index.html entrypoint and you try to run your project using pub serve directly. The link provided on the command line will just give a 404.
I propose that at least in debug mode we output an index.html file with a list of links to all the entry points.

 Comment by jakemac53

Alternatively, this could just be done in pub by default to mimic a normal folder listing.

 Comment by jakemac53

Added Started label.

 Comment by jakemac53

cc @munificent.

 Comment by jakemac53

Fixed in polymer for now dart-lang/sdk@5230bf6eca3201c4ec8351d83713806b2998d492. This might eventually make its way into pub though at which point we could possibly remove this, although its a bit more specific since it only lists entry points.

Added Fixed label.

 Comment by jakemac53

Added Triaged label.


update chef client launchd to run at load

Signed-off-by: rishichawda<EMAIL_ADDRESS>
Description

Currently the chef client launchd resource configures the services properly, but the periodic run only starts after a system restart. This change fixes that and makes sure that chef client service runs without a restart.
Related Issue

https://chefio.atlassian.net/browse/DESKTOP-25
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

Rishi, can you rebase and do this again. The failure in parsing a cert was fixed.


isolate try block in Versioner

Connects to #3.

Released in alpha 6.

Out of curiosity, how does this connect to #3?

I figured the directory traversal is required for the MSBuild integration, since the targets file can only specify the directory of the current project. I'll grant you that it's only a loose connection. 🙂


brute force decryptor

a handy tool to decrypt rot cipher without knowing the key
Type of change

[\ ] Added new project
[ ] Bug fix
[ ] New features
[ ] Enhanced documentation

Changes proposed in this pull request

Project name :

Short description :

Checklist

[x] The code is Python 3 compatible
[x] I have added relevant comments in my file to make code understandable
[x] I have added my project in a folder which includes all the necessary files

Looks same as this : https://github.com/Mrinank-Bhowmick/python-beginner-projects/pull/185


PowerGrid: can't edit values in pinned column

dev 1.15.0
PowerGrid: 1.1.21
To reproduce, pin a column and try to edit a value
Expected: values in pinned column are editable
Actual: can't edit values in pinned column

Editing cells was added to PowerGrid v. 1.1.23


Capitals and Lowercase No Match

Im wondering is there a way to bypass or ignore capitals? for example if i search the word "Place" the debug shows "place" and fails to identify it.. Im using a command to checkbox options.
'select *extra' : function(extra){
var
index = -1,
x = document.getElementsByClassName('facetwp-checkbox');
for( var i=0; i<x.length; i++) {
if( x[i].innerHTML.indexOf(extra) > -1){
index = i;
break;}}
if(index > -1){
x[i].className += " checked";
FWP.autoload();
}}
Any help is appreciated thanks

Not sure what your code is doing. However, if you want to ignore the capitals, just convert the "Place" to lowercase, also convert the argument extra to lowercase. Then do the comparison.

Just like @JeffZhang02747 said, it seems like something that can be solved in your code by changing the case or making your queries case insensitive. I am not sure what you mean by "search the word Place".
If you still require help, it can be helpful if you provide the simplest code possible that can reproduce your issue.


Add use cases

This is adding and updating some use cases based on our discussions in November.

In general LGTM. Had only one minor comment.

I'm going to merge as-is and we can add additional use cases in another PR.


1361 Chore: refactor emissions intensity schema

card: https://app.zenhub.com/workspaces/climate-action-secretariat-60ca4121764d710011481ca2/issues/gh/bcgov/cas-cif/1361
A couple notes:

There's a previously existing bug in the calculated value widget: https://app.zenhub.com/workspaces/climate-action-secretariat-60ca4121764d710011481ca2/issues/gh/bcgov/cas-cif/736. I was able to improve the display a little as part of required work for this ticket (removed 0/0/Not added), but bug remains
Turned up another bug: https://app.zenhub.com/workspaces/climate-action-secretariat-60ca4121764d710011481ca2/issues/gh/bcgov/cas-cif/1740

Looks great! just a couple of minor changes are required. Also, I wasn't able to see the emission intensity data when I create a new revision:
Still, there are some files I need to go through but this was my major observation.

I wasn't able to reproduce this with the following flow: https://www.loom.com/share/7e9c241840ff44bbbf0fb814442e76e2?sid=e9e10e23-837e-427a-9f6e-3c5a537a0bf1. Did you get there some other way?

Continuing in new PR after hotfix, closing


Change Dependencies for SCSS: now using "sass"

https://monday.monday.com/boards/245345663/pulses/2647369549

Change "node-sass" to dart "sass" version 1.49.9

Version is the same as in the Da Pulse Monolith.

Let's lose the pound sign (#) in the commit message

why?
it's markdown.

why? it's markdown.

WDYM?  It doesn't appear as markdown anywhere, and if it would, it would appear as an H1 title, which I don't think is what you want anyway.


Will this tutorial work on Raspberry Pi 4?

I've read the introduction of this tutorial and I really think this is what I want to start my journey of Linux kernel. Thank you for this material.
For now, the 4th gen of raspberry pi is out so I am not sure if this repo works on the new Pi (whose SoC is Broadcom BCM2711B0 quad-core A72 (ARMv8-A) 64-bit @ 1.5GHz).
If it won't work, I decide to buy the one mentioned in the Introduction.

Short answer: No, we have to update the code to make it work on the RPi 4b.
Long answer:
Looks like  BCM2711B0 has different peripheral Base address (0xFE000000)  link  this means that at least  this line has to be updated. Based on what I saw in the bcm2711-rpi-4-b.dts looks like mini UART, interrupt controller and timer should work. MMU should also work fine as well. So hopefully base address should be the only change we have to make.

@s-matyukevich thanks for replying.
I will use a 3 gen for this tutorial. And I will try it on the new pi when I get a 4th gen, since it is out of stock on its official website.

No luck with above changes (by changing pbase to 0xFE000000). No output on serial console. Anyone had any luck?
Also one more question, regarding changes in config.txt. Do we need to replace older config.txt so that the new one has only two lines:
kernel_old=1
disable_commandline_tags=1
Or we need to add above two lines below our existing config.txt? Don't we need enable_uart=1?

Pheww... Working now!! :) So config.txt needs to have just "arm_64bit=1" and nothing else. Digged into this thread: https://www.raspberrypi.org/forums/viewtopic.php?t=244479&p=1491494 to find this info.

Hey, so you were able to get the UART working?  I tried the same things with my pi 4 and no luck.  Can you post the contents of your config.txt?  Also did you have to download the 2711 dtb file and fixup4.dat and start4.elf?

Hi rockytriton,
Here is my forked version which works with rapsberry pi-4 : git@github.com:vikash876/raspberry-pi-os.git
Steps to build:

git clone git@github.com:vikash876/raspberry-pi-os.git
build the lesson01
copy config.txt from lesson01/src/ and overwrite on your sd card
delete kernel7.elf from your sd  and copy kernel8.elf to your sd card.

Also I have your answers here:
rockytriton: so you were able to get the UART working?
ans: Yes, I am using USB to TTL cable made by adafriut(https://www.adafruit.com/product/954).Any similar cable should work. I can see the print "Hello, world!"
rockytriton: Can you post the contents of your config.txt?
ans: please check https://github.com/vikash876/raspberry-pi-os/blob/master/src/lesson01/src/config.txt
rockytriton: Also did you have to download the 2711 dtb file and fixup4.dat and start4.elf?
ans: I did following:

Flash the sd card with raspbian (either lite or full)
delete the kernel7.elf
copy and replace the config.txt from my forked version lesson1/src/config.txt (as above link)
copy the kernel8.elf
Boot the raspberry pi-4 with modified sd card and and set serial baud rate to 115200 in console.
Observe "Hello, world!" on screen :))

Changes from s-matyukevich version

Changed config.txt
Changed Base address (to: 0xFE000000)
Set the new baudrate (to: 541. since new GPU clock rate is 500MHZ, replaced this value in the formula)

hope this helps.

Thanks for all the details.  I was pretty much doing the exact same things, except the 541 change.  However I figured out what my issue really was...   With the pi3 I would always use the serial cable's red cable to power the pi, so I didn't have to have its power source plugged in too.  It seems that with the pi4 maybe that's not enough power to boot it.  I put a usb cable into the pi4 to boot it and it's now working finally.

Glad to hear. Yes I always tried with usb c powered. A 3amp power input is must I suppose.

Thank you! Somehow I looked over this. I had just realized I was looking at the datasheet from the bcm2835 instead of the bcm2711.

Hello, wo0>���p>0 is my output lol

Changes from s-matyukevich version

Changed config.txt
Changed Base address (to: 0xFE000000)
Set the new baudrate (to: 541. since new GPU clock rate is 500MHZ, replaced this value in the formula)

I have done all the above. The “Hello World” is printed just as expected, but the the kernel_main gets into a loop where it reads from the uart and prints back whatever is read - but in my case it prints gibberish. Any ideas on how to fix that problem?

I have done all the above. The “Hello World” is printed just as expected, but the the kernel_main gets into a loop where it reads from the uart and prints back whatever is read - but in my case it prints gibberish. Any ideas on how to fix that problem?

You can fix this by adding enable_uart=1 to your config.txt. I presume that otherwise the VPU dynamically scales down the core frequency after booting, so that the clock is only correct while printing the first couple of characters before it scales itself down; and that the enable_uart=1 prevents this. (This is not 100% clear from the documentation that this would be so on the Pi 4B; I've submitted an issue on the Raspberry Documentation page about this: https://github.com/raspberrypi/documentation/issues/1614).
It's also not clear why some people (such as myself) need the enable_uart=1 to get things working, and others don't... (Maybe a different firmware version?)

Hi All,
From all the above comments it looks like I can purchase a RPi4 4GB memory board and this project is build able and can run on RPi4 ?
-abram

https://github.com/vikash876/raspberry-pi-os/commit/b4304230575e196ac716c46c39c13bf4095e84a4 was pretty much everything i needed to make it work. Thanks a lot!


Reconsider how to flag opening in a new paragraph (see story #10)

Seo story #10  for possible alternatives / supplements to text.

Should this be new "tab"? @PatReynolds


Duns number added to fetch suppliers endpoint

client updates to support:
https://github.com/alphagov/digitalmarketplace-api/pull/206
Adds duns number as a param on fetching suppliers

:+1: If this goes in before https://github.com/alphagov/digitalmarketplace-utils/pull/134 it doesn't need a version bump.


limit the number of tags shown in the tags widget

hello is there anyway we can limit the number of tags shown on the widget,

Added the "limitTags" parameter. You should now be able to limit the number of tags.
You can also refer to this page.
https://discourse.gohugo.io/t/how-to-limit-number-of-tags-printed/10012


[WIP] Runtime Migration Tutorial

First draft for a runtime migration tutorial.
This is kind of blocked by the availability of https://github.com/paritytech/substrate/pull/7208 and https://github.com/paritytech/substrate/pull/7451 in a released Substrate version as I would like to use the pallet version as a storage guard.
aims to resolve #766

[ ] Are the audience and objective of the document clear? E.g. a document for developers that should teach them about transaction fees.
[ ] Is the writing:

[ ] Clear: No jargon.
[ ] Precise: No ambiguous meanings.
[ ] Concise: Free of superfluous detail.

[ ] Does it follow our style guide?
[ ] If this is a new page, does the PR include the appropriate infrastructure, e.g. adding the page to a sidebar?
[ ] Build the page ($ cd website && yarn start). Does it render properly? E.g. no funny lists or formatting.
[ ] Do links go to rustdocs or devhub articles rather than code?
[ ] If this PR addresses an issue in the queue, have you referenced it in the description?

working on code here:
https://github.com/substrate-developer-hub/substrate-node-template/tree/apopiak-migration-tutorial

Dan working on code here: https://github.com/danforbes/substrate-node-template/tree/df/tut/adv-upgrade

FYI, this is (a cleaned up version of) the runtime migration code I presented in seminar.
code: https://github.com/JoshOrndorff/recipes/tree/joshy-migration-station
seminar recording: https://www.youtube.com/watch?v=0eNGZpNkJk4&list=PLp0_ueXY_enXRfoaW7sTudeQH10yDvFOS

FYI, this is (a cleaned up version of) the runtime migration code I presented in seminar.
code: https://github.com/JoshOrndorff/recipes/tree/joshy-migration-station
seminar recording: https://www.youtube.com/watch?v=0eNGZpNkJk4&list=PLp0_ueXY_enXRfoaW7sTudeQH10yDvFOS

Current plan (as I understand it) is to have a combination of knowledge base, recipes and the repo you mention and not have a migration tutorial. @sacha-l Feel free to weigh in with plans :-)


go-vitess: replace glog with logrus

It adds a couple of rules to replace glog with logrus.

Works perfect


Add tini to allow termination signal handling

Description

Adds tini as the PID1 process in opensearch and opensearch-dashboards container to allow for termination signal handling.

Issues Resolved

Closes #3229

Test plan

Build and push opensearch image to dockerhub

./build-image-multi-arch.sh -f dockerfiles/opensearch.al2.dockerfile -v '1.3.9'  -p opensearch -a 'x64,arm64' -r bluefog/opensearch-test

Test signal handling with new image vs old image (more details in this gist)

docker run --mount type=bind,source="$(pwd)"/.idea/opensearch.yml,target=/usr/share/opensearch/config/opensearch.yml,readonly --pull=always bluefog/opensearch-test:1.3.9

# Send SIGTERM/SIGINT to the container
docker kill --signal="SIGTERM" <container id>

Opensearch container exits with the following logs

[2023-04-29T15:06:05,691][INFO ][o.o.n.Node               ] [c7ab96ede963] stopping ...
[2023-04-29T15:06:05,731][INFO ][o.o.n.Node               ] [c7ab96ede963] stopped
[2023-04-29T15:06:05,732][INFO ][o.o.n.Node               ] [c7ab96ede963] closing ...
[2023-04-29T15:06:05,744][INFO ][o.o.n.Node               ] [c7ab96ede963] closed

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@peterzhuamazon sorry for the delay on turning this around, made some updates here along with the steps I did to test this. Let me know if there's a better set of steps to test this PR.
Not exactly sure about the major version requirement, since this is more of a fix than a new feature, but it is possible something downstream depends on this behavior.

Codecov Report

Merging #3320 (e31832a) into main (68a2fe7) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main    #3320   +/-   ##
=======================================
  Coverage   91.44%   91.44%
=======================================
  Files         172      172
  Lines        4991     4991
=======================================
  Hits         4564     4564
  Misses        427      427

Thanks @shikharbhardwaj I have reviewed for another pass.
Please take a look at the comments.
Thanks!

You might also want to rebase after #3479 merged to consume all the CVE fixes, so that security scan can pass.
Thanks.

Hello, @shikharbhardwaj , would you be able to rebase and resolve the conflct to have the WhiteSource Security Check to validate again? thanks !

Hi @shikharbhardwaj welcome back and would you mind check the follow up comments I added in previous callouts?
Thanks.

Greetings, @shikharbhardwaj , since it has been a while, wondering if you got time to comment on the feedback from @peterzhuamazon yet?  thanks ..

Hi @shikharbhardwaj, can you please take a look at the comments and provide your feedback?

@peterzhuamazon
I was able to gracefully terminate using Tini as described above only with the path being '/bin/tini". Using the relative path "./tini" gives the error:
teddyt@Teddys-MacBook-Pro docker % docker run -it -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" chawinphat/opensearch:1.3.9 docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "./tini": stat ./tini: no such file or directory: unknown.

@peterzhuamazon Let's close if this is not going to be merged?
[Catch All Triage w/ 1, 2, 3]


抖音样式UITableView有约束错误。。。。

[TableView] Warning once only: UITableView was told to layout its visible cells and other contents without being in the view hierarchy (the table view or one of its superviews has not been added to a window). This may cause bugs by forcing views inside the table view to load and perform layout without accurate information (e.g. table view bounds, trait collection, layout margins, safe area insets, etc), and will also cause unnecessary performance overhead due to extra layout passes. Make a symbolic breakpoint at UITableViewAlertForLayoutOutsideViewHierarchy to catch this in the debugger and see what caused this to occur, so you can avoid this action altogether if possible, or defer it until the table view has been added to a window. Table view: <UITableView: 0x11580a000; frame = (0 0; 375 812); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x280daf270>; layer = <CALayer: 0x28034eaa0>; contentOffset: {0, 0}; contentSize: {0, 0}; adjustedContentInset: {0, 0, 0, 0}; dataSource: <ZFDouYinViewController: 0x10fe13010>>

这个是xcode 的bug，你更新到最新xcode就可以啦


Ash Admin doesn't work with latest Ash?

Failed to use "ash" (version 2.1.0) because
  ash_admin (version 0.5.2) requires ~> 1.53 and >= 1.53.1

0.6.2 is the latest ash_admin version, and it has a dependency on ~> 2.0 as far as I can tell.  The problem here was that the readme was pointing at an out of date version.

Thanks for the report!


[BEAM-8841] Make bigquery_avro_tools_test py3 compatible

Make the bigquery_avro_tools_test added in #10979 Python 3 compatible. Somehow this didn't get tested against Python 3 the last time around.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @pabloem

retest this please

retest this please

retest this please

retest this please

retest this please

thanks @chunyang ! this LGTM. I'll merge after lint passes

Run PythonLint PreCommit


webpack 5 terser issue

Bug report

What is the current behavior?
After migrating from 4.44.2 to 5.XX.X, my website on repo amithraravi2.com doesn't build anymore.
I get the below output:
#!/bin/bash -eo pipefail
npm run webpack

><EMAIL_ADDRESS>webpack /home/circleci/repo
> webpack --mode production

assets by status 251 KiB [cached] 1 asset
runtime modules 780 bytes 4 modules
orphan modules 6.81 KiB [orphan] 1 module
cacheable modules 244 KiB
  ./js/_main.js + 1 modules 28.7 KiB [built] [code generated]
  ./js/vendor/jquery-3.3.1.min.js 130 KiB [built] [code generated]
  ./js/vendor/barba.min.js 20.1 KiB [built] [code generated]
  ./js/vendor/imagesloaded.pkgd.min.js 7.39 KiB [built] [code generated]
  ./js/vendor/modernizr-custom-3.6.0.js 38.1 KiB [built] [code generated]
  ./js/vendor/anime.min.js 17.3 KiB [built] [code generated]
  ./js/vendor/classie.js 1.91 KiB [built] [code generated]

ERROR in main.js from Terser
Unexpected token punc «,», expected punc «:» [main.js:1431,208]
    at js_error (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:546:11)
    at croak (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:1264:9)
    at token_error (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:1272:9)
    at expect_token (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:1285:9)
    at expect (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:1288:36)
    at maybe_conditional (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:3312:13)
    at maybe_assign (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:3385:20)
    at expression (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:3410:24)
    at params_or_seq_ (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:2031:24)
    at expr_atom (/home/circleci/repo/node_modules/terser/dist/bundle.min.js:2437:29)

webpack 5.12.2 compiled with 1 error in 2108 ms
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>webpack: `webpack --mode production`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>webpack script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/circleci/.npm/_logs/2021-01-11T00_42_15_979Z-debug.log

Exited with code exit status 1
CircleCI received exit code 1

If the current behavior is a bug, please provide the steps to reproduce.
In the repo mentioned above, just upgrade webpack to 5.XX and try build with the command npm run webpack

What is the expected behavior?
The build command should complete successfully!

Other relevant information:
webpack version:  5.11.0
Node.js version: 13.13.0
Operating System: macOS Big Sur 11.1
Additional tools:

@raravi  with webpack v5 or above versions come with terser-webpack-plugin. So before building it out you should need to instantiate the terser-webpack-plugin in your webpack.config.js configuration file.
also in optimizations in your webpack config file
optimization: {
    minimize: true,
    minimizer: [new TerserPlugin()],
  }

you have to add terserPlugin() as a minimizer that minimizes your js files with terser.
Head towards this page for more info
hope this helps

@raravi  with webpack v5 or above versions come with terser-webpack-plugin. So before building it out you should need to instantiate the terser-webpack-plugin in your webpack.config.js configuration file.
also in optimizations in your webpack config file
optimization: {
    minimize: true,
    minimizer: [new TerserPlugin()],
  }

you have to add terserPlugin() as a minimizer that minimizes your js files with terser.
Head towards this page for more info
hope this helps

It built successfully on my computer I cloned your repo

Abhay@DESKTOP-I04BUTC MINGW64 /e/Github/amithraravi2.com (master)
$ npm run webpack

><EMAIL_ADDRESS>webpack E:\Github\amithraravi2.com
> webpack --mode production

Hash: 3988b5dde1fddd59d93b
Version: webpack 4.46.0
Time: 5868ms
Built at: 17/01/2021 8:27:52 pm
  Asset     Size  Chunks             Chunk Names
main.js  136 KiB       0  [emitted]  main
Entrypoint main = main.js
[0] ./js/vendor/jquery-3.3.1.min.js 130 KiB {0} [built]
[1] ./js/vendor/barba.min.js 20.1 KiB {0} [built]
[2] ./js/vendor/anime.min.js 17.3 KiB {0} [built]
[3] ./js/vendor/classie.js 1.91 KiB {0} [built]
[4] ./js/vendor/imagesloaded.pkgd.min.js 7.39 KiB {0} [built]
[5] (webpack)/buildin/module.js 497 bytes {0} [built]
[6] ./js/vendor/modernizr-custom-3.6.0.js 38.4 KiB {0} [built]
[7] ./js/_main.js + 1 modules 29 KiB {0} [built]
    | ./js/_main.js 22.1 KiB [built]
    | ./js/vendor/AnimOnScroll.js 6.82 KiB [built]

It built successfully on my computer I cloned your repo

Abhay@DESKTOP-I04BUTC MINGW64 /e/Github/amithraravi2.com (master)
$ npm run webpack

><EMAIL_ADDRESS>webpack E:\Github\amithraravi2.com
> webpack --mode production

Hash: 3988b5dde1fddd59d93b
Version: webpack 4.46.0
Time: 5868ms
Built at: 17/01/2021 8:27:52 pm
  Asset     Size  Chunks             Chunk Names
main.js  136 KiB       0  [emitted]  main
Entrypoint main = main.js
[0] ./js/vendor/jquery-3.3.1.min.js 130 KiB {0} [built]
[1] ./js/vendor/barba.min.js 20.1 KiB {0} [built]
[2] ./js/vendor/anime.min.js 17.3 KiB {0} [built]
[3] ./js/vendor/classie.js 1.91 KiB {0} [built]
[4] ./js/vendor/imagesloaded.pkgd.min.js 7.39 KiB {0} [built]
[5] (webpack)/buildin/module.js 497 bytes {0} [built]
[6] ./js/vendor/modernizr-custom-3.6.0.js 38.4 KiB {0} [built]
[7] ./js/_main.js + 1 modules 29 KiB {0} [built]
    | ./js/_main.js 22.1 KiB [built]
    | ./js/vendor/AnimOnScroll.js 6.82 KiB [built]

@akgupta0777 Thank you, that worked!!

@akgupta0777 Thank you, that worked!!


Cannot connect to two devices wirelessly at the same time or specify port

Windows 10
scrcpy-win64-v2.6.1
Windows Release from zip file
Samsung Xcover Phone
Android 13
I want to connect two phones wirelessly.
I use:
scrcpy -s SERIAL_NUMBER_HERE --tcpip (phone1)
scrcpy -s SERIAL_NUMBER_HERE --tcpip (Phone2)
This is the result:
INFO:           (usb)  SERIAL                    device  SM_G715FN
INFO:     -->   (usb)  SERIAL                     device  SM_G715FN
INFO:         (tcpip)  <IP_ADDRESS>:5555              device  SM_G715FN
INFO:         (tcpip)  <IP_ADDRESS>:5555              device  SM_G715FN
They are both on the same port.
I can connect to the first device using:
scrcpy --tcpip=<IP_ADDRESS>
When I use:
scrcpy --tcpip=<IP_ADDRESS>
...
scrcpy 2.6.1 https://github.com/Genymobile/scrcpy
INFO: Connecting to <IP_ADDRESS>:5555...
failed to authenticate to <IP_ADDRESS>:5555
ERROR: Could not connect to <IP_ADDRESS>:5555
ERROR: Server connection failed
...
Describe the bug
How can I specify a different port? How can I connect and serve two devices?

failed to authenticate to <IP_ADDRESS>:5555

That does not look related to the fact that there are 2 devices connected.

How can I specify a different port?

There is no need to use a different port.

failed to authenticate to <IP_ADDRESS>:5555

That does not look related to the fact that there are 2 devices connected.

Ok so why does it not work? What is it related to?

How can I specify a different port?

There is no need to use a different port (they're not on the same IP).

Ok then it should work.

Ok so why does it not work?

Can you reproduce the problem with your second phone only, without the first one being connected?

Phone 1 Server: scrcpy -s SERIAL_NUMBER --tcpip
scrcpy 1.25 https://github.com/Genymobile/scrcpy
INFO: Switching device XXXXX to TCP/IP...
INFO: TCP/IP mode already enabled on port 5555
INFO: Connecting to <IP_ADDRESS>:5555...
INFO: Connected to <IP_ADDRESS>:5555
scrcpy-win64 6 Aug 2024\scrcpy-server: 1 file pushed, 0 skipped. 89.9 MB/s (42151 bytes in 0.000s)
[server] INFO: Device: samsung SM-G715FN (Android 13)
INFO: Renderer: direct3d
INFO: Initial texture: 472x1024
INFO: New texture: 1024x472
Client 1: scrcpy --tcpip=<IP_ADDRESS> = ok
Phone 2 Server: scrcpy -s SERIAL_NUMBER --tcpip
scrcpy 1.25 https://github.com/Genymobile/scrcpy
INFO: Switching device XXXXX to TCP/IP...
INFO: TCP/IP mode already enabled on port 5555
INFO: Connecting to <IP_ADDRESS>:5555...
INFO: Connected to <IP_ADDRESS>:5555
scrcpy-win64 6 Aug 2024\scrcpy-server: ...file pushed, 0 skipped. 138.0 MB/s (42151 bytes in 0.000s)
[server] INFO: Device: samsung SM-G715FN (Android 13)
INFO: Renderer: direct3d
INFO: Initial texture: 472x1024
Client 2: scrcpy --tcpip=<IP_ADDRESS>
scrcpy 2.6.1 https://github.com/Genymobile/scrcpy
INFO: Connecting to <IP_ADDRESS>:5555...
failed to authenticate to <IP_ADDRESS>:5555
ERROR: Could not connect to <IP_ADDRESS>:5555
ERROR: Server connection failed
Phone 2 only with phone 1 disconnected from USB
scrcpy-win64>scrcpy --tcpip=<IP_ADDRESS> --max-size 1024
scrcpy 2.6.1 https://github.com/Genymobile/scrcpy
INFO: Connecting to <IP_ADDRESS>:5555...
failed to authenticate to <IP_ADDRESS>:5555
ERROR: Could not connect to <IP_ADDRESS>:5555
ERROR: Server connection failed

You can connect from 1 pc to several devices wirelessly (btw, that's what you do and it works).
But you cannot connect 2 PC to 1 device wirelessly (this is a limitation of adb server on the device).
Your logs suggest that it is what you do when it fails (you connect one client with scrcpy 1.25 and another client with scrcpy 2.6.1, so I guess these are two different computers).

You can connect from 1 pc to several devices wirelessly (btw, that's what you do and it works).
But you cannot connect 2 PC to 1 device wirelessly (this is a limitation of adb server on the device). You must disconnect the first client to connect the second one. Your logs suggest that it is what you do when it fails (you connect one client with scrcpy 1.25 and another client with scrcpy 2.6.1, so I guess these are two different computers).

I am using 2 different computers. I am not trying to connect to 1 device wirelessly from 2 pcs.
PC 1 is connected to the phones via USB.
PC 2 is trying to connect wirelessly to the the phones on PC 1

PC 1 is connected to the phones via USB.

On PC1, since you execute :
scrcpy -s SERIAL_NUMBER --tcpip

Then it is also connected wirelessly on PC1. Check adb devices. Or unplug the devices from PC1 while the scrcpy instance launched by this command is still running: mirroring will continue.

ERROR: Could not find ADB device <IP_ADDRESS>:5555:
ERROR: (tcpip) <IP_ADDRESS>:5555 device SM_G715FN

Your device <IP_ADDRESS> is not connected via adb, only <IP_ADDRESS> is.
Check adb devices from PC 2.

PC2
C:\Program Files\scrcpy\Devices>adb devices
List of devices attached
<IP_ADDRESS>:5555 device

So it is not connected.

PC1
C:\Program Files\scrcpy\Devices>adb tcpip 5555
error: more than one device/emulator

Like all adb commands, if there are several devices connected, you must specify -s (adb -s XXXX tcpip).

PC2
C:\Program Files\scrcpy\Devices>adb devices
List of devices attached
<IP_ADDRESS>:5555 device

So <IP_ADDRESS> is not connected.

PC1
C:\Program Files\scrcpy\Devices>adb tcpip 5555
error: more than one device/emulator

Like all adb commands, if there are several devices connected, you must specify the one you want to interact with:
adb -s XXXX tcpip

Which is what I did in the first instance.
C:\Program Files\scrcpy\Devices>adb -s SERIAL_NUMBER tcpip
adb.exe: tcpip requires an argument
C:\Program Files\scrcpy\Devices>adb -s <IP_ADDRESS> tcpip
adb.exe: tcpip requires an argument

Sorry, of course, I meant:
adb -s XXXX tcpip 5555

(just add -s XXXX to your command)

Sorry, of course, I meant:
adb -s XXXX tcpip 5555

(just add -s XXXX to your command)

and that is the command that every one is asking for.
adb -s YOUR_SERIAL_NUMBER_HERE tcpip 5555

PC 1
C:\Program Files\scrcpy\Devices>adb connect <IP_ADDRESS>
connected to <IP_ADDRESS>:5555
C:\Program Files\scrcpy\Devices>adb connect <IP_ADDRESS>
connected to <IP_ADDRESS>:5555
C:\Program Files\scrcpy\Devices>adb -s SERIAL_NUMERtcpip 5555
restarting in TCP mode port: 5555
C:\Program Files\scrcpy\Devices>adb -s SERIAL_NUMBER tcpip 5555
restarting in TCP mode port: 5555
PC2
C:\Program Files\scrcpy\Devices>scrcpy.exe --serial <IP_ADDRESS>:5555 --max-size 1024
scrcpy 2.6.1 https://github.com/Genymobile/scrcpy
ERROR: Could not find any ADB device
ERROR: Server connection failed
C:\Program Files\scrcpy\Devices>scrcpy.exe --serial <IP_ADDRESS>:5555 --max-size 1024
scrcpy 2.6.1 https://github.com/Genymobile/scrcpy
ERROR: Could not find any ADB device
ERROR: Server connection failed

IIUC what you are trying to do, you want to connect both devices via USB on PC1, and via Wifi on PC2.
Disconnect everything, reboot your devices, restart adb (adb kill-server) on both machines.
Then on PC1, connect both devices over USB, and make them listen over tcpip:
adb -s SERIAL_NUMBER_DEVICE_1 tcpip 5555
adb -s SERIAL_NUMBER_DEVICE_2 tcpip 5555

Then on PC2, execute:
adb connect IP_DEVICE_1:5555
adb connect IP_DEVICE_2:5555

That's it.

adb kill-server on both machines
Both phones restarted.
Adb devices to check which are connected.

PC 1:
adb devices
List of devices attached
SERIAL1     device
SERIAL2     device
MAKE 2 CONSOLE WINDOWS
Console 1
adb -s SERIAL1 tcpip 5555
restarting in TCP mode port: 5555
Console 2
adb -s SERIAL2 tcpip 5555
restarting in TCP mode port: 5555
PC2:
C:\Program Files\scrcpy\Devices>adb kill-server
C:\Program Files\scrcpy\Devices>adb connect <IP_ADDRESS>:5555
connected to <IP_ADDRESS>:5555
C:\Program Files\scrcpy\Devices>adb connect <IP_ADDRESS>:5555
connected to <IP_ADDRESS>:5555
C:\Program Files\scrcpy\Devices>adb devices
List of devices attached
<IP_ADDRESS>:5555      device
<IP_ADDRESS>:5555      device
Console window 1
scrcpy.exe --serial <IP_ADDRESS>:5555 --max-size 1024
Console window 2
scrcpy.exe --serial <IP_ADDRESS>:5555 --max-size 1024
It works.
Some suggestions.

The terminology is very confusing. ADB using -serial number when its an IP address.  It seems unreliable.
Each device needs to be started in TCPIP mode but can use the same port, but also each device needs to be connected to as well.

A few minutes later i couldnt connect to the phone 1 on usb using scrcpy.

The terminology is very confusing. ADB using -serial number when its an IP address. It seems unreliable.

adb is from Android, I have no control over it. I use the same -s behavior for consistency in scrcpy.

Each device needs to be started in TCPIP mode but can use the same port

That's not a problem: each listens on the same port locally (on the device), and they are exposed via a different ip, so ip:port is different.

also each device needs to be connected to as well.

Not sure to understand.
From PC2, if you want to connect to two devices, you needs to adb connect both devices… how would you do differently?

Some points.
Windows 10:
On PC1
If you use the same console window to issue:
adb -s SERIAL1 tcpip 5555
adb -s SERIAL2 tcpip 5555
one of them fails and no "restarting in TCP mode port: 5555" is issued.
If you use 2 separate console windows, each window works and you get the correct messages.
On PC2 same issue, use 2 console windows and it works.
I am trying to automate it with batch files on PC 1 but the adb commands don't seem to run.
adb -s PHONE_SERIAL tcpip 5555
adb connect <IP_ADDRESS>:5555
doesnt seem to run when put into a batch file.
On PC 2
"scrcpy.exe --serial <IP_ADDRESS>:5555 --max-size 1024" can be put into a .bat (batch) file and it runs fine.

also each device needs to be connected to as well.

I mean each device needs adb -s PHONE_SERIAL tcpip 5555 and an adb connect <IP_ADDRESS>:5555


Add OLLAMA_HOME environment variable support.

Problem
I'd like to run Ollama on my Linux server, but I have a small home directory disk. As a result, rather than changing the home directory to my mass storage pool, I propose adding the environment variable OLLAMA_HOME to set the top-level filepath for Ollama.
Change
Switch out os.UserHomeDir with a wrapper in a new util package.
util.UserHomeDir attempts to fetch the OLLAMA_HOME environment variable, and falls back  otherwise.
Add documentation under faq.md.
Tests
Tested manually. I'd be happy to add automated tests for this if existing infrastructure exists.

Hey @akhilcacharya thanks so much for the PR, and sorry for taking forever to review it. Given we have a few versions of this feature in PR, we'll consolidate on @BruceMacD's PR #897 (don't worry, will make sure you are added as a co-author for writing this PR 😊)

Great, thanks!


ORC-741: Schema Evolution missing column not handled in the presence of filters

What changes were proposed in this pull request?
The following changes are proposed during the resolution of columns:

If a column is not found in the read schema, then fail with an IllegalArgumentException
If a column is not found in the file, then do not fail but instead treat as NullReader

Why are the changes needed?
In the absence of the patch, when the filter columns referred to missing columns in the file we were incorrectly getting an IllegalArgumentException instead of handling it as a missing column in the file.
How was this patch tested?
Unit tests were added to verify this behavior

Thank you for making a PR, @pavibhai . I left a few minor comments. Could you check them?

Thanks for the feedback @dongjoon-hyun will go through the same and update.

Thank you for making a PR, @pavibhai . I left a few minor comments. Could you check them?

Thanks for the feedback @dongjoon-hyun will go through the same and update.

@pgaref @dongjoon-hyun
Thanks for your review comments. I have addressed them, please check and let me know if something is amiss.

Thanks for the prompt reply @pavibhai  -- Latest PR is almost there, please check the two style comments above

@pgaref @dongjoon-hyun
Thanks for your review comments. I have addressed them, please check and let me know if something is amiss.

Thanks for the prompt reply @pavibhai  -- Latest PR is almost there, please check the two style comments above


Update for 77.0.3865.75

patches/core/ungoogled-chromium/block-trk-and-subdomains.patch might need updating. Specifically chrome/browser/profiles/profile_io_data.cc has changed
patches/extra/debian_buster/fixes/inspector.patch removed, as it breaks the build

Can a tag be created for this so we can update the projects using this repo as a submodule?

@tangalbert919 Whoops, looks like I forgot after I closed the issure regarding the trk scheme patch. Done.


Use a more flexible config format

Switch to something more flexible than the INI format for config.
Maybe YAML, JSON or TOML.

YAML might be the best choice right now, but I believe it's worth looking into how TOML is received in v1.0 (currently v1.0.0-rc.1):
https://github.com/toml-lang/toml
Zabbix-auto-config itself might not benefit much from switching from ini, but the source collectors could have a simpler config if using other formats.

TOML seems like a good choice, but it's currently not obvious which library to choose. Looks like others might be leaning towards tomli

TOML and tomli seem like fine options to me.

tomli seems like a good choice. People have been working to propose it as a stdlib module: https://github.com/hukkin/tomli/issues/141


Beautify selection as another language

As far as I can tell, there is no way to currently beautify a selection of code in a specific language that is different than the file's language. My primary use case for this feature would be beautifying SQL that is embedded in string literals, although I imagine it could also be useful for beautifying other embedded code or markup.

Could you also provide a tiny code sample?  It will give us something to test against.

Sure, here are two made up examples where I'd like to be able to beautify the SQL within the other code:
my $sql = <<'SQL';
SELECT fname, lname
FROM people
WHERE id >= ? AND id < ?
SQL

my $sth = $dbh->prepare($sql);
$sth->execute(1, 10);
while (my @row = $sth->fetchrow_array) {
   print "fname: $row[0]  lname: $row[1]\n";
}

package main

import (
	"database/sql"
	"log"

	_ "github.com/go-sql-driver/mysql"
)

func main() {
	var (
		id   int
		name string
	)

	db, err := sql.Open("mysql",
		"user:password@tcp(<IP_ADDRESS>:3306)/hello")
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

	sql := `
SELECT id,
       name
FROM "user"
WHERE name='Bob'
AND   date='2014-01-10'
`

	rows, err := db.Query(sql)

	if err != nil {
		log.Fatal(err)
	}
	defer rows.Close()
	for rows.Next() {
		err := rows.Scan(&id, &name)
		if err != nil {
			log.Fatal(err)
		}
		log.Println(id, name)
	}
	err = rows.Err()
	if err != nil {
		log.Fatal(err)
	}
}

Perhaps a right click option Beautify As... that open a list of grammars.

Closing as duplicate of https://github.com/Glavin001/atom-beautify/issues/27


Available Disk Space

I received a c1-2741-4 error when I tried to install my game that I dumped (Exist Archive).  When the dump process was over the file was 2.8GB.  The Vita gave me a warning when I exited out of psvgamesd that I had only 40 MB of space left.  I deleted the dumped file and some other files on the memory card, freeing up an extra 300 MB of space.  I tried dumping Exist Archive again and this time I happened to notice that it seemed to finish early - meaning that the progress seemed to jump from 4- something to the final 7-something.  (I'm unsure of the units being shown and the characters are hexadecimal).  Anyway, after exiting psvgamesd again, VitaShell told me my file size was 3.1 GB this time around (indicating I was able to squeeze another 300 MB onto the memory card), my first clue that maybe Exist Archive is just bigger than I have available space on my 4GB Sony Memory Card.
If this is all true, I think a great feature for psvgamesd would be a disk space notification before starting the dump process (which is long) or at the least some indication that the dump exited early because of disk space.  I ordered a larger Sony Memory Card and I will try again - but I assume this is the source of my problem right now.

Yes, that was the issue.  Exist Archive is 3.7 GB.  I was able to dump it and play it now.  However, now I can't figure out how to import my save files...


Feedback

Good
[Enter feedback here]

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

ID: 8da6c49a-f7cc-213c-adc3-5b33b76716dd
Version Independent ID: 2be2786b-c764-c142-0821-24f6a28b2459
Content: Smart narratives tutorial - Power BI
Content Source: powerbi-docs/visuals/power-bi-visualization-smart-narrative.md
Service: powerbi
Sub-service: powerbi-ai
GitHub Login: @aphilip94
Microsoft Alias: anphil

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

@gouthamm161o, thank you for your feedback!


Produces application/json Unexpected Behavior

Let's say I do a GET to /login when produces: application/json is set. By default, I get a 404... This makes no sense.
If I add an Accept: application/json header, then I'll get back a 200 with the JSON schema as expected.
IMO, content type and headers should NOT have any effect on whether or not a route is found.
The same goes for doing a POST request. If I don't set BOTH Accept AND Content-Type headers when POST'ing to /login, I get back a 404.
This behavior is unexpected, and I would argue that it should be changed.

This was also discussed in #559.  When an Accept header is omitted, we should respond with the first content type that is configured in the produces list


Istio operator init not supporting release tar URL for manifests

Bug description
According to the command line help of istioctl, the istoctl operator init command should accept a URL to a release tar for the --manifests command line parameter. However, when supplying a URL, it responds with an error message:

component "IstioOperator" does not exist

[ X] Docs
[ X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
The istio-operator should be installed and intialozed using the manifests provided in the release tar specified by a URL.
Steps to reproduce the bug

Install a simple K8s cluster, e.g. Kind
run the command `istioctl operator init -d https://github.com/istio/istio/releases/download/1.10.3/istio-1.10.3-linux-amd64.tar.gz" (e.g. for Istio 1.10.3)

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
Reproduced on 1.10.3 and 1.11.1
How was Istio installed?
Installation set was obtained using the downloadIstio script
Environment where the bug was observed (cloud vendor, OS, etc)
Local env running on Ubuntu 18.04 LTE
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.

NOTE: istio-policy-bot added the "kind/docs" label which is incorrect. This bug applies to all environments!


Cross-validation process isn't always completed across all folds

Hi all,
I've found an issue where sometimes, when the time_budget is running out, the final model/s aren't evaluated across all n_splits requested by the user, but instead the process is ended early.
For example, a user might want 10 fold cross-validation to be used, but actually, on the final model, only 4 fold cross validation is used. This means that on rare occasions, FLAML returns a best model (i.e. automl.model)  which was evaluated across less folds than the user requested. It's possible that were that model evaluated across all requested folds, it would no longer be the best model.
I can understand why FLAML ends early when the time budget is low, but it would be great if there was either an option to switch this off (i.e. once a model is selected, it is evaluated across all folds) or have the automl.model return the best completed model, not just the model with the highest average validation loss.
This is a hard issue to replicate for two reasons:

Performance of FLAML differs on different machines
The default logging doesn't log the number of folds used.

I've done my best to make this issue reproducible by writing a custom logging function cv_score_agg_func, which logs an 'n_folds' attribute, showing the number of folds that model has been evaluated against.
This code leads to the below (attached) logs on my machine, which showcase the error (see the "n_folds" 4 on the final line). Others may need to tweak the time_budget to trigger a similar issue.
from flaml import AutoML
from sklearn import datasets

def cv_score_agg_func(val_loss_folds, log_metrics_folds):
    metric_to_minimize = sum(val_loss_folds)/len(val_loss_folds)
    metrics_to_log = None
    for single_fold in log_metrics_folds:
        if metrics_to_log is None:
            metrics_to_log = single_fold
        elif isinstance(metrics_to_log, dict):
            metrics_to_log = {k: metrics_to_log[k] + v for k, v in single_fold.items()}
        else:
            metrics_to_log += single_fold
    if metrics_to_log:
        n = len(val_loss_folds)
        metrics_to_log = (
            {k: v / n for k, v in metrics_to_log.items()}
            if isinstance(metrics_to_log, dict)
            else metrics_to_log / n
        )
        metrics_to_log["n_folds"] = n

    return metric_to_minimize, metrics_to_log

dic_data = datasets.load_iris(as_frame=True)  # numpy arrays
iris_data = dic_data["frame"]  # pandas dataframe data + target
automl = AutoML()
automl_settings = {
    "time_budget": 11,  # in seconds
    "metric": 'accuracy',
    "task": 'classification',
    "log_file_name": "incomplete_error.log",
    "log_type": "all",
    "eval_method": "cv",
    "n_splits":10,
    "cv_score_agg_func": cv_score_agg_func,
    "early_stop": False,
}
x_train = iris_data[["sepal length (cm)","sepal width (cm)", "petal length (cm)","petal width (cm)"]].to_numpy()
y_train = iris_data['target']
automl.fit(x_train, y_train, **automl_settings)

In the attached logs, it should be clear that the final model was not tested against all 10 folds.
incomplete_error.log
In terms of package versions, I'm using FLAML 2.1.2, catboost 1.2.5, scikit-learn 1.5.0 and Python 3.12.0

Thank you @dannycg1996 for reporting the issue. Would you like to raise a PR to fix it?

Hi @thinkall, I'd be happy to.
Could I ask for your thoughts in advance of writing the code though please?
I've identified the source of this issue, which is this line on generic_task.py
if budget and time.time() - start_time >= budget:
    break

I see two potential solutions here.

Simply add another boolean parameter complete_cv_process to Automl.fit() . I'm not sure if this should default to True or False. We could then change the above if statement to be:

if budget and not complete_cv_process and time.time() - start_time >= budget:
    break

This would ensure that the cross-validation process would run to completion. However, there is the obvious issue that this risks the time budget being overrun. For large datasets or slow estimators (especially if someone has implemented something like Support Vector Machines) this may be problematic.

We stick to the current approach of ending the cross-validation process early if the time budget runs out, but we scrap incomplete models. We don't log incomplete models (maybe), and we don't compare its validation loss against the current 'best model', so there's no risk of the best_model provided to the user being one which was evaluated through an incomplete cross-validation process.
This is probably the better solution, as it respects the allocated time budget. However I've delved into the FLAML codebase, and I'm not sure on how to implement it - would need the advice of someone more experienced with the FLAML codebase on how to safely exit the AutoML process.

Thank you @dannycg1996 . I'd prefer the first solution. We don't shut down the training exactly at the given time budget now, so this change will not introduce any surprises. As for the second solution, it means we risk wasting a lot of time training a model without using it at all. WDYT?

Thanks for the quick feedback @thinkall!
I'm happy to implement the first solution. Thinking about it, do we even need to add the complete_cv_process boolean parameter (as outlined above)? I have to assume that users would rather have their AutoML process overrun its budget slightly, than receive an incomplete model.
It is probably the better option just to remove the if statement in its entirety, which would ensure that users never receive incomplete models.

Thanks for the quick feedback @thinkall!
I'm happy to implement the first solution. Thinking about it, do we even need to add the complete_cv_process boolean parameter (as outlined above)? I have to assume that users would rather have their AutoML process overrun its budget slightly, than receive an incomplete model.
It is probably the better option just to remove the if statement in its entirety, which would ensure that users never receive incomplete models.
What are your thoughts?

Do you mean exposing the parameter to FLAML users? Can it be an internal flag variable? We detect whether the cross validation is finished or not and modify the value automatically.

Sorry, I did originally intend to expose the complete_cv_process parameter to users - it would be a parameter on the automl.fit() method, which would allow users to dictate whether the cross-validation process must run to completion (complete_cv_process=True) or can be exited early if the allocated budget  is running out (complete_cv_process = False). However, I don't think anyone will want to set complete_cv_process=False - it isn't worth the trade-off.
I'm not sure how useful an internal flag would be. The if statement I highlighted above
if budget and time.time() - start_time >= budget:
    break

acts to exit the cross-validation process early if the time budget has run out. I could have an internal flag somewhere which tracks whether the cross-validation process was completed or not for a given model, but it isn't much use unless we then use that flag somewhere, and you've stated (very reasonably) above that you'd prefer that we just complete the CV process, even if it means overrunning the time budget.
The best solution in my eyes is just to completely remove the if statement highlighted above, so that we never exit the cross-validation process early - the cross-validation process will be run to completion every time. I've tested it locally, and it works for me.  Would you be happy with that solution?

Sorry, I did originally intend to expose the complete_cv_process parameter to users - it would be a parameter on the automl.fit() method, which would allow users to dictate whether the cross-validation process must run to completion (complete_cv_process=True) or can be exited early if the allocated budget is running out (complete_cv_process = False). However, I don't think anyone will want to set complete_cv_process=False - it isn't worth the trade-off.
I'm not sure how useful an internal flag would be. The if statement I highlighted above
if budget and time.time() - start_time >= budget:
    break

acts to exit the cross-validation process early if the time budget has run out. I could have an internal flag somewhere which tracks whether the cross-validation process was completed or not for a given model, but it isn't much use unless we then use that flag somewhere, and you've stated (very reasonably) above that you'd prefer that we just complete the CV process - even if it means overrunning the time budget.
The best solution in my eyes is just to completely remove the if statement highlighted above, so that we never exit the cross-validation process early - the cross-validation process will be run to completion every time. I've tested it locally, and it works for me. Would you be happy with that solution?

 I agree with you that we can simply remove the if statement here. We've actually considered the time budget with budget_per_train. The overtime will mainly come from the overhead of each train, that should be acceptable. In your experiments, how much extra time will it spend on cross validation after removing the if statement?

My original time budget above was only 11 seconds! I'm not sure how long extra completing the CV process took, but I believe it was less than a second.
Obviously for slower models/larger datasets this overtime would increase, but I fully agree that this overtime should be acceptable (and is certainly preferable to an incomplete model being returned).


Added new parser functions and prediction tasks for eICU dataset

I am working on a model that required parsing admissionDx and diagonsisString table in eICU dataset: paper, source code. As I am using PyHealth's model as the baseline, I would like to include the proper parser and prediction tasks in the preprocessing pipeline.

Thanks for your pr. I will merge into an intermediate branch for local test.


Fix IRK8 dispatches

Follows the devdocs suggestion https://devdocs.juliadiffeq.org/latest/contributing/adding_packages/

Note this also adds the<EMAIL_ADDRESS>which does improve the performance, but not by too much. The limiting part seems to be somewhere else.
Before:

After:


Adds support for scheduling applications

Add SPI functionality for CF.
resolves #3
resolves #5
resolves #6
resolves #7

Codecov Report

Merging #18 into master will decrease coverage by 0.31%.
The diff coverage is 97.27%.

@@             Coverage Diff              @@
##             master      #18      +/-   ##
============================================
- Coverage     98.55%   98.23%   -0.32%
- Complexity       20       56      +36
============================================
  Files             3        4       +1
  Lines            69      170     +101
  Branches          0        5       +5
============================================
+ Hits             68      167      +99
- Misses            1        3       +2

Impacted Files
Coverage Δ
Complexity Δ

...oundry/CloudFoundrySchedulerAutoConfiguration.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

.../cloudfoundry/CloudFoundrySchedulerProperties.java
100% <100%> (ø)
11 <8> (+8)
:arrow_up:

...cloudfoundry/CloudFoundryScheduleSSLException.java
100% <100%> (ø)
2 <2> (?)

...ler/spi/cloudfoundry/CloudFoundryAppScheduler.java
97.82% <96.66%> (-0.42%)
39 <31> (+26)

Continue to review full report at Codecov.

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

LGTM, merging.

Squashed, rebased and merged as db99cd8


Cannot generate go code when nested schema

I cannot convert the schema like follows to go code.
I'm using prmd and combine some schemas. It generates nested schema like this.
So I'd like you to support the nested schema.
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {
    "app": {
      "definitions": {
        "domains": {
          "items": {
            "$ref": "#/definitions/domain"
          },
          "type": "array"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9-]{2,30}$",
          "type": "string"
        }
      },
      "properties": {
        "domains": {
          "$ref": "#/definitions/app/definitions/domains"
        },
        "name": {
          "$ref": "#/definitions/app/definitions/name"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "domain": {
      "definitions": {
        "name": {
          "format": "hostname",
          "type": "string"
        }
      },
      "properties": {
        "name": {
          "$ref": "#/definitions/domain/definitions/name"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    }
  },
  "properties": {
    "app": {
      "$ref": "#/definitions/app"
    },
    "domain": {
      "$ref": "#/definitions/domain"
    }
  },
  "type": "object"
}

Good catch. Definitions that weren't at the top level were being ignored. Should be fixed now, and there's also a check that should prevent an infinite loop when refs can't be resolved.


docs: Update customisation guidelines

v0.8 changes the Config interface

Fixes #705

Proposed Changes

Change Config references to ConfigProgrammatic
Remove menu-class config that disappeared from the Autocomplete component

I'm not sure that these changes are appropriate.
If I understood correctly we only have the global config, or the programmatic config. That's why I removed the 'programmatic config' section.
Let me know if I got it wrong.

I don't agree with replacing all config with programmatic, and I wouldn't remove the programmatic section either, because I think a default behaviour while including all components is to set the config via the plugin options parameter.
The programmatic usage, which is explained in a separate section, is just an extended way of configuring the components.

Make sense. I updated the PR.
I restored most of it as it was, and instead removed the Config section.
Let me know if that's better.

@121593 I would change the last example to:
import { OAutocomplete, ConfigProgrammatic } from '@oruga-ui/oruga-next';

createApp(...)
    .use(OAutocomplete);

const config = ConfigProgrammatic.getOptions();

const myThemeConfig = {
    ...config,
    autocomplete: {
        rootClass: 'autocomplete-root',
        itemClass: 'autocomplete-item',
        ...
    }
}

ConfigProgrammatic.setOptions(myThemeConfig);

However, the global programmatic interface entry useOruga should also be mentioned here somewhere, because through useOruga every programmatic component is accessible here. However, the whole section should be renamed to Prorgammatic usage and expanded.
But I can do the enhancement later.

@121593 I copied your changes and enhance the "programmtic usage" section. Do you agree with my PR #716 ?

@mlmoravek yes that looks better ! Closing this PR in favor of yours


Use $ instead of jQuery object while using parsley with requirejs. The jQuery object is not defined under the noConflict mode which leads to failure while accessing the extend method.

You're right, sorry about this.
I'm fixing these in the es6 branch in a different way.

Thanks for that. Is there any roadmap for the new release?

2.2.0-rc4 has been released...


Optimisations on invalidation propagation

Some improvement can be applied to the invalidation process (removeAllWithHash and propagation to higher tier).
Here is the list of things to address in this issue:

[x] Do not return a full hashmap from the ConcurrentHashMap. We actually only need key/value pairs. So a list of pair will be enough
[ ] The list of pairs can probably be optimized to an array of key1, value1, key2, value2
[ ] We invalidate too broadly . Right now a full bucket is invalidated, but this bucket might contains entries with different hashes

This issue should be broke down. I will tag the fixed part with the appropriate milestone.
Having an array instead of a list should be benchmarked and is fairly ugly. I'm not sure it worth it. The too broad invalidation is a good idea.
A new issue has been created: #2538


Child page not answering when iFrameResizer is called too early

Parent page is on wordpress. Here is the snippet I use to initialize iFrameResizer.
<script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.1.1/iframeResizer.min.js" integrity="sha256-cEc8isF4TnMrb5OarPG3xyR5aOlECPt9Dbup+rFaEcw=" crossorigin="anonymous"></script>
<iframe style="width: 100%; max-width: 1080px;" id="my-id" src="******"></iframe>
<script>
  iFrameResize({ log: true, checkOrigin: false }, '#my-id');
</script>

I've included the right script in my child project. Now the weird thing is this sometimes work and sometimes does not. I have noticed it does not work whenever iFrameResize is called too early.  I have also tried waiting for iframe to be loaded with no success. Now I am pretty lost with this.
When it does not work, the iframed page just does not respond, so I get this:
[iFrameSizer][Host page: my-id] IFrame has not responded within 5 seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning.
Am I doing something wrong? How can I make sure iFrameResize is called when the script in the iframe is loaded?
Thanks!

That should work, in some cases people have made the call from the onLoad event of the iframe. Which seems to solve the old case like this where their is an issue


Dynamically setting share text and url on social  click

I saw the answer of #65 , and it is good for me, but not enough.
Is there is an option to setup share link and share text on social click.
I had tried to do this via on: click:function(ev){}, but after reviewing you code I saw that you bind click to  tag and after this is you bind all on options event functions
I think it is better to change such behavior: first bind all on options and after the  default click
This, also in my case, could give to user option to change/edit share URL and text dynamically
Before I will do changes locally to you great library, I would like to ask you if this idea is good and you will change the behavior.

Since share strategy creates sharing link it's not possible to change handlers order.
But you can redefine share strategy.
The docs describes how to register new custom share strategy http://js-socials.com/docs/#custom-share-strategy.
In your case instead of defining a new one you can redefine the existing (popup in your case, I guess, since this is the only one using click handler)

Hi, same situation here.
I've read about the custom-share-strategy, style, I'm not able to set url dynamically. I'm trying to pass my url on init but onlaso on lcik with shareUrl with no effect. Here is my code. What's wrong ?
jsSocials.shareStrategies["my_popup"] = function(args) {
        return $("<div>").click(function() {
                window.open(args.shareUrl, "MyShareWindow",
                    "width=800, height=600, location=1, resizeable=1, menubar=0, scrollbars=0, status=0, titlebar=0, toolbar=0");
            });
    };

    $("#share").jsSocials({
        shares: ["email", "twitter", "facebook", "googleplus", "linkedin", "pinterest", "stumbleupon", "whatsapp"],
        showLabel: true,
        text:$('title').text(),
        showCount: true,
        shareUrl: $('#input-current-url').val(),
        shareIn: "my_popup",
        url: $('#input-current-url').val(),
        on: {
            click: function(e) {
            	shareUrl: $('#input-current-url').val()
            },
            mouseenter: function(e) {},
            mouseleave: function(e) {}
        }
    });

Thanks for your help !


YARN-7620. Filter queues by nodelabels

Allows users to filter queues by nodelabels

@sunilgovind Please review

Makes the nodelabel dropdown searchable


go.{mod,sum}: bump deps

This PR:

bumps Go deps (go get -u)
bumps Go 1.21 -> 1.22

I have tested that nothing breaks by building tailscale/tailscale image with mkctr built from this branch

When I pulled this locally, go mod tidy produced a few diffs. Do you mind running it on the PR? I'm not sure why go get -u doesn't automatically sort that for the deps it updates.

When I pulled this locally, go mod tidy produced a few diffs. Do you mind running it on the PR? I'm not sure why go get -u doesn't automatically sort that for the deps it updates.

Nice catch, thanks! Updated with go mod tidy diff now


remove pc1 mongo

Can you guys remove me from this mailing list? I am sure this is a pretty good security violation
Sent from my iPhone

On Sep 5, 2019, at 2:22 PM, Dmitry Knyazev<EMAIL_ADDRESS>wrote:
You can view, comment on, or merge this pull request online at:
https://github.com/Tealium/nagios/pull/121
Commit Summary
remove pc1 mongo
File Changes
M recipes/server.rb (6)
Patch Links:
https://github.com/Tealium/nagios/pull/121.patch
https://github.com/Tealium/nagios/pull/121.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


[UI] Istio - Enabling Istio still requires us to enable monitoring

Version: master-head (7/29/19) e0de45af
What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Attempt to enable Istio

Result:
UI still asks to enable monitoring, even though this is no longer required for Istio operation.

@loganhz Is there a backend component to this? Our understanding is that:

If cluster monitoring is not enabled:

Istio will deploy prometheus without prompting for monitoring to enabled
Other monitoring components will remain disabled

If cluster monitoring is enabled:

Istio will re-use existing prometheus (currently working)

@bmdepesa There is no backend component to this. Only UI changes. Maybe we will not cover Other monitoring components will remain disabled in this issue. We need Darren's inputs for it.

Version: master-head (8/6/19)
The user no longer needs to first visit the monitoring page to enable monitoring, then enable Istio. This is now all handled when you enable Istio.

Notice that there is now a disabled checkbox (which is checked) that states "Enable Monitoring" so the user understands that monitoring must be enabled. The tooltip explains further and offers the user to visit the monitoring config page to change any settings and save if they wish (thereby also enabling monitoring).
I ensured that Istio works as expected. This is true whether I tweak monitoring resources manually and enable first then enable Istio, or if I do it all in one go (Monitoring would have default resources in this case).
I wasn't able to identify any problems.


Questions on Comment data

Hello! I have 2 questions on the Comment data.
Q1: Why is ParentPostId not included when a Comment is a replyOf another Comment?
When a comment is a reply to another comment, the ParentCommentId is populated, but ParentPostId is null. It would make things a bit easier for partitioned data loads if the ParentPostId is also included for such cases (by making it a direct join back to the forum where the comment belongs, rather than a recursive query just for this data transformation). See for example the below, with the italicized value indicating the proposed change:

creationDate
id
locationIP
browserUsed
content
length
CreatorPersonId
LocationCountryId
ParentPostId
ParentCommentId

2/3/2011 23:01
412316860804
<IP_ADDRESS>
Firefox
About Franz Kafka, part of the English languageAbout Erwin Rommel,  it was his le
81
42
60
412316860802

3/10/2012 18:52
893353197958
<IP_ADDRESS>
Internet Explorer
About Jamaica, s. Once a Spanish possessioAbout George IV of the United Kingdo
78
910
49
412316860802
412316860804

3/11/2012 5:07
893353197959
<IP_ADDRESS>
Firefox
good
4
42
60
412316860802
893353197958

Q2: Given a single output partition file (part*.csv), are the ParentCommentId values expected / guaranteed to be in the same file, for those cases when a Comment is in replyOf another Comment?
In other words, is a single comment hierarchy always scoped to within a single partition? I'm guessing this is the case, but wanted to check if this ensured by design and implementation.

Hi @arvindshmicrosoft
Regarding Q1:

Why is ParentPostId not included when a Comment is a replyOf another Comment?

This is a deliberate choice – if systems are want to know the ParentPostId, they have to compute it by traversing the Message tree. This is true both during the bulk load phase and also during inserts (in the Interactive workload's small transactions and also in the larger - daily - batches of the BI workload).
I'll let David chime in regarding Q2.

Given a single output partition file (part*.csv), are the ParentCommentId values expected / guaranteed to be in the same file, for those cases when a Comment is in replyOf another Comment?

We do not guarantee this. Even for the raw mode, where we have a custom serializer for writing the tree-based structure of posts and comments into tabular format. It uses a modulo based technique where the nth row of a Spark partition outputs  to  a file part_<partition_num>_<file_num> where file_num is n mod m (m is a constant specific to the entity type).  This is done in order to control individual file sizes. Another straightforward way is to split into fixed length chunks, but even that wouldn't get completely rid of this problem. Moreover, in BI mode inserts and deletes are repartitioned by their timestamp which can shuffle around comments even more.

Thanks for the clarifications. I was looking at the Neo4J trillion entity demo and noticed that while it mentions LDBC, the output is quite customized. Specifically, that generator puts out shards based on the forumId.
So, I am curious if you would consider explicitly adding a forumId field in the official datagen to allow more efficient usage of sharding if needed by the implementing platform?

So, I am curious if you would consider explicitly adding a forumId field in the official datagen to allow more efficient usage of sharding if needed by the implementing platform?

It depends on how we define the "official datagen":

For the Datagen configuration that should be used for benchmarking, I'd say no as such a flag may make the benchmark simpler for certain systems. That said, if an implementation would like to reorganize the data set (by e.g. adding redundant data such as a message's forum id or parent post id), it can do so during the loading phase. Then, the combined "reorganization plus loading" time should be disclosed in the benchmark report.
As a configuration flag for the Datagen that can be used to generate data sets for e.g. internalfor testing systems.

Thank you @szarnyasg - I will close this Issue as we have had a good discussion above. I will let you folks consider the request to possibly add an extra flag to possible add the forumId as a test-only extra field to the related outputs.


[Sidebar] Unable to use context without nudges to pusher elements?

If you have a look at this example: http://jsfiddle.net/L4yjsymd/ After I initially click the Menu to get the sidebar and then If I close it, It nudges the .pusher element to expand it. It's very noticeable. I was trying to figure out if the sidebar module was in some way changing the pusher's padding or margin properties. Unfortunately, I couldn't find how pusher was being modified.
Is this an expected behavior? If yes, is there any workaround to fix the nudges? This nudging is much pronounced in this fiddle: http://jsfiddle.net/L4yjsymd/52/
Any help is appreciated :)

Hi @saikrishnadeep, everything seems to be working as expected, I’m not sure what nudging you’re talking about besides the default pushing animation, if it exists, I don’t see it. A video might help, I usually use this little open source program to quickly record the screen and showcase dynamic content, it’s also portable.
Here’s what I’m seeing.

Hi @Banandrew  Thanks for the suggestion. Here is what I'm seeing: http://i.imgur.com/kmyybgP.gifv If you notice that towards the end of the animation. The right and bottom margin/padding of the pusher element is being adjusted which is causing it to slightly nudge. I hope the gif confirms it. I'm on Chrome Version 58.0.3029.110 (64-bit)

@saikrishnadeep Thank you, I was able to reproduce it—the content jumps on smaller screens when the second scroll bar appears. You can either force the scroll bars:
.ui.attached.segment {
  overflow-y: hidden; /* Or “scroll” as an alternative. */
}

Or simply use transition: 'overlay'. I don’t think that anything can be done about it besides from that, including the framework level.


Bulk indexing without checking for duplicates

Hello,
I need to speed up indexing by removing the dup check (indexing performance is degrading over time on big collections). How can I specify "update=false"  when saving to the collection?
Is it enough to set as unique key in the schema an UUID?
Thanks!

Hi,
I am not sure what you are asking for here. Do you want to specify query params for requests during indexing? (This option is not available yet)
Where is dup check happening ? Is it in Solr?

Hi,
Yes, is a specific parameter for allowing duplicates during indexing. So I understand additional params are still not supported during indexing.
Thanks

If you don't mind getting your hands dirty, start from here https://github.com/lucidworks/spark-solr/blob/master/src/main/scala/com/lucidworks/spark/SolrRelation.scala#L665. It shouldn't be too hard to support additional params during indexing


Corrections on README.md

Just fixed some things as I read.

Thanks @diegohaz, to be honest I didn't release the project yet but I appreciate a lot your early review... 😂