[Event Request] Report::"Copy Sales Document" - Function ValidateDocNo - OnValidateDocNoOnBeforeFindFromSalesHeaderArchive

We like to request the following Event:
Object: Report::"Copy Sales Document"
Function: ValidateDocNo
Publisher Event: OnValidateDocNoOnBeforeFindFromSalesHeaderArchive
Reason: To implement custom business logic
Where is the event placed:
DocType::"Arch. Quote",
DocType::"Arch. Order",
DocType::"Arch. Blanket Order",
DocType::"Arch. Return Order":
begin
IsHandled := false;
OnValidateDocNoOnBeforeFindFromSalesHeaderArchive (FromSalesHeaderArchive, DocType, DocNo, DocNoOccurrence, DocVersionNo, IsHandled);
if not IsHandled then
if not FromSalesHeaderArchive.Get(
CopyDocMgt.ArchSalesHeaderDocType(DocType), DocNo, DocNoOccurrence, DocVersionNo)
then begin
Event Code:
[IntegrationEvent(false, false)]
local procedure OnValidateDocNoOnBeforeFindFromSalesHeaderArchive (var FromSalesHeaderArchive: Record "Sales Header Archive"; DocType: Option Quote,"Blanket Order","Order",Invoice,"Return Order","Credit Memo","Posted Shipment","Posted Invoi

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.


[change] Extend series list help message. (#1720)

Motivation for changes:
See #1720
Detailed changes:

Added 1 line of helpful text.

Addressed issues:

Fixes #1720.

To Do:
When 'implementing' this I noticed that most of the CLI plugins don't return anything when no additional CLI arguments are given. For example flexget series just returns as does flexget archive. flexget regex crashes (because it uses a map). That's rather confusing (for me at least).
I believe it would be helpful to print the help page with a leader like 'no option selected'. Would you agree?

That message is more confusing than helpful imo. Also, I'd do this when the default series list return nothing, like what happened to you.
About what you said with cli, I agree with you and I imagine this could be done by forcing our subparser options to contain at least one option.

Would it help if I'd write smt like: 'Use flexget series all to view all known series.'?
I'll make showing it conditional.
If alright I'll make the other footer text conditional then too. It makes little sense to show it when displaying an empty list.

Cool

@liiight Not sure if you saw the latest commit I pushed.

I'm not sure why this over-complication is needed. just check if not query.count, send a message to console and return...

I merely split the original function into two. The diff might look daunting but it's almost trivial. Reasoning behind doing so is the fact that the original function became/was quite long hampering (my) understanding. But you're the owner. If you prefer I'll revert it.

I agree that it's quite long but i don't think this is the right time (or way) to address that.

I'll amend.
Just out of curiosity; what would be the way to address it. In general terms of course.

Try to make it a DRY as possible, but since this is a UI plugin, and one that holds a significant amount of data and data types, some cluster is bound to exist.

I'm unsure why CI failed. The log is blank?


Fix prologue quest reward with undefined info

After expsave, when the prologue quest is done, a dialog appears with quest rewards.
The exp and gold appears with undefined.

Fixed expsave. I dont know why this problem appears, since i dont touched in this part of code so it's supposed to work like the original game.
Changed file /src/cdn/gamefiles/game15_8_05-patched.swf
Replaced
_root.quest.intEarnedExp = _root.quest.intEarnedGold = _root.quest.intEarnedGems = _root.quest.intEarnedSilver = 0;

to
_root.quest.intEarnedExp = 0;
_root.quest.intEarnedGold = 0;
_root.quest.intEarnedGems = 0;
_root.quest.intEarnedSilver = 0;


[mesheryctl] platform support for kubernetes in system start (platform: kubernetes)

Description
This PR fixes #2308
Adds support for platform: kubernetes in the system start command.
When user runs mesheryctl system start it checks the platform of the current-context and if that platform is kubernetes, we will pull and deploy the manifest files into the Kubernetes cluster.
user@computer:$ mesheryctl system start
creating ~/.meshery/manifests folder...
downloading manifest files from https://github.com/layer5io/meshery/tree/master/install/deployment_yamls/k8s
Starting Meshery...
applying the manifests to Kubernetes cluster...
... deployed Meshery in the Kubernetes Cluster.
user@computer:$

user@computer:$ kubectl get deployments -n meshery
NAME              READY   UP-TO-DATE   AVAILABLE   AGE
meshery           1/1     1            1           8m32s
meshery-consul    1/1     1            1           8m23s
meshery-istio     1/1     1            1           8m27s
meshery-kuma      1/1     1            1           8m21s
meshery-linkerd   1/1     1            1           8m25s
user@computer:$ kubectl get pods -n meshery
NAME                              READY   STATUS    RESTARTS   AGE
meshery-74745fb8c9-zf4hl          1/1     Running   0          8m35s
meshery-consul-6c77dcd486-4cxkb   1/1     Running   0          8m30s
meshery-istio-5977448cb8-lm8r6    1/1     Running   0          8m33s
meshery-kuma-9c4f9879c-jsv5f      1/1     Running   0          8m28s
meshery-linkerd-f4c6db56d-jbsxr   1/1     Running   0          8m32s
user@computer:$ kubectl get services -n meshery
NAME              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
meshery           NodePort    <IP_ADDRESS>   <none>        8080:32618/TCP   8m46s
meshery-consul    ClusterIP   <IP_ADDRESS>   <none>        10002/TCP        8m38s
meshery-istio     ClusterIP   <IP_ADDRESS>   <none>        10000/TCP        8m42s
meshery-kuma      ClusterIP   <IP_ADDRESS>   <none>        10007/TCP        8m37s
meshery-linkerd   ClusterIP   <IP_ADDRESS>   <none>        10001/TCP        8m40s
user@computer:$

Error handling
For platforms that are invalid or not supported, in this case gke, it throws an error and points the user to the config.yaml file.
user@computer:$ mesheryctl system start
the platform gke is not supported currently. The supported platforms are:
docker
kubernetes
Please check /home/user/.meshery/config.yaml file.
user@computer:$ mesheryctl

For invalid adapters, in this case meshery-the-bob(@leecalcote were you spooked? 👻 ), it throws an error that the specified adapter is invalid and will point the user to the config.yaml file.
user@computer:$ mesheryctl system start
creating ~/.meshery/manifests folder...
downloading manifest files from https://github.com/layer5io/meshery/tree/master/install/deployment_yamls/k8s
Starting Meshery...
applying the manifests to Kubernetes cluster...
Error: failed to start Meshery
See https://docs.meshery.io/guides/mesheryctl/#meshery-lifecycle-management for usage details
: invalid adapter meshery-the-bob specified. Please check /home/user/.meshery/config.yaml file
Usage:
  mesheryctl system start [flags]

Flags:
  -h, --help          help for start
      --reset         (optional) reset Meshery's configuration file to default settings.
      --silent        (optional) silently create Meshery's configuration file with default settings.
      --skip-update   (optional) skip checking for new Meshery's container images.

Global Flags:
      --config string   config file (default location is: /home/user/.meshery/config.yaml)
  -v, --verbose         verbose output

user@computer:$

Notes for reviewers
See epic #2307 and issue #2308 for more context.
Check the discussion below for further info on the changes.
Thanks for helping me out with this really long PR. I have added reviews in between to provide as much context as I can. Since this was reviewed part by part, it would be easy for now. Just added the latest fixes as @leecalcote @kumarabd suggested.
TLDR; Here is a meme-

[x] Yes, I signed my commits.

Why do you have nginx in here?

@navendu-pottekkat good work :+1:
The deployment manifest in the string is not indented correctly (multiline string fun, leading spaces become leading spaces in the manifest, and won't deploy), it should read:
		nginx := `apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
`

@navendu-pottekkat validateKubeconfig is a private function in meshkit-adapter-library, I don't think similar functionality is needed here, it is specific to how adapters use kubeconfig. @utkarsh-pro ?

@mgfeller Thanks for pointing that out. I totally missed it.
For the validateKubeconfig function, I meant that we need to do some validation for the kubeconfig files (don't we?).

Why do you have nginx in here?. Nvm its just a sample.

Yep. Getting the manifest files should be straightforward. We will add that after we work out the kinks here.

For the validateKubeconfig function, I meant that we need to do some validation for the kubeconfig files (don't we?).

I thought about that, but I'm not sure. @utkarsh-pro ?

@mgfeller I have fixed the indent error. But it is still not deployed on my machine. Can you please test out this same code?

@mgfeller This is working now. I think I need to refactor some code. Then all we need to do would be to download the actual manifest files. And apply according to the adapters specified.

Updates
Added- Download the manifest files and apply those specified by the user in the config.yaml file to the Kubernetes server.
Leaving a review to make it easier to review the code.
To Do
Expose Meshery service to be accessed outside the cluster. Need to discuss how we do it by default(?)

@mgfeller As we discussed the reset command would work like that. i.e move the current manifests/docker-compose file to a backup folder and pull new files. This has not been implemented yet as we just discussed it. But this definitely should be added after plaform: kubernetes and context support has been added throughout mesheryctl.
I think we briefly discussed air-gapped supports on a high-level but did not look into the specifics on how we will go about implementing it. I think that would be a bigger issue. Here is the thread in Slack where we discussed it.
Everything seems to be getting deployed while I tested. Any other changes to make before proceeding to add "expose Meshery server" function and tidying things up?

@mgfeller As we discussed the reset command would work like that. i.e move the current manifests/docker-compose file to a backup folder and pull new files. This has not been implemented yet as we just discussed it. But this definitely should be added after plaform: kubernetes and context support has been added throughout mesheryctl.
I think we briefly discussed air-gapped supports on a high-level but did not look into the specifics on how we will go about implementing it. I think that would be a bigger issue. Here is the thread in Slack where we discussed it.

@navendu-pottekkat yes, thanks for the feedback, good to see that you have full control and a plan or two :+1:.
Maybe we should copy the Slack thread to a / the design document? We only have about 3 weeks worth of Slack history.

@mgfeller Yes. I will add it to the design doc we have now. But we will need to discuss air gapped deployments further and come up with a plan to implement it in the near future. Then, we can make a new design doc for this feature.

@navendu-pottekkat Everything is deployed to the "default" namespace. That should probably be customizable? Maybe deploy to meshery per default?

@mgfeller @leecalcote Fixed the bugs mentioned, added some debug logs and made the error handling better. Now all that is left is to expose Meshery outside the cluster.
It is also deployed to the "meshery" namespace.

@navendu-pottekkat a small request: will you set the default service type to "LoadBalancer" instead of NodePort?

@navendu-pottekkat a small request: will you set the default service type to "LoadBalancer" instead of NodePort?

@leecalcote As in change this in the current manifest file?
Also, is there anything else left to add here?

Yes, change in the manifest file, please.

@leecalcote Sure. will do

@leecalcote changed the type to "LoadBalancer".
@anirudhjain75 @mgfeller Marking this PR ready for review.

@leecalcote @kumarabd Made changes as you suggested. I have updated the PR description to reflect the latest change. Please review and merge.

@navendu-pottekkat Looks like there is a branch conflict

@kumarabd Yes. Trying to fix it.

@navendu-pottekkat Looks like there is a branch conflict

@kumarabd good to go otherwise?

The branch looks great. It works for local kubernetes cluster but has issues when running on cloud provider's clusters due to issue with module import conflicts with azure and a few other cloud provider plugins. @leecalcote We can merge this branch to prevent any more merge conflicts and continue work on supporting cloud providers though another github issue

@leecalcote @kumarabd As @anirudhjain75 mentioned, I will add a new issue for this. The rest is working when tested on minikube.
Resolving the merge conflict took a lot of time. 😫

The branch looks great. It works for local kubernetes cluster but has issues when running on cloud provider's clusters due to issue with module import conflicts with azure and a few other cloud provider plugins. @leecalcote We can merge this branch to prevent any more merge conflicts and continue work on supporting cloud providers though another github issue

Gents, you're doing a darn fine job here. 👍

Output from a quick test:
./mesheryctl system start
creating ~/.meshery/manifests folder...
downloading manifest files from https://github.com/layer5io/meshery/tree/master/install/deployment_yamls/k8s
Starting Meshery...
applying the manifests to Kubernetes cluster...
Error: failed to start Meshery
See https://docs.meshery.io/guides/mesheryctl/#meshery-lifecycle-management for usage details
: invalid adapter meshery-nginx-sm specified. Please check /Users/lee/.meshery/config.yaml file
Usage:
  mesheryctl system start [flags]

Flags:
  -h, --help          help for start
      --reset         (optional) reset Meshery's configuration file to default settings.
      --silent        (optional) silently create Meshery's configuration file with default settings.
      --skip-update   (optional) skip checking for new Meshery's container images.

Global Flags:
      --config string    config file (default location is: /Users/lee/.meshery/config.yaml)
  -c, --context string   Override specified context with current context.
  -v, --verbose          verbose output

We'll want to restructure this error message sequence a little:
Error: failed to start Meshery
See https://docs.meshery.io/guides/mesheryctl/#meshery-lifecycle-management for usage details
: invalid adapter meshery-nginx-sm specified. Please check /Users/lee/.meshery/config.yaml file
Usage:


xmlhttp.open("GET", "https://opentokrtc.com/cordova.json", false);

In you example code you use:
xmlhttp.open("GET", "https://opentokrtc.com/cordova.json", false);

Problem is dat this is deprecated: https://xhr.spec.whatwg.org/.
This is the error I receive in Chrome: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.

Hi @mark-veenstra
Not sure if you solved the problem already but you can try signing up on their website and obtain an apiKey. Then from their dashboard you can generate your sessionId and token. Once you get all of these, you can omit the xmlhttp part.
Example.
var apiKey = "1234";
var sessionId = "234jsalfaskjj23l42";
var token = "125token";
var session = TB.initSession(apiKey, sessionId);
session.connect(token, function(){
//logic here..
});
and so on...


Style being applied twice

I have a custom style defined something like so:
angular.module('styles', [
  'restmod'
])
  .factory('CustomStyle', function (restmod) {
    return restmod.mixin('DefaultPacker', {
      $config: {
        style: 'CustomStyle'
      },
      $hooks: {
        'before-request': function (_req) {
          if (!_req.url.match(/\/$/)) {
            _req.url += '/';
          }
        }
      }
    });
  });

Two different libraries are using this style in different ways. The first library rebases all requests through restmod with this style:
angular.module('api', [
  'restmod',
  'styles'
])
  .config(function (restmodProvider) {
      restmodProvider.rebase('CustomStyle', {
        $config: {
          style: 'MyApi'
        }
      });
    });

The second library has a model that I want to guarantee uses this style even if someone hasn't rebased their restmod calls, so I use the style in the second library like so:
angular.module('library', [
  'restmod',
  'styles'
])
  .factory('SomeModel', function (restmod) {
    var customMixin = restmod.mixin('CustomStyle', {
      ...
    });

   return restmod.model('things').mix(customMixin);
  });

Now, if I import and attempt to make a request with the library model in the first project, my CustomStyle will be called twice in all situations it covers, which in this case is just the before-request hook.
It seems to me like if you're specifying a mixin by name, why would you want to have this mixin be applied twice? Is there a way to prevent this behavior?

We allow strings just for injection convenience. Mixins are like ruby modules, every time you include them they will be executed on the target class.
Instead of using rebase, you could use a BaseModel mixin and apply it to every model but the second library ones.


chore(main): release 0.1.0

:robot: I have created a release beep boop
0.1.0 (2024-08-17)
Features

initial setup (3ed4d9e)

Bug Fixes

github edit url (f09f9fa)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.0
:sunflower:


Property Not Exist when using ALTER PROPERTY

Item 3134 was closed, though I'm not sure why.  It is still a problem that I can reproduce after installing 2.0-rc2 using the default database.
Using the sample default GratefulDeadConcerts db, I'm trying to change the collation to be case insensitive. I try the following:
ALTER PROPERTY V.name COLLATE ci
I get the error:
com.orientechnologies.orient.core.exception.OCommandExecutionException: Property 'V.name' not exists
The output of info and info class V are below.
Has anyone figured this out yet? It's frustrating to be stuck on something so basic, even more so that the issue was marked "closed".
orientdb {db=GratefulDeadConcerts}> info
Current database: GratefulDeadConcerts (url=remote:localhost/GratefulDeadConcerts)
DISTRIBUTED CONFIGURATION: none (OrientDB is running in standalone mode)
DATABASE PROPERTIES
--------------------------------+----------------------------------------------------+
NAME | VALUE |
--------------------------------+----------------------------------------------------+
Name | null |
Version | 14 |
Conflict Strategy | version |
Date format | yyyy-MM-dd |
Datetime format | yyyy-MM-dd HH:mm:ss |
Timezone | GMT |
Locale Country | UK |
Locale Language | EN |
Charset | UTF-8 |
Schema RID | #0:1 |
Index Manager RID | #0:2 |
Dictionary RID | null |
--------------------------------+----------------------------------------------------+
CLUSTERS
----------------------------------------------+-------+-------------------+----------------+
NAME | ID | CONFLICT STRATEGY | RECORDS |
----------------------------------------------+-------+-------------------+----------------+
_studio | 14 | | 0 |
default | 3 | | 0 |
e | 10 | | 0 |
followed_by | 11 | | 7047 |
index | 1 | | 2 |
internal | 0 | | 3 |
manindex | 2 | | 1 |
ofunction | 6 | | 0 |
orids | 8 | | 0 |
orole | 4 | | 3 |
oschedule | 7 | | 0 |
ouser | 5 | | 3 |
sung_by | 13 | | 501 |
v | 9 | | 809 |
written_by | 12 | | 501 |
----------------------------------------------+-------+-------------------+----------------+
TOTAL = 15 | 8870 |
------------------------------------------------------+-------------------+----------------+
CLASSES
----------------------------------------------+------------------------------------+------------+----------------+
NAME | SUPERCLASS | CLUSTERS | RECORDS |
----------------------------------------------+------------------------------------+------------+----------------+
_studio | | 14 | 0 |
E | | 10 | 0 |
followed_by | E | 11 | 7047 |
OFunction | | 6 | 0 |
OIdentity | | - | 0 |
ORestricted | | - | 0 |
ORIDs | | 8 | 0 |
ORole | OIdentity | 4 | 3 |
OSchedule | | 7 | 0 |
OTriggered | | - | 0 |
OUser | OIdentity | 5 | 3 |
sung_by | E | 13 | 501 |
V | | 9 | 809 |
written_by | E | 12 | 501 |
----------------------------------------------+------------------------------------+------------+----------------+
TOTAL = 14 8864 |
----------------------------------------------+------------------------------------+------------+----------------+
INDEXES
----------------------------------------------+------------+-----------------------+----------------+------------+
NAME | TYPE | CLASS | FIELDS | RECORDS |
----------------------------------------------+------------+-----------------------+----------------+------------+
dictionary | DICTIONARY | | | 0 |
ORole.name | UNIQUE | ORole | name | 3 |
OUser.name | UNIQUE | OUser | name | 3 |
----------------------------------------------+------------+-----------------------+----------------+------------+
TOTAL = 3 6 |
-----------------------------------------------------------------------------------------------------------------+
orientdb {db=GratefulDeadConcerts}> info class V
Class................: V
Default cluster......: v (id=9)
Supported cluster ids: [9]
Cluster selection....: balanced
orientdb {db=GratefulDeadConcerts}>

It has been quite frustrating.  I've opened three issues for this and each time they close the issue without it being resolved.
I'm having other issues as well with Traversal that haven't been resolved.  I've worked with other graph db's and have never had this difficult of a time.  Not sure OrientDB is the correct solution for what I'm trying to accomplish because of the lack of basic graph functionality and support.

@na2014
can you execute
info class V
and paste here the result?

It's already there - "select * from V"  shows a section titled "Properties" with a field called "name".  I'm using the sample database included with the release candidate, so I think this should be easy to reproduce.

Yes it is there
but not in the schema.
see here
http://www.orientechnologies.com/docs/last/orientdb.wiki/Schema.html

Ok - that was it.  When I made "name" part of the schema, the command worked.  Here are 3 problems that came up when doing this:

tutorials I saw seemed to use the release candidate, not the stable release, so I'm working with that.  That was a little confusing at first, and I really would prefer to use stable.

After creating the property "name" in the Studio, changing the collation to CI in the Studio doesn't work.  I could select CI in the pulldown menu, but clicking "save" didn't do anything.  I had to run the ALTER command as a query instead.  No error message is thrown, making this more confusing.

The "info" commands cannot be run from within the studio.

I can't figure out the commands from the command line to show the schema, so I find myself uncomfortably toggling between the studio and the command line to get all this done.  The documentation shows commands that must be run in some other language, and I can't figure out what language it is or where they go (where do I type "OSchema schema = database.getMetadata().getSchema();"?)

Trying to capture errors in the studio was annoying since they appeared and then disappeared before I could read them.  Why would error messages disappear automatically instead of letting me dismiss them, and why are they appearing at the bottom of the window instead of inline where we were awaiting the response?

There's obviously a lot going on here, including both the product shortcomings and my own.  But I think of myself/team as being in your core audience, and thought that this still isn't as smooth a product as it should be, especially for a 2.0 version.  I haven't had this much trouble when trying any other db products out there.  I totally appreciate the work that went into this, and am excited about the potential here.  I think having a release focused on making things more polished would really help.
thanks!

Also, info class V doesn't seem to change, even after I added "name" to the schema.  The output of the command before adding name to the schema is in my very first posting at the end, here's the output after adding to the schema:
orientdb {db=GratefulDeadConcerts}> info class V
Class................: V
Default cluster......: v (id=9)
Supported cluster ids: [9]
Cluster selection....: balanced
orientdb {db=GratefulDeadConcerts}>

@na2014
thank you for your feedback
some quick response for your issues.

2.0 stable should arrive the next week

this is a bug, i will look into it

info is not available because studio rely on http api and uses orientdb sql
info is a console only command

to view schema on console run info/ info class
in studio go to the schema UI

this has been changed. Before it was sticky and top but i found it annoying that every time i have to click on x to close the notification. If you catch up the error you can go hover on the notification
it will remain open until you remain on it

Hi,
Thank you for the feedback.  Seems like the HTTP API is a limiting factor in the UI development.
Would it be a good idea to see if you could reuse another 3rd party DB UI, such as PHPMyAdmin, and then add in the orientdb specific features?  This would let you reuse their interfaces, which have been proven over time, and focus on db features.  You might also want to use an alternate API if the HTTP one doesn't support the full functionality.  I like the idea of an HTTP API, but find having a fully functional UI far more important and don't care how the UI communicates with the db to do that.  If license terms are an issue, it could be maintained as a separate project, letting development focus on the core db features.
I hope the group doesn't take this the wrong way - the UI is a good start.  But it got in the way of my ability to work through the system, and that was frustrating.
Thanks again for the fast resolution and helpful responses here.

To clarify, having a fully functional UI that uses any API is more important than a UI that uses specifically the HTTP API.  The HTTP API is perfectly good as a separate means to access the db.  But I don't think the UI should be hampered by HTTP API's missing features.

I'm quite lost here. What's the problem with this issue?

The issue has been closed because no response has been received after a while. In case the issue is still valid, please reopen it or write a comment that explains why it's still valid and a way to reproduce it. Thank you.


[Docs] Extra whitespace in code terminals

Current State
See https://docs.meshery.io/installation/quick-start/ for an example.
Desired State

Contributor Guides and Handbook

📚 Instructions for contributing to documentation

Meshery documentation site and source

🛠 Meshery Build & Release Strategy
🎨 Wireframes and designs for Meshery UI in Figma (open invite)
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Hey! Can I work on this?

@divyanshkul I have assigned this to you.

Has anyone already fixed this?

@divyanshkul any luck so far? Given @AkashMeheta's PR, I wonder if we might find you a new issue to work on...

@divyanshkul a quick check-in...

Given @AkashMeheta's PR

I submit a PR for this issue actually twitch first time I did not sign my commit but I fixed it at last PR

@leecalcote Of course I'm working on other issues


Don't force container width to certain sizes

If my browser is sized to be 992px wide, then .container has a max-width of 970px. If my browser is sized to be 991px wide, then .container has a max-width of 750px. Why is there this big jump in the max width? Why not just have a max-width of 1170px or so with 20px of margin on each side or something so that as you resize your browser window the container width scales smoothly instead of having a big jump?
E.g. at 992px screen width I have only very little margin on each side (11px). Yet at 991px wide I have 120px of margin on each side, which means nearly 25% of the screen real estate is empty margin on the sides. This doesn't make a lot of sense to me. Is there a reason this was done? If so, it would be good to add a note to the documentation explaining why Bootstrap works this way. If not, it might be good to consider changing.

Now that .container-fluid is included wouldn't it be useful to include something between .container and .container-fluid? Something like a container-fluid with a maximum width and a margin dependend on the screen size, like http://codepen.io/stephtr/full/grOmQe/.

Hi @stephtr!
You appear to have posted a live example (http://codepen.io/stephtr/pen/grOmQe.html), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

line 9, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 10, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 11, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 12, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 13, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 14, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 15, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 16, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 17, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 18, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 19, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 20, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 24, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 25, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 26, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 27, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 28, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 29, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 30, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 31, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 32, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 33, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 34, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 35, column 3: E014: Columns (.col-*-*) can only be children of .rows or .form-groups
line 9, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 10, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 11, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 12, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 13, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 14, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 15, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 16, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 17, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 18, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 19, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 20, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 24, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 25, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 26, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 27, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 28, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 29, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 30, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 31, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 32, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 33, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 34, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 35, column 3: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

These "errors" are not relevant for my sample, however an updated sample: http://codepen.io/stephtr/full/grOmQe/

Hi @stephtr!
You appear to have posted a live example (http://codepen.io/stephtr/pen/grOmQe.html), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

line 26, column 3: E003: Found one or more .rows that were not children of a grid column or descendants of a .container or .container-fluid
line 10, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 11, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 12, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 13, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 14, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 15, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 16, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 17, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 18, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 19, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 20, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 21, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 27, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 28, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 29, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 30, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 31, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 32, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 33, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 34, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 35, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 36, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 37, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 38, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

These "errors" are not relevant for my sample, however an updated sample: http://codepen.io/stephtr/full/grOmQe/

Hi @stephtr!
You appear to have posted a live example (http://codepen.io/stephtr/pen/grOmQe.html), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

line 10, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 11, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 12, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 13, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 14, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 15, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 16, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 17, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 18, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 19, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 20, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.
line 21, column 5: W009: Using empty spacer columns isn't necessary with Bootstrap's grid. So instead of having an empty grid column with class="col-xs-1" , just add class="col-xs-offset-1" to the next grid column.

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

Sorry for the these posts, the "errors" were not relevant for my sample and the warnings propably a bug of the bot, however an updated sample: http://codepen.io/stephtr/full/grOmQe/


--ignore switches has no effect

Line 162 of index.js
if (opts.ignore) chokidarOpts.ignore = opts.ignore;
->
if (opts.ignore) chokidarOpts.ignored = opts.ignore;
Making the above change seems did the job.
I'm not familiar with Node API so don't know for sure.
Could you take a look?

Yeah it seemed that I used incorrect wording in the option. It's ignored as you said. Thanks for reporting. I fixed this now.

Released in 0.2.1: https://github.com/kimmobrunfeldt/chokidar-cli/releases/tag/0.2.1


Cant install Origin Integration

It gives me an error on the origin integration.
the other integrations installs correctly

fixed it sorry to bother xd


Exception when Building WaPo v3 Index

I'm building the index for the 3th version of the Washington Post collection, which adds 154,418 new documents from 2018 and 2019. However, I encountered an error while doing so:
ERROR [pool-2-thread-1] index.IndexCollection$LocalIndexerThread (IndexCollection.java:241) - pool-2-thread-1: Unexpected Exception:
java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.MismatchedInputException: Missing required creator property ‘published_date’ (index 3)

Indicating that the specific article did not possess a publication date. The only date available is in the contents section as: {"content":<PHONE_NUMBER>000, "mime": "text/plain", "type": "date"}, the  usual "published_date":<PHONE_NUMBER>000 outside contents is missing.
This is the case for at least 2 articles, but I suspect there to be more.
I used the following command line option to build the Index:
./target/appassembler/bin/IndexCollection -collection WashingtonPostCollection \
 -input /Volumes/Samsung_T5/WashingtonPost.v3/data/ -generator WashingtonPostGenerator \
 -index lucene-index.core18.pos+docvectors+rawdocs_all+contents \
 -threads 1 -storePositions -storeDocvectors -storeRaw -storeContents -optimize

Hi, I am wondering whether this issue is solved yet. I try building index in WashingtonPost v3 and still had the same issue.

Hi @ChanikanWitt this issue has been resolved on June 21 and was included in the v0.9.4 release. Is the build you're using up to date?

Oh okay. It works now. Thank you!


Rename grid.js example to mnist, and do small cleanup

Description
Rename with-grid example to mnist and cleanup obsolete files and code.
Updated README's a bit (more updates coming in separate PRs).
How has this been tested?
Actually executed mnist demo to check it works.
Checklist

[x] I have followed the Contribution Guidelines and Code of Conduct
[x] I have commented my code following the OpenMined Styleguide
[] I have labeled this PR with the relevant Type labels
[ ] My changes are covered by tests

This resolves #121


How to render list's views

Thank you for reporting an issue, suggesting an enhancement, or asking a question. We appreciate your feedback - to help the team understand your
needs please complete the below template to ensure we have the details to help. Thanks!
Please check out the documentation to see if your question is already addressed there. This will help us ensure our documentation is up to date.
Category
[ ] Enhancement
[ ] Bug
[x] Question
Version
Please specify what version of the library you are using: [ ^1.12.0   ]
If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.
Expected / Desired Behavior / Question
Is the ListView control capable to render custom list's views?
I have a list with 4 views (mostly filtering) and 2 grouped views. The grouped views works fine with ListView component but I can't find the way to render the other views.
I know that there is a filter property but is not enough to show what the views contains. Ex. a view filters all items whos end date has passed.
Thanks!

In building your Web Part in SPFx, the ListView control is really a helper capability for you. It’s not what you think of as a SharePoint list view - it’s the Office UI Fabric ListView with some added plumbing to use with SPFx Web Parts. If you want to have multiple “views”, you’ll need to build them in your code.

In building your Web Part in SPFx, the ListView control is really a helper capability for you. It’s not what you think of as a SharePoint list view - it’s the Office UI Fabric ListView with some added plumbing to use with SPFx Web Parts. If you want to have multiple “views”, you’ll need to build them in your code.

Thanks for your comments.
I found that, maybe, the simpliest way is send a new request to sharepoint and re render the ListView component.
So I am trying that.
Best regards


fix RecursiveIncludeErrorReport non recursive

Do not raise RecursiveIncludeErrorReport when a file is included twice but not recursively.
This issue didn't allow analyzing Metatheory.jl project because it loaded a file with macros from 2 different modules.
This is the fixture file I added to reproduce the issue
module A
    include("include2.jl")
end
module B
    include("include2.jl")
end

Thanks so much for this great contribution! I will merge this once the CI on Julia 1 runs successfully -- nightlies are broken but it's a known issue.


[ci] Add API Scan job

Context: https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/25351/APIScan-step-by-step-guide-to-setting-up-a-Pipeline
The ApiScan task has been added to pipeline runs against main.  This
task should help us identify related issues earlier, rather than having
to wait for a full scan of VS.

Api Scan test run - https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=8898601&view=results

The recommended method for suppressing known API Scan issues is to wait for the requested server exception list (SEL) changes to be approved and updated. This should be good to go with that in mind, but we may want to wait to merge until after the SEL is updated so that the new job will pass.

Latest API scan run after 1ES template migration and rebasing: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9129458&view=results

Latest test run trying to match VS server exception list values: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=9142482&view=results


add more field value reports

This adds more fields for generating field value reports.
It also corrects the key name for sourceResource_alternative.
This has been tested locally.  It addresses ticket #8205.

All tests passing.

:+1:


Revert "Removed deprecated methods from file-list"

Reverts enb-make/enb#363

Irrelevant - no need in revert now


Feature Request: Send events while opted-out of ECID

We have very strict cookie regulations in Europe, and in Denmark specifically. This means that we can't really set any cookies if the user opts out of the CMP.
It seems as though if you use the "Set Consent" with the Adobe 2.0 standard and pass a "n" (opt-out) value, that will then kill all "Send Event" actions:

The sendEvent command could not fully complete. Caused by: The user declined consent.

We want to still track page views despite the user opting out - in this case we want to disable ECID and provide our own ID (either a first-party user ID if logged in, or otherwise an anonymous frequency capped ID)
In AppMeasurement there is a more granular consent option through "adobe.optIn" where you could enable Analytics, but disable ECID ( {aa: true, ecid: false})

We're running into the exact same issue on one of our projects, now forcing us to fully disable Analytics even if the user only opt-out of the category under which ECID falls. Given that this issue is just under a year old, I was wondering if Adobe had any plans of introducing granular consent into the Web SDK?

Hey @maximilianoertel , We are planning on introducing granular consent, but it won'd include supporting events without an ECID.


Adding Data from API limit 25

Description
When I import data from an API  and add them to GraphQl data layer via api.loadSource method (as described in the docs) I can retrieve only 25 of them.
Steps to reproduce
Dunno how to reproduce, here's my code instead
`module.exports = function (api) {
api.loadSource(async store => {
const {data} = await axios.get('http://localhost:3000/api/pages');
        const contentType = store.addContentType({
            typeName: 'MyPage'
        });

        for (const item of data) {
            contentType.addNode({
                id: item.id,
                title: item.name,
                path: item.slug,
                fields: {
                    name: item.name,
                    position: item.position,
                }
            })
        }
    });
}`

Expected result
The expected result is to be able to retrieve all of MyPage in AllMyPage collection.
Actual result
When I __explore the graphQl collection, I can only see 25 MyPage entries.
Environment

Libs:
- gridsome version: 5.8.0
- @gridsome/cli version:  n/a - gridsome installed via npm

Browser:
- [ ] Chrome (desktop) version latest

For Tooling issues:
- Node version: v11.12.0
- Platform:   Windows

If I specify contentType.addNode({ perPage: 100, ... then I'm able to retrieve all MyPage in allMyPage. However the real issue is when I try to build. I'm certain the build process is aware only of 25 pages and therefore I'm not able to proceed.
When I query totalCount in the __explorer, it does show me 38 which is correct. However, when I dump the nodes there are only 25 and the MyPages which are not included do not show, when I run development.
Any help or advice is more than welcome. Thank you.

It's because of the perPage argument which defaults to 25 in the schema. I was just working on a fix for it by ignoring perPage if no page argument is provided. As a workaround now, you can set perPage to something else:
query {
  allMyPage(perPage: 999) {
    edges {
      node {
        id
      }
    }
  }
}

Hello Hans-Jørgen,
thank you for your prompt reply. I'm afraid I don't think that helps me. I don't query allMyPage anywhere in my code. I fetch the data from API, build up the MyPage collection and that's what I query on my pages.
<page-query> query page {     myPage(path:"/home") {         name         title         slug         position ...    } } </page-query>
I do not use the allMyPage anywhere in my code, so I can't set the "perPage" ad hoc.
It maybe sounds like that I don't need to but I believe this is the reason I can't build my site, as it looks like to me that the build process doesn't have certain myPage in the collection.  Does it make sense?
Thank you.

I found the PER_PAGE constant and changed it manually. Not healthy but ok for troubleshooting. At least I'm able to tell that the reason why gridsome doesn't build the pages is not here. I'm experiencing the closed issue #366 - gridsome build hangs after Compile assets;

I found my bug, its actually unrelated to the described issue. Thank you


Persist redux state in browser

Signed-off-by: Eric Wei<EMAIL_ADDRESS>Description
Currently, redux state data gets lost on page refresh, which leads to bad user experience. This change is to address this problem.
Issues Resolved
#1177
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

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

Eric, could you please describe in more detail how the user is affected before this change? What happens if the user navigates away from a page by URL and then back?

Sure, before this change, if some user actions (for example, directly trigger a saved visualizations url in address bar, or simply just reload the page) trigger a page reload/refresh, all the event/visualization data for each tab in event analytics if there's any will get lost. Navigate to other pages from URL or other user actions within the domain would not cause data loss, which is also not part of the problem this change is trying to address.

linking issue https://github.com/opensearch-project/observability/issues/725 this fixes item 3


As @jhg03a mentioned in #5635, the sources that tsb leaves behind after building Traffic Server causes Go components to fail to build. This PR renames the tsb directory to _tsb so that go will ignore it.

[x] This PR is not related to any Issue

Which Traffic Control components are affected by this PR?

Traffic Server

What is the best way to verify this PR?

Build Traffic Server:

./pkg -o -v ats

2 Make sure you can still vendor dependencies:
go mod vendor -v

If this is a bug fix, what versions of Traffic Control are affected?

master (c52ba7baf4)

The following criteria are ALL met by this PR

[x] Building components is sufficient to test
[x] Intended behavior is unchanged, documentation is unnecessary
[x] An update to CHANGELOG.md is not necessary
[x] This PR includes any and all required license headers
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

This fails to build with the error:
Step 16/16 : CMD	["/usr/bin/tsb", "cd", "/opt/tsb-ats", "fetch", "prebuild"]
 ---> Running in 443820f2385f
Removing intermediate container 443820f2385f
 ---> 530598fda0ac

Successfully built 530598fda0ac
Successfully tagged build_ats:latest
WARNING: Image for service ats was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Creating build_ats_run ... done
Failed to run command: git --git-dir=/opt/tsb-ats/src/openssl/.git --work-tree=/opt/tsb-ats/src/openssl remote
exit status 128
fatal: Not a git repository: '/opt/tsb-ats/src/openssl/.git'

I'm testing on a linux host as follows:
(docker ps -qa | xargs docker rm -f; docker image list -qa | xargs docker image rm -f; docker system prune -a -f --volumes) && ./pkg -v -7 traffic_monitor_build && ./pkg -v -7 -o ats && ./pkg -v -7 traffic_monitor_build && ./pkg -v -8 -o ats && ./pkg -v -8 traffic_monitor_build

Also, please merge #5624 before this to make life easier.

I'm testing on a linux host as follows:
sudo rm -rf traffic_server/tsb; (docker ps -qa | xargs docker rm -f; docker image list -qa | xargs docker image rm -f; docker system prune -a -f --volumes); ./pkg -v -7 traffic_monitor_build && ./pkg -v -7 -o ats && ./pkg -v -7 traffic_monitor_build && ./pkg -v -8 -o ats && ./pkg -v -8 traffic_monitor_build

sudo is required here most likely because the tsb src directory is owned by another user.

This all succeeds for me. Would you please include logs for whatever failed?


JSON Export

Ensure that data can be exported in JSON format:
{
    "GRDI_Sample": [ /* list items*/ ],
    "AMR_Test": [ /* list items*/ ]
}

Is this for all templates?

And since we can, priming this data to mention the schema and version it conforms to.  In future this can be adapted to include language of content too.

Indeed the "save as" json option is the place that triggers writing of this data structure.
I believe the structure of this would match exactly the Container class of any particular standard - so plural GRDI_Samples etc. with the schema, version, and in_language annotation added since that's the minimum info needed to retrieve appropriate schema.

Resolved in upcoming DH2-i18n-rc1 branch.


[entropy_src/rtl] Consistent core enable masking

The entropy_src core module has many activities that persist after disablement, notably the closing of health_test statistics data and the processing of SHA conditioning outputs.  Prior to this commit there have been many ad-hoc signals to allow these individual processes to finish before clearing the relavant fifos or state machines.  This lack of consistency makes it hard to track how these delays interact.
Ideally the external module interfaces (CSR locks and RNG inputs) would also be closed during these shutdown period to prevent the admission of new RNG data (bad for verification) or new CSR commands (which can cause spurious events due to poorly timed changes in configuration).
This commit creates a new delayed copy of the module enable signals.  The falling edge of this delayed copy signals when it is safe to clear the last few internal FIFOs, and the rising edge signals when the FSM has actually received a pending idle request.
This new enable signal is generated by a new module in order to cleanly encapulate and document the logic and motivation for the delay calculations.
Github Note: This PR requires #16095 for proper DV.
Signed-off-by: Martin Lueker-Boden<EMAIL_ADDRESS>

lgtm, but i'll defer to @mwbranstad

Update, I just did a rebase on current master as FPGA CI was failing before and a fix for this got merged after @martin-lueker 's last rebase.

CI now passed. Only the Kokoro check is failing but it's unrelated to this PR. Some config files cannot be found for e.g. for GPIO block-level lint. This is good to go in.


Use Rigging to implement a smoke test for AddressableService

Adding e2e tests for AddressableServices.

I don't think we can help you review
/uncc coryrc
/uncc yt3liu

/auto-cc

/approve cancel
This is a preview of what Rigging can do for us.


OllamaEmbeddings Hardcode the model cannot change from llama2

Describe the bug
I used the OllamaEmbeddings in my Flow, and I changed the model to "mxbai-embed-large" when I compile the Flow I got the following error:
ValueError: Error building node Qdrant(ID:Qdrant-hOQcv): Error raised  by inference API HTTP code: 404,  {"error":"model 'llama2' not found, try  pulling it first"}
Looking at the source code of the OllamaEmbeddings  node, I think it is hardcoded to use llama2
Browser and Version

Browser Microsoft Edge
Version 123.0.2420.81 (Official build) (64-bit)
First Example RAG.json

To Reproduce
Steps to reproduce the behavior:

Run ollama on your local machine
pull model mxbai-embed-large, (and as option mistral)
in Langflow ui, create new project,
import the following attached First Example RAG.json
Change the host and port of your ollama in OllamaEmbeddings node
Try to compile

Screenshots

Additional context
I run langflow throw Docker with the latest image version I pulled 04/13/2024

Hey, this is the revised draft for the issue. You can paste it into a custom component and test it yourself. (Your version of langflow must be v1 or higher.)
https://github.com/langflow-ai/langflow/pull/1703

Hello,
Sorry for the delay. Did you try using the new version? Does the error still persist?

Thank you for your contribution! This issue will be closed. If you have any questions or encounter another problem, please open a new issue and we will be ready to assist you.


Add Crop

would be nice if the plant gatherer works with industrial hemps from immersive engineering

Use integration foregoing


Network error when load external CSS

I have action_mailer.asset_host set. and include this in the layout:
 <%= stylesheet_link_tag "mailer", media: "all" %>
Should I be doing something different?
irb(main):001:0> UserMailer.signup(User.find(1)).deliver
  Rendered user_mailer/signup.html.erb within layouts/mailer (1.1ms)
  Rendered user_mailer/signup.html.erb within layouts/mailer (1.1ms)
NoMethodError: undefined method `request_uri' for #<URI::Generic:0x007f1aa0deba18>
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http/generic_request.rb:19:in `initialize'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http/request.rb:14:in `initialize'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1280:in `new'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:1280:in `request_get'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:480:in `block in get_response'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:853:in `start'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:583:in `start'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:478:in `get_response'
	from /app/vendor/ruby-2.1.1/lib/ruby/2.1.0/net/http.rb:455:in `get'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/css_loaders/network_loader.rb:9:in `load'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/css_helper.rb:33:in `block in load_css'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/css_helper.rb:32:in `each'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/css_helper.rb:32:in `load_css'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/css_helper.rb:19:in `block in css_for_doc'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/css_helper.rb:19:in `map'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/css_helper.rb:19:in `css_for_doc'
... 3 levels...
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/hook.rb:81:in `generate_text_part'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/hook.rb:62:in `generate_alternative_part'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/hook.rb:50:in `generate_html_part_replacement'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/hook.rb:24:in `perform'
	from /app/vendor/bundle/ruby/2.1.0/gems/premailer-rails-1.7.0/lib/premailer/rails/hook.rb:8:in `perform'
	from /app/vendor/bundle/ruby/2.1.0/gems/mail-2.5.4/lib/mail/mail.rb:230:in `block in inform_interceptors'

Thanks @brandonhilkert for sharing your insight. I also forgot the same thing.

I am getting this, even though the file is in the assets list :S


Bump tokio-reactor to remove scopeguard 0.3

Could you please confirm the command you ran to generate that lock diff?

That is cargo update -p tokio-reactor


CI checks not triggered for "Upgrade dependencies" pull request

The "CI checks" GitHub action should be automatically triggered for all "Upgrade dependencies" pull requests. However, this is currently not the case (see #38, for an example).
References:

https://stackoverflow.com/questions/72432651/github-actions-auto-approve-not-working-on-pull-request-created-by-github-action
https://stackoverflow.com/questions/73079924/github-workflows-not-triggered-by-automatically-created-prs

Tr


healthcare API: do not use client library for FHIR search requests

Part of fix for b/221324824. Our client libraries do not allow for FHIR GET/POST search requests to be set in the HTTP request path, which is required by the FHIR specification. Due to a bug, you can send search requests by specifying a resource type in the request body, but this is an anti-pattern. Until we fix the issue with the client library, we need to use the Apache HTTP client to explicitly make GET/POST requests and not use the client library.

It's a good idea to open an issue first for discussion.

[X] I have followed Sample Format Guide
[X] Tests pass:   mvn clean verify required
[X] Lint  passes: mvn -P lint checkstyle:check required
[] Please merge this PR for me once it is approved. PLEASE DO NOT MERGE UNTIL REQUESTED

@noerog I'm no longer the person to give this to, you should be able to unassign Averi and it will pick someone else.  That said, @kolea2 guides the reviewers.  Moving from GAPIC -> APIary, I wasn't thinking when I approved earlier, but @danoscarmike should comment on that.


Compose http methods

User story :
router {
  route('/api/multi') {
    get | post | patch {
      // do some stuff
    }
    get {
      // handle get
    }
    post {
      // handle post
    }
    // ...
  }
}

find a way to write it nicely
implement it

Also all should refer to every method as a shorthand.


/Osmedeus/lib/alias/dirscan iisue

Hi i have issue
Something went wrong with the command below:
/root/Downloads/alltest/Osmedeus/lib/alias/dirscan -i https://info.lifeomic.com/FUZZ -w '/root/Downloads/alltest/Osmedeus/data/wordlists/content/top10000.txt' -o '/root/.osmedeus/workspaces/lifeomic.com/directory/raw' -p '/root/Downloads/alltest/Osmedeus/plugins/go' -s '/root/.osmedeus/workspaces/lifeomic.com/directory'
so why you not run direct
dirscan -i https://info.lifeomic.com/FUZZ -w '/root/Downloads/alltest/Osmedeus/data/wordlists/content/top10000.txt' -o '/root/.osmedeus/workspaces/lifeomic.com/directory/raw' -p '/root/Downloads/alltest/Osmedeus/plugins/go' -s '/root/.osmedeus/workspaces/lifeomic.com/directory'
dirscan in already install in kali and other go also so you can run directly .

i think https://info.lifeomic.com/FUZZ is come with wfuzz

For the error
Can you check if /root/Downloads/alltest/Osmedeus/data/wordlists/content/top10000.txt exist in your machine?
Detail about that file
It's actually an alias to run ffuf which is you can see from here https://github.com/j3ssie/Osmedeus/blob/master/lib/alias/dirscan#L22
The reason why I don't run it's directly because it's required some check after that command has done.
I can create a function on modules/dirbscan.py for it but since this need to run each URL for it, doing that gonna cause some mess.

i had check it is exist

Can you this command directly
/root/Downloads/alltest/Osmedeus/lib/alias/dirscan -i https://info.lifeomic.com/FUZZ -w '/root/Downloads/alltest/Osmedeus/data/wordlists/content/top10000.txt' -o '/root/.osmedeus/workspaces/lifeomic.com/directory/raw' -p '/root/Downloads/alltest/Osmedeus/plugins/go' -s '/root/.osmedeus/workspaces/lifeomic.com/directory'

The issue is no longer exist due to the repo having been upgraded to Osmedeus Next Generation v4.0

The issue is no longer exist due to the repo having been upgraded to Osmedeus Next Generation v4.0


lag not supported on sql server

I´m getting this error on sql server
! nanodbc/nanodbc.cpp:1769: 42000: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]The function 'LAG' must have an OVER clause with ORDER BY.  [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Incorrect syntax near 'q01'
which I think is caused by
https://github.com/oxford-pharmacoepi/CohortSymmetry/blob/166cb5c1991639ba5b8633a966e3c4dd3b1a162c/R/getCohortSequence.R#L170

use add CohortIntersect instead? or addIntersect?

#127


automatically remove user registry secrets

In #327 we introduced a mechanism to use the user's own authentication token for pulling images from private repositories. We want to minimize the amount of time these credentials are left around so we need some mechanism for removing them.
Some ideas:

remove secrets older than x minutes/hours
use a naming scheme such that a secret is made per session launch - then, the secret can be cleaned immediately after the container is done spawning
others?

@ableuler after our brief discussion today, here are our options to tackle this:
A. Add a preStop hook on the pod that runs the jupyterhub server to delete the token once the pod is shut down

Pros:

A small amount of code is added, it can be as simple as an API call to the k8s api from the pod to delete the specific secret
It happens automatically exactly when we needed regardless of how the pod is being destroyed (either because of inactivity or because the user decided to do so through the UI).

Cons:

The kubernetes API is not accessible from within the pod with this new egress policy on the user pods (https://github.com/SwissDataScienceCenter/renku-notebooks/pull/430)
Even if access to the k8s API was available we would need to inject a service account with proper permissions into the pod so that the pod can use this to authenticate with the k8s API and delete the image pull secret. By default no such service account is injected and such a service account does not currently exist. To make this fully operational I think we would have to make a service account and role binding for every user. The problem is that we do not have a separate namespace for every user so we cannot make a Role that gives a user access only to their own secrets. I think that unless we decide to put every user's jupyterhub pods in a separate namespace this option is not possible.

B. Add a cronjob that will look through the secrets and delete old ones that are not tied to a pod that runs jupyterhub

Pros:

One cronjob takes care of all users in a specific deployment
The above-mentioned issues with changing the egress policy, inserting the service account in the pod and adding Roles is fully avoided because the cronjob does not have to operate from inside the jupyterhub user pod.

Cons:

There will be some delay when unused secrets are deleted. I.e. the cronjob can operate every hour and delete the secrets that are older than X hours and that do not have an actively running pod that is associated with them. So immediately after a user jupyterhub pod is deleted it will take some time for the user's image pull secret to be deleted.

Let me know what you think. Hopefully I did not miss any major considerations in writing this up. I tried to access the k8s api from a running pod and the requests would time out as long as the egress networkPolicy from #430 is active. When I delete this egress policy then I can successfully reach the k8s API.
I am not sure if this warrants a further/wider discussion about how much access to the k8s API we give to users and how we control/restrict this.

Thanks @olevski for laying out the options. I think option B is better. I don't mind secrets being around a bit longer than needed as long as they are eventually cleaned up.

Under Option A there is also the possibility to have the secret around way longer than necessary - it's only needed at launch time, and the time between launch and the preStop hook being executed could be days or even weeks. The cron job running in ~30 minute intervals on the other hand means there is always a clear worst-case scenario.

@rokroskar We actually discussed this: I guess we definitely need the secret until the pod has been assigned to a node (which can take a while in the case of insufficient resources). Do you know if currently k8s will reschedule a user pod on a different node in case of a node failure?

Right, so the secret culling process has to check whether the pod that might need the secret is actually up and running already or not, to avoid the situation where the secret would be removed before the credentials are actually used.
AFAIK if the node fails the pod is gone.

AFAIK if the node fails the pod is gone.

True - I actually hope so because all the ephemeral disk space would be gone anyway...


No possibility to add comments from the h5browser

Trying to add a comment on any node from the h5browser raises a file not writable error
2023-01-16 14:03:56,713 - pymodaq.h5modules - ERROR - the file is not writable
Traceback (most recent call last):
  File "c:\users\user\documents\git\pymodaq\src\pymodaq\daq_utils\h5modules.py", line 1212, in add_comments
    node.attrs['comments'] = comment
  File "c:\users\user\documents\git\pymodaq\src\pymodaq\daq_utils\h5backend.py", line 314, in __setitem__
    set_attr(self._node.node, key, value, backend=self.backend)
  File "c:\users\user\documents\git\pymodaq\src\pymodaq\daq_utils\h5backend.py", line 382, in set_attr
    node._v_attrs[attr_name] = JsonConverter.object2json(attr_value)
  File "C:\Users\user\Miniconda3\envs\pmd_dev\lib\site-packages\tables\attributeset.py", line 563, in __setitem__
    self.__setattr__(name, value)
  File "C:\Users\user\Miniconda3\envs\pmd_dev\lib\site-packages\tables\attributeset.py", line 466, in __setattr__
    nodefile._check_writable()
  File "C:\Users\user\Miniconda3\envs\pmd_dev\lib\site-packages\tables\file.py", line 2167, in _check_writable
    raise FileModeError("the file is not writable")
tables.exceptions.FileModeError: the file is not writable

Reason for this is that files are opened read-only in the H5Browser and there is no possibility to change this:
https://github.com/PyMoDAQ/PyMoDAQ/blob/44992fbedb1b765a8d4dea801c53479676b4e73c/src/pymodaq/daq_utils/h5modules.py#L2223-L2229
We could simply change r to r+ in the last line to fix this.
However it might be a good idea to keep the possibility to decide on this, what do you think? Also, thoughts on v4?
Edit: I verified and changing r to r+ does the trick. Including both backends

well then include it in your pull request, it is a good idea. What do you mean by thoughts on v4?

I just added this modification into v4 branch. I let you add it to v3 pull request


Create gymsob.txt

Official webpage: https://www.gymnasium-schrobenhausen.de/

@msfuture Please provide us with an URL of a page or another proof (.pdf or a screenshot are OK) showing that the university recognizes the domain which you are submitting as an official email domain for the students.

I have a two screenshots, showing the ownership of the gymsob.info domain for our school as well as the login page to our portal for our students on the same domain. We do not provide any public information on our website for the student's mail accounts as each student gets his account automatically. But the portal is also linked on our public webpage.
https://wolke.gymsob.info/index.php/s/vpvjIT9L1Y1vaGN
Students have mail adresses on the domain @schueler.gymsob.info, teaching staff gets adresse on the domain @gymsob.info. So my suggestion was to add gymsob.info as this will cover students and teaching staff as well.
If the whois information and the facts provided above is not enough, I can provide an official letter next week.
Thank you very much
Michael Schindler
Systemadministration
Science Teacher
Gymnasium Schrobenhausen

@msfuture Thank you for the clarification. Pull request merged.


Audio track cannot be selected

When trying to watch a video with multiple audio tracks, mov-cli-youtube only seems to grab one random audio track without any ability to swap between tracks. Is there any way that a feature to grab all available audio tracks can be implemented?

Hey,
Sorry for the late response.
Were you using pytube or yt-dlp?

yt-dlp. Thanks for a reply at all, I don't mind waiting a bit if it means I can get assistance!

This feature can probably be added.
On Wed, Jul 10, 2024 at 01:52, Neko @.***(mailto:On Wed, Jul 10, 2024 at 01:52, Neko < wrote:

yt-dlp. Thanks for a reply at all, I don't mind waiting a bit if it means I can get assistance!

Thank you so much!

What video did you try playing, I completely forgot youtube videos could even have different audios.

The main one I tried was a Tom Scott video on why audio doesn’t match subtitles. The video was in French while the subtitles were English.On Jul 11, 2024, at 11:09 AM, Goldy @.***> wrote:
What video did you try playing, I completely forgot youtube videos could even have different audios.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Alright thanks I was able to reproduce that. Will look into it soon. 👍

However, for the time being you can use pytube as an alternative (make sure it's up to date though, pip install pytubefix -U):
mov-cli -s youtube.pytube {query}

First I would like to apologize for the very very late completion of this issue.
This issue has been fixed in 1.3.4 which will be released soon, however the fix is partial; if a video has more than one audio track it won't display all of those audio tracks but instead it will attempt to grab the first audio track relevant to your current set language.
The reason of this implementation is because currently mov-cli doesn't support multiple audio track urls. Hopefully one day I find the time to add support for that in the main code-base ideally without bringing breaking changes. Once I do I'll change this implementation to return all the audio tracks with preferred language as priority.
Thanks for reporting this issue.

No worries, a late fix is better than no fix! I also am not surprised that
mov-cli doesn't support multiple audio tracks, that's quite a rare feature.
Thank you so much!
On Mon, Aug 5, 2024 at 4:28 PM Goldy @.***> wrote:

First I would like to apologize for the very very late completion of this
issue.
This issue has been fixed in 1.3.4 which will be released soon, however
the fix is partial; if a video has more than one audio track it won't
display all of those audio tracks but instead it will attempt to grab the
first audio track relevant to your current set language
https://github.com/mov-cli/mov-cli/wiki/Configuration#subtitles.
The reason of this implementation is because currently mov-cli doesn't
support multiple audio track urls. Hopefully one day I find the time to add
support for that in the main code-base ideally without bringing breaking
changes. Once I do I'll change this implementation to return all the audio
tracks with preferred language as priority.
Thanks for reporting this issue.
—
Reply to this email directly, view it on GitHub
https://github.com/mov-cli/mov-cli-youtube/issues/17#issuecomment-2269950366,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AX23VAQWOQS2OJOVGZCUX73ZP7VBFAVCNFSM6AAAAABKKIQ4ICVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRZHE2TAMZWGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Cats are the best, Cormac


Frame Rate Debug Utility

When debugging through the PhysicsEngine, it is very useful to step through the code for multiple frames.  The current rAF will set the time for the next frame based on how long you were debugging.  It would be useful to have an option to set a constant time frame rate when debugging.

This should be implemented in core/Clock.js. In Clock#step, just add time = this._frameRate ? this._time + this._frameRate : time.
Putting this in the RequestAnimationFrame loop makes it a nightmare to debug the worker build. The clock is meant for things like that (e.g. fixed frame rate, fps cap, time scaling are all things that belong in there IMO).

@alexanderGugel good point, let me rework

@jd-carroll also, we should add a special rendering loop that allows the user to trigger frames manually.

@jd-carroll I like this idea but would not want to add this code until we could strip it.

@michaelobriena Agreed. I was thinking of not hiding this as an option used for debugging (at least not explicitly), but exposing it as a regular method. The old engine also had a method setFPSCap. Although doing this would probably make more sense in engine than clock.

What's the status of this?
I like the idea, but I'm not happy with the current implementation. I think this should either be

A normal option (without the debug flag, the overhead is pretty limited, it could probably be dead code eliminated)
Be a separate loop

Also it might be better to place this in the Clock, since debugging across threads in the web worker build is kind tricky at times, so normalizing the time there might be a better idea.
@michaelobriena Do we want to bring this into the platform?

@alexanderGugel @michaelobriena If you guys decide on a path forward for this, I'd be happy to make the necessary changes


Implement missing MetaData #isWrapperFor methods

The driver currently implements all #unwrap methods but some of the
matching #isWrapperFor methods are missing. This is caused by the fix
for #12 which should also have included the #isWrapperFor methods.

implement DatabaseMetaData#isWrapperFor
implement ParameterMetaData#isWrapperFor
implement ResultSetMetaData#isWrapperFor

Thank you @marschall  for submitting a pr. The changes in the three source code files are good. But we updated the tests to use the new framework, that's why a conflict exists in your pr now.
You could either remove bvt test updates from the pr or you could get the latest code and commit changes in the test with the new test framework. Thank you again.

I committed the tests with the new test framework, the test that's failing is testCreatepreparedStatement which has no connection to my changes so I'm a bit confused.

@marschall  thank you. You are correct, that build fail was not because of your changes.  The next commits you make should not cause any failures.

Thank you for your contribution @marschall


how to use this in VSCode editor

I use editor from Android Studio to VSCode, and how to use this in VSCode editor?

This plugin is written in Java and is incompatible with VS Code.

As you declared working on the VSCode extension, where can we find it and test ?
Thanks.
I've found this, https://marketplace.visualstudio.com/items?itemName=esskar.vscode-flutter-i18n-json , but they're using json. The approach is very similar.

@long1eu ?


BRT-2708 - Dependabot integration

Refs ticketID
Please provide the ticket id eg.: BRT-2708
Changes
Adding the CODEOWNERS file and the dependabot.yml
Test plan
peer review. take a look if the changes are made correctly

Hey! Thanks for the contribution, asking for a few changes:

can you clarify what the number in the title means?
let's leave CODEOWNERS in the root directory, so it's aligned with the rest of authzed repositories, and please remove your internal team as owner
please remove ./idea from gitignore, we try to stay away from opinionated developer tooling, specially given git lets folks define their own local .gitignore.
dependabot file looks good 👍🏻

Hey vroldanbet!
It looks like I have made a mistake. I made this commit in the wrong repository. The name was very confusing because we used it as a 3th party tool. So I will close the PR and sorry for it once again.
Thanks.

@marduk216 got it! Ideally, you don't have to keep your own fork and we can have this changes upstream 😄


problem about inferrence

when i infer my model, i meet this problem.
Via the inferrence file of mmclassification, it turns out that the label of the image is 1 and the pred score is 0.8889318704605103.
but when i use my own inferrence file, the output of fc is tensor([[ 0.5133, -0.5640]], device='cuda:0').
Do you have an ideas where i have operate incorrectly?
my own inferrence file is as below:
def forward_pytorch(weightfile, image):
    net=resnet.resnet18(num_classes=2)
    checkpoint = torch.load(weightfile)
    new_state_dict = OrderedDict()
    for k, v in checkpoint.items():
        if k == "state_dict":
            for layer_name, weight in v.items():
                layer_name1 = layer_name.replace("backbone.", "")
                layer_name1 = layer_name1.replace("head.", "")
                print(layer_name, layer_name1)
                new_state_dict[layer_name1] = weight
    net.load_state_dict(new_state_dict)
    net.cuda()
    net.eval()
    normalize = transforms.Normalize(mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375])
    transform1 = transforms.Compose([
        transforms.ToTensor(),
        normalize
        ]
    )
    image = transform1(image)
    image = Variable(image.cuda())
    image = Variable(torch.unsqueeze(image, dim=0).float(), requires_grad=False)
    with torch.no_grad():
        blobs = net.forward(image)
    return blobs

Those points you should notice:

image channel before transform must be in "RGB" order in mmcls config resnet18.
Whether all the parameters in the weight are loaded correctly.
there is Resize data augment before forward.
the "ImageToTensor" in pipeline have a op of img.transpose; transpose the input(1, 224, 224, 3) to (1, 3, 224, 224)

hello， i load the image by PIL, it is supposed to be RGB. Meanwhile, i do resize the image before foward and check the input(1, 3, 224, 224). The way of loading model parameters seems not to be wrong.
this is is my file:
def load_image_pytorch(imgfile):
img = Image.open(imgfile)
img = img.resize((224, 224))
return img
this is the ouput:torch.Size([1, 3, 224, 224])
pytorch forward time %d 0.006729602813720703
tensor([[ 0.5224, -0.5617]], device='cuda:0')
label: 0
the problem really DO troubles me a lot

We don't have your picture, code and weight, so we don't see the problem for the time being. You can eliminate the problem item by item,

Check the model, use a fixed random (1, 3, 224, 224) tensor, go through the two models respectively, check the difference, if there is no difference, then it is the problem of data load
After ensuring that the model is ok, check the data problem; the op resize in mmcls is different from your resize, which is more complicated; or you can change the Resize in config to your own resize; or delete Resize in config, directly Use (1, 3, w, h) for reasoning, and delete the resize in your code accordingly. See if your output is suppressed.

this a demo modified from ./demo/image_demo.py; This way you can get the same tensor by fixing a random seed.
def main():
    parser = ArgumentParser()
    parser.add_argument('config', help='Config file')
    parser.add_argument('checkpoint', help='Checkpoint file')
    parser.add_argument(
        '--device', default='cpu', help='Device used for inference')
    args = parser.parse_args()

    # build the model from a config file and a checkpoint file
    model = init_model(args.config, args.checkpoint, device=args.device)
    # train a single image
    from mmcv.runner.utils import set_random_seed
    set_random_seed(100)
    img = torch.randn( (1, 3, 224 ,224) )
      with torch.no_grad():
          scores = model(img, return_loss=False)
          pred_score = np.max(scores, axis=1)[0]
          pred_label = np.argmax(scores, axis=1)[0]
          result = {'pred_label': pred_label, 'pred_score': float(pred_score)}

Thx！Following your advice, I have found that this problem is mainly caused by data aug. The mean and std of Normalization in mmclassification resnet18 is [123.675, 116.28, 103.53] and [58.395, 57.12, 57.375], respectively. It seems that Normalization op is done before ImageToTensor. Is there any difference if I do Normalization op after ImageToTensor with mean and std ranging from 0 to 1?

No different. But you have to make sure that image go through ["ImageToTensor", "Normalization"] or  [ "Normalization", "ImageToTensor"] get the same tensor.
To make things simple, you can use a simple input image as example , such a (2, 2, 3) np.array as image input.
the mmcls pipeline can use as below:
import numpy as np
from mmcls.datasets.pipelines import Compose

NORM_MEAN = [103.53, 116.28, 123.675]
NORM_STD = [57.375, 57.12, 58.395]
pipeline_cfg = [
    dict(type='Normalize', mean=NORM_MEAN, std=NORM_STD, to_rgb=False),
    dict(type='ImageToTensor', keys=['img']),
]
pipeline = Compose(pipeline_cfg)
input = {'img':np.ones( [2, 2, 3])}
output = pipeline(input)

then, campare with your pipeline.

I tried using a (2, 2, 3) np.array as image input. Method A and B got the same output:
Method A:
input = np.ones( [224, 224, 3] )
NORM_MEAN = [123.675, 116.28, 103.53]
NORM_STD = [58.395, 57.12, 57.375]
pipeline_cfg = [
dict(type='Normalize', mean=NORM_MEAN, std=NORM_STD, to_rgb=True),
dict(type='ImageToTensor', keys=['img']),
]
pipeline = Compose(pipeline_cfg)
output = pipeline(input)
Method B:
input = np.ones( [224, 224, 3] )
transform1 = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375])
])
output = transform1(input)
Output:
{'img': tensor([[[-2.1008, -2.1008],
[-2.1008, -2.1008]],
    [[-2.0182, -2.0182],
     [-2.0182, -2.0182]],

    [[-1.7870, -1.7870],
     [-1.7870, -1.7870]]]), 'img_norm_cfg': {'mean': array([123.675, 116.28 , 103.53 ], dtype=float32), 'std': array([58.395, 57.12 , 57.375], dtype=float32), 'to_rgb': True}}

However, when it comes to a real picture:
Method A:
img = cv2.imread(picpath)
input = {'img':img}
NORM_MEAN = [103.53, 116.28, 123.675]
NORM_STD = [57.375, 57.12, 58.395]
pipeline_cfg = [
dict(type='Normalize', mean=NORM_MEAN, std=NORM_STD, to_rgb=False),
dict(type='ImageToTensor', keys=['img']),
]
pipeline = Compose(pipeline_cfg)
output = pipeline(input)
print(output)
Output A:
{'img': tensor([[[-1.1770, -1.2467, -1.3513,  ..., -1.7347, -1.6999, -1.7347],
[-1.0898, -1.2467, -1.3164,  ..., -1.6824, -1.6999, -1.6999],
[-1.1421, -1.1944, -1.1596,  ..., -1.6999, -1.7347, -1.6999],
...,
[-0.8807, -0.8807, -0.8807,  ..., -0.7587, -0.7587, -0.7587],
[-0.8633, -0.8807, -0.8807,  ..., -0.7238, -0.7413, -0.7238],
[-0.8458, -0.8458, -0.8458,  ..., -0.7238, -0.7413, -0.7238]],
    [[-1.2654, -1.3354, -1.4405,  ..., -1.8957, -1.8606, -1.8957],
     [-1.1779, -1.3354, -1.4055,  ..., -1.8431, -1.8606, -1.8606],
     [-1.2304, -1.2829, -1.2479,  ..., -1.8606, -1.8957, -1.8606],
     ...,
     [-0.9503, -0.9503, -0.9503,  ..., -0.8627, -0.8803, -0.8803],
     [-0.9328, -0.9503, -0.9678,  ..., -0.8452, -0.8803, -0.8627],
     [-0.9153, -0.9153, -0.9328,  ..., -0.8452, -0.8803, -0.8627]],

    [[-1.3815, -1.4500, -1.5528,  ..., -2.0665, -2.0323, -2.0665],
     [-1.2959, -1.4500, -1.5185,  ..., -2.0152, -2.0323, -2.0323],
     [-1.3302, -1.3815, -1.3473,  ..., -2.0323, -2.0665, -2.0323],
     ...,
     [-1.1075, -1.1075, -1.1075,  ..., -1.0219, -1.0048, -1.0048],
     [-1.0904, -1.1075, -1.0904,  ..., -1.0390, -1.0219, -1.0048],
     [-1.0733, -1.0733, -1.0562,  ..., -1.0390, -1.0219, -1.0048]]]), 'img_norm_cfg': {'mean': array([103.53 , 116.28 , 123.675], dtype=float32), 'std': array([57.375, 57.12 , 58.395], dtype=float32), 'to_rgb': False}}

Method B:
input = cv2.imread(picpath)
transform1 = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375])
])
output = transform1(input)
print(output)
Output B:
tensor([[[-2.1155, -2.1158, -2.1162,  ..., -2.1176, -2.1175, -2.1176],
[-2.1152, -2.1158, -2.1160,  ..., -2.1174, -2.1175, -2.1175],
[-2.1154, -2.1156, -2.1154,  ..., -2.1175, -2.1176, -2.1175],
...,
[-2.1143, -2.1143, -2.1143,  ..., -2.1139, -2.1139, -2.1139],
[-2.1143, -2.1143, -2.1143,  ..., -2.1137, -2.1138, -2.1137],
[-2.1142, -2.1142, -2.1142,  ..., -2.1137, -2.1138, -2.1137]],
    [[-2.0327, -2.0330, -2.0334,  ..., -2.0352, -2.0350, -2.0352],
     [-2.0324, -2.0330, -2.0332,  ..., -2.0350, -2.0350, -2.0350],
     [-2.0326, -2.0328, -2.0326,  ..., -2.0350, -2.0352, -2.0350],
     ...,
     [-2.0315, -2.0315, -2.0315,  ..., -2.0311, -2.0312, -2.0312],
     [-2.0314, -2.0315, -2.0315,  ..., -2.0310, -2.0312, -2.0311],
     [-2.0313, -2.0313, -2.0314,  ..., -2.0310, -2.0312, -2.0311]],

    [[-1.8015, -1.8018, -1.8022,  ..., -1.8042, -1.8041, -1.8042],
     [-1.8012, -1.8018, -1.8021,  ..., -1.8040, -1.8041, -1.8041],
     [-1.8013, -1.8015, -1.8014,  ..., -1.8041, -1.8042, -1.8041],
     ...,
     [-1.8004, -1.8004, -1.8004,  ..., -1.8001, -1.8000, -1.8000],
     [-1.8003, -1.8004, -1.8003,  ..., -1.8001, -1.8001, -1.8000],
     [-1.8003, -1.8003, -1.8002,  ..., -1.8001, -1.8001, -1.8000]]])

The output of A and B seems not to be the same.

Do not use np.ones();
Try a self-designed array or a randn.

I think is  dict(type='ImageToTensor', keys=['img'])changes image channel order.

dict(type='ImageToTensor', keys=['img']) would change the image channel order , and transforms.ToTensor() will do the same.

dict(type='Normalize', mean=NORM_MEAN, std=NORM_STD, to_rgb=True); the to_rgb=True will change a img from RGB to BGR or a BGR to a RBG; np.ones can not find the oreder problem. The NORM_MEAN and NORM_STD has its own RGB oreder.
in my script, everything work well.

Thx! I have found the key. When I change the type of the array loaded from a real image to  float32, the output tensor of the two method will be the same.

you are welcome.


Soma Connect USB not working

USB /list_devices
{"result":"success","version":"3.0.6","shades":[{"name":"Dining Room","mac":"xx:xx:xx:xx:xx:xx","type":"shade","count":"13961"}]}

RPi /list_devices
{"result":"success","version":"2.3.2","shades":[{"name":"Dining Room","mac":"xx:xx:xx:xx:xx:xx","type":"unknown","gen":"unknown"}]}

Gen and Type don't seem to be used anywhere. And my HW does not report useful data anyways as it seems.
To support Soma Connect USB it would help to create the device without Gen parameter.
Unsure if more changes are needed but I am happy to test once that change is implemented if that is possible.
Currently I am getting
Logger: custom_components.soma_connect.config_flow
Source: custom_components/soma_connect/config_flow.py:36
Integration: SOMA Connect ([documentation](https://github.com/Djelibeybi/hass-soma-connect), [issues](https://github.com/Djelibeybi/hass-soma-connect/issues))
First occurred: 3:45:43 PM (3 occurrences)
Last logged: 3:47:58 PM

Connection to SOMA Connect failed with RequestException

which I assume is due to the missing Gen parameter?!

Yeah, I don't have a SOMA Connect USB, so this plugin doesn't actually support it. Happy to accept pull requests if you want to add support, though.

I'm going to close this issue as I don't have plans to support the SOMA Connect USB.