Convert Tasks and Smart Functions to Chains

Feature/Improvement Description
Converting Tasks and Smart Functions to Chains for consistency and less code.
Proposed Solution
Converting Tasks and Smart Functions to Chains

The functions in between that make Tasks work can be added to a new Python Operations extension.
Smart functions are all just hard coded chains, there will be higher value in converting those from hard coded to chains so that there will be more working examples of chains out of the box to give people a good idea of how to build them.

Acknowledgements

[X] I have searched the existing issues to make sure this feature has not been requested yet.
[X] I have provided enough information for everyone to understand why this feature request is needed in AGiXT.

All done!
#636
#637


[stable/prometheus-operator] Prometheus CRD storage spec metadata ignored in upgrades, creates new PVC

Describe the bug
On upgrade from version 8.3.3 to 8.7.0, we discovered that a new PVC was created instead of using the PVC prior to upgrade. Looking at the Prometheus resource, we noticed that the prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.metadata field was set to empty, ignoring our configs (we set prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.metadata to have a name field).
e.g.
kubectl get prometheus -oyaml
...
    storage:
      volumeClaimTemplate:
        metadata: {}
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 50Gi
...

It looks like maybe we can tie this bug back to https://github.com/helm/charts/pull/20419, which introduced a change in the CRD to use the standard object's metadata.
Version of Helm and Kubernetes:
Helm v2.16.1
Kubernetes v1.16.4
Which chart:
stable/prometheus-operator
What happened:
New PVC was created (different name) and used by Prometheus
What you expected to happen:
Expected previously-created PVC to be used. This resulted in Prometheus using a new PV which meant old data wasn't getting shown.
How to reproduce it (as minimally and precisely as possible):
Upgrade the chart from 8.3.3 to 8.7.0 passing in the following (example) values to set the metadata name field
prometheus:
  prometheusSpec:
    storageSpec:
      volumeClaimTemplate:
        metadata:
          name: test
        spec:
          accessModes: ["ReadWriteOnce"]
          resources:
            requests:
              storage: 50Gi

Anything else we need to know:

@vsliouniaev would you mind taking a look at this bug when convenient? Thank you!

It's quite possible that this is related. There have been two new versions of prometheus-operator released since, would you mind checking those?

Upgrading from v8.3.3 to v8.12.1 (latest) did not fix the bug.
I also did some more testing to try to narrow down versions:

Installed at v8.0.0: prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.metadata fields correctly set.
I then ran upgrades bumping each minor version at a time until prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.metadata was incorrectly set to {}, which was once I upgraded from v8.5.0 to v8.6.0.
I then ran downgrades bumping down minor versions and tried all the way down to v7.0.0 and stopped there - but never saw the metadata get populated.
Installed v8.5.15: prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.metadata fields correctly set.
Installed v8.6.0: : prometheus.prometheusSpec.storageSpec.volumeClaimTemplate.metadata fields empty.

So it does like this was introduced between v8.5.15 and v8.6.0, which matches the CRD change mentioned in the PR description https://github.com/helm/charts/pull/20419

@vsliouniaev @bismarck @gianrubio Would you mind taking a look into this PVC issue? Let me know if there's anything I can help with!

Same bug here - @gracedo have you found a fix?

@mdbraber The fix in coreos/prometheus-operator was done here: https://github.com/coreos/prometheus-operator/pull/3115 and released in v0.39.0. There was a helm chart PR https://github.com/helm/charts/pull/22338 to upgrade the operator to v0.39.0 but due to this version requiring kubernetes 1.16+ and unclear roadmap/future for the chart, it looks like it's been put on pause for the time being.

@gracedo thanks! Even when using an already updated chart (like from thiss repository: https://github.com/iwilltry42/charts) I'm not able to get it to work unfortunately with v0.39.0. I've detailed it here: https://github.com/coreos/prometheus-operator/issues/3093#issuecomment-636716487


Is there standalone code for Attention is all you need that was written by Google Brain Team?

I am having a hard time extracting the code from tensor2tensor.

I think the code most closely replicating to the paper is the oldest available release (this is the implementation by the Google Brain Team).
If you want a more readable (for study purposes), but still working implementation of the Transformer model, see e.g. https://github.com/ufal/neuralmonkey/blob/master/neuralmonkey/encoders/transformer.py (this is not by the Google Brain team).

Indeed, this is the code the original paper was based on. You only need to read the transformer.py file (https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/models/transformer.py) and the common_attention function it references. Other than that, you can train on your own by hand, as illustrated in the colab (goo.gl/wkHexj).
We're trying to make T2T easier to understand and hack by hand: if you have suggestions on how to do it, e.g., what would help you with understanding the Transformer code, please reopen this issue and let us know!


MGDCTRS-830: fix: correct schema assumptions

This fixes the elastic search sink connector form by correcting the way
the x-group field was interpreted, now the code properly evaluates just
the oneOf field.
So instead of:

we get:

and so on.  This also updates the detail view code to follow the same assumption.

@indraraj or @uidoyen hopefully this is the worst of these.  If any other issues come up with the schema based forms, it'll probably be in these same areas.  If you could merge this after reviewing that'd be great.  Thanks!


update survey not working on HTC device

HTC 1 M8
Android 5.0.1

This might have something to do with situation where survey is renamed.


client/network: Expose kbuckets via RPC

Motivation
I would like to find answers to the following questions to better understand the Kademlia / Polkadot DHTs as well as hopefully reduce lookup times in the long run.

What does the Kusama / Polkadot DHT topology look like? How well are nodes (validators & sentries) connected? How many nodes do close kbuckets contain? ...

How many addresses do nodes in the kbuckets have? How many of those are public / private? How many of those are routable? Do two nodes derive the same addresses for a third node?

Possible way forward
I would suggest exposing the entire routing table of each DHT via an RPC endpoint. I am currently just extending the NetworkState struct, but I am also fine with introducing a new RPC endpoint.
This is meant to be used for debugging purposes only.
@@ -49,6 +51,7 @@ pub struct NetworkState {
        pub average_upload_per_sec: u64,
        /// State of the peerset manager.
        pub peerset: serde_json::Value,
+       pub kademlia_kbuckets: Vec<(ProtocolId, Vec<Vec<(PeerId, Vec<Multiaddr>)>>)>,
 }

Do people have opinions / objections? If not, I will file a pull-request.
//CC @tomaka @romanb

If it's for debugging purposes only, feel free to extend NetworkState indeed.

With https://github.com/paritytech/substrate/pull/7104 the number of peers per bucket is now exposed via Prometheus. This is good enough for my use-case, thus I am closing here.


feat(tutorial): complete step 4

Closes #
{{short description}}
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

@kellychurchill  Can you please review this, for some reason there are no reviewers assigned


Improve 'Get Started Deving' Onboarding

trying to get started deving makes me want to kill myself. I'll try again when back in nyc haha. In the "Build and Run" section of the contributing, should all of those things be vscode? or does it need to be updated? https://github.com/trypear/pearai-app/blob/main/CONTRIBUTING.md#packaging

connor

Most of this got done thanks to @Trifall ! still might be some details remaining so will keep this issue open


[Feature] Store Index of Last Active Tab (Child/Parent)

If there are multiple wallets open (wallet 1, wallet 2, wallet 3) and a transaction tab is opened from say wallet 2, upon close, you will be dropped back into wallet 3 (the last tab in sequence/index rather than the last active tab).
It would be good if the index of the last active tabbedpane was stored so it reclaimed focus. More so, it would be good if these tabs had parent/child relationship so you could remember the last active parent where there are no child tabs remaining, otherwise flip back to each last active child. I thought about nested tabs but I know you also have account tabs to contend with so it doesn't want to be tab hell.
-- bvs

If there are multiple wallets open (wallet 1, wallet 2, wallet 3) and a transaction tab is opened from say wallet 2, upon close, you will be dropped back into wallet 3 (the last tab in sequence/index rather than the last active tab).

Good idea! Implemented in e59ee47.

It would be good if the index of the last active tabbedpane was stored so it reclaimed focus.

I confess I didn't really understand what you meant here - what is the 'tabbedpane' in this context?

Sorry, @craigraw. A bad explanation. By tabbedpane I was referring to each tab in TabPane. May have caused confusion.
Looking at the commit, that fits the bill exactly. Thanks.
-- bvs


Support setting manifest expires via the CLI

This will help testing indefinite freeze attacks in the client.
Closes #9.

LGTM


function names cannot contain "def" as prefix

If we try to define a function whose name contains "def" as a prefix, the parser will throw a
Error while parsing 'top-level non-recursive def binding'
For example,  (def defaultId (\x x)) (defaultId 1) causes the parse error mentioned above.

We are soon switching to a different syntax. We will probably not fix this issue. But thanks for reporting.


icon request: zsh

Is your icon request related to a problem? Please describe.
No particular problem, just thought it would be neat to see the zsh logo when opening a zsh shell in vscode :)
Describe the solution you'd like
Adding the zsh icons from their (official?) repo
Noticed that in #68 it was requested to have the svg, so I think https://github.com/Zsh-art/logo/blob/main/svg/white_vertical_icon.svg?short_path=c7a2046 would be sufficient? The only potential issue I see with this is that I see your other icons use fill="currentColor" (assuming for coloring in different usage scenarios?) while they have hardcoded stroke colors.
Describe alternatives you've considered

Using the default terminal icon (current behavior), which is fine, but the zsh icon would be more specific
terminal-linux is also ok, but again, could be more specific
terminal-{bash,ubuntu,debian,tmux} aren't correct

Additional context
N/A

Since zsh is the default shell on macOS, I don't think we should do this (at least on that platform). Right now we use the default terminal icon for that:

Using the %_ could be confusing for new users.


fix: prevent initial validation for date-picker when no constraints

Backports web-components#4169 as part of an EoD task
Part of https://github.com/vaadin/web-components/issues/5763

Description
The PR prevents the initial validation that could previously take place when date-picker was initially provided with a non-empty value and no constraints were specified.
Part of #4150
Type of change

[x]  Bugfix

Checklist

