Querying RedisCollection obtained through generic RedisCollection() fails with InvalidOperationException

Hi @slorello89.  I found a good one for you.  Hopefully this is a simple fix as having this functionality is critical.
I'm having an issue with querying a RedisCollection obtained through the RedisCollection() method in my data layer while passing in the <T>. The same query works fine when I use a RedisCollection that is hardcoded with the <EntityType> (not through the methods <T>).
Here's a simplified version of my code:
public async Task I_Can_Expose_Generic_Issue()
{
    var provider = new RedisConnectionProvider("redis://localhost:6379");
    await provider.Connection.CreateIndexAsync(typeof(CustomerEntity));

    var customerEntity       = new CustomerEntity { FirstName = "Test", LastName = "Ing", ERN = "TESTING" };
    var customerWrapper = new GenericWrapper<CustomerEntity>(customerEntity);
    await ExposeGenericIssue( customerWrapper );
}

public async Task ExposeGenericIssue<T>( GenericWrapper<T> request ) where T : class, IRedisEntity
{
    var provider = new RedisConnectionProvider("redis://localhost:6379");

    // this works
    var redisCollection1 = provider.RedisCollection<CustomerEntity>(false);
    var working = await redisCollection1.FirstOrDefaultAsync(x => x.ERN == request.Entity.ERN);

    // this does not
    var redisCollection = provider.RedisCollection<T>(false);
    var broken = await redisCollection.FirstOrDefaultAsync(x => x.ERN == request.Entity.ERN);
}

public record GenericWrapper<T>( T Entity ) where T : class, IRedisEntity;

public interface IRedisEntity
{
    string ERN { get; set; }
}

[Document(StorageType = StorageType.Json)]
public class CustomerEntity : IRedisEntity
{
    [Indexed] public                  string   FirstName { get; set; }
    [Indexed] public                  string   LastName  { get; set; }
    public                            string   Email     { get; set; }
    [Indexed(Sortable = true)] public int      Age       { get; set; }
    [Indexed]                  public string[] NickNames { get; set; }

    // IRedisEntity
    [RedisIdField] [Indexed]   public string ERN          { get; set; }
}

When I run this, working executes successfully, however broken throws the following error:

System.InvalidOperationException: Could not retrieve value from ERN, most likely, it is not properly decorated in the model defining the index.

UPDATE: I believe I found the source of this issue.  Internally you are evaluating my Interface, not the concrete class for the attributes.  Once I place the attributes on the interface as well, all seems to work as expected, for my use case.
public interface IRedisEntity
{
    [RedisIdField] [Indexed] string ERN { get; set; }
}

Hi @VagyokC4 - I'm trying to think if what this doing is actually wrong, or if there's anything we can do to mitigate it... you're accessing the ERN of IRedisEntity, not CustomerEntity, so when you get down to what the expression translator is actually translating, it's translating the ERN of IRedisEntity, which as you correctly point out, is not decorated:

It simply doesn't seem to have access to the concrete class at all.

It simply doesn't seem to have access to the concrete class at all.

Yes, that's pretty much where I got to as well.  I couldn't find a concrete way to get at the concrete entity.  Truth be told, I've noticed this behavior with other libraries as well.  e.g. HangFire.NET, where if I want the attributes, and I'm using the interface, I must decorate the Interface.  Once I do that, all works as expected.  We can probably close this out, and hopefully it helps someone in the future, who runs across this.

Sounds good @VagyokC4 - that's what I was going to recommend.


Borderless layout is not shown correct at startup of plugin of monitor

Microsoft PowerToys version
0.57.0
Running as admin

[ ] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
create a view with space around zone set to 0 apply to screen
restart pc, od disconnect and connect screen. and the space is back to default when you use fancy zone
switch of and on  fancy zones and it is now not showing borders.
✔ Expected Behavior
If i select a view is should also use the options set for the view on restart / reconnect to a screen
❌ Actual Behavior
It is keeps showing borders after restart or reconnect of screen
Other Software
No response

/bugreport

PowerToysReport_2022-04-07-10-57-20.zip

Thank you for reporting. FancyZones saves layout corresponding to a monitor name receiving from the system. When you disconnect and reconnect monitor back, the system can give your monitor different name so FancyZones thinks that it's a new configuration and applies the default layout there. It's a known issue.
/dup of https://github.com/microsoft/PowerToys/issues/16370


Parsed body contains header data

I came across a parsing issue:
const httpMessageParser = require('http-message-parser');

const r = `HTTP/1.1 200 OK\r
Server: nginx/1.6.2\r
Date: Fri, 21 Sep 2018 09:05:11 GMT\r
Expires: Thu, 20 Dec 2018 09:05:11 GMT\r
Access-Control-Allow-Origin: *\r
\r
aaaa`;
console.error('parser result', JSON.stringify(httpMessageParser(r), null, 2));

Which prints:
parser result {
  "httpVersion": 1.1,
  "statusCode": 200,
  "statusMessage": "OK",
  "method": null,
  "url": null,
  "headers": {
    "Server": "nginx/1.6.2",
    "Date": "Fri, 21 Sep 2018 09:05:11 GMT",
    "Expires": "Thu, 20 Dec 2018 09:05:11 GMT",
    "Access-Control-Allow-Origin": "*"
  },
  "body": {
    "type": "Buffer",
    "data": [
      32,
      42,
      13,
      10,
      13,
      10,
      97,
      97,
      97,
      97
    ]
  },
  "boundary": null,
  "multipart": null
}

As you can see you would expect body to be 97 97 97 97 but it also contains bytes:  32 42 13 10 13 10 before 97 97 97 97. This corresponds to   (space), B,\r,\n,\r,\n

@aalexgabi thanks for reporting the bug. I added a test case and resolve the issue in the latest version


c

Problem encountered on https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/intro
Operating System: windows
Provide details about the problem you are experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

There's nothing actionable in this issue. Did you need help with something specific?

Closing due to lack of response; if you're still having this issue, please re-open and provide additional detail.


Support custom attribute in element

I am trying to integrate excalidraw in my AP. I have a problem. When an event, 'click' for example, occurs on an excalidraw element, I have no way to tell what object in my AP is associated with since I cannot decide the id of excalidraw's element. Hence, is it possible to support custom attributes in excalidraw just like the user-* attributes in HTML element.

@riceyeh we already support customData for elemeents, you can read more about it here

Is it possible to edit customData like we do for the stroke color when elements are selected?

Yes, though we don't have good API for listening on specific changes like elements being selected. The way to accomplish that currently would be to subscribe to onChange, diff the passed appState.selectedElementIds, and update the element using excalidrawAPI.updateScene(elements).


Add Syncthing's .gitignore files