[x]  I have read the contribution guide: https://vaadin.com/docs-beta/latest/guide/contributing/overview/
[x]  I have added a description following the guideline.
[x]  The issue is created in the corresponding repository and I have referenced it.
[x]  I have added tests to ensure my change is effective and works as intended.
[x]  New and existing tests are passing locally with my change.
[x]  I have performed self-review and corrected misspellings.

It was decided not to backport the PRs preventing initial validation as it is a breaking change.


No encoding config option for compiler

TypeScript Version:  2.1.4
There seems to be no option to configure the encoding for the generated .js files.
Based on a project with Typescript files encoded in Windows1252 exclusively the .js files generated are all in UTF-8.

What other encoding do you want, and why?

All the generated files are in UTF-8. you have the option to add a BOM in generated files using --emitBOM.

as stated in my op my sources are encoded in Windows1252. that is what I need for the outputs as well.
maybe if you don't want to implement a compiler option for this you can just use the encoding of the source files.

What runtime wants 1252 but can't accept UTF-8?

there are no problems as long as you only deal with English. the moment you are dealing with strings in other languages like German you have characters which won't we displayed properly if you just use UTF-8.

UTF-8 encodes all Unicode characters and is recognized by all JS runtimes. Practically the reverse is true of 1252.

Ryan, we don't have to argue about this. Pretty much every text/code editor there is lets you configure the text encoding to be used. That would not be the case if nothing but UTF-8 was necessary at any given time.
If you are reluctant to implement different encoding options for tsc that is fine. I can just convert the results myself. The problem i am facing right now is that all my sources are in 1252 and tsc messes up the characters in the results.
So I would have to first convert all my sources to UTF-8 and then always convert the compilation results to 1252. Fair enough.

I really am asking which runtime you're using that supports 1252 but not UTF-8. To our knowledge these do not exist so we want to understand the scenario here.

The compiled javascripts are used within an Adobe environment. It is ECMA Script 3 based and requires 1252 for the German characters to be displayed properly.
Obviously I usually use UTF-8 normally.... ;-)


Atom 1.6.0 Autocomplete fails on El Capitan

I just installed Atom 1.6.0 on my iMac running OSX El Capitan (10.11.3). Autocomplete will pop-up with options as expected, however when I hit the 'tab' or 'enter' keys it does not complete the code, and the autocomplete window goes away with the cursor right where I left it. This is a clean install, I have not added any packages or changed any config settings. The same problem occurs in safe mode.  I've only tried this while working in HTML, CSS, and JavaScript.

Hey @t0dd, sorry for the late response.  Can you please move this to the autocomplete-plus repository?  Thanks!


Resync state after ZooKeeper failure

This PR attempts to address an issue where deleted targets are not sent to the target manager.
After any ZooKeeper failure (where failureMode has been set to true) we rebuild the current target state but nodes deleted during this window will not be propagated to the target manager.
Also, two new metrics added.
ref #1895

Makes sense to me, but @brian-brazil should take a look.

:+1:

Thanks!


KAFKA-14063: Prevent malicious tiny payloads from causing OOMs with variably sized collections

When parsing code receives a payload for a variable length field where the length is specified in the code as some arbitrarily large number (assume INT32_MAX for example) this will immediately try to allocate an ArrayList to hold this many elements, before checking whether this is a reasonable array size given the available data.
The fix for this is to instead throw a runtime exception if the length of a variably sized container exceeds the amount of remaining data. Then, the worst a user can do is force the server to allocate 8x the size of the actual delivered data (if they claim there are N elements for a container of Objects (i.e. not a byte string) and each Object bottoms out in an 8 byte pointer in the ArrayList's backing array).
This was identified by fuzzing the kafka request parsing code.

Hello! This looks like a very interesting find. Could you write a test which tests this?

The vulnerability has been addressed by the following commits.

Apache Kafka 2.8
Apache Kafka 3.0
Apache Kafka 3.1
Apache Kafka 3.2


travis: send test coverage to codecov.io

Please take a look.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@5a28700). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master     #14   +/-   ##
========================================
  Coverage          ?   51.3%
========================================
  Files             ?       1
  Lines             ?     115
  Branches          ?       0
========================================
  Hits              ?      59
  Misses            ?      50
  Partials          ?       6

Continue to review full report at Codecov.

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


audit: Collect and audit for S3 bucket logging

Use the call get-bucket-logging

Collected in #393
Leaving open until I add an audit check.


Is there a way ignore a specific file when using webpack-closure-compiler?

Our webpack bundle imports external scripts that we do not have control over. Is there a way to tell webpack-closure-compiler not to minify certain files, or does webpack-closure-compiler operate on the resulting bundle level?

@gajus Yes, it optimizes the whole bundle, after Webpack puts everything together.

Just wanted to point out, in case anyone else stumbles to this issue many moons later, that because the plugin passes its options hash to Webpack's ModuleFilenameHelpers, one can in fact exclude files and patterns from optimization. The only caveat is that the match is made against the final built chunk name, not the name of the input module, so it's sometimes necessary to do a little dance to segment off the code you want to protect.


Question about the preprocessed data for ETH/UCY

Hi,
thank you very much for your nice work and sharing it!
I have a question regarding the preprocessed data you provided (through Google Drive).
Among the datasets provided, I found out that some of the samples in pickle file for eth/ucy dataset are the same, but with different metaIds.
For example in hotel_train.pkl, it has samples of different metaId with everything else the same (trackId=1.0, sceneId='students001', and same frameIds as well as their x, y coordinates). Other files also contain some same samples like this.
I believe I did not modify the pickle file, but please let me know if this is not the case!
If it is, is this what was intended or should I remove the duplicated ones for further trials?
Sorry, in advance, to bother you if I misunderstood the purpose of metaId and this is totally fine!

Hi, yes this is correct, metaId is simply a unique ID for each sample within a dataset (say only within hotel_train.pkl, eth_train.pkl, ...), but not across datasets.
And regarding the files, *_train.pkl is the whole dataset without the * dataset (e.g. * = "eth"), so you can report scores on the unseen * dataset (contained in *_test.pkl). So you would only use one pair of *_train.pkl and *_test.pkl at a time. Don't mix different *_train.pkl, as this would include duplicates and data leakage for the *_test.pkl.


✨ Add visualizer label patch for HelmChartProxy and HelmReleaseProxy

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

/hold

Waiting for #207 since it unblocks the e2e test

/retest

/hold cancel

/lgtm


Fix status handling

Handle all status and lofig through one main function.

Given the complexity of this charm with the pod_spec approach, I think we should move directly to the sidecar conversion opened in #23 .


Unusable due to slow startup.  Fresh install win 32, no extensions, startup > 10  Minutes!

VSCode Version: 1.13

OS Version: Windows 7 32 bit

NOTE: I also have Visual studio 2012 installed on this computer and it's running in a virtual machine.
Visual studio 2012 opens within seconds, there is almost no noticeable delay running in this fast virtual machine.
Steps to Reproduce:

Download and install VS code on Windows 7 32 bit
Runs fast first time after installation and opens up to the welcome screen
Close, go to command prompt and run again Code --disable-extensions
Nothing happens, open task manager and it's showing Code.exe and cpu is pegged at 99%
Start a stopwatch, wait 10 minutes cpu varies between 99% and rarely dips to 97%.
Give up.  No visible Code editor onscreen anywhere, just the task manager process is the only evidence it's doing anything; stop the process.

I left it to start one time as I had to go out, came back about half an hour later and it was opened so at some point it does actually complete the startup but I have no idea how long it took.
Same thing happens when I run it without disabling extensions by the way and I've tried it through several reboots uninstalls etc.
Reproduces without extensions: Yes
I've used Code on Linux previously (64bit Debian in virtual machine on same host computer) and it runs very fast and is very useful, however I wanted to consolidate all my work to my windows dev machine and ran into this issue.
This is a clean install, I'm guessing my difference from others may be that I have vs 2012 installed already?  Only thing I can think of that might have some possibility of interfering with it.

@WhatFreshHellIsThis Please start VS Code with --prof-startup flag. That will create CPU profile of the startup sequence. Please attach those profiles here.

Cool, coming right up!

Ok, here they are. Please take note that it started up far faster with the profile flag than it does with the disable extensions flag.  With the profile flag the first screen draw happened in 1 minute and 42 seconds, with the disable extensions flag I waited over 6 minutes before finally killing the task and saw nothing drawn on screen.
e430_main.cpuprofile.txt
e430_renderer.cpuprofile.txt

Wow, crazy. It takes roughly ~1.5 for the app ready event to be delivered. Any AV software installed?

I am closing this as dupe of #22087. Sad, but it is a known issue that electron can start very slow on windows, that is the signal of the app being ready is delayed, often by anti virus software. This is an extreme case of this...

This is with the Microsoft anti virus disabled real time protection and to be on the safe side I also  specifically excluded Code.exe process as well. Anti Virus is not the culprit unless it's doing something even when turned off and that process excluded.
This issue is not caused by anti-virus to the best of my ability to ensure that.

Also, why does it start the first time after installation quickly every single time?
On a fresh install it triggers start up and it typically takes just a few seconds after I click on the last installer dialog.

I'm going to go ahead and uninstall the Microsoft AV completely just to put this to rest either way.  I'll report back shortly.

Uninstalled Microsoft Security Essentials, clean reboot.
I have no anti virus software at all installed for this profile.
Result is absolutely no change, still took 1 minute and 45 seconds to the first draw, here are the profiles:
ea83_main.cpuprofile.txt
ea83_renderer.cpuprofile.txt

I'm going back to Debian now, I hope this gets sorted out at some point, Code is awesome on Debian, I wish it was as good on Windows.


MM-35293 - Fix for empty channel members header

Summary

Don't show the channel members section if there are no other participants

Looks like:

Ticket Link

https://mattermost.atlassian.net/browse/MM-35293

Set the Reviews Complete label, but I don't know to ask for QA review, @cpoile.


Core modules[proposal, discussion]

Hi!
For now we are using core components and pages to develop our stores which works well but have some drawbacks that can be fixed:

The functionalities are grouped in component-structure-oriented way rather that feature-oriented which is not the best approach for a modular application
It kind of forces people to use same component structure for each store which doesn't play well with implementations that are much different than our default theme
Core components are rather complex, it's hard to reason about them and even harder to change only the parts that we want to work different
People can't tell what are the features of the component just by looking at it - you need to jump into the code and understand it
Methods inside core components are tightly copupled which isn't good for refactoring and modifying some functions  in the future
It's hard to reason what comes from core and what comes from theme if both are bulky and complicated
We are injecting whole components even when we only want one or two features which ends up as bulky components with redundant functionalities
You basically can't say what you can do with the core without understanding it in-depth
its nearly impossible to tell people which functions are part of the CORE API so they can rely on them and use in their themes and which are just helper functions

What is the proposed fix?
The idea is to group similar functionalities into modules. Also I'll try to split current core components into smaller standalone features (like add to cart, remove from cart, items in car  etc). it's still meant to be used as mixins but now you will export exactly what you want and will know exactly what you are injecting
You can find two proposal modules in 'core/modules/'. The implementation of this particular modules will (for sure) change but it's just to get the idea.
So now instead of bunch of core components for let's say cart we will have cart module with following mixins to import: cart_add(product), cart_remove(product), cart_items, cart_isInCart(product) etc. So we can for example import only cart_isInCart() mixin to our product listing to tell the user that this item is in cart. Now we will need to import whole microcart module or copy this method from inside of the core to achieve this.
The proposed API for using it will be as follows.
modulePrefix_methodOrDataname - so you can see from the beginning in your theme's code that this functionality is a core functionality coming from module X.

You can import all parts of the module (including every data property and method related to this module) and inject:

import CartModule from 'core/modules/cart'
...
mixins: [CartModule]

2....or just the ones that you need (this particular set would be useful for Product page)
import { cart_add, cart_remove } from 'core/modules/cart'
...
mixins: [cart_add, cart_remove]

Similar modules would be created for wishlist, menu, categories, product, compare etc.
Such modularisation and abstraction will also hide the helper functions so we can refactor and improve our core much efficient without bothering about all legacy code and focusing only on keeping the core exported functions untouched with its API
Ofc we can still have some core components that will just group features from one or many modules that are commonly grouped together but it would be  a little help and addition to speed up some very common taska, not the core itself that we must always use.
The core pages with their core functionalities will probably stay as they are with small refactoring but this one is still to be discussed (probably having 3-4 pages like this will be still transparent for developers)
Please let me know what do you think about this API, how do you see the improvements and what else can be improved during this API change.
You can find previous discussion here: https://github.com/DivanteLtd/vue-storefront/pull/1184

I like the idea, It would make it easier to use just the parts one needs. As you said it will give way more flexibility to someone who wants to create something on top of VS with a totally different interface in mind.

As someone 2 weeks into this code, I agree and like the Modular approach. It does get rather tricky to know what comes from where exactly. Having duplicate folder names in different places is a little confusing too. Perhaps refactoring folder names to make it clear for e.g. core-logic vs core-theme or plug-in-logic vs plug-in-theme; or something similar would help too.  Thanks!

Nice idea (and work!), VUE is for simplicity and development experience. I don't like second and more layer above existing in vue, because people use it for that simple approach.
I check that module directory and is clearly better approach to some problems.
One problem is the most obvious, used grouped functionality or simple one? maybe just use vuex?
Maybe "core/api" as showed in description. It's obvious that all my functions and data need to be taken from that one directory, otherwise I break site in future. Beside, more like to camelCase :D than some fancy underscore
import { cartAdd, cartRemove, cartReload, cartUpdate } from 'core/api/cart'
Internally writing test for that "api" directory will be in high demand to determine if something will break after refactor - right now, only one test :(.

I'm torn. On the one hand I like the idea of using a more modular approach for components, on the other hand we risk complicating the file and folder structure too much. Now It's quite easy to understand how components works just looking at the code, to split them into more granular components without losing the current (awesome) semplicity it will be a great challenge.
But, you are right, it's time to do it, especially for the benefit of the scalability of the framework.
The structure of the folders of the components could follow that of the vuex store (attribute, cart, category..) ? this would perhaps help to orientate within the core.

Great discussion!
I’m afraid of this approach because of the following arguments:

modules - it’s another layer of abstraction for the newcomers; it’s a little bit  mess with the vuex modules and src/extensions
I agree with Irene, it’s now far easier to understand the structure of the Ui with more granulated components - we’ll probably lost it it with modules
I don’t see easy way to do the automatic update of the code people already have developed (custom themes)
the naming convention with lower case - for some it’s better than UpperCase - but the fact is that will require lot of manual changes just for sake of let’s say “visual preference” ;)
how to combine this approach with Vuex stores?
module_component - it’s very very Magento’ish :)
For now we have the components structure fairly easy to understand because you always start with the theme *.vue file having clear relation to the core components; with modules it’s gone; you must digg thru modules to find components you require; we don’t have capacity to maintain full blown docs at the moment to deal with this issue probably

Maybe sth with satisfy all  is to stick with the current component structure AND add this module based mixins / logic separation?
Then we should have sth like core/api or sth - just with this set of logic mixins instead of modules to not mess with vuex modules.
In that case if somebody would like to create totally custom theme he or she can avoid the core/components and use the core/api instead
The naming convention with the moduleName_mixinName doesn’t speak to me anyway :) and should be discussed
It’s just for discussion, thinking aloud

Exactly, core components grouping these more granular mixins - this makes sense for me!

Love to hear that ;d

I agree with you guys! Core methods as mixins to couple some basic components it's good idea 🥇
From my point of view it should be easier to maintenance, refactore and test.
@pkarw you asked how can we combine these mixins with vuex.  In my opinion when we want to use some state/getter etc from vuex we should map this state in this mixin.
So for example we have method addToCart, we should map mutation from cart module. Next we have removeFromCart we should also map mutation from cart module. I think it's not problem because when we load these mixins in cart component, everything should be merged. So it's shouldn't be a problem when we would like to use the same state in two different mixins which we attach to one component.

Modularization? Of course!
One mixin per file is perfectly fine for me.
I saw what you did in core/modules and I have a few remarks:

Don't call your files add.js, products.js and remove.js: call them addToCart.js, productsInCart.js, removeFromCart.js (make you did this in a rush, much more readable).
In these files, try:

export const addToCart = {
  props: {
    product: {
      type: Object,
      required: true
    }
  },
  methods: {
    addToCart (product) {
      this.$store.dispatch('cart/addItem', { productToAdd: product })
    }
  }
}

instead of
export default {
  props: {
    product: {
      type: Object,
      required: true
    }
  },
  methods: {
    addToCart (product) {
      this.$store.dispatch('cart/addItem', { productToAdd: product })
    }
  }
}

If you use VS Code or another tool which understands ES6, the addToCart object should pop up in the autocomplete. In index.js:
import { addToCart } from './addToCart'
import { removeFromCart } from './removeFromCart'
import { productsInCart } from './productsInCart'

export {
  addToCart,
  removeFromCart,
  productsInCart
}

And when you try to use it...

We can also put the internal files in a internal folder. If you're a user and you're importing something from an internal folder, you do something terribly wrong, since we have no way to hide them.

If we want to go further, why not putting the vuex store module directly into the cart module folder? If you're working on the cart module, it's better to have everything in the same place.
Take a look at https://medium.com/3yourmind/large-scale-vuex-application-structures-651e44863e2f and this approach:

"modules" can combine the vuex store module, the mixins, and even components!
I prefer the component-oriented or module-oriented approach over the classic vue approach.

Keep in mind that you

Are not breaking anything when moving files (Vuex modules will work the same way, you import it differently)
You can change the folder structure and still be backward compatible by keeping the store folder (with the current index.js and exports which redirects to the new folders)
We can add JSDoc comments for example for depreciation warnings, or ESLint rules


Error while writing to InfluxDB: Method Not Allowed

Do you want to request a feature or report a bug?

Bug

What did you do?
I try to configure the Influxdb metrics.

What did you expect to see?
What did you see instead?
I have an error i logs :
proxy_1  | time="2020-04-24T15:38:26Z" level=error msg="Error while writing to InfluxDB: Method Not Allowed\n" metricsProviderName=influxdb
proxy_1  | time="2020-04-24T15:38:26Z" level=info msg="[during WriteTo err Method Not Allowed\n]" metricsProviderName=influxdb

Nothing is written in my database.
Output of traefik version: (What version of Traefik are you using?)

Version:      2.2.0
Codename:     chevrotin
Go version:   go1.14.1
Built:        2020-03-25T17:32:57Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
entryPoints:
  http:
    address: ":80"
  https:
    address: ":443"
api: {}
providers:
  file:
    filename: dynamic_conf.yml
  docker:
    endpoint: "unix:///var/run/docker.sock"
    network: proxy
    exposedByDefault: false

certificatesResolvers:
  le:
    acme:
      email<EMAIL_ADDRESS>      storage: acme.json
      httpChallenge:
        # used during the challenge
        entryPoint: http

log:
  level: DEBUG

metrics:
  influxdb:
    address: "influx.xxxxx.ovh"
    database: "traefik"
    protocol: "http"
    username: "traefik"
    password: "testtest"

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
proxy_1  | time="2020-04-24T15:40:56Z" level=error msg="Error while writing to InfluxDB: Method Not Allowed\n" metricsProviderName=influxdb
proxy_1  | time="2020-04-24T15:40:56Z" level=info msg="[during WriteTo err Method Not Allowed\n]" metricsProviderName=influxdb
proxy_1  | time="2020-04-24T15:41:06Z" level=error msg="Error while writing to InfluxDB: Method Not Allowed\n" metricsProviderName=influxdb
proxy_1  | time="2020-04-24T15:41:06Z" level=info msg="[during WriteTo err Method Not Allowed\n]" metricsProviderName=influxdb

This is the only lines referring to influxdb

Never-mind fixed by changing adress by https://influx.xxxx.ovh:443


Add tolerance parameter to events_from_annotations  to