Description
The Syncthing (https://docs.syncthing.net/) peer-to-peer network sharing application is quite commonly used in 2024 for decentralized networking. Unfortunately, it also introduces a bunch of its own hidden files that can be tracked by git.
Expected Behavior
artifacts are added into .gitignore file.
Current Behavior
.gitignore is not tracking Syncthing.
Associated Data Files
No response

implemneted in 10ce583bdc580d9e1c072f51032ab45b4aaa6531


What's the easiest way to scale along time?

Let's say I have a signal and want to scale 2x along time (make it last twice as long).
Should I just zero-pad the input to double the input length, then take the NSGT coefficients and fill and then inverse, or is there a smarter way to go about this?

It's the question what "scaling" means in that context. Since it is unrelated to the NSGT toolbox i am closing this issue.

@grrrr
Well, I am no expert on the math behind how NSGT works (I have read several of the papers but only at a high level).
Would you do me the favor of explaining how different ways of time-scaling would have different results, or would they practically speaking (to the ear) be very similar?
For example: if I zero-pad to double length, then take coefficients and fill in transformed space before inverting -- does it make a practical difference how the zero-padding is done (e.g. before, after, or on both sides of the actual signal)?

Hi, the reason i closed this issue is that the issue tracking is for features or defects of the software, not for questions pertaining to the underlying algorithm which was not even developed by me.
You should have a look at phase vocoders which work in usual STFT space. It is certainly possible to extrapolate this to NSGT. I guess it should work in polar coordinates by interpolating the magnitudes and phases according to the new time instances and then convert back to cartesian complex coefficients.

Thanks for pointing me in that direction, I will take a look.
Out of curiosity, do you have a forum you would recommend for questions about the underlying methodology (e.g. is http://www.univie.ac.at/nonstatgab/authors.php a good place to start)?
I'm a software engineer by trade, and can think of a lot of interesting, immediate applications for time-frequency techniques, but I don't know if you or your co-authors would have time or interest for collaboration.

Thanks for pointing me in that direction, I will take a look.
Out of curiosity, do you have a forum you would recommend for questions about the underlying methodology (e.g. is http://www.univie.ac.at/nonstatgab/authors.php a good place to start)?
I'm a software engineer by trade, and can think of a lot of interesting, immediate applications for time-frequency techniques, but I don't know if you or your co-authors would have time or interest for collaboration.

Yes i think you should start there. It's our hub of info about the NSGT.
Concerning cooperation, it really depends on the topic. We are mostly in fundamental research, but also with some excursions into applied research. We do have industry cooperations where we prepare and license out prototypical implementations of our algorithms which are used in services or products.


SharePlugin prematurely destroys method channel in onDetachedFromActivity

We've been getting MissingPluginException(No implementation found for method share on channel plugins.flutter.io/share) and it seems like SharePlugin isn't handling activity and engine attachment/detachment symmetrically by tearing down method channel in onDetachedFromActivity() but only creating it in onDetachedFromEngine().
SharePlugin fix below appears to fix the issue:
@@ -33,8 +33,7 @@ public class SharePlugin implements Flut

   @Override
   public void onDetachedFromEngine(FlutterPluginBinding binding) {
-    methodChannel.setMethodCallHandler(null);
-    methodChannel = null;
+    tearDownChannel();
     share = null;
   }

@@ -45,7 +44,7 @@ public class SharePlugin implements Flut

   @Override
   public void onDetachedFromActivity() {
-    tearDownChannel();
+    share.setActivity(null);
   }

   @Override
@@ -66,7 +65,8 @@ public class SharePlugin implements Flut
   }

   private void tearDownChannel() {
-    share.setActivity(null);
     methodChannel.setMethodCallHandler(null);
+    methodChannel = null;
+    handler = null;
   }
 }

@meder
Please provide flutter doctor -v and a minimal complete reproducible code sample that shows the issue.
Thanks.

[✓] Flutter (Channel stable, 1.20.4, on Mac OS X 10.15.7 19H2, locale en-GB)
    • Flutter version 1.20.4 at /Users/amerrnathmurugan/flutter
    • Framework revision fba99f6cf9 (3 weeks ago), 2020-09-14 15:32:52 -0700
    • Engine revision d1bc06f032
    • Dart version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/amerrnathmurugan/Library/Android/sdk
    • Platform android-29, build-tools 28.0.3
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0.1, Build version 12A7300
    • CocoaPods version 1.9.1

[✓] Android Studio (version 3.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 34.0.1
    • Dart plugin version 182.5215
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1248-b01)

[✓] VS Code (version 1.49.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.15.0

@darshankawar

@meder Looks like you already investigated.  Want to send the plugin team a pull request with your patch?

This was fixed in https://github.com/flutter/plugins/pull/3942


default service account

Changes
Pipelinerun can specify service account name in the specification. If its not specified, controller reads default-service-account from config-defaults ConfigMap. And if config-defaults is also missing default-service-account, service account is set to default. Before this PR, this default value was set in creds-init.go just before creating the Pod. So the pod is created with default service account but pipelinerun/taskrun spec is not made aware of this change. Instead of delaying this decision/set until a pod is created, this PR is setting the service account as part of pipelinerun/taskrun spec. This brings consistency from the controller perspective while choosing the default service account when not explicitly specified in ConfigMap.
To summarize, controller reads service account from config-defaults ConfigMap and sets it in the pipelinerun/taskrun spec if spec is missing service account. And now (with this PR) if service account is also missing from config-defaults, controller sets the service account to default in the spec.
This was discovered while working on issue #2815 and PR #3160.
/kind bug
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[x] Includes docs (if user facing)
[x] Commit messages follow commit message best practices
[x] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
Service account when missing from pipelinerun/taskrun spec and ConfigMap, controller sets it to default in the spec.

/retest

/approve

/test

/retest

/test pull-tekton-pipeline-unit-tests

/retest

/retest

/retest

/lgtm cancel

(temporarly removing them from the merge queue to unlock some)

/test check-pr-has-kind-label

/restest

/lgtm

/lgtm cancel
@pritidesai can you rebase and push to unblock this ? I can't force-unblock it as it jobs for this do not appear anywhere anymore (see here)

/test all

/test pull-tekton-pipeline-build-tests

/lgtm

/test pull-tekton-pipeline-integration-tests

:tada:


Updated patternfly to 2.7.0

https://github.com/ManageIQ/manageiq-appliance/pull/47

@simaishi review please

ack'ed


Helm Operator doesn't work with Kube Prometheus Stack with additionalPrometheusRulesMap yaml list

Bug Report
Hi!
Helm Operator doesn't seem to work with Kube Prometheus Stack when there is a list used inside the additionalPrometheusRulesMap configuration.
The same config works just fine when used with helm v3.2.4 without the operator.
Without the additionalPrometheusRulesMap key the helm operator works as expected.
What did you do?

Created the Helm Operator for the Kube Prometheus Stack

$ operator-sdk_linux_amd64 init --plugins helm --helm-chart prometheus-community/kube-prometheus-stack --domain example.com --group helm-chart --version v1 --kind Promhelm

Prepared the following CR

apiVersion: helm-chart.example.com/v1
kind: Promhelm
metadata:
  name: promhelm-sample
spec:
  additionalPrometheusRulesMap:
    some-rules:
      groups:
        - name: foo
          rules:
            - expr: bar
              record: baz
  alertmanager:
    enabled: false
  grafana:
    enabled: false
    defaultDashboardsEnabled: false
  prometheusOperator:
    admissionWebhooks:
      enabled: false
    tls:
      enabled: false

Deployed the CR

kubectl apply -f /prometheus-helm-operator/config/samples/promhelm.yaml -n promhelm --validate=false

What did you expect to see?
I should see the Helm chart deployed.
I should see applied k8s objects in the operator logs.
I should be able to edit / delete the CR.
What did you see instead? Under which circumstances?
The Helm chart has been deployed and Prometheus seems to be working fine. I can uninstall it without the operator using the external helm command.
In the operator logs I don't see the applied k8s objects.
Also in the operator logs I can see the following error line:
E0311 12:05:49.494839       1 reflector.go:127] pkg/mod/k8s.io/client-go@v0.19.4/tools/cache/reflector.go:156: Failed to watch /v1, Kind=List: failed to list /v1, Kind=List: the server could not find the requested resource

I cannot change nor delete the previously applied CR.
Environment
Operator type:
/language helm
Kubernetes cluster type:
microk8s
$ operator-sdk version
operator-sdk version: "v1.3.2", commit: "5dd883dc90085da6a6e75bb05443b4d491a39143", kubernetes version: "1.19.4", go version: "go1.15.5", GOOS: "linux", GOARCH: "amd64"

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.15", GitCommit:"73dd5c840662bb066a146d0871216333181f4b64", GitTreeState:"clean", BuildDate:"2021-01-13T13:22:41Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.15", GitCommit:"73dd5c840662bb066a146d0871216333181f4b64", GitTreeState:"clean", BuildDate:"2021-01-13T13:14:05Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

$ helm search repo prometheus-community/kube-prometheus-stack
NAME                                      	CHART VERSION	APP VERSION	DESCRIPTION
prometheus-community/kube-prometheus-stack	14.0.1       	0.46.0     	kube-prometheus-stack collects Kubernetes manif...

Possible Solution

Additional context

@perk-sumo Thanks for raising the issue.
The prometheus-community/kube-prometheus-stack chart uses a Kind: List in additionalPrometheusRules.
It would seem that this kind is not used very often in Kubernetes and therefore in Helm charts as well.  From this explanation, it says: "List is not actually a "resource". Each resource can have an associated list type, PodList or CronJobList, but those are not actually resources. And each of those lists is represented in yaml by kind: List." There is also an open issue in Kubernetes to document it.
What this means is that the Helm operator would need to be updated to handle Lists.  I will look to push a PR when I get a chance.
Thanks to the great feedback on this issue from @joelanford on slack.

Interesting, TIL! Sounds like ansible-operator may have to handle this case as well.
/kind feature

@perk-sumo As a short term workaround, if you didn't set additionalPrometheusRulesMap in the values file, it should work as expected. This is because it won't need to use  additionalPrometheusRules then as if statement will be false.

@estroz Do you think that this should be re-categorized to a bug?

Yes.
/remove-kind feature
/kind bug

Thanks @estroz


Reject queries directly selecting AID columns.

Such queries will take a long time to finish and have no chance of returning any useful results.

Is the gist of the issue here selecting or rather GROUP BY-ing? In other words, we do want to reject SELECT count(*) GROUP BY aid; as well, correct?
Also: we probably should not reject generalized AID columns, but I'm not 100% sure. If so, then do we look into whether the generalization is trivial or not (e.g. substring(aid, 1, 10000))? I don't think that's necessary.
In general, I'm presuming we just want to cut out the obviously non-sense queries, rather than try to cover all possible edge cases.

Is the gist of the issue here selecting or rather GROUP BY-ing?

Anonymized select implies grouping.

Also: we probably should not reject generalized AID columns

Yes, let's allow generalizations of AID columns for now.

@pdobacz yes, because
SELECT 1
FROM table
GROUP BY aid

Is equally slow and fully suppressed.

#407


Update README.md

Grammar

Thank you for your contribution , changes have been made by different commit.


add new function for sampling points every x nm along neurites

This function was previously part of morph-validator but has been moved to NeuroM as it is more generally needed (see BBPP82-358)

Given that point sampling is essentially morphology editing, wouldn't it be more suitable for morph-tool?
https://github.com/BlueBrain/morph-tool

Ok, I discussed it with Lida, the subsampling is needed to be applied for feature extraction and not for resampling the morphology and storing it. It makes sense to be here in that case.

It looks like there are two different use cases for this feature. We need it in NeuroM for feature extraction. However, if there is a need for modifying a morphology and saving it this sounds like a use case for morph-tool as neurom does not write cells. Any ideas how to re-use this from one tool or the other?

I would expect morph-tool to rely on neurom, is this not the case? If it is, you can simply do nm.sample_morph_points to extract the needed data and perform subsequent manipulation in morph-tool.

The test that failed doesn't seem to be related to these changes.

I would expect morph-tool to rely on neurom, is this not the case? If it is, you can simply do nm.sample_morph_points to extract the needed data and perform subsequent manipulation in morph-tool.
...
    install_requires=[
        'bluepyopt>=1.9.37',
        'click>=6.7',
        'morphio>=2.3.4',
        'neurom>=1.4.15',
        'neuron>=7.8',
        'numpy>=1.14',
        'pandas>=1.0.3',
        'plotly>=4.1.0',
...

neurom is a dependency, so I think this would work.

I think that morph-tool uses MorphIO for its morphology data structure, which is not the same as NeuroM's.

The tool for which this method was originally developed uses NeuroM, so if morph-tool and NeuroM are incompatible putting this method in morph-tool is not an option for this usecase. Maybe it will be impossible to avoid duplication here - if needed within morph-tool this method would have to be re-implemented within morph tool to use MorphIO's data structures.

There seems to be an effort to make the two compatible (#755) , so it may be that reusing this method in morph-tool will be possible in the future.

I've figured out why an unrelated piece of code is failing in the CI. It was passing on my machine, but fails when I update scipy to 1.5.1. This is because scipy.kstest's 'mode' keyword argument has changed. It used to have four options and default to 'auto' (which selects one of the other modes, but it is unclear which it would do in this case). Now it has only two, and defaults to 'approx'.
I'll make a separate PR with a fix.

#839

What would make the most sense to me would be to have NeuroM accept a MorphIO morphology as argument.
This way, we can put the sampling in morph-tool
morph_tool.sample would return you a MorphIO neuron that could be loaded with NeuroM.
The code would become:
from morph_tool import sample
from neurom import get, load_neuron

my_feature = get('feature', load_neuron(sample('my_morph')))

I have added a PR to accept morphio object in NeuroM load_neuron
See #840
Once this is merged we can move the sampling in morph-tool.

Would'nt it be even better to add the sampling to morph-validator?

I don't think so. Morphology sampling could have use-cases outside of the validation scope. Hence, morph-tool. I really see morph-tool as a toolbox for small function like that (mainly about editing a morphology, but not only)

Before we conclude where it should go, it seems we should first be clear on what it is supposed to do. Lida and Eleftherios both said something about it returning a Neuron - which is inconsistent with what is needed from it for the validations.  If there is a different usecase for which a new neuron needs to be returned, perhaps that should be a separate method.
AFAIK:
To extract the needed biodata Lida will need the y-positions of points every x um along the neurites to convert to relative depth.
To analyse the in-situ synthesized morphologies I need the positions of points every x um along the neurites to index a VoxelData containing relative depth.

@wizmer > This way, we can put the sampling in morph-tool
Doesn't that make the sampling by distance as implemented here (which is a great, thanks @HDictus) depend on MorphIO?  Once NeuroM uses MorphIO completely (ie: NeuroM v2), having a version w/o the MorphIO dependency makes sense to me.

I agree with @HDictus, we first need to define what is the purpose of this function. I see three alternatives:

sampling points on a morphology (as it is now, correct?)
creating a new morphology with a specific sampled point distribution (this might need to be saved from the user so morphio is required)
computing features at a specific point sampling

For me the process of sampling is simply creating an alternative morphology, that's why it belongs to morph-tool and not to NeuroM. The fact that it brings another dependency seems natural to me.
But if you feel that it makes sense to put it in NeuroM I won't argue any longer.

@wizmer indeed, if the purpose is to create a new morphology your proposal is more reasonable. That is why we first need to define the purpose for this functionality.

@lidakanari > I see three alternatives ...
I think those make sense.  For 3, how many of the features make sense when a morphology is sampled at specific points? For instance, I don't think anything in features/bifurcationfunc.py applies, most of the section_* don't apply, afaict.
If we can enumerate with ones are necessary, then we should include them in this PR, I think, to make sure that the implementation is compatible with what is required for the neurite.
@wizmer > For me the process of sampling is simply creating an alternative morphology
I'm not sure I agree, we already filter by neurite type, but I don't think of that as creating an alternative morphology.  To me, this is just an alternative view on the same morphology: the connectivity is the same, the properties (should) be the same, etc.

Well, I don't have a very strong opinion on this so it's good for me if you want to keep it here. I'll have a look at the code now.

This is coming along nicely, I think the one thing we need is a list of expected 'features' that will use this sampling feature, so we can make sure it'll work in those cases - it would be a shame to merge this, and then have to change the API right away.
We'll use this list to create issue.
I think @lidakanari / @arnaudon are probably best able to provide such list, would that be possible?

Sorry, I wasn't really paying attention to this code. It seems to me that all features except diameter related ones (area/volumes, etc...) would work. Also, would it make sense to add diameters in the 4th entry of the sampled points by linear interpolation between nearby points? Some features should have the same values as without the sampling, but these should be in the allowed list, right? I would be for trying to make this sampling feature work on all main features that neurom.get have access to.

Thanks a lot @mgeplf! I would say all the features computed along section would be meaningful (maybe also diameters, because we could see how much they vary at intervals of 10um).
Examples would be the following:

Tortuosity
Volumes
Areas
Angles (within a section)
The ones that are not meaningful for this are those that refer to bifurcations etc.

I can add the diameters in that function if you want.
Also, it may be worth mentioning that this is similar to nseg of NEURON: https://neuron.yale.edu/neuron/docs/ball-and-stick-model-part-1 ('The role of nseg')

Also, would it make sense to add diameters in the 4th entry of the sampled points by linear interpolation between nearby points?

I think that makes sense.  @HDictus, can you add that?

Some features should have the same values as without the sampling, but these should be in the allowed list, right?

That's what I'm trying to nail down - if that's the case, this will take a lot longer, and then @wizmer's idea of creating a new morphology becomes more likely to solve the problem efficiently.
If we only suppor the measures that are different, then the API for both the get(...) stays the same, and we only need to add handling the features for the sampled version.

Tortuosity

This should have the same value, whether it's sampled or not, right?

Angles (within a section)

What would your expectation of this be?  Since a section can only change direction on its points, and the sampling might not coincide w/ the original change of directions, doesn't this create a false impression of what the angles are?

If we only suppor the measures that are different, then the API for both the get(...) stays the same, and we only need to add handling the features for the sampled version.

This sounds like a lot of work, but I might be mistaken.

Tortuosity

This should have the same value, whether it's sampled or not, right?

This should change as the number of points increases how tortuous a section is. I expect this would be closer to real value, as the bias of point clicking might be lifted.

Angles (within a section)

What would your expectation of this be? Since a section can only change direction on its points, and the sampling might not coincide w/ the original change of directions, doesn't this create a false impression of what the angles are?

I think so, still if we measure morphometrics at the circuit with this sampling we need to make sure it is meaningful. I suppose since the sections will be smoothed there is a value for point sampling, i.e. 2um for which this measure will be optimal.

I can add the diameters in that function if you want.
Also, it may be worth mentioning that this is similar to nseg of NEURON: https://neuron.yale.edu/neuron/docs/ball-and-stick-model-part-1 ('The role of nseg')

Interesting, I think it is worth being mentioned in the docstring

Also, would it make sense to add diameters in the 4th entry of the sampled points by linear interpolation between nearby points?

I think that makes sense. @HDictus, can you add that?

I don't know about adding them by default - in the specific usecases I know of they'd just be in the way. Could certainly add a keyword argument to specify what features you want to receive for each datapoint.

Some features should have the same values as without the sampling, but these should be in the allowed list, right?

That's what I'm trying to nail down - if that's the case, this will take a lot longer, and then @wizmer's idea of creating a new morphology becomes more likely to solve the problem efficiently.

It should be pretty straightforward to yield properties that are constant along a segment alongside any interpolated ones, shouldn't it?

If we only suppor the measures that are different, then the API for both the get(...) stays the same, and we only need to add handling the features for the sampled version.

Tortuosity

This should have the same value, whether it's sampled or not, right?

Angles (within a section)

What would your expectation of this be? Since a section can only change direction on its points, and the sampling might not coincide w/ the original change of directions, doesn't this create a false impression of what the angles are?

I'm not sure I understand precisely, but it seems to me that angles simply aren't defined for points that aren't a section start/end, right?
I'm not sure why we need these other features right now though, can someone describe the additional usecases? It may be best to keep this simple for now and add in the iteration of other features when it becomes relevant.

To me, diameters should by always, as they are part of the morphology, but i'm biased ;)

    Angles (within a section)

What would your expectation of this be? Since a section can only change direction on its points, and the sampling might not coincide w/ the original change of directions, doesn't this create a false impression of what the angles are?

I'm not sure I understand precisely, but it seems to me that angles simply aren't defined for points that aren't a section start/end, right?

That's why I specified (angles within a section, commonly referred to as meandering) not bifurcating angles.

I'm not sure why we need these other features right now though, can someone describe the additional usecases? It may be best to keep this simple for now and add in the iteration of other features when it becomes relevant.

We do not need those right now, I just replied to Mike's question which features might be interesting for this sampling.
However, if according to @wizmer this is how neuron interprets a morphology, this becomes way more interesting as a use-case. Absolutely worth mentioning!

an example of what this is needed for in morphology validations
    neurites_points = _sample_morph_points(morphology, sample_distance)
    output = {}
    for neurite_type, points in neurites_points.items():
        indices = voxeldata.positions_to_indices(points, False)
        out_of_bounds = np.any(indices == -1, axis=1)
        within_bounds = ~out_of_bounds
        values = np.zeros(len(points), dtype=voxeldata.raw.dtype)
        values[within_bounds] = voxeldata.raw[
            tuple(indices[within_bounds].transpose())]
        values[out_of_bounds] = out_of_bounds_value
        output[neurite_type] = values
    return output

where it is going to replace _sample_morph_points, at this point probably like this:
    neurites_points = {
        neurite.type: np.array(list(
            iter_positions(morphology, neurite_filter=lambda n: n.type == neurite.type, sample_distance=sample_distance)
        for neurite in morphology.neurites}
    output = {}
    for neurite_type, points in neurites_points.items():
        indices = voxeldata.positions_to_indices(points, False)
        out_of_bounds = np.any(indices == -1, axis=1)
        within_bounds = ~out_of_bounds
        values = np.zeros(len(points), dtype=voxeldata.raw.dtype)
        values[within_bounds] = voxeldata.raw[
            tuple(indices[within_bounds].transpose())]
        values[out_of_bounds] = out_of_bounds_value
        output[neurite_type] = values
    return output

(for electrical models/simulations, nseg=40 in NEURON, so there is a point every 40mu)

To me, diameters should always be there, as they are part of the morphology, but I'm biased ;)

we don't need a morphology though - we need a list/array/iterable of positions.

(for electrical models/simulations, nseg=40 in NEURON, so there is a point every 40mu)

wow, that's even worse...

@lidakanari > This should change as the number of points increases how tortuous a section is. I expect this would be closer to real value, as the bias of point clicking might be lifted.
From the docstring: The tortuosity is defined as the ratio of the path length of a section and the euclidian distnce between its end points.; so I'm not sure how the 'bias of clicking' is removed: it's not a function of point count - and I don't think we can assume that sampling the shape of the morphology is going to converge the path lenght or start/end points towards the true value.
Do we have the right defintion of tortuousity?

@arnaudon > (for electrical models/simulations, nseg=40 in NEURON, so there is a point every 40mu)
I believe nseg (ie: number of compartments) is calculated as section_length/40, so unless the section length is a multiple of 40, the size of the compartments isn't known.  I could be wrong, though, perhaps @wvangeit can confirm?
That means that this PR is a different sampling, though, because it keeps the original endpoints of each section intact; if I'm reading it right.  We should be clear about what sampling is required, too.

That's why I specified (angles within a section, commonly referred to as meandering) not bifurcating angles.
we have those? If so this function could be made more accurate by using them (dropping the linearity assumption)

@lidakanari > This should change as the number of points increases how tortuous a section is. I expect this would be closer to real value, as the bias of point clicking might be lifted.
From the docstring: The tortuosity is defined as the ratio of the path length of a section and the euclidian distnce between its end points.; so I'm not sure how the 'bias of clicking' is removed: it's not a function of point count - and I don't think we can assume that sampling the shape of the morphology is going to converge the path lenght or start/end points towards the true value.
Do we have the right defintion of tortuousity?

Correct, the definition is right. My bad. I was assuming that if we subsample points the path length will change, but I think you are correct, that shouldn't be the case. If the path length is preserved, then tortuosity will in fact not change.

@arnaudon  (@mgeplf ) nseg = 40 doesn't mean a segment (compartment) every 40 micron. It means each section (between 2 branch points) has 40 compartments. But nseg = 40 is not what we normally use in our models, we rather add new compartments once a certain length of the section is reached: https://github.com/BlueBrain/BluePyOpt/blob/master/bluepyopt/ephys/morphologies.py#L155
But I'm actually a bit surprised the number of compartment matters in this discussion, I'm not sure it does. Remember that in NEURON compartments (electrical segments) are not the same as morphological segments (I know, 'nseg' is confusing). The morphological segments is where the reconstructor clicks, electrical compartments are there to improve the accuracy of the integration, and both are completely independent of each other in NEURON.

@arnaudon > (for electrical models/simulations, nseg=40 in NEURON, so there is a point every 40mu)
I believe nseg (ie: number of compartments) is calculated as section_length/40, so unless the section length is a multiple of 40, the size of the compartments isn't known. I could be wrong, though, perhaps @wvangeit can confirm?
That means that this PR is a different sampling, though, because it keeps the original endpoints of each section intact; if I'm reading it right. We should be clear about what sampling is required, too.

Yes, it seems a bit different from what is done here. Tbh, I've never looked at how neuron was implementing this sampling.

Ok, forget my comment then, I made things more confusing that they were already, sorry!

So, we have to make a choice about how to handle this: the current implementation can be used, as far as I know, for the limited use case of validation of points within certain regions.
However, to be used for feature extraction, it would need a significant change, namely that the iterator output is consumable by the current feature implementation.  @wizmer suggestion of creating new morphologies seems like the fastest route to this.
I do wonder how one would interpret the extracted features of this sampled morphology: to me this is a signal analysis problem, and thus comes with the normal aliasing issues, and other artifact inducing changes that can seriously change the feature extraction results.
Consider the 'simple.swc' test file:
           (0, 5)
 (-5, 5)----- ------ (6, 5)
             |
             |
             |
             | Type = 3
             |
             o origin
             |
             | Type = 2
             |
             |
(-5, -4)----- ------ (6, -4)
           (0, -4)

Sampled at 9um, it becomes this:
 (-5, 5)             (6, 5)
        \          /
         \        /
          \      /
           \    /
            \  /
             o origin
            / \
           /   \
          /     \
         /       \
(-5, -4)           (6, -4)

And at 10um;
 (-5, 5)            (5, 5) (note the end point has been dropped)
        \          /
         \        /
          \      /
           \    /
            \  /
             o origin
              \
               \
                \
                 \
                   (6, -4)

Indeed.. maybe the simplest way out is to only allow for a very limited set of features, and make clear that this is an experimental code, to be used with care. I'm not aware of other use cases, so it may not be worth the effort for now, also, given our current time constraint for this validation  code.

I would just add diameters, so we could play with volume features, which may be important, but I'm not sure.

given our current time constraint for this validation code

The code as it is can be run for validations, so I don't think it's blocking that
Narrowing down the validations would be one option, but it would still require a different implementation of the sampler than what currently exists.

Hi all! I was working with that code today (see comments above), and it works fine!
In order to proceed with validation we need to merge this PR (or merge master into this one) to get latest other updates (at least morphs_stats + diameters).
If you don't want to output diameters, I don't mind (we are not using it for now).
I propose to try to merge that asap, use it for a while, and see what needs to be improved later. It's kind of a hidden functionality anyway. We could put in the docstring a comment on the fact that this code is WIP still and incomplete in term of feature extractions, etc...
What we need for now is only the position of the points (no feature extractions) to plot histrogram of density of points on atlas.
Have a nice week!

Since I haven't heard back about how to handle the 'features' side of this, I think it's best if the functionality that was added to Aleksei's original implementation be ported there (like what @arnaudon said in https://github.com/BlueBrain/NeuroM/pull/838#issuecomment-657611322), and we close this PR, and open an issue.
The new issue would be able to create morphologies with at a sampled distance; this will create oddities (like I outlined above), but that means features will be computed on them, and it will be up to the user to understand what is happening.
Everyone ok with that?

Since I haven't heard back about how to handle the 'features' side of this, I think it's best if the functionality that was added to Aleksei's original implementation be ported there (like what @arnaudon said in #838 (comment)), and we close this PR, and open an issue.
The new issue would be able to create morphologies with at a sampled distance; this will create oddities (like I outlined above), but that means features will be computed on them, and it will be up to the user to understand what is happening.
Everyone ok with that?

I am good with that. Let's keep that function into morph-validator so that @arnaudon  can iterate quickly. I think it is better to avoid prototype function in this open source software as people will use it anyway and that will be a problem. Once we are clear on the spec and behaviour, we will open an issue wherever applicable, instead of trying to discuss here about the behaviour.

Ah sorry, I'm catching up on things in the wrong order, so I will move this function to morph-validator, and not use that PR at all, so you guys can close it and transfer it to an issue. Ok!

Closing in favour of morph-validator, as discussed above.


Construct a variant from a record

Is there any interest in adding something that allows constructing a variant with a singleton record?
foo :: Data.Variant.Variant (bar :: Int, baz :: String, qux :: Boolean)
foo = Data.Variant.fromRecord { qux: true }

The motivation here is that using SProxy _ is a bit more cumbersome than seems necessary. Record syntax is a bit more lightweight to toss around.
It seems like fromRecord could be implemented like:
module Data.Variant where

class FromRecord (list :: Prim.RowList.RowList) record variant where
  fromRecord' :: forall proxy. proxy list -> Record record -> Variant variant

instance fromRecordSingleton ::
  ( Data.Symbol.IsSymbol label
  , Prim.Row.Cons label value () record
  , Prim.Row.Cons label value variant' variant
  ) =>
  FromRecord (Prim.RowList.Cons label value Prim.RowList.Nil) record variant
    where
      fromRecord' _ record = inj label (Record.get label record)
        where
        label :: Data.Symbol.SProxy label
        label = Data.Symbol.SProxy

fromRecord ::
  forall list record variant.
  Prim.RowList.RowToList record list =>
  FromRecord list record variant =>
  Record record ->
  Variant variant
fromRecord = fromRecord' (Type.Data.RowList.RLProxy :: _ list)

Might want some fundeps, dunno. If we want to be helpful, adding some custom error messages for using the wrong size record should be possible as well:
else instance fromRecordMultiple ::
  ( Prim.TypeError.Fail ?someErrorMessageAboutMultipleFieldsInTheRecord
  ) =>
  FromRecord (Prim.RowList.Cons label value list) record variant
    where
      fromRecord' proxy record = fromRecord' proxy record
else instance fromRecordEmpty ::
  ( Prim.TypeError.Fail ?someErrorMessageAboutTheEmptyRecord
  ) =>
  FromRecord Prim.RowList.Nil record variant
    where
      fromRecord' proxy record = fromRecord' proxy record

Looks great!
Maybe as name use injRecord or injR would be close to current vocabulary

I would be open to this. See https://github.com/natefaubion/purescript-checked-exceptions/pull/6#issuecomment-468351455

here you go https://github.com/natefaubion/purescript-variant/pull/44


[build] Multiple Definitions for  io_uring_get_sqe()

Description
When using Liburing v2.1, we get multiple definitions for  io_uring_get_sqe()

This bug was fixed in commit 5617cab576d4686b78b2831063095bfa4da57d88.


obsoletions of terms used in extensions

How do I find out about terms used in extensions that have gone obsolete? What happens to these in PomBase?

Can I get a list of all of the annotations (any type, could be GO, modification or expression), that use "GO:0060274   maintenance of stationary phase"
thanks
val

OK!


Recent Posts have config.relative_path in urls

When adding Recent Posts widget to custom pages the posts user/read more have invalid urls
e.g. https://xxxx/{config.relative_path}/post/2
This is with 0.4.1 which is latest under 1.5.3, 1.6.0 randomly crashed so waiting for a few bug fixes.

Hi, I believe this was an issue with widgets not custom pages: try again with v3.0.6? https://github.com/NodeBB/nodebb-widget-essentials/commits/master


fixes duplicate create tech_input_split

This PR addresses #36 which produced an error trying to create two technologies that use tech input split.

Hello @samgdotson! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file pygenesys/utils/db_creator.py:

Line 1809:80: E501 line too long (85 > 79 characters)

LGTM!

This PR Closes Issue #36


Add "prior year" to the date range drop downs

Summary
Add "prior year" to the date range drop downs throughout.
Why?
In January, a lot of people are trying to get information about the year before.  They very often are not entering the date range correctly, which causes exceptions
Details
The prior year range should be January 1 - December 31 of the calendar year preceding the current calendar year.  i.e. in 2024 it would be January 1 2023 - December 31 2023.   I suggest that you can likely use the "this year" selection as a model.
This might conflict with the Dashboard change that is coming in in the next few weeks at time of writing (January 2024).  Be aware of that.
Criteria for completion

[ ] The year range exists and is available on all the reports/indices that use date range filtering
[ ] Tests to demonstrate the change

Is this issue still open? Would love to take it

Hey @Gabe-Torres, it's technically open, but blocked by a PR that's currently in review.   @awwaiid -- would it make sense for @Gabe-Torres to take this on branching off of the Dashboard branch?

No longer blocked -- Dashboard has been merged into main.

Hi @cielf, could I try taking this one on?

Sure!

Currently a bit blocked due to codespaces no longer working for me, due to getting failed javascript runtime errors as described in this PR.

Currently a bit blocked due to codespaces no longer working for me, due to getting failed javascript runtime errors as described in this PR.

For now you can run nvm install node followed by rbenv init in the shell of your choice and that should resolve the error until the PR gets merged

I think this has already been resolved by #4518. So I think we can close this.


Make improvements with EIP-1153

EIP-1153 (Transient Data) would allow us to make several optimizations:

Gas savings on _executionStateContext and _executionIntentStandard
Gas savings on re-entrancy protection
Would make it fairly gas efficient to put the EntryPoint address in the signed intent itself so wallets don't have to go through any upgrade process even if EntryPoint is updated

This would also be more secure as the trusted EntryPoint of a wallet doesn't stick around if the user has no unsatisfied intents floating around.
make the data currently passed via executeIntentSegment, something that's grabbed on demand as needed (solutions of more than 7 intents currently cost more than executing individually due to the large data copy on each executeIntentSegment)

Investigation notes:

Sign-time entrypoint is now possible with only a few hundred more gas per transaction and no increase in data costs
Signature aggregation outside of core scope is now possible and actually a little cheaper than the memory copy heavy current implementation for large intents
Cheaper re-entrancy protection and _executionState don't save that much in large batches since recurrent touches only have to pay the 'warm' cost and the 'cold' cost just gets spread out to the whole batch


xray status error

hi guys! i installed web-ui of v2rayng but the v2ray status is showing error sometimes saying stop when i enter to web min it was running but after adding some vless it said error also my genereted vles code is not connecting if you can help can you help me plz

!

Go to https://github.com/vaxilu/x-ui to talk x-ui issue.
Go to  https://github.com/XTLS/Xray-core to check xray config
You can delete all config and user and upgrade newer xray  or v2ray.
Vless need more setting. Search keyword "x-ui" on youtube to find solution

Hi! Now I have the same problem. Does anyone know how to solve it? Installed 3 previous times on different hosting and no problems anywhere. Not only did I have to open the port manually, but now I'm getting an error xray

The log show that port 443 already in use
Stop Nginx or other web service and try again.


https://github.com/MicrosoftLearning/SC-400T00A-Microsoft-Information-Protection-Administrator/blob/master/Instructions/Labs/LAB_AK_04_Lab1_Ex2_eDiscovery_Standard_Content_Search.md

Module: 0?
Lab/Demo: 04
Task: 03
Step: 09 & 10
Description of issue
Task 3/Step 9: The terms in the instructions do not match those in the portal: the instructions state "+ Add Condition," but in the portal, the option displayed is "+ Add Filter."

Task 3/Step 10: The instructions state to leave the default date range in the date fields, but the date field requires an operator to be selected (Before, After, Between).

Thank you for bringing this to my attention. The steps have been updated to reflect the new query builder


Fix rounding issue with Manipulators\Size

If I have an image with a size of 1024x553 pixel and I run
(new \League\Glide\Manipulators\Size)
    ->setParams(['w' => 411, 'fit' => 'max'])
    ->run($image);

on it. I will get an image with the dimensions 409x221 pixel.
It looks like this happens due to the calculations in \League\Glide\Manipulators\Size::resolveMissingDimensions(). For the example above it will keep the width of 411 px and calculate a height of 221 px. Intervention Image rounds numbers differently, resulting in this wrong image size when the image is actually resized to the precalculated size.
To fix this issue I would suggest to rely on the resizing logic of Intervention Image.

I saw the GD issue was fixed so if you rebase it on the last master most likely the CI will pass.

Thanks for nudging this along @rjd22 :slightly_smiling_face:.


login field systematically autofilled by browsers with email

Our www.covoitici.fr webapp uses (French) mobile phone numbers (06 XX XX XX XX or 07 XX XX XX XX) as main login for our users.
We have client-side JS which makes typing anything else thant numbers in the signin login field impossible. However browser autofills manage to fill in this field with emails before ou validation JS kicks in, and shoots the http request to our server.
Any way devise could indicate browser autofills that main login is not an email?

I think what you need is configure your form views, take a look a this guide.
Please use the mailing list or StackOverflow for questions/help, where a wider community will be able to help you. We reserve the issues tracker for issues only.


[Event Request] Codeunit 6620 "Copy Document Mgt." - OnCopySalesInvLinesToDocOnAfterCopyPostedDeferral

Hi team,
In Codeunit 6620 "Copy Document Mgt." procedure CopySalesInvLinesToDoc we would like to have the ability to run some custom code, for that and event before checking item line type would be a good solution:

[IntegrationEvent(false, false)]
local procedure OnCopySalesInvLinesToDocOnAfterCopyPostedDeferral(var FromSalesInvLine: Record "Sales Invoice Line"; NextLineNo: Integer)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Enhancement: add virtual nodes and rank-by-rank edges after dagre has done layout

Thanks for making this plugin to cytoscape.js; it's really handy!
I'd like to exchange thoughts on the possiblity of adding a feature that would help make the graphs look even nicer, without stepping outside the scope of directly wrapping and reusing Dagre.  I can help too if that's required/interesting.
This is how I read the current code:

the original graph nodes are positioned by the dagre layout algorithm and these positions are inherited by cytoscape nicely.
then the original edges are drawn between the original nodes

However, Dagre (like graphviz' dot) tries to untangle the edges between every rank by introducing new virtual (invisible) nodes on every rank level that is skipped, and breaking up edges that skip ranks up into segments: one new edge between every rank that is skipped.
This straightens up the edges between every rank (a lot), and also avoids unnecessary edge crossings. It really has a pacifying effect on the way the graph looks. It floats on the effect of a good rank assignment algorithm.
Another issue is that the edge-crossing minimization algorithms have the virtual nodes as an underlying assumption (edges are always between adjacent ranks). Without that assumption, the edge-crossing-minimizers make a mess of it. A node that is ideally positioned to avoid edge crossings with the virtual nodes, could easily be disastrous for edge-crossings without the virtual nodes.
Finally, the virtual nodes and the edges that go through them do have an effect on the horizontal positioning in the Dagre model, but since the edges aren't drawn through the virtual nodes by cytoscape.js, we get additional spacing in weird places, and no spacing where we need it for the edges that we are drawing. Fixing this would also have a positive effect on horizontal spacing.
A proposal would be to extract the new virtual nodes from Dagre and transfer them to the cytoscape model, and also extract the new edges and their bezier control points. And only then render the graph.
There might be better alternatives on how to implement this effect. Curious what you think!

CC @tvdstorm

Details:

Dagre already exposes mid points
These points can be exposed to Cytoscape in something like scratch.dagre.points for each node
The dev can then just use a style mapper to set the mid points for either segments or taxi -- whichever would be more appropriate

PRs welcome

This is about more than midpoints for the bezier curves. I'll consider a PR. Thanks.

Thanks @maxkfranz


Grid

Coverage decreased (-4.61%) to 55.0% when pulling 85bce6b0138350b6ecf117e45c76b839bf0a4f8a on grid into f22afd71d52069531182034c72d460805f8a9599 on master.


@apply not working from imported scss file

main.scss:
@import 'header';
_header.scss
.header {
    &-bottom-menu {
        @apply flex justify-end font-bold;
    }
}

It doesnt work like that. Only inside main.scss...
Using webpack 4

Can you create a repo with a small demo project? Would be the easiest way to help troubleshoot as based on the info you've provided that is definitely supposed to work 👍

Sure, here: https://github.com/RomkaLTU/tmp-tailwind-scss-partials-apply
Thanks.

Submitted a PR with the fix:
https://github.com/RomkaLTU/tmp-tailwind-scss-partials-apply/pull/1/files
In this case your loader order was wrong in webpack, have to make sure the Sass loader runs before the PostCSS loader so it needs to be last in the array (how intuitive right? 😖)

Thanks, something new to me (order is from bottom to top?).

Hi guys,
This is still an issue for me.
main.scss:
`@charset 'UTF-8';
@tailwind base;
@tailwind components;
@tailwind utilities;
@import './components/_button.scss';`
_button.scss:
.btn {   @apply font-bold py-2 px-4 rounded; } .btn-purple-dark {   @apply bg-purple-dark text-white; } .btn-blue:hover {   @apply bg-purple-light; }
If I put the code from _button.scss in main.scss it does work properly.

Can you create a GitHub repo that reproduces the problem?

It reproducing on last version of angular cli. Just add and configure ng-tailwind on angular-cli project with scss and try to import by @tailwind and @use apply

Hi, I'm also @apply issues. I have an index.css which I import into my main.js file. Here's the content of the index.css file:
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";
.btn {
  @apply text-white font-bold py-1 px-3 rounded-lg;
}

But the .btn class still doesn't get processed even though compilation is successful

What am I doing wrong?

@khairahscorner looks like Tailwind isn't running there. Are you using PostCSS?  If not, take a look at this section of the docs where it explains how to set it up: https://tailwindcss.com/docs/installation#4-process-your-css-with-tailwind

@hacknug I followed through with this and it's still the same. My @tailwind declarations weren't working also and I had to use a workaround by importing them directly from node_modules. Following through with the docs, @tailwind and @apply still doesn't work.
Here's my postcss.config.js,
module.exports = {
"plugins": [
    require('postcss-import'),
     require('tailwindcss'),
     require('postcss-preset-env')({ stage: 1 }),
    ]
 }

webpack.config.js file
module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          {
            loader: 'postcss-loader',
            options: {
              ident: 'postcss',
              plugins: [
                require('tailwindcss'),
                require('autoprefixer'),
              ],
            },
          },
          'style-loader'
        ],
      }
    ]
  }
}

Part of  package.json
"dependencies": {
    "postcss-custom-properties": "^9.0.2",
    "postcss-import": "^12.0.1",
    "postcss-preset-env": "^6.7.0",
    "vue": "^2.5.2",
    "vue-router": "^3.0.1"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.5",
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-env": "^1.6.0",
    "babel-preset-stage-2": "^6.24.1",
    "babel-register": "^6.26.0",
    "chalk": "^2.1.0",
    "connect-history-api-fallback": "^1.4.0",
    "copy-webpack-plugin": "^4.1.1",
    "css-loader": "^0.28.7",
    "cssnano": "^3.10.0",
    "eventsource-polyfill": "^0.9.6",
    "express": "^4.16.2",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^1.1.5",
    "friendly-errors-webpack-plugin": "^1.6.1",
    "html-webpack-plugin": "^2.30.1",
    "http-proxy-middleware": "^0.19.1",
    "opn": "^5.1.0",
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "ora": "^1.3.0",
    "postcss-loader": "^3.0.0",
    "rimraf": "^2.6.2",
    "semver": "^5.4.1",
    "shelljs": "^0.7.8",
    "sw-precache-webpack-plugin": "^0.11.4",
    "tailwindcss": "^1.1.2",
    "uglify-es": "^3.1.3",
    "url-loader": "^0.6.2",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.0.3",
    "vue-template-compiler": "^2.5.2",
    "webpack": "^3.7.1",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-middleware": "^1.12.0",
    "webpack-hot-middleware": "^2.19.1",
    "webpack-merge": "^4.1.0"
  },

Am I missing something?

Okay so I discovered npm install might have been causing issues because it didn't install all postcss devDependencies that I needed. Used yarn instead and my PostCSS works fine now.


chore(main): release 2.5.3

:robot: I have created a release beep boop
2.5.3 (2023-12-30)
Bug Fixes

grammar fixes, witnesses 32/50 fi (bfd756c)
grammar fixes, witnesses 32/50 fi (#74) (a3bb8b6)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Hessuew/flamethefreeze/releases/tag/v2.5.3 :sunflower:


 Declared Twice

hr is being declared in /scss/_reboot.scss first and then again in /scss/_type.scss
_reboot.scss
hr {
  box-sizing: content-box; // 1
  height: 0; // 1
  overflow: visible; // 2
}

_type.scss
hr {
  margin-top: $hr-margin-y;
  margin-bottom: $hr-margin-y;
  border: 0;
  border-top: $hr-border-width solid $hr-border-color;
}

I propose we remove the one on _type.scss and update _reboot.scss to this:
hr {
  box-sizing: content-box; // 1
  height: 0; // 1
  overflow: visible; // 2
  margin-top: $hr-margin-y;
  margin-bottom: $hr-margin-y;
  border: 0;
  border-top: $hr-border-width solid $hr-border-color;
}

The point of _reboot.scss is to normalize elements across all browsers, I don't think they should be merged.

@morrissey-ingenious is correct, _reboot.scss resets styles across browsers, and _type.scss gives the hr default bootstrap flavour. If you look deeper, you'll find that there are more elements that have their styles defined both in _reboot.scss and elsewhere.

Yup, what the other people said above.


Vue + defineProps + a return inside a function declared after its first use = Error importing the component in vscode and astro check

Astro Info
Astro                    v4.2.1
Node                     v18.18.0
System                   Linux (x64)
Package Manager          npm
Output                   static
Adapter                  none
Integrations             @astrojs/vue

If this issue only occurs in one browser, which browser is a problem?
No response
Describe the Bug
It happens when importing a Vue component that has all these 3 conditions:

A defineProps call (even if empty or commented).
A call/console.log with the name of a function before it is declared (it's important that it's before).
A function with a return inside (the return is important too).

When importing the component inside a .astro file both vscode and astro check throw an error:
src/pages/index.astro:3:8 - error ts(1192): Module '"/home/projects/github-c1vkl7/src/components/Counter.vue"' has no default export.

The error is really strange and I can't understand it; though the reproduction is simple. Start a new Astro+Vue project with the default template and replace the Counter.vue content with this:
<template>foo</template>

<script lang="ts" setup>
let props = defineProps({});

console.log(foo, props);

async function foo() {
  let input = 'a';
  if (!input) {
    return;
  }
}
</script>

What's the expected result?
I can import valid Vue files and use them without errors.
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-c1vkl7?file=src%2Fcomponents%2FCounter.vue
Participation

[ ] I am willing to submit a pull request for this issue.

When will it be settled?

When will it be settled?

As soon as someone sends a PR to fix the issue / I find the time to work on this

When will it be settled?

As soon as someone sends a PR to fix the issue / I find the time to work on this

Thank you for your reply. I am not sure whether this bug is the problem of astro plug-in in vscode, can you provide some ideas for modification? I can try to fix it.

The issue is in this file: https://github.com/withastro/astro/blob/main/packages/integrations/vue/src/editor.cts
I suspect the code it generates is invalid in certain cases like this one. Unfortunately, the current code is super brittle, because I couldn't figure out a better way to do it back then (granted, it was two years ago)

The issue is in this file: https://github.com/withastro/astro/blob/main/packages/integrations/vue/src/editor.cts
I suspect the code it generates is invalid in certain cases like this one. Unfortunately, the current code is super brittle, because I couldn't figure out a better way to do it back then (granted, it was two years ago)

Hi, @Princesseuh. I temporarily solved this problem (https://github.com/withastro/astro/pull/10283), and the final solution to this problem I think may need to be refactored using babel


docs: fixed incorrect pointer in pull_request_template

Fixes #1467
Please confirm that your PR fulfills these requirements

[x] Multiple commits are squashed into one commit.
[x] The commit message follows Conventional Commits, which allows us to autogenerate release notes; e.g. fix(plugins/plugin-k8s): fixed annoying bugs
[x] All npm dependencies are pinned.

can't we find a way to use relative links? https://help.github.com/en/articles/about-readmes#relative-links-and-image-paths-in-readme-files

Nope 😿, the path of pull request is weird. I did the following experiments and none of them points to the correct file:
../CONTRIBUTING.md#conventional-commits: Conventional Commits
docs/CONTRIBUTING.md#conventional-commits): Conventional Commits


Feature Request: zepto.js support

Hi,
lory is a brilliant slider :) as an enhancement to the jQuery version it would be great to have a zepto.js version of it.

If this is a priority for you I would suggest opening a PR with your proposed changes. I'd be happy to take a look and assist getting it merged and approved. I don't imagine it's a big priority though on the list of thing s to do.

Closing for now. Again, you are welcome to open a PR for this.


Allow uidFieldName to be a nested property

Consider having an object like this:
{
  "title": "Testobject #1",
  "date": "2017-06-20",
  "_metadata": {
    "id": "<some-GUID>"
  }
}

I want to be able to initialize the library like this: new JsSearch.Search(['_metadata', 'id']), which doesn't work though.
Also, compound uidFieldName could be helpful, f.e. new JsSearch.Search('title', 'date'), so the value for the uidFieldName would be something like this: Testobject #1 - 2017-06-20.
This would be very helpful, if you don't have a single unique property on the json object.

uidFieldName can be a nested value (see here and here). The docs probably do a poor job of pointing this out, in which case I'd welcome PRs to improve them.
I don't think a compound field name, as you describe, is something I want to support. If you'd like to submit a PR though I'd be happy to review it and give it consideration.


HTTP helper improvements

Check content type of JSON and XML responses before trying to parse the body.
Add HTTP status 429 handling to helpers.ExtractRateLimitData().

I added a WithResponse() and a test for it.


Error by webpack serve command in Safari

Describe the bug
After run the webpack serve occurs the error:
> webpack serve

[webpack-cli] [callSiteLocation@
depd@
@
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:14872
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:15558
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:13457
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:10539
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:13780
@
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:14872
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:15558
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:13457
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:10539
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:13780
@
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:14872
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:15558
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:13457
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:10539
@https://webpackmultiplepages-ol5s.w-corp.staticblitz.com/blitz.a9c8a5a3.js:54:13780
@
setupApp@
@
initialize@
@]

In Firefox the webpack serve command works fine.
package.json
{
  "name": "hello-world",
  "stackblitz": {
    "startCommand": "npm start"
  },
  "scripts": {
    "start": "webpack serve",
    "build": "webpack build --mode=production"
  },
  "devDependencies": {
    "css-loader": "^6.10.0",
    "html-bundler-webpack-plugin": "^3.4.12",
    "sass": "^1.64.2",
    "sass-loader": "^13.3.2",
    "webpack": "^5.90.1",
    "webpack-cli": "^5.1.4",
    "webpack-dev-server": "^5.0.1"
  }
}

Link to the blitz that caused the error
https://stackblitz.com/edit/webpack-multiple-pages?file=package.json
Steps to reproduce

Open the reproducible example
After successfully installing node modules, the webpack serve command fails.

Expected behavior
Successful run of the webpack serve command:

Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots

Platform

OS: macOS 14.3.1 (23D60)
Browser: Safari
Version: Version 17.3.1 (196<IP_ADDRESS>.12) and Safari Technology Preview Release 188 (Safari 17.4, WebKit 196<IP_ADDRESS>.1)

Additional context
No response

Same error WKWebkit (safari-ish) running node app.js on the quickstart aka express server


Added Docs Project Area

Hey, I just made a Pull Request!
Added the Documentation Project Area with @aramissennyeydd, @waldirmontoya25, and myself as initial members
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

I would like to be added to this, per our discussions @Rugvip and @ahhhndre. You can put my company as Vail Systems.

Happy to be added (@aramissennyeydd, thanks!) you can add me as part of VodafoneZiggo 👍

Following up that I'll be working on updating this on this Friday 👍

Hi @joshjung, I'm happy to add you in a follow up PR. Currently you need to be an active Org Member to be part of a Project Area. Given how early stages we are with this not being part of the project area won't really impact you. There's lots of decisions and thinkings that need to be done that you can actively take part in. 👍

Hi @Parsifal-M, I was finally getting back to this and it seems you aren't an Org Member yet either, you need to be one to be part of a Project Area. You can still take part in SIGs though. You might already meet the requirements, can you apply, please? Once that's done I can add you.

Hi @Parsifal-M, I was finally getting back to this and it seems you aren't an Org Member yet either, you need to be one to be part of a Project Area. You can still take part in SIGs though. You might already meet the requirements, can you apply, please? Once that's done I can add you.

Ah clear! Will do that on Monday, no worries!

Updated this PR, I'm assuming that this will be pending approval of this Org Member request.

@Parsifal-M now that you are an Org Member can you approve this, please?


Some Unittests that use memcached fail.

Add exclusive control (lock and unlock) when executing incrementLongValue and decrementLongValue
Fix to prevent MemchachedClient incr from being called in processing of getting, setting and deleting CellStatus.

Canceled due to other problems.


BIC-233 # Require momentjs from CDN

LGTM :+1:

I'm not going to bother showing this to a user advocate, but I will let rachel know because there is a ticket open for this

Makes sense to me. It will end up in the release notes anyhow, probably with a code example.


Updated Service Locator logging

Overview

Reduced service searching logs.
Misc formatting.
Added better handling for searching for services when shutting down.

Changes

Fixes: #3077

Proposed changes are outside the scope of the PR and have much bigger implications.

How so? A customer asking for no logging should receive no logging.

The contract specified in this PR appears to be that setting showLogs to false will stop log messages. As implemented this is not the case, hence the confusion. How is this outside of the scope?
Let's take this offline and discuss in a smaller group. Historically. giving customers control over which specific log messages to see has been a net positive. It would be helpful to be able to pro/con an "all off" vs "log level" solution.

How is this outside of the scope?

Because this PR is addressing the specific issue of log "spamming" as described in #3077. Anything outside of that is a further discussion, proposal, and task.

I'm tired of dragging out Pull Requests like this out over something we should be discussing and formally proposing and creating tasks for. We can circle back to the concerns you have after we've agreed on the best path forward. Let's not bog down the development process with petty politics.

Let's get this pull request completed and address the logging levels in a separate subsequent pull request.


Create gcd_test.py

Unit test for GCD.py

I did not knew until now that there exists a fractions.gcd method in the python stdlib!

Only if there existed another language with such a feature rich standard library!

Golang - https://golang.org/pkg/math/big/#Int.GCD :grin:

Actually, C++ too has GCD function in it's algorithm library, but I feel that Python's standard library is one of the richest that we've got.

Both the files are okay now, right?

Yeah.. merging these for now. Next time, send bundle it all up in one PR :)

I still can't figure out how to create a single pull request for two files in separate branches. Is there any good reference for this?

Why are you using two separate branches for this? Just add the new code in one branch (e.g. master), add the files , commit and send PR. If you DO need two branches, then before sending the PR merge them locally and then send a PR.

I'll keep that in mind.


ARROW-11102: [Rust][DataFusion] fmt::Debug for ScalarValue(Utf8) is always quoted

This PR changes the fmt::Debug implementation for ScalarValue(Utf8) and ScalarValue(LargeUtf8) so that it is possible to differentiate Utf8("NULL") and Utf8(NULL) when viewing execution plans (as the string "NULL" may be a valid value).

Codecov Report

Merging #9074 (40ef020) into master (cd22be6) will decrease coverage by 0.00%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master    #9074      +/-   ##
==========================================
- Coverage   82.55%   82.55%   -0.01%
==========================================
  Files         203      203
  Lines       50043    50045       +2
==========================================
  Hits        41315    41315
- Misses       8728     8730       +2

Impacted Files
Coverage Δ

rust/datafusion/src/scalar.rs
58.99% <50.00%> (-0.08%)
:arrow_down:

rust/parquet/src/encodings/encoding.rs
95.24% <0.00%> (-0.20%)
:arrow_down:

Continue to review full report at Codecov.

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

Codecov Report

Merging #9074 (40ef020) into master (cd22be6) will decrease coverage by 0.00%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master    #9074      +/-   ##
==========================================
- Coverage   82.55%   82.55%   -0.01%
==========================================
  Files         203      203
  Lines       50043    50045       +2
==========================================
  Hits        41315    41315
- Misses       8728     8730       +2

Impacted Files
Coverage Δ

rust/datafusion/src/scalar.rs
58.99% <50.00%> (-0.08%)
:arrow_down:

rust/parquet/src/encodings/encoding.rs
95.24% <0.00%> (-0.20%)
:arrow_down:

Continue to review full report at Codecov.

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


Black screen

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
Yes
System Info and Version
Hyprland 0.45.2 built from branch  at commit 12f9a0d0b93f691d4d9923716557154d74777b0a  ([gha] Nix: update inputs).
Date: Tue Nov 19 21:47:18 2024
Tag: v0.45.2, commits: 5451
built against aquamarine 0.5.0
flags set:
debug
System Information:
System name: Linux:
Release: 6.6.63-1-lts
Version: #1 SMP PREEMPT_DYNAMIC Fri, 22 Nov 2024 15:39:56 +0000
GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller])
os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
Description
Starting hyprland gives me a black screen. It does not respond to any keycombinations except for WIN + M for exiting hyprland. A window does appear if I start hyprland inside of KDE, but it's unresponsive. Starting it with sddm or through the linux console gives a black screen. I think this happened after I updated my system.
How to reproduce