Describe the new feature or enhancement
Add tol parameter to annotations_from_events to avoid omitting epochs by rounding errors.
Describe your proposed implementation
In the function named events_from_annotations, there is a section of code as follows:
for annot in annotations[event_sel]:
      annot_offset = annot["onset"] + annot["duration"]
      _onsets = np.arange(
          start=annot["onset"], stop=annot_offset, step=chunk_duration
      )
      good_events = annot_offset - _onsets >= chunk_duration
      if good_events.any():

However, if we consider values like
annot['onset']=32760.12
annot['duration']=30.0
chunk_duration=30.0

In theory, this region should be obtained as a 30-second epoch, but due to rounding errors, it results in:
>>> annot_offset = annot['onset'] + annot['duration']
>>> print(annot_offset - np.arange(annot['onset'], annot_offset,  30.0) - 30.0)
array([-3.63797881e-12])

This causes good_events to contain False, and thus, this epoch is not captured.
However, in reality, this interval's data should be fully treated as an epoch. Therefore, I'm considering introducing a tolerance and modifying the code like this:
good_events = annot_offset - _onsets >= chunk_duration + tol

By adding a small tol, we can avoid the situation mentioned above. If tol is sufficiently smaller than the frequency, it should not erroneously include intervals that are not supposed to be selected.
This is safe as long as use_rounding = True.
If use_rounding = False, the first data of the epoch could be overlapped with the previous epoch. (if tol = 0, such an epoch is not created.)
But even this case, I think it is better to keep the epoch.
By setting the default value of tol to 0, we can maintain the same results as currently obtained, as long as it is used in the same way as now.
Describe possible alternatives
Currently, I am using Annotations that are precisely segmented into 30-second intervals. By setting chunk_duration = 0, I can create indexes without needing to calculate the duration.
This approach ensures that all epochs are included in the output data.
However, sometimes the annotations have durations that are multiple times the length of an epoch. In these cases, we need to modify the annotations before applying them to the Raw data.
Additional context
No response

Can you look at PR #12311 to see if it makes this no longer a problem?

I like #12311 update but the problem is the different from this PR.
#12311 is useful if the annotations are precisely segmented into 30-second (or epoch length)intervals,
or if the annotations are pointing data that you just want to data around the onset.
But this can not be used if the annotations have duration of epoch length x N (N>=1)
and users want to divide them into epoch unit.
For example, if I have an sleep annotations like:

onset
duration
stage

0
30
W

0
30
1

0
60
2

0
30
3

In this case I want epochs of 30sec(W), 30sec(1), 30sec(2), 30sec(2), 30sec(3).
This is possible with the traditional method:
from mne import create_info, Epochs
from mne.io import RawArray
from mne.annotations import Annotations, events_from_annotations, _handle_meas_date
import numpy as np

info = create_info(ch_names=1, sfreq=100.0)
raw = RawArray(data=np.empty((1, 15000)), info=info, first_samp=0)
meas_date = _handle_meas_date(0)
with raw.info._unlock(check_after=True):
    raw.info["meas_date"] = meas_date
event_id = {"0": 0, "1": 1, "2": 2, "3": 3}
annot = Annotations([0, 30, 60, 120], [30.0, 30.0, 60.0, 30], ["0", "1", "2", "3"], 0)
raw.set_annotations(annot)

events, _ = events_from_annotations(
    raw,
    event_id=event_id,
    chunk_duration=30.0,
    use_rounding=True,
)

epochs = Epochs(
    raw=raw,
    events=events,
    event_id=event_id,
)
print(epochs.events)

[[    0     0     0]
 [ 3000     0     1]
 [ 6000     0     2]
 [ 9000     0     2]
 [12000     0     3]]

So, chunk_duration for events_from_annotations is necessary.
But if I make Epochs from raw directly with #12311 code,
from mne import create_info, Epochs
from mne.io import RawArray
from mne.annotations import Annotations, events_from_annotations, _handle_meas_date
import numpy as np

info = create_info(ch_names=1, sfreq=100.0)
raw = RawArray(data=np.empty((1, 15000)), info=info, first_samp=0)
meas_date = _handle_meas_date(0)
with raw.info._unlock(check_after=True):
    raw.info["meas_date"] = meas_date
event_id = {"0": 0, "1": 1, "2": 2, "3": 3}
annot = Annotations([0, 30, 60, 120], [30.0, 30.0, 60.0, 30], ["0", "1", "2", "3"], 0)
raw.set_annotations(annot)

epochs = Epochs(raw)
print(epochs.events)

[[    0     0     1]
 [ 3000     0     2]
 [ 6000     0     3]
 [12000     0     4]]

so, the 4th epoch is skipped.

I'm ready to make PR if it seems useful.

I think it's a useful PR. I would even consider tol to be by default eg some eps * sfreq. I guess it would not change the current behavior and would fix your issue.
thx @rcmdnk for the meticulous investigation !

@agramfort
Thanks for the comment.
I made PR #12324
In the PR, the default value is set as zero
and I added a comment about the default value for the discussion.


Map.add crashes with  a record key and DU as a value

Running on:
Mono JIT compiler version 4.0.2 (Stable <IP_ADDRESS>/c99aa0c Wed Jun 24 10:04:37 UTC 2015)
FSharp 3.1
Ubuntu 14.04
Works when compiled (and an entrypoint added)
Fails when run from in the REPL
// This code causes a core dump.
// The types of key & value passed to Map.add seem to be the triggers.
// If primitive types are used it doesn't crash
type Cell =
  | Int of int
  | Float of float

type CellRef = {
  Col   : int
  Row   : int
  }

let cref c r = {
  Col = c
  Row = r
  }

let folding sheet =
  let initialRange = {Col=0;Row=1}
  let update cref range = range

  Map.fold (fun range cref cell -> update cref range) initialRange sheet

let evil () =
  Map.empty
  |> Map.add (cref 10 9) (Int 7)
  |> folding

This is a Mono bug, please add at https://bugzilla.xamarin.com/ and cross-link back here.
thanks

Filed here :
https://bugzilla.xamarin.com/show_bug.cgi?id=32454

Could you check again with Mono master?  What looks like a related bug was stated as fixed here: https://bugzilla.xamarin.com/show_bug.cgi?id=31934#c8, would be good to check.

I'm closing this as it appears fixed on Mono master. Please check again if you can.


ethernet driver net_pkt api switch and bug fix

Codecov Report

Merging #13558 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #13558   +/-   ##
=======================================
  Coverage   52.46%   52.46%
=======================================
  Files         322      322
  Lines       46597    46597
  Branches    10769    10769
=======================================
  Hits        24446    24446
  Misses      17246    17246
  Partials     4905     4905

Continue to review full report at Codecov.

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


Exclude arm64 simulators from google_maps_flutter example project

Workaround https://github.com/flutter/flutter/issues/85713 to unblock the tree.
Exclude arm64 for all pods, as well as the app itself.

Merging to green the tree.


chore(openapi): use openapi uuid format

Set the Replica, Nexus and Volume with a UUID format within openapi.
The pool/node are other candidates, which could either be a UUID or remain
as a "string" but still unique.
Note this is only about openapi, there is no strict enforcement on the
data because how would we handle when a resource created under us in
mayastor is not on the UUI format?
In such case, we might want to validate these only in the rest frontend?

bors merge


implement a CSS-only solution for switches & toggles

See https://proto.io/freebies/onoff/ for an example

Also interesting:
http://codepen.io/JohnTheCat/pen/azbRpM
http://codepen.io/andreasstorm/pen/ZGjNwZ

http://callmenick.com/post/css-toggle-switch-examples
https://ghinda.net/css-toggle-switch/
http://www.htmllion.com/css3-toggle-switch-button.html

The nicest ones from these are the callmenick ones.

Well... for toggles I went for material-design. For switches, I chose none of the above. I went for zurb's foundation implementation: http://zurb.com/building-blocks/switches-with-lables
It's more generic and will suit most use-cases.
Plus the other implementations had a lot of issues with the labels....


Toolspace folders

https://forum.dynamobim.com/t/move-tinsurfaces-into-subfolder/74821

https://help.autodesk.com/view/CIV3D/2022/ENU/?guid=c61e79f5-3474-e983-48e7-c10dc9decd7a


Make it an option to set wrap limits for the cursor

In TextBuffer make it an option to set the limits where the cursor will wrap when writing out stuff. Make the wrap limits Options, so they can be None's, meaning that the limits are the screen

implemented in the menu_systems branch.


Update docker-compose.yml

changed the serge URL in docker compose file

@crspeller @chenilim @asaadmahmood This fixes the Docker image in the yaml. Can this please be merged for the time being? Thanks!


WFLY-13704 Change the deprecated org.jboss.remoting3 module to org.jb…

JIRA: https://issues.redhat.com/browse/WFLY-13704

1 test failure on Linux Elytron JDK8 is a 2-year old intermittent one (ClusteredJPA2LCTestCase.testEntityCacheReplication):
WFLY-10099 ClusteredJPA2LCTestCase fails intermittently
I'll restart this job.


Sitemap works fine in browser, but not in google search console

Hey there, great tool! I can view my sitemap in the browser, but when I request a live url test for submitting the sitemap manually to google search console URL Inspection Tool, it is saying 404 not found. Any ideas?

Ok this may add more insight, when I load it from localhost, I get this error briefly in the terminal until the page reloads and it starts working again:
ErrorResponse {   status: 404,   statusText: 'Not Found',   internal: true,   data: 'Error: No route matches URL "/sitemap.xml"',   error: Error: No route matches URL "/sitemap.xml"       at getInternalRouterError (/Users/bryce/Documents/GitHub/mellowdepot/web/my-remix-app/node_modules/@remix-run/router/router.ts:4087:5)       at Object.query (/Users/bryce/Documents/GitHub/mellowdepot/web/my-remix-app/node_modules/@remix-run/router/router.ts:2592:19)       at handleDocumentRequestRR (/Users/bryce/Documents/GitHub/mellowdepot/web/my-remix-app/node_modules/@remix-run/server-runtime/dist/server.js:163:35)       at requestHandler (/Users/bryce/Documents/GitHub/mellowdepot/web/my-remix-app/node_modules/@remix-run/server-runtime/dist/server.js:61:24)       at /Users/bryce/Documents/GitHub/mellowdepot/web/my-remix-app/node_modules/@remix-run/express/dist/server.js:39:28       at processTicksAndRejections (node:internal/process/task_queues:95:5) }
This is leading me to believe that the crawlers at google aren't waiting for the reload, and the reload is happening due to the data fetching I am doing. I guess this won't work for data fetches that take longer than a couple ms.

HI @BryceBlankinship can you create a repo to reproduce the error? Thanks

I figured out the issue. The newer remix uses two different request handlers, one for bots and one for browser requests. You should update the documentation to include v2 for entry.server.js. I was putting the isSitemapUrl function in the browser request when it needs to be in both browser and bot requests, hence why it was showing up on my browser but google and other tools couldn't find it with their bots. See example (note im using mantine for styles so theres some extra stuff):
`import { PassThrough } from "stream";
import { Response } from "@remix-run/node";
import { RemixServer } from "@remix-run/react";
import isbot from "isbot";
import { renderToPipeableStream } from "react-dom/server";
import { renderToString } from 'react-dom/server';
import { injectStyles, createStylesServer } from '@mantine/remix';
import { createSitemapGenerator } from 'remix-sitemap';
const { isSitemapUrl, sitemap } = createSitemapGenerator({
siteUrl: 'https://example.com',
generateRobotsTxt: true
})
const server = createStylesServer();
const ABORT_DELAY = 5000;
export default function handleRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
) {
return isbot(request.headers.get("user-agent"))
? handleBotRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
)
: handleBrowserRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
);
}
function handleBotRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
) {
return new Promise((resolve, reject) => {
if (isSitemapUrl(request)) {
return resolve(sitemap(request, remixContext));
}
let didError = false;
const { pipe, abort } = renderToPipeableStream(
  <RemixServer context={remixContext} url={request.url} />,
  {
    onAllReady() {
      const body = new PassThrough();

      responseHeaders.set("Content-Type", "text/html");

      resolve(
        new Response(body, {
          headers: responseHeaders,
          status: didError ? 500 : responseStatusCode,
        })
      );

      pipe(body);
    },
    onShellError(error) {
      reject(error);
    },
    onError(error) {
      didError = true;

      console.error(error);
    },
  }
);

setTimeout(abort, ABORT_DELAY);

});
}
function handleBrowserRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
) {
return new Promise((resolve, reject) => {
if (isSitemapUrl(request)) {
return resolve(sitemap(request, remixContext));
}
let didError = false;

let markup = renderToString(<RemixServer context={remixContext} url={request.url} />);

const { pipe, abort } = renderToPipeableStream(
  <RemixServer context={remixContext} url={request.url} />,
  {
    onShellReady() {
      const body = new PassThrough();

      responseHeaders.set("Content-Type", "text/html");

      resolve(
        new Response(`<!DOCTYPE html>${injectStyles(markup, server)}`, {
          headers: responseHeaders,
          status: didError ? 500 : responseStatusCode,
        })
      );

      pipe(body);
    },
    onShellError(err) {
      reject(err);
    },
    onError(error) {
      didError = true;

      console.error(error);
    },
  }
);

setTimeout(abort, ABORT_DELAY);

});
}
`

@BryceBlankinship in this case the functions must be at the beginning of the handleRequest function
example:
export default function handleRequest(
  request: Request,
  responseStatusCode: number,
  responseHeaders: Headers,
  remixContext: EntryContext,
  loadContext: AppLoadContext
) {
  if (isSitemapUrl(request)) {
    return sitemap(request, remixContext);
  }

  return isbot(request.headers.get("user-agent"))
    ? handleBotRequest(
      request,
      responseStatusCode,
      responseHeaders,
      remixContext
    )
    : handleBrowserRequest(
      request,
      responseStatusCode,
      responseHeaders,
      remixContext
    );
}

good point, I moved it

Hey @BryceBlankinship , i am having same problem. this is my script.
`
/**

By default, Remix will handle generating the HTTP Response for you.
You are free to delete this file if you'd like to, but if you ever want it revealed again, you can run npx remix reveal ✨
For more information, see https://remix.run/file-conventions/entry.server
*/

import { PassThrough } from "node:stream";
import { createSitemapGenerator } from "remix-sitemap";
import type { AppLoadContext, EntryContext } from "@remix-run/node";
import { Response } from "@remix-run/node";
import { RemixServer } from "@remix-run/react";
import isbot from "isbot";
import { renderToPipeableStream } from "react-dom/server";
const ABORT_DELAY = 5_000;
const { isSitemapUrl, sitemap } = createSitemapGenerator({
siteUrl: "https://sticky-notes.cc",
generateRobotsTxt: true,
// configure other things here
});
export default async function handleRequest(
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
remixContext: EntryContext,
loadContext: AppLoadContext
) {
if (isSitemapUrl(request)) return await sitemap(request, remixContext);
return isbot(request.headers.get("user-agent"))
? handleBotRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
)
: handleBrowserRequest(
request,
responseStatusCode,
responseHeaders,
remixContext
);
}
function handleBotRequest(
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
remixContext: EntryContext
) {
return new Promise(async (resolve, reject) => {
let shellRendered = false;
const { pipe, abort } = renderToPipeableStream(
  <RemixServer
    context={remixContext}
    url={request.url}
    abortDelay={ABORT_DELAY}
  />,
  {
    onAllReady() {
      shellRendered = true;
      const body = new PassThrough();

      responseHeaders.set("Content-Type", "text/html");

      resolve(
        new Response(body, {
          headers: responseHeaders,
          status: responseStatusCode,
        })
      );

      pipe(body);
    },
    onShellError(error: unknown) {
      reject(error);
    },
    onError(error: unknown) {
      responseStatusCode = 500;
      // Log streaming rendering errors from inside the shell.  Don't log
      // errors encountered during initial shell rendering since they'll
      // reject and get logged in handleDocumentRequest.
      if (shellRendered) {
        console.error(error);
      }
    },
  }
);

setTimeout(abort, ABORT_DELAY);

});
}
function handleBrowserRequest(
request: Request,
responseStatusCode: number,
responseHeaders: Headers,
remixContext: EntryContext
) {
return new Promise(async (resolve, reject) => {
let shellRendered = false;
const { pipe, abort } = renderToPipeableStream(
  <RemixServer
    context={remixContext}
    url={request.url}
    abortDelay={ABORT_DELAY}
  />,
  {
    onShellReady() {
      shellRendered = true;
      const body = new PassThrough();

      responseHeaders.set("Content-Type", "text/html");

      resolve(
        new Response(body, {
          headers: responseHeaders,
          status: responseStatusCode,
        })
      );

      pipe(body);
    },
    onShellError(error: unknown) {
      reject(error);
    },
    onError(error: unknown) {
      responseStatusCode = 500;
      // Log streaming rendering errors from inside the shell.  Don't log
      // errors encountered during initial shell rendering since they'll
      // reject and get logged in handleDocumentRequest.
      if (shellRendered) {
        console.error(error);
      }
    },
  }
);

setTimeout(abort, ABORT_DELAY);

});
}
`
still, its not working with google search console, thru browser it is working fine.

I'll get back to you soon, I think it has to do with https configuration I can't remember so I'll check my code and see if I can remember what the issue was.


Calling *.get_state_dict() does not get the parameters for convolutional layers

When calling state_dict = net.get_state_dict(), in the classification.py example with a CNN architecture, it does not retrieve the parameters for convolutional layers. I cannot identify the issue as in the sequential.cpp only the Activation & Pool2d are excluded.

@miquel-florensa answered my problem. We can only access the parameters for the convolutional layer after the first forward pass.
@lhnguyen102 you can leave it as it is.


mlt, mgt symbols don't work

#99 doesn't seem to have worked.
Typing mlt/mgt yields m < and m > instead of << and >>. The lt/gt is getting parsed first I suppose. The TeX alts ll/gg don't work either (produces the characters themselves).
Tested on the asciimath website

The AsciiMath website uses MathJax to render the math.  MathJax's version of asciimath tends to lag behind the version in this repo by a few months or more.   MathJax's version hasn't yet incorporated the mgt addition.


MemBlockStorage: Detect when blocks failed to load

saveBlock can return false, and if ignored, the error might not be detected until much later.
This can easily happen when one provides a block at the wrong height
(builds a block on top of Genesis and forget to pass Genesis in blocks).

Ah well, apparently an unittest relied on this bug. So blocked on https://github.com/bpfkorea/agora/pull/967

Rebased on v0.x.x


Columns of type datetimeoffset are formatted strangely

Reporting here in lieu of a user of this tap.
It seems this tap formats these fields in a strange way, e.g. b096207679000000d5aa0000000007e0.
Links:

https://learn.microsoft.com/en-us/sql/t-sql/data-types/datetimeoffset-transact-sql?view=sql-server-ver16
https://github.com/BuzzCutNorman/tap-mssql/issues/31

@edgarrmondragon Thanks for raising this issue.  I am able to replicate the issue when using the driver_type: pymssql.  The driver type of pyodbc does not have the issue with datetimeoffset fields.
There is an open issue at pymssql which leads to a FAQ explaining the newer MS SQL date and time data types have not been added to FreeTDS.

https://github.com/pymssql/pymssql/issues/649
http://www.pymssql.org/faq.html#pymssql-does-not-unserialize-date-and-time-columns-to-datetime-date-and-datetime-time-instances

I'm having this issue as well. I switched to pyodbc but when I'm connecting to a sqlserver cluster pyodbc doesn't seem to work.

@wesseljt what is the error you are getting?

At this point I'm not even sure what I did to create the initial error - however I was use the 17 ODBC Driver