update your system
launch hyprland
cry

Crash reports, logs, images, videos
No response

please use the search feature


Extractor error on abc.com

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.02.04. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
United States
Description
An episode of the Rookie at https://www.abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight fails to download, with an extractor error (KeyError('video'))
Running in Ubuntu 20.04, version 2022.02.04
I do not have an abc account to share credentials to, but one is not needed in the US to view in a browser.
Verbose log
[debug] Command-line config: ['-vU', '--ffmpeg-location', '/usr/bin/ffmpeg', '-N', '5', 'https://www.abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2022.02.04 [c1653e9ef] (zip)
[debug] Python version 3.8.10 (CPython 64bit) - Linux-5.4.0-99-generic-x86_64-with-glibc2.29
[debug] exe versions: ffmpeg 4.2.4, ffprobe 4.2.4
[debug] Optional libraries: Cryptodome, sqlite
[debug] Proxy map: {}
Latest version: 2022.02.04, Current version: 2022.02.04
yt-dlp is up to date (2022.02.04)
[debug] [Go] Extracting URL: https://www.abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight
[Go] 13-fight-or-flight: Downloading webpage
[Go] VDKA26139487: Downloading JSON metadata
ERROR: An extractor error has occurred. (caused by KeyError('video')); please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using -U
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 612, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/go.py", line 215, in _real_extract
    video_data = self._extract_videos(brand, video_id)[0]
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/go.py", line 159, in _extract_videos
    return self._download_json(
KeyError: 'video'
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 612, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/go.py", line 215, in _real_extract
    video_data = self._extract_videos(brand, video_id)[0]
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/go.py", line 159, in _extract_videos
    return self._download_json(
KeyError: 'video'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1381, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1451, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 642, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e, video_id=self.get_temp_id(url))
yt_dlp.utils.ExtractorError: An extractor error has occurred. (caused by KeyError('video')); please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using -U

Also, I've seen some recent extractor bugs indicate trying --no-geo-bypass  so I tried that as well, and no improvement.

From the UK, using --geo-bypass-country US, the attempt to retrieve JSON from http://api.contents.watchabc.go.com/vp2/ws/contents/3000/videos/001/001/-1/-1/-1/VDKA26139487/-1/-1.json succeeds but the JSON has no video, as the error message says:
{'ver': '3000', 'build': '2170', 'device': '9024', 'brand': '13', 'xmlns': 'http://abc.go.com/vp2/ws/xmlns', 'count': '0', 'totalcount': '0'}

Plainly something's changed since this was added in 2016. A little hacking on the value 3000 in the JSON URL shows that 4000 does return the desired result. Also, no need for explicit --geo-bypass...:
$ python3.9 -m yt_dlp -F -v 'https://abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight'
[debug] Command-line config: ['-F', '-v', 'https://abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2022.02.04 [c1653e9ef] (source)
[debug] Lazy loading extractors is disabled
[debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
[debug] Git HEAD: 2068a6031
[debug] Python version 3.9.7 (CPython 32bit) - Linux-4.4.0-210-generic-i686-with-glibc2.23
[debug] exe versions: avconv 4.3, avprobe 4.3, ffmpeg 4.3, ffprobe 4.3
[debug] Optional libraries: sqlite
[debug] Proxy map: {}
[debug] [Go] Extracting URL: https://abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight
[Go] 13-fight-or-flight: Downloading webpage
[Go] VDKA26139487: Downloading JSON metadata
[debug] Using fake IP <IP_ADDRESS> (US) as X-Forwarded-For
[Go] VDKA26139487: Downloading JSON metadata
[Go] VDKA26139487: Downloading m3u8 information
WARNING: [Go] Ignoring subtitle tracks found in the HLS manifest; if any subtitle tracks are missing, please report this issue on  https://github.com/yt-dlp/yt-dlp , filling out the "Broken site" issue template properly. Confirm you are on the latest version using -U
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] Available formats for VDKA26139487:
ID                                           EXT RESOLUTION FPS │   FILESIZE   TBR PROTO  │ VCODEC        VBR ACODEC    ABR MORE INFO
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
ULNK-aac-English_-_Descriptive_Video_Service mp4 audio only     │                  m3u8_n │ audio only        unknown       [EN] English - Descriptive Video Service
MPD                                          mpd unknown        │                  http   │ unknown           unknown
ULNK-214                                     mp4 256x144     15 │ ~ 67.37MiB  214k m3u8_n │ avc1.4d000c  214k mp4a.40.5  0k
ULNK-414                                     mp4 416x234     30 │ ~130.32MiB  414k m3u8_n │ avc1.4d000d  414k mp4a.40.5  0k
ULNK-752                                     mp4 640x360     30 │ ~236.50MiB  752k m3u8_n │ avc1.4d001e  752k mp4a.40.5  0k
ULNK-1705                                    mp4 960x540     30 │ ~535.97MiB 1705k m3u8_n │ avc1.4d001f 1705k mp4a.40.5  0k
ULNK-1326                                    mp4 1280x720    60 │ ~416.88MiB 1326k m3u8_n │ avc1.4d0020 1326k mp4a.40.5  0k
ULNK-1935                                    mp4 1280x720    60 │ ~608.39MiB 1935k m3u8_n │ avc1.640020 1935k mp4a.40.5  0k
ULNK-6199                                    mp4 1280x720    60 │ ~  1.90GiB 6199k m3u8_n │ avc1.640020 6199k mp4a.40.5  0k

Who knows whether any other value of API version works, but the top G hit for the API domain gives this XML containing this fragment (formatted) with what may be a supporting API version:
<application>
  <author>Disney Mobile</author>
  <copyright>@Disney</copyright>
<EMAIL_ADDRESS>  <link>http://watchdisneyxd.com/</link>
  <version>
    <latest>4.0.0</latest>
    <required>4.0.0</required>
  </version>
</application>

Same code/problem/fix for yt-dl.

Confirmed the switch from 3000->4000 did fix the issue.
I tested a couple old URLs and they still download fine with 3000, but also work with the version built with 4000.
https://www.abc.com/shows/the-rookie/episode-guide/season-04/12-the-knock
https://www.abc.com/shows/the-wonder-years/episode-guide/season-01/12-im-with-the-band
Not exactly comprehensive, but at least they're not mutually exclusive.

It's work for me. Here's the log:
(python_proj2) ~\yt-dlp>python -m yt_dlp -v "https://www.abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight"
[debug] Command-line config: ['-v', 'https://www.abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.06.29 [9d339c41e] (source)
[debug] Lazy loading extractors is disabled
[debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
[debug] Git HEAD: 67db96e5a
[debug] Python 3.10.4 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0.1-full_build-www.gyan.dev (setts), ffprobe 5.0.1-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2<IP_ADDRESS>, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] [Go] Extracting URL: https://www.abc.com/shows/the-rookie/episode-guide/season-04/13-fight-or-flight
[Go] 13-fight-or-flight: Downloading webpage
[Go] VDKA26139487: Downloading JSON metadata
[debug] Using fake IP <IP_ADDRESS> (US) as X-Forwarded-For
[Go] VDKA26139487: Downloading JSON metadata
[Go] VDKA26139487: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] VDKA26139487: Downloading 1 format(s): ULNK-6200
[debug] Invoking hlsnative downloader on "https://content-aaps1-ur-fifa1.uplynk.com/84d676a8810e4e9c8e7cdf5af05daf1b/g.m3u8?exp=1657546880&ct=a&oid=d874124ecca24c88a3c9575e78686acf&eid=8272ba6107614bfd88404f63e42c01fc&expand=drmOff&iph=a7acbd023d89e015f136520442fe959760436eec08ffe67b5d1217f19401c62a&euid=7152C042-7ACB-43A1-BBEA-DB126E692255_000_0_001_lf_01-06-00_NA&cdn=ec&stgcfg=datg&rays=hjigfedcba&pp2ip=0&v=3&sig=3be019db62bb126d1db6cdbe85809bb70666b920872c23d26b72c748dd157018&pbs=5c464cbc51c8430993001e7f42bbf64c"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 631
[download] Destination: Fight or Flight [VDKA26139487].mp4
[debug] File locking is not supported. Proceeding without locking
[download]   0.8% of ~1.89GiB at    673.15B/s ETA 43:33 (frag 5/631)
ERROR: Interrupted by user


Implement Basics Status Message

Fixes #267

Strange, I thought I posted a comment...
I split everything into multiple different functions -- target_branch_str can probably be moved into Operator, but display_tree_content and display_commit_content together make up the "basics status message". We can directly invoke display_tree_content for working/staging, and we can use display_commit_content for displaying all commits.

@benthayer This is ready for review again. Feel free to get rid of commit 8a3585fa360f176d1c3177944a9227f8900e2f49 if it seems out of place, it's just there to make sure that the functions don't unexpectedly crash during development.

Should be all good. I still want to refactor the user messages:
gitgud.skills.user_messages.py -> gitgud.__init__.py
gitgud.skills.state_messages.py -> gitgud.stateful.py


No UI

I ran WinPilot on my laptop just fine last night.
This what I get on my desktop:

Troubleshooting steps please?

Could you please check if the content of the app directory includes all these files?

Hi @Belim , I was facing the same issue. Pls try extracting the files before launching the application. This worked for me :)

Thanks.
Re-downloaded, re-extracted, re-ran, all is well.


Bootstrap the platform-operators repository

Bootstrap platform-operators repository in preparation for enabling CI.
Signed-off-by: Catherine Chan-Tse<EMAIL_ADDRESS>Co-authored-by: Daniel Sover<EMAIL_ADDRESS>

/approve
/lgtm

/close

/reopen

Alright cool, looks like the classic close/re-open :tm: workflow unstuck CI and the sanity check has now appeared.