Ok @vmesel  and @BuzzCutNorman I have come full circle here. I was ONLY getting this error with pymssql as well and for unrelated reasons I am having issues connecting to a specific DB using pyodbc. Here are logs from my pymssql issue if thats helpful:
2023-09-27 11:00:02,505 | ERROR    | sqlalchemy.pool.impl.QueuePool | Exception during reset or similar
Traceback (most recent call last):
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 763, in _finalize_fairy
    fairy._reset(pool, transaction_was_reset)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1038, in _reset
    pool._dialect.do_rollback(self)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/sqlalchemy/dialects/mssql/base.py", line 2845, in do_rollback
    super(MSDialect, self).do_rollback(dbapi_connection)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 683, in do_rollback
    dbapi_connection.rollback()
  File "src/pymssql/_pymssql.pyx", line 316, in pymssql._pymssql.Connection.rollback
  File "src/pymssql/_pymssql.pyx", line 300, in pymssql._pymssql.Connection.rollback
  File "src/pymssql/_mssql.pyx", line 1056, in pymssql._mssql.MSSQLConnection.execute_non_query
  File "src/pymssql/_mssql.pyx", line 1077, in pymssql._mssql.MSSQLConnection.execute_non_query
  File "src/pymssql/_mssql.pyx", line 1251, in pymssql._mssql.MSSQLConnection.format_and_run_query
  File "src/pymssql/_mssql.pyx", line 1789, in pymssql._mssql.check_cancel_and_raise
  File "src/pymssql/_mssql.pyx", line 1835, in pymssql._mssql.raise_MSSQLDatabaseException
pymssql._mssql.MSSQLDatabaseException: (20004, b'DB-Lib error message 20004, severity 9:\nRead from the server failed\nNet-Lib error during Connection reset by peer (54)\n')
2023-09-27 11:00:02,512 | INFO     | singer_sdk.metrics   | METRIC: {"type": "timer", "metric": "sync_duration", "value": 5.569470405578613, "tags": {"stream": "dbo-table5", "context": {}, "status": "succeeded"}}
2023-09-27 11:00:02,512 | INFO     | singer_sdk.metrics   | METRIC: {"type": "counter", "metric": "record_count", "value": 0, "tags": {"stream": "dbo-table5", "context": {}}}
2023-09-27 11:00:02,513 | INFO     | tap-mssql            | Skipping deselected stream 'dbo-table1'.
2023-09-27 11:00:02,513 | INFO     | tap-mssql            | Skipping deselected stream 'dbo-table2'.
2023-09-27 11:00:02,518 | INFO     | tap-mssql            | Beginning full_table sync of 'dbo-table3'...
Traceback (most recent call last):
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/bin/tap-mssql", line 8, in <module>
    sys.exit(Tapmssql.cli())
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/singer_sdk/tap_base.py", line 498, in invoke
    tap.sync_all()
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/singer_sdk/tap_base.py", line 456, in sync_all
    stream.sync()
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/singer_sdk/streams/core.py", line 1161, in sync
    signpost = self.get_replication_key_signpost(context)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/singer_sdk/streams/core.py", line 408, in get_replication_key_signpost
    if self.is_timestamp_replication_key:
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/singer_sdk/streams/core.py", line 219, in is_timestamp_replication_key
    return is_datetime_type(type_dict)
  File "/Users/john/Documents/Code/loader/elt/.meltano/extractors/tap-mssql/venv/lib/python3.10/site-packages/singer_sdk/helpers/_typing.py", line 137, in is_datetime_type
    raise EmptySchemaTypeError
singer_sdk.helpers._typing.EmptySchemaTypeError: Could not detect type from empty type_dict. Did you forget to define a property in the stream schema?


Feature request: Allow specifying chat history for LMs

Hi DSPy developers,
First of all, thanks a lot for this great work!
Recently I've been trying to integrate DSPy into my work, but I stumbled upon the chat history specification. My task is to design a professional interviewer chatbot, therefore, the optimisation target for me is to optimise the conversation flow in diverse cases (such as with both cooperative and uncooperative interviewees). This is different from the existing DSPy modules which mostly focus on answer generation.
Although my task is also roughly answer generation, being able to specify the chat history is important. So I'm wondering is it already planned to add support for history specification? If not, do you think this aligns well with your development agenda?
For the moment I'll add the support in my inherited LM class. Looking forward to your response!
Best regards,
Shaojie Jiang

Update: I quickly realised that it's more complicated than I thought. After some investigation, I managed to make it work for my case. Please see the MWE:
chatbot.py.zip
Not sure I did it in an ideal way, but the solution looked quite hacky to me. Any suggestions on a better solution are much appreciated!

Hey @ShaojieJiang ! What does specifying chat history mean? Do you mean passing multiple user/assistant turns to chat LMs?

Hi @okhat, I have a similar scenario. What would be the best way to emulate these multiple user/assistant turns within input so that the end user can ask follow-up questions in a conversational flow?
One obvious way is to convert question->answer into question,history->answer but that would lose the nuances of multi-turn. An ideal way, I think should be so that history can be parsed into llm chat template similar to what @ShaojieJiang has done

Hi @okhat , apologies for the late response. I've found a solution for TextGrad and didn't pay much attention to the GitHub notifications.
Basically, I want to be able to specify the chat history in their original format ({"role": "user", "content": "..."}...) instead of the stringified version of the history (Here is the chat history: User: ... Assistant: ...). This is to optimise the LLM behaviour under given contexts (good or bad) so as to train them to handle different situations.
Here you can find a MWE of my solution for TextGrad. I tried the same for DSPy, but it's much more hacky as you might have seen from my attachments above.

I am in  a similar boat where I want to be able to do something like this:
messages=[]
resp=dspy.Predict(MyQA)("What is the capital of France...")
messages.append(resp)
resp=dspy.Predict(MyQA)("What is the native language name for the country",  messages)
messages.append(resp)
resp=dspy.Predict(MyQA)("What is the main district of the city",  messages)
....

Being able to simulate a conversation would be useful.
Also being able to evaluate this would be useful to.
Is this currently possible with the current dspy implementation?

You can achieve properly passing the chat history by overriding the default dspy.ChatAdatper and its method forward.
Then you can configure it using dspy.settings.configure(adapter=your_adapter_instance)


time series bar do not show date with format yyyy-mm-dd? only day and week

👀

@Foristkirito, the label shows the x-value in the same format as the x-axis. You can change the x-axis formatting to be yyyy-mm-dd:


RethinkDB

Hello,
Is there an example of how to use this with RethinkDB?
Any tutorial would be greatly appreciated.

I don't use RethinkDB but you could probably find the answer from Google:
Try these queries:

"rethinkdb nodejs"
"rethinkdb nodejs pagination"
"rethinkdb pagination"

You'd implement req.query.limit and req.skip for page limit and offset/skip respectively
Maybe this is a start https://stackoverflow.com/questions/34729763/rethinkdb-pagination-using-slice-or-limit-skip-with-changes

Tried it, nothing seems to work..


missed watermark in full-screen mode

Browser: Safari iOS 11.4
OS: iOS 11.4
Device: iPhone/iPad
Clappr Version: 0.2.25 http://clappr.io/demo
Steps to reproduce:

use any watermark with any position or custom UIContainerPlugin.extend for text:
Example: watermark: "https://upload.wikimedia.org/wikipedia/commons/7/7e/Cute-Ball-Favorites-icon.png", position: 'top-right',
open Safari browser on iPhone/iPad
Play video
change view to full-screen mode

Once the video is deployed in full screen, the watermark will disappear
Did you try to reproduce this issue at http://cdn.clappr.io/ - yes. I tried on http://clappr.io/demo

@MrSamoylov it is a known limitation for iOS devices.
While in fullscreen mode, it is the native controls which are used.
Technically, when video goes to full screen mode, it is handled by device mediaplayer (quicktime ?) and therefore it is not possible (AFAIK) to set overlay elements.

@MrSamoylov i think it is a global behaviour on all iOS devices browsers.

@kslimani thanks for information. I will try to find another way...


Update Appium dependency to v5

Bumps Appium dependency to v5 stable and adds fixes for breaking changes, also applied in MAUI here.
Fixes #19

iOS tests failing because of Xcodes version which will be updated imminently on the hosted agent images


bump cache lambda versions

Adds new webcomic redirects https://github.com/wellcomecollection/wellcomecollection.org/commit/10452eace82feb4f4eaeb62992338f7808b471e1#diff-74255061993180d579a41c79502079c46c9c256f6c71f7710b918638aa98f1f9

Merging as it's applied


Keras: Weights sharing

Netron app and version:  website
OS and browser version: Mac OS 13.5.2 Chrome 116.0.5845.187

Steps to Reproduce:

create a tf model and use the same layer object multiple times

multiple inputs to the same object (model1)
output of layer goes to the same layer (model2)
output of layer goes to the same layer with another layer in the middle (model3)

import tensorflow as tf

keras_input1 = tf.keras.Input((3, 10, 10))
keras_input2 = tf.keras.Input((3, 10, 10))
keras_input3 = tf.keras.Input((3, 10, 10))
tf_conv = tf.keras.layers.Conv2D(filters=16, kernel_size=3)
out1 = tf_conv(keras_input1)
out2 = tf_conv(keras_input2)
out3 = tf_conv(keras_input3)
inputs = [keras_input1, keras_input2, keras_input3]
outputs = [out1, out2, out3]

model1 = tf.keras.Model(inputs=inputs, outputs=outputs)
model1.save("model1.keras")

keras_input = tf.keras.Input((3, 10, 10))
tf_conv = tf.keras.layers.Conv2D(filters=10, kernel_size=3, padding="same")
out = tf_conv(keras_input)
for _ in range(5):
    out = tf_conv(out)
model2 = tf.keras.Model(inputs=[keras_input], outputs=[out])
model2.save("model2.keras")

keras_input = tf.keras.Input((3, 10, 10))
tf_conv = tf.keras.layers.Conv2D(filters=10, kernel_size=3, padding="same")
out = tf_conv(keras_input)
for _ in range(5):
    out = tf.keras.layers.ReLU()(out)
    out = tf_conv(out)
model3 = tf.keras.Model(inputs=[keras_input], outputs=[out])
model3.save("model3.keras")

open in netron

inputs name are not true -  is showing [ input kernel bias 0 1] and is [ input1, input2, input3, kernel, bias]
output is showing only 1
the edges are okay in model1 and model3 but in model2 it looks like only goes from node to the same node but is actually 5-edge

Please attach or link model files to reproduce the issue if necessary.
models.zip

@Chizkiyahu can you help investigate and recommend a pull request with a fix.

@Chizkiyahu can you help investigate and recommend a pull request with a fix.

I am investigating these cases in my work project
When I understood the correct way to extract the data
I will try to create PR with a fix

nested_function.keras.zip


BPF docs

Add manifest and docs for the eBPF dataplane tech preview.
Related issues/PRs

Main Felix PR: https://github.com/projectcalico/felix/pull/2219
Blog post: https://www.projectcalico.org/introducing-the-calico-ebpf-dataplane/
Todos

[ ] Document new config params
[ ] How-to guide
[ ] Troubleshooting
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 51e50dcd60a2bb5c8aaf179c53cb963dc28f396a
https://deploy-preview-3289--calico.netlify.com


Introduce isort to code base

Add isort to workoutizer

[ ] add isort to dev-requirements
[ ] run isort once to have all imports sorted
[ ] add isort check to pre-commit hook

done by #153  - thanks @Anyesh  🎉


End Citys with Elytra and structure searching

I was trying to find End cities with ships, but I couldn't find a single one. If I'm using this seed map, I have to create a new world with the same seed and then teleport to all the nearby End cities to find an Elytra. I would love it if you could add an option that will just show End cities with Elytra!
Additionally, something I found annoying was that if I wanted to view the structures in the End, it always told me to zoom in. Maybe you could change it so that the structures are always visible, making it easier to search for them!
(I used the online version)

I was trying to find End cities with ships, but I couldn't find a single one.

Ships aren't that rare, if you couldn't find a single one you must have not been search a lot

If I'm using this seed map, I have to create a new world with the same seed and then teleport to all the nearby End cities to find an Elytra.

You can use /seed to determine the seed of your current world, and then enter the seed in the map. No need to create a new world. You can also just use /locate to locate a nearby end-city ingame.

I would love it if you could add an option that will just show End cities with Elytra!

That isn't feasible as it would require generating the entire structure

Additionally, something I found annoying was that if I wanted to view the structures in the End, it always told me to zoom in. Maybe you could change it so that the structures are always visible, making it easier to search for them!

There are performance reasons why this limit exists. End cities often fail to generate because there isn't an island where they try to generate, so the map needs to calculate the terrain at all position, which isn't feasible when zoomed too far out.
I'm sorry I can't help you in this case. Good luck finding an Elytra!

Also, for vanilla worldgen, I'd recommend you use chunkbase, which does indicate which end cities have ships.


Support different package manager

As discussed here it should be possible to analyse different systems.
https://github.com/stefanjudis/credits-cli/issues/9

[ ] add support for bower
[ ] add support for jspm

@stefanjudis
I just finished a major code refactoring with the following commit in order to achieve better structure for different package managers. Tests are also updated.
I will be glad if you give me a CR before I move to bower and jspm, just to be sure I'm in the right direction. Of course I'm also open for further improvements :smiley:
Thanks!

we can have a look tomorrow. :)

Am 08.11.2015 um 14:00 schrieb Radimir Bitsov<EMAIL_ADDRESS>@stefanjudis https://github.com/stefanjudis
I just finished a major code refactoring with the following commit https://github.com/stefanjudis/credits/commit/2ff9ec787fdbd412e9b6593ddd6d9a75e9120414 in order to achieve better structure for different package managers. Tests are also updated.
I will be glad if you give me a CR before I move to bower and jspm, just to be sure I'm in the right direction. Of course I'm also open for further improvements
Thanks!
—
Reply to this email directly or view it on GitHub https://github.com/stefanjudis/credits/issues/3#issuecomment-154825310.

Love to see some of this merged.  I've been using a hacked version for a while now: https://github.com/Hypercubed/Project-Chi/blob/master/credits.md

Hi @stefanjudis, do you need help with this repo?

@Hypercubed oh yeah...
 I'd love to have another person on board. 🎉

Yes....  👍

Invite sent. :D
Happy to have you onboard. 🎉
I'd like to stick to a PR flow here and in case you need anything - make sure to ping me with @stefanjudis.

I might need access to credits-cli as well. I7m not sure what to do with all the greenkeeper PRs.

I might need access to credits-cli as well.

Will give you in 2min.
About the greenkeeper PR's. You drop them. :D Wouldn't spent to much time with them. Maybe you've got time to have a look a dep updates, which would be great.
For the future including semantic release would be awesome.


Add a blocking commit after each modification if autocommit is enabled.

This change modifies how "autocommit" works.  It forces each modification to block until the commit is complete.  Without this, if the program exited after modifying the sqlitedict, the changes might not make it to disk.  With this change, all changes are guaranteed to be on disk before the modification action returns.
Fixes #93 .

Sorry for the delay, but I finally have a working test for this.  Because this bug only shows up near program exit, I had to create a test that launches python in a subprocess, and because of path issues, I had to add a symlink for sqlitedict.py into the tests directory (or else my tests were picking up the system version of the library).

Is there anything more I need to do before this can be merged?

Sorry, I've been a bit busy lately. No, there's nothing else you need to do, please leave it with me.

I'm eager to get this merged into the main release.  I'd like to use this library at work, but they would prefer running a vanilla version of the software, and my use case will not work without this patch.

@endlisnis thanks for your patience. @mpenkov will be back to open source after the New Year!

I have completed all the requested changes.  Please let me know if there is anything more you'd like me to do.

OK, merged. Thank you for your hard work and your patience!!


Add support for dry running queries in BigQuery

Builds on previous work by @sjwhitworth
If the DRY_RUN environment variable is set to true, BigQuery doesn't run the job. Instead, if the query is valid, BigQuery returns statistics about the job such as how many bytes would be processed. If the query is invalid, an error returns. The default value is false.

Hey @brandfocus - thanks for making this PR! I think this idea is a very good one, but I always get hung up on thinking through the full implications of a feature like this.
This feature definitely looks like it would work when testing changes to a single model against an existing dbt dataset in BigQuery. I wonder though, what happens when:

The target dataset doesn't already exist in BigQuery (eg. in a CI context)
Multiple models have changed locally, but have not yet been run

In the first case, the dry-run will fail pretty much immediately because dbt will reference a table that doesn't exist yet.
The second case is a little more nefarious: the logic in your model might differ from the logic in your database. When the dry-run is invoked, BQ will validate your query against the logic in the database, but not the logic in your actual dbt project. This could mean that your dry-run succeeds, but a subsequent dbt run will fail.
What do you think?


[BUG] player state not same between native side and flutter dart side

Steps to Reproduce

Run video, let it reach end. after end isPlaying=false.
Seek to middle through progress indicator.  isPlaying=false still.
Now VideoPlayerController does not notify of new values as isPlaying=false.
But, the video player starts playing video as it was playing before it is completed.
In dart it does not notify because isPlaying is false.

Logs
Analyzing flutter_dplayer...
No issues found! (ran in 2.3s)

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.12.13+hotfix.7, on Mac OS X 10.15.3 19D76, locale en-GB)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.41.1)
[✓] Connected device (1 available)

• No issues found!

Temporary fix:
in the progress bar seekToRelativePosition function:
    void seekToRelativePosition(Offset globalPosition) async {
     ...
      final isCompleted = controller.value.position == controller.value.duration;
      await controller.seekTo(position);
      if (isCompleted) {
        //This is bug fix
        await controller.play();
      }
    }

Reproducible in latest master 1.20.0-8.0.pre.102 with latest video_player 0.10.11+2

Minimal reproducible code sample
import 'dart:async';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
   return MaterialApp(
     title: 'Video Example',
     home: Scaffold(
       appBar: AppBar(
         title: Text('Video example'),
       ),
       body: _BumbleBeeRemoteVideo(),
     ),
   );
 }
}

class _BumbleBeeRemoteVideo extends StatefulWidget {
 @override
 _BumbleBeeRemoteVideoState createState() => _BumbleBeeRemoteVideoState();
}

class _BumbleBeeRemoteVideoState extends State<_BumbleBeeRemoteVideo> {
 VideoPlayerController _controller;

 @override
 void initState() {
   super.initState();
   _controller = VideoPlayerController.network(
     'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4',
   );

   _controller.addListener(() {
     setState(() {});
   });
   _controller.initialize();
 }

 @override
 void dispose() {
   _controller.dispose();
   super.dispose();
 }

 String text = "init";

 @override
 Widget build(BuildContext context) {
   Timer(Duration(milliseconds: 100), () {
     setState(() {
       text =
           "controller isPlaying = " + _controller.value.isPlaying.toString();
     });
   });
   return Column(
     children: <Widget>[
       Container(
         padding: const EdgeInsets.all(20),
         child: AspectRatio(
           aspectRatio: _controller.value.aspectRatio,
           child: Stack(
             alignment: Alignment.bottomCenter,
             children: <Widget>[
               VideoPlayer(_controller),
               ClosedCaption(text: _controller.value.caption.text),
               _PlayPauseOverlay(controller: _controller),
               VideoProgressIndicator(_controller, allowScrubbing: true),
             ],
           ),
         ),
       ),
       Container(
         child: Center(
           child: Text(text),
         ),
       ),
     ],
   );
 }
}

class _PlayPauseOverlay extends StatelessWidget {
 const _PlayPauseOverlay({Key key, this.controller}) : super(key: key);

 final VideoPlayerController controller;

 @override
 Widget build(BuildContext context) {
   return Stack(
     children: <Widget>[
       AnimatedSwitcher(
         duration: Duration(milliseconds: 50),
         reverseDuration: Duration(milliseconds: 200),
         child: controller.value.isPlaying
             ? SizedBox.shrink()
             : Container(
                 color: Colors.black26,
                 child: Center(
                   child: Icon(
                     Icons.play_arrow,
                     color: Colors.white,
                     size: 100.0,
                   ),
                 ),
               ),
       ),
       GestureDetector(
         onTap: () {
           controller.value.isPlaying ? controller.pause() : controller.play();
         },
       ),
     ],
   );
 }
}

flutter doctor -v
[√] Flutter (Channel master, 1.20.0-8.0.pre.102, on Microsoft Windows [Version 10.0.18362.900], locale et-EE)
   • Flutter version 1.20.0-8.0.pre.102 at C:\Development\flutter_master
   • Framework revision f95f46e910 (8 hours ago), 2020-07-15 01:46:01 -0400
   • Engine revision be7595bafb
   • Dart version 2.9.0 (build 2.9.0-21.0.dev 20bf2fcf56)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
   • Android SDK at C:\Users\Isa\AppData\Local\Android\sdk
   • Platform android-30, build-tools 30.0.0
   • Java binary at: C:\Users\Isa\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763\jre\bin\java
   • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
   • All Android licenses accepted.

[X] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
   ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[√] Android Studio (version 4.0)
   • Android Studio at C:\Users\Isa\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763
   • Flutter plugin version 47.1.2
   • Dart plugin version 193.7361
   • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (2 available)
   • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
   • Web Server (web)        • web-server    • web-javascript • Flutter Tools

! Doctor found issues in 1 category.

Steps as described by the author. Observed behavior affects VideoProgressIndicator as well.

I am able to reproduce the issue on the latest stable and the master channel with video_player: ^2.1.6  after the video has ended when we seekto a position by tapping on the progress indicator the video starts playing but the progress bar doesn't update and _controller.value.isPlaying still remains false. And as soon as the video ends the progress bar moves to the end. The issue is replicable on both IOS and Android.

code sample
import 'package:video_player/video_player.dart';
import 'package:flutter/material.dart';
import 'package:video_player_example/main.dart';

void main() {
  runApp(
    MaterialApp(home: VideoPlayerDocs()),
  );
}

class VideoPlayerDocs extends StatefulWidget {
  @override
  _VideoPlayerDocsState createState() => _VideoPlayerDocsState();
}

class _VideoPlayerDocsState extends State<VideoPlayerDocs> {
  late VideoPlayerController _controller;

  @override
  void initState() {
    super.initState();
    _controller = VideoPlayerController.network('$chromeCastUrl')
      ..initialize().then((_) {
        // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
        setState(() {});
        print('initialized');
        print('video duration =${_controller.value.duration}');
        _controller.addListener(() {
          print(' is playing =${_controller.value.isPlaying}');
          final isCompleted =
              _controller.value.position == _controller.value.duration;
          if (isCompleted) {
            print(_controller.value.isPlaying);
            print('video ended at ${_controller.value.position}');
            print(' is playing =${_controller.value.isPlaying}');
          }
        });
      });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Video Demo',
      home: Scaffold(
        appBar: AppBar(
          automaticallyImplyLeading: true,
        ),
        body: Center(
          child: _controller.value.isInitialized
              ? AspectRatio(
                  aspectRatio: _controller.value.aspectRatio,
                  child: Stack(
                    alignment: Alignment.topCenter,
                    children: <Widget>[
                      VideoPlayer(_controller),
                      VideoProgressIndicator(_controller, allowScrubbing: true),
                    ],
                  ),
                )
              : Container(),
        ),
        floatingActionButton: FloatingActionButton(
          onPressed: () {
            setState(() {
              _controller.value.isPlaying
                  ? _controller.pause()
                  : _controller.play();
            });
          },
          child: Icon(
            _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
          ),
        ),
      ),
    );
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }
}

console output
Running "flutter pub get" in example...
Launching lib/main.dart on iPhone 12 Pro Max in debug mode...
Warning: Missing build name (CFBundleShortVersionString).
Warning: Missing build number (CFBundleVersion).
Action Required: You must set a build name and number in the pubspec.yaml file version field before submitting to the App Store.
Xcode build done.                                           37.1s
Connecting to VM Service at ws://<IP_ADDRESS>:52323/XHVo1T_3mVQ=/ws
TX and TY are 0. Rotation: 0.  Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

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

[✓] Connected device (3 available)
    • sdk gphone arm64 (mobile) • emulator-5554 • android-arm64  • Android 11 (API 30) (emulator)
    • macOS (desktop)           • macos         • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)              • chrome        • web-javascript • Google Chrome 91.0.4472.114

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.4.0-1.0.pre.78, on macOS 11.4 20F71 darwin-arm, locale en-IN)
    • Flutter version 2.4.0-1.0.pre.78 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 761d568421 (2 days ago), 2021-07-05 05:21:03 -0400
    • Engine revision 37e3922ae8
    • Dart version 2.14.0 (build 2.14.0-276.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

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

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • 6A434744-B348-4FB3-AB10-131292174456 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 91.0.4472.114

! Doctor found issues in 1 category.

This issue is a duplicate of #80811, Please follow there for more updates. if you disagree feel free to comment and I will reopen it.
Thank you for your contribution


List of installed crates?

Would be great to have a command to list installed crates with their versions and note of new versions.
Both for installed binaries and dependency crates

Today there's cargo install --list for installed crates, and there's the cargo-outdated project for dependencies. Does that work for your needs?

Hm... i didn't know about cargo-outdated.
Thanks for tip, though i hope it will get integrated into cargo eventually.
Kinda nice thing like in npm :)
It would be good to have also option to update all outdated binaries :)
I suppose i'll close this issue since it is not an issue.

Hi there, I have a problem,
why not have an option -r for recursive tree representation.
So that it can show subdependencies as well.
Cause I had an error in libc of one crate, which i couldn't trace back.

@Hyperion101010 Are you talking about cargo outdated? Please file an issue to the project's repository.

Potentially helpful-- here's how I list user-installed crates and update them.
cargo install --list |
awk '/^\w/ { print $1 }' |
while read x; do cargo install "$x"; done

You all might consider cargo-list, which I created earlier this year.


Error when trying to publish an extension

When trying to publish an extension with your task, I got this error:

 ##[debug]exec tool: C:\a\1\s\node_modules\.bin\tfx.cmd
##[debug]Arguments:
##[debug]   extension
##[debug]   publish
##[debug]   --json
##[debug]   --token
##[debug]   ********
##[debug]   --service-url
##[debug]   https://marketplace.visualstudio.com/
##[debug]   --root
##[debug]   C:\a\1\s
##[debug]   --manifest-globs
##[debug]   vss-extensions.json
##[debug]   --loc-root
##[debug]   C:\a\1\s
##[debug]   --overrides-file
##[debug]   C:\Users\BUILDG~1\AppData\Local\Temp\PackageTask-0.753142.tmp
[command]C:\a\1\s\node_modules\.bin\tfx.cmd extension publish --json --token ******** --service-url https://marketplace.visualstudio.com/ --root C:\a\1\s --manifest-globs vss-extensions.json --loc-root C:\a\1\s --overrides-file C:\Users\BUILDG~1\AppData\Local\Temp\PackageTask-0.753142.tmp

C:\a\1\s\node_modules\tfx-cli\_build\lib\qfs.js:39
function fileAccess(path, mode = exports.F_OK) {
                               ^
SyntaxError: Unexpected token =
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\a\1\s\node_modules\tfx-cli\_build\lib\command.js:3:12)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
rc:1
success:false
task result: Failed
Processing: ##vso[task.complete result=Failed;]tfx failed with error: Error: C:\a\1\s\node_modules\.bin\tfx.cmd failed with return code: 1
tfx failed with error: Error: C:\a\1\s\node_modules\.bin\tfx.cmd failed with return code: 1

It was on a hosted build agent, today.
I tried multiple times
Thank you

I think it's related to this
https://github.com/Microsoft/tfs-cli/issues/141#issuecomment-245200656
Apparently there is something wrong with the latest version of tfx-cli published a few hours ago.

Indeed, this fixes my previous error.
Now, I'm back with an error Ihad yesterday:
2016-09-07T12:09:51.8506807Z
2016-09-07T12:09:51.8506807Z npm WARN enoent ENOENT: no such file or directory, open 'C:\a\1\s\package.json'
2016-09-07T12:09:51.8506807Z npm WARN s No description
2016-09-07T12:09:51.8506807Z npm WARN s No repository field.
2016-09-07T12:09:51.8506807Z npm WARN s No README data
2016-09-07T12:09:51.8506807Z npm WARN s No license field.
2016-09-07T12:09:51.9116807Z [command]C:\a\1\s\node_modules\.bin\tfx.cmd extension publish --json --token ******** --service-url https://marketplace.visualstudio.com/ --root C:\a\1\s --manifest-globs vss-extensions.json --loc-root C:\a\1\s --overrides-file C:\Users\BUILDG~1\AppData\Local\Temp\PackageTask-0.208987.tmp
2016-09-07T12:09:51.9116807Z
2016-09-07T12:09:51.9116807Z
2016-09-07T12:10:12.2311178Z Failed Request: Not Found(404) -
2016-09-07T12:10:12.3071177Z tfx failed with error: Error: C:\a\1\s\node_modules\.bin\tfx.cmd failed with return code:<PHONE_NUMBER>
2016-09-07T12:10:12.3161182Z ##[section]Finishing: Publish Extension

My extension worked, until I added a new build task that added a lot of weight.
This might be the cause?
the VSIX is now 65 Mb.
Maybe there is a limit per extension ? I could not find this information in the documentation

Yes, I just confirmed that by trying to upload the extension using the web interface:
Maximum size is 20 Mb
Maybe you could display another message ? (in the response body of the server, there myght be a better one ?)
I'm closing this ticket
Thank you


Support for specifying relative path at command line.

:watch:

Also - are there any tests for new change?

I missed adding tests specific to this change ... I was planning to add some end to end tests like I mentioned before either from VS or command line to test the full code generated in end to end scenarios ... not sure if I get a chance before this week though given the issues I have...


feat: Ensure modelmesh container comes last in list

Motivation
Kubernetes starts containers sequentially in order, which can mean the start of later containers is held up if their images have to be pulled. For large model server images this can cause a problem because model-mesh waits for a limited amount of time at startup for the runtime to become ready before returning ready from its own probe.
Making the mm container last in the list ensures that no image pulling time will be included in this startup polling time and avoids unnecessary timeouts / extended readiness probe failures.
Modifications

Add ensureMMContainerIsLast function to runtime deployment reconciliation logic which runs after other modifications to the pod spec.
Update unit test fixtures accordingly

Result
More stable deployments in cases where the model server image takes a long time to pull.
Signed-off-by: Nick Hill<EMAIL_ADDRESS>

/lgtm


CSS

CSS
Use Case
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptable Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

Completed lesson 2 in Module 3!