 Tabs are cool !

I'll check it and merge if working when I'm back home, thanks for your contribution!


step_into doesn't honor resource's provides naming

I've illustrated this here:
https://github.com/pburkholder/chefspec/tree/pdb/provides/examples/provides
where resources/lwrp uses the provides keyword to name the resources as foobar:
actions :something
default_action :something

provides :foobar

attribute :name,   kind_of: String, name_attribute: true

But the step_into still expects the naming convention: cookbookname_ resourcename
So this works:
ChefSpec::SoloRunner.new(step_into: ['provides_lwrp'])
        .converge(described_recipe)

but this fails
ChefSpec::SoloRunner.new(step_into: ['foobar'])
        .converge(described_recipe)

As a naive user I expected to step_into the name of the resource per the provides, and was mystified why that wasn't happening. I think it would be a nice feature if chefspec stepped into 'foobar'.
Thanks for listening -- Peter

PRs welcome!

I'll see what I can do. I wanted to confirm it was a bug and not a feature
first.
On Tue, Jun 9, 2015 at 1:26 PM, Seth Vargo<EMAIL_ADDRESS>wrote:

PRs welcome!
—
Reply to this email directly or view it on GitHub
https://github.com/sethvargo/chefspec/issues/604#issuecomment-110440009.

--
Peter Burkholder — Customer Success Engineer
Unavailability: May 19, Training. June 11-12, DevOpsDays DC
301-204-5767 –<EMAIL_ADDRESS>– *my: *Linkedin
http://www.linkedin.com/in/pburkholder  Twitter
http://www.twitter.com/pburkholder  Cal
https://www.google.com/calendar/embed?src=pburkholder%40chef.io&mode=WEEK
endar
CHEF
CHEF.IO http://www.chef.io/
TM
chef.io http://www.chef.io/   Blog http://www.chef.io/blog/   Facebook
https://www.facebook.com/getchefdotcom   Twitter
https://twitter.com/chef   Youtube https://www.youtube.com/getchef


feat/numberInput

Implements the NumberInput Component.

@Vesta-Nassone please fix the following bruv:
9:33:11 AM: Build ready to start
9:33:12 AM: build-image version: be42e453d6c8f171cc2f654acc29c0a8b60e6d93
9:33:12 AM: build-image tag: v3.7.1
9:33:12 AM: buildbot version: 449a896d650f66a48d6924703527235917156153
9:33:12 AM: Fetching cached dependencies
9:33:13 AM: Starting to download cache of 200.3MB
9:33:14 AM: Finished downloading cache in 1.785092258s
9:33:14 AM: Starting to extract cache
9:33:23 AM: Finished extracting cache in 8.933892716s
9:33:23 AM: Finished fetching cache in 10.763214309s
9:33:23 AM: Starting to prepare the repo for build
9:33:24 AM: Preparing Git Reference pull/9/head
9:33:25 AM: Different publish path detected, going to use the one specified in the Netlify configuration file: 'storybook-static' versus 'storybook-static/' in the Netlify UI
9:33:25 AM: Starting build script
9:33:26 AM: Installing dependencies
9:33:26 AM: Python version set to 2.7
9:33:26 AM: Started restoring cached node version
9:33:28 AM: Finished restoring cached node version
9:33:29 AM: v12.18.0 is already installed.
9:33:29 AM: Now using node v12.18.0 (npm v6.14.4)
9:33:30 AM: Started restoring cached build plugins
9:33:30 AM: Finished restoring cached build plugins
9:33:30 AM: Attempting ruby version 2.7.1, read from environment
9:33:31 AM: Using ruby version 2.7.1
9:33:31 AM: Using PHP version 5.6
9:33:31 AM: Started restoring cached yarn cache
9:33:31 AM: Finished restoring cached yarn cache
9:33:32 AM: Started restoring cached node modules
9:33:32 AM: Finished restoring cached node modules
9:33:32 AM: Installing NPM modules using Yarn version 1.22.4
9:33:32 AM: yarn install v1.22.4
9:33:32 AM: [1/5] Validating package.json...
9:33:32 AM: [2/5] Resolving packages...
9:33:33 AM: success Already up-to-date.
9:33:33 AM: $ tsdx build
9:33:43 AM: ⠙ Creating entry file  98%                 7.6s, estimated 7.8s
9:33:43 AM: ✓ Creating entry file 7.6 secs
9:33:43 AM: Browserslist: caniuse-lite is outdated. Please run:
9:33:43 AM: npx browserslist@latest --update-db
9:33:43 AM: ⠙ Building modules  3%                  0.4s, estimated 13.4s
9:33:43 AM: ⠹ Building modules  5%                  0.6s, estimated 13.4s
9:33:44 AM: ⠸ Building modules  7%                  1.0s, estimated 13.4s
9:33:47 AM: ⠼ Building modules  31%                 4.2s, estimated 13.4s
9:33:47 AM: ⠴ Building modules  32%                 4.2s, estimated 13.4s
9:33:47 AM: ⠦ Building modules  32%                 4.4s, estimated 13.4s
9:33:48 AM: Browserslist: caniuse-lite is outdated. Please run:
9:33:48 AM: npx browserslist@latest --update-db
9:33:48 AM: Browserslist: caniuse-lite is outdated. Please run:
9:33:48 AM: npx browserslist@latest --update-db
9:33:48 AM: Browserslist: caniuse-lite is outdated. Please run:
9:33:48 AM: npx browserslist@latest --update-db
9:33:48 AM: Browserslist: caniuse-lite is outdated. Please run:
9:33:48 AM: npx browserslist@latest --update-db
9:33:48 AM: Browserslist: caniuse-lite is outdated. Please run:
9:33:48 AM: npx browserslist@latest --update-db
9:33:48 AM: Browserslist: caniuse-lite is outdated. Please run:
9:33:48 AM: npx browserslist@latest --update-db
9:33:49 AM: ⠧ Building modules  49%                 6.6s, estimated 13.4s
9:33:50 AM: ⠇ Building modules  55%                 7.4s, estimated 13.4s
9:33:51 AM: ⠏ Building modules  65%                 8.7s, estimated 13.4s
9:33:52 AM: ⠋ Building modules  72%                 9.6s, estimated 13.4s
9:33:52 AM: [tsdx]: Your rootDir is currently set to "./". Please change your rootDir to "./src".
9:33:52 AM: TSDX has deprecated setting tsconfig.compilerOptions.rootDir to "./" as it caused buggy output for declarationMaps and occassionally for type declarations themselves.
9:33:52 AM: You may also need to change your include to remove "test", which also caused declarations to be unnecessarily created for test files.
9:33:52 AM: [tsdx]: Your rootDir is currently set to "./". Please change your rootDir to "./src".
9:33:52 AM: TSDX has deprecated setting tsconfig.compilerOptions.rootDir to "./" as it caused buggy output for declarationMaps and occassionally for type declarations themselves.
9:33:52 AM: You may also need to change your include to remove "test", which also caused declarations to be unnecessarily created for test files.
9:33:52 AM: Error: ENOENT: no such file or directory, open '/opt/build/repo/dist/src/inputs/input/index.d.ts'
9:33:52 AM: error Command failed with exit code 1.
9:33:52 AM: info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
9:33:52 AM: Error during Yarn install
9:33:52 AM: Build was terminated: Build script returned non-zero exit code: 1
9:33:52 AM: Failing build: Failed to build site
9:33:52 AM: Failed during stage 'building site': Build script returned non-zero exit code: 1
9:33:52 AM: Finished processing build request in 40.107330224s

@Vesta-Nassone just fix that error that is preventing Netlify from building Storybook then you should be set.


Fix moving Android Java directory instead of files

When the Android Java directory is not versioned, the move functionality was not implemented correctly.
Instead of copying content of android/app/src/main/java/<old_bundleid>, it would move the whole directory into the new one. For instance, having old_bundleid = old.bundle and new_bundleid = new.bundle, the directory
java/
  old/
    bundle/
      MainActivity.java
      MainApplication.java

would be moved to
java/
  new/
    bundle/
      old/
        bundle/
          MainActivity.java
          MainApplication.java

instead of
java/
  new/
    bundle/
      MainActivity.java
      MainApplication.java

This pull request fixes this behaviour.
N.B.: This happens only if the React Native project is not versioned.

What do you mean by the RN project not being versioned? Do you mean version controlled?

Yes. in that case you use a different command, which is not equivalent to git mv.
I don't think there is a issue related to this. I needed the fix for my project, and I figured I could submit the merge request, but I guess you could just fix it yourself.


AutoCompleteCreatable doesn't work with AutoCompleteInput tags

When selecting the creatable, the render function is passed an object with only the remove function ({ onRemove } )
I may be missing something, but a Codesandbox demo of creatable with tags would be great!

You're right. Creatable does not provide the right object. Thanks for creating this issue

I am also facing same issue. values are not setting up in tags in  type "UseAutoCompleteReturn"
This causing the empty rendering span with no value inside.

@jamesopti @yashrank4 this should be fixed in v4.5.10


Major udpate, with huge refractoring of client

Major client refractoring. Removed all old IO calls Created httpClient handling all IO to backend Created Queue handles a list of customers as well as handles calling the backend Created Panel with Online/offline lists with a next refresh button. Added a "add customer button" with dropdown menus selecting items and priority and autofill capabilities in the Custname Added autorefresh task every 2minutes to automatically update the queue as well as update the panel with the uptodate queue.

Still needs discord webhook capabilities, but should be good enough until then


[CTX-604] fix: return error when tests fail

Previously, the rule-testing functionality here was instantiating a policy-engine test harness after the tests were run, which would detect zero rego tests and always pass. Since the testing logic is already encoded here rather than in policy-engine due to the way this codebase automatically processes input fixtures, it didn't make sense to call policy-engine in this way.

@jaspervdj-snyk would you mind giving an opinion on whether this fix for the bug https://snyksec.atlassian.net/browse/CTX-604 is valid? I've not really been in this area before 🙏
Running failing and passing tests using the develop binary seems to work appropriately with this PR, but I haven't tested the integration with the main CLI yet - I'm not sure how to actually do that with a custom build.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@craigfurman The fixture processing is very useful but it's black box testing.  I think it makes sense to have unit testing as well, if you want to test individual functions (for example in libraries). A very contrived example of that is here: https://github.com/snyk/cloud-custom-rules-demo/blob/main/rules/DEMO_014/main.rego#L25.

@jaspervdj-snyk I'm not quite sure what you mean - do you mean that by removing the call to policy-engine/test, I've inadvertently removed the ability of users to write actual rego tests instead of being confined to simple fixtures + snapshots? I hadn't considered that use case existed, good point! 🤔
But, in main today, what does that actually look like in practice? We see only 1 test being run, which is a little misleading because the other 13 examples in that demo are still tests, conceptually. Maybe this could be improved with a bit more output, something like:
Running snapshot tests...
9/10 snapshot tests passed
Running rego tests...
1/1 rego tests passed
exit 1

WDYT?

I think that output looks great!  Though "spec" is probably better than "snapshot" for consistency?  I think they're called "specs" elsewhere, e.g. in scaffolding.

Cool, I'll do that and will tag you for review again soon. Thanks!


Add Colégio Resgate

@willdevx The first verification stage is complete: the official domain for  Colégio Resgate is www.colegio-resgate.com.br, to the best of my knowledge. This is just an informational note. The pull request is still under review. The review may take some more time. I greatly appreciate your patience. Here is the proof of domain ownership: https://www.colegio-resgate.com.br/noticia/canais-de-comunicaao-com-os-colgios-resgate--sao-lzaro-145

@willdevx Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Investigate Performance Disparity: Benchmarks of Swoole PHP in Alpine vs. Ubuntu Images

I conducted performance benchmarks on a simple Swoole PHP "hello world" application, comparing its requests per second (RPS) on both an Ubuntu image and an Alpine image.
Surprisingly, the Ubuntu image yielded 35,000 RPS, while the Alpine image only achieved 15,000 RPS.
I'm seeking an explanation for this significant performance difference.
Metrics suggest that Alpine may be negatively impacting performance.
Any insights or explanations would be greatly appreciated!

I'm sorry to say I can't provide an exact reason for your observation.
While the "Hello World!" test can provide a simple performance measure, it's not a comprehensive benchmark for Swoole applications. To illustrate, if we were to print "Hello World!" 1,000,000,000 times, the time and memory consumed would likely be similar whether you use Swoole or not.
The main strength of Swoole, particularly when compared to PHP-FPM, lies in its concurrent IO processing. This is particularly beneficial for operations such as database queries, API calls, and file manipulations. In most PHP applications, server time is predominantly consumed by IO operations, often forming the bottleneck. Hence, a more representative benchmark for Swoole would include some IO operations. This kind of benchmarking scenario is more reflective of real-world use cases for web applications.
I have previously performed a different benchmark using Swoole, where I invoked numerous sleep() functions (where each sleep() function call can be considered as a tiny concurrent job/request). While not directly comparable, I hope it provides some insight into the performance characteristics of Swoole.
Thanks


Ability to use subrows

Following problem:

I have historized records
As default the latest version of each record shall be shown in the Datatable
applying details to each of these "main rows" will open a details view with the other versions
the other versions have the same attributes and shall be comparable with all other records
so I'd like to use the current configuration / state of the table to render the subrows

<ng-template let-row="row" let-expanded="expanded" ngx-datatable-row-detail-template> 	<div class="subrows"> 		<datatable-body-row [columns]="getTableColumns()" [isSelected]='isSelected(subrow)' (activate)="onActivate($event, i, subrow)" 		*ngFor="let subrow of (getSubrows(row) | async); let i = index; trackBy: rowIdent" [row]="subrow" [innerWidth]="100" [offsetX]="0" 		[rowIndex]="i" [rowClass]="getSubrowClass"></datatable-body-row> 	</div> </ng-template>
What kind of change does this PR introduce? (check one with "x")

[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
It seems not to be possible to create subrows in details.
What is the new behavior?
Now I can create subrows in the details template
Does this PR introduce a breaking change? (check one with "x")

[ ] Yes
[X] No
... I don't think so

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:
If PR accepted, I could create a demo if wished so

OMG, how is this not verified and merged yet...this would save me days of work trying to recreate the same thing!

hope this will be solved by PR #1273

it seems not to make sense in joining this project


UI/UX + landing

Improved UI and UX and included a landing page. The routing for the entire application is processed in App.tsx. I also resolved the Monaco file retrieval bug that was appearing in the electron console.
Best,
Ramtin

Good stuff Ramtin!  Love the Monaco fix!

Digging the landing page and home pages, and routing. Super snappy!
Thank you for the hoverable dropdown navbar <3


Strict mode got me bad

In strict mode things work a bit diffrent. Specially with catches an $_ one needs to take care.
Added an strict mode save check for properties in the app.json.
Added an id variable so that the id could be printed without an error in the catch phrase.
sorry for the trouble...

Is this a public feed?
Resolve-DependenciesFromAzureFeed -organization "https://dev.azure.com/TEST/" -feed "BCApps" -appsFolder $PSScriptRoot

No its just a placeholder so that it will parse the app.json's. The test is not used to test the uploading itself.
But if you're intrested we could extend your helloworld (create a new one) with a more complex dependency tree that uses Resolve-DependenciesFromAzureFeed function.


refactor(api): refactor aspirate/dispense

Closes #2235
overview
This PR adds aspirate and dispense functions to hardware_control
changelog
Changed instruments cache from being a cache of pipette model to being a cache of all pipette config values
Added:

aspirate(mount: types.Mount, volume: float = None, rate: float = 1.0)
dispense(mount: types.Mount, volume: float = None, rate: float = 1.0)
Method to retrieve pipette properties: attached_instruments
backend methods: set_active_current(), set_pipette_speed(), Controller._connect()

Corrected _set_temp_pipette_speed() which was using 'dispense_flow_rate' for both aspirate and dispense

Tested aspirate & dispense on sanni-t bot


fix text color on dark mode changing to light mode color while its being edited.

Hi, I noticed that on dark mode, the text element was changing color back to its light mode variant while being edited (white turns back to black, etc...).
Upon looking, I saw that --appearance-filter was not being applied to the floating textarea. It was only applied to the .excalidraw class while the floating textarea is being appended to the body which put it outside of .excalidraw.
This PR adds .excalidraw class to the floating textarea and also adds .Appearance_dark to it while the dark mode is on.
Before

After

Thanks! ❤


SimpleVar notifies Observers with wrong value

It seems I've found a nasty bug in 2.0-M5. When setValue(newVal) is called on SimpleVar, it updates the field value on SimpleVar, then calls invalidate() from its super class ValBase. This in turn notifies all Observers using its own field value. But the later only gets updated on getValue(), which was never called.
Maybe I'm missing something here. I don't get that AccuMap thing (yet). I'll try to come up with a test case later.

Yes, please, try to come up with a test case.

Probably the piece you are missing is that notifyObservers on Val should be called with the old value of Val. Each observable entity in ReactFX has one canonical observer that accepts a canonical description of the update (i.e. no special handling of InvalidationListener and ChangeListener). For Val, the canonical observer is the consumer of the old value—this is the Consumer<? super T> in
ValBase<T> extends ObservableBase<Consumer<? super T>, T>

A canonical description of the change is the old value (the second type argument to ObservableBase above—T).
Then both InvalidationListener and ChangeListener can be recovered from this kind of observer. The InvalidationListener just ignores the old value. The ChangeListener will need to call getValue() to obtain the new value.

Morning,
I cannot commit from work, but I can at least paste something in here. For me, the following test case fails on 2.0-M5.
public class VarTest
{
    @Test
    public void checkSimpleVar()
    {
        final String firstVal = "foo";
        final String secondVal = "bar";

        final Var<String> var = Var.newSimpleVar(firstVal);

        // Check that only invalidation is fired when setting the same value again.
        final Subscription sub1 = Subscription.multi(
                var.observe(it -> fail("Observer was notified without change.")),
                var.observeInvalidations(it -> assertEquals("Invalidation Observer was notified with wrong Observable.", var, it)),
                var.observeChanges((obs, oldVal, newVal) -> fail("Change Observer was notified without change.")));
        var.setValue(firstVal);
        sub1.unsubscribe();

        // check that everyone receives the right values on a real change
        final Subscription sub2 = Subscription.multi(
                var.observe(it -> assertEquals("Observer was notified with wrong value.", secondVal, it)),
                var.observeInvalidations(it -> assertEquals("Invalidation Observer was notified with wrong Observable.", var, it)),
                var.observeChanges((obs, oldVal, newVal) ->
                {
                    assertEquals("Change Observer was notified with wrong Observable.", var, obs);
                    assertEquals("Change Observer was notified with wrong old value.", firstVal, oldVal);
                    assertEquals("Change Observer was notified with wrong new value.", secondVal, newVal);
                }));
        var.setValue(secondVal);
        sub2.unsubscribe();
    }
}

And it fails pretty hard. The Observer (from Var.observe()) gets the old value instead of the new. Even better, the Invalidation Observer (from Var.observeInvalidations()) gets notified with the old value as well instead of the Observable.
Interestingly, the later method works the first time, when no actual change occured. I have no idea yet how exactly this happens.

Excuse my brevity, it is very late night where I am, but everything seems to work as it should. The observer registered with observe is expected to receive the old value (see my previous comment). The observeInvalidations method does not take an InvalidationListener as you might expect (see it's signature), but a consumer of the old value as well. In those assertions, you are comparing a Var to String, no wonder it fails.

Oh, interesting, I read that as an implementation detail, sorry. So, what's the point then to have observeInvalidations() and observe() if they both behave basically the same? Also, it's easy to confuse this due to EventStream.observe(), which behaves very differently from Val.observe(). And of course there is the name clash between JavaFX and ReactFX on observing invalidations.
 ;)

OK, my thoughts so far.
First of, I've found the documentation on Observable. I don't see it in my IDE when calling observe() on some other class, that's how I missed it. You did a good job on describing the situation there.
I see the point to have one class or interface that does the observer management. But the two most prominent examples for Observables are Val/Var and EventStream, which are two very different concepts. Having them share the interface Observable is basically asking for trouble. There cannot possibly be a contract on the interface on what the oberver receives. That is not what I would expect from an interface, which should define the behaviour as far as possible so that I can treat two different implementations the same.
It might be beneficial to use two different interfaces to describe streams and observable values (in this case meaning just the concept, not any implementation). That is where the main "rift" is, between stateful and stateless. Different types of observable values can probably agree on some common type of listener, and so can different streams. That would mean some code duplication, but currently I think it might be worth it.
Of course, there is the Observable from JavaFX, which has the absolute minimal common denominator for a listener. The parameter is pretty much useless unless you reuse the observer. But it allows to have an actual contract on the interface methods on implementation behaviour. This would work on both Val/Var and EventStream, but would also make the listener much less powerful.
As for the rest, having observe() and observeInvalidations() makes me expect a difference between them. Especially when considering my point above. observeChanges() suddenly conformes to JavaFX again. Not that I'm against that out of principle. But it's sets a precedent it probably shouldn't. Also, just giving the old and new value is much shorter.
Wow, this sounds more like a rant than I meant to, sorry for that. I like working with ReactFX, so I get a bit passionate.
In short, I think the best version for Val/Var would be observeInvalidations(Consumer<? super T>) to receive old values and observeChanges(BiConsumer<? super T, ? super T>) with old and new values, nothing else. Maybe an observeValues(Consumer<? super T>) to receive new values, but I'm not sure if that is a real benefit. All of this is of course very much a breaking change in the API, after several milestone releases.
Because EventStreams don't hold values, having a simple observe() method is fine. There really cannot be any confusion on the argument in this case.
Don't get me wrong, I'm not actually suggesting to do all this. But at the very least, I hope it gives a few hints to writing the documentation.

The methods on Observable are meant to be used mainly by implementations, not directly by the user. Too bad an interface method cannot be protected, but maybe one day they will. (Java 9 will allow private (and thus final) methods on interfaces.)

In short, I think the best version for Val/Var would be observeInvalidations(Consumer<? super T>) to receive old values and observeChanges(BiConsumer<? super T, ? super T>) with old and new values, nothing else.

Apart from the observeChanges signature, which, as you noted, somewhat surprisingly accepts a ChangeListener from JavaFX, this is basically the idea. Except add to that list the observe method that I don't know how to hide from the public, and the methods required to conform to javafx.beans.value.ObservableValue, and you get somewhere close to where we are.
I think I would accept a pull request changing the argument of observeChanges to the BiConsumer you propose.

That is where the main "rift" is, between stateful and stateless.

There is a common denominator—notification about an event. That in some cases the notification describes a state change, doesn't matter.

Different types of observable values can probably agree on some common type of listener, and so can different streams.

Even if they don't agree on the type of listener, the listener management turns out to be the same (though it took some effort to get there, to have a common base for all of EventStream, Val and LiveList).
I think the only problem is the inability to hide the Observable interface from the end user.


Laptop: logistic

Background
Most are  in Birmingham, but we have it in other locations
Laptop Loan system
Acceptance criteria

Centralise all laptops in one location

duplicate of another ticket


Error: gRPC error on request if code executed by Gunicorn

Hello,
Getting an error when using google.oauth2.service_account.LanguageServiceClient in Flask application executed by Gunicorn
Environment details

Docker image: python:3.10.4
Python version: 3.10
pip version: 22.0.4
google-cloud-language version: 2.4.1

Steps to reproduce

Run code using Gunicorn: https://github.com/rizzzhik/belinsky/blob/feature/gcloud_nlp/app/start_gunicorn.sh

Code example

Repository: https://github.com/rizzzhik/belinsky/tree/feature/gcloud_nlp
Actual usage: https://github.com/riZZZhik/belinsky/blob/feature/gcloud_nlp/app/belinsky/routes/text_analyzer/text_analyzer.py

Stack trace
Without gRPC environments:
Code freezes on self.client.classify_text(document=document)
With gRPC environments:
# Due to: https://github.com/grpc/grpc/blob/master/doc/fork_support.md
export GRPC_ENABLE_FORK_SUPPORT=true
export GRPC_POLL_STRATEGY=poll

Trace:
belinsky_app       | Traceback (most recent call last):
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2077, in wsgi_app
belinsky_app       |     response = self.full_dispatch_request()
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1525, in full_dispatch_request
belinsky_app       |     rv = self.handle_user_exception(e)
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1523, in full_dispatch_request
belinsky_app       |     rv = self.dispatch_request()
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1509, in dispatch_request
belinsky_app       |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
belinsky_app       |   File "<decorator-gen-6>", line 2, in text_analyzer
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/prometheus_client/context_managers.py", line 81, in wrapped
belinsky_app       |     return func(*args, **kwargs)
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/flask_login/utils.py", line 277, in decorated_view
belinsky_app       |     return current_app.ensure_sync(func)(*args, **kwargs)
belinsky_app       |   File "/belinsky/belinsky/routes/text_analyzer/__init__.py", line 45, in text_analyzer
belinsky_app       |     analyzis = getattr(text_analyzer_worker, analyzis_type)(text)
belinsky_app       |   File "/belinsky/belinsky/routes/text_analyzer/text_analyzer.py", line 30, in classify_text
belinsky_app       |     return self.client.classify_text(document=document)
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/google/cloud/language_v1/services/language_service/client.py", line 852, in classify_text
belinsky_app       |     response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,)
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/google/api_core/gapic_v1/method.py", line 154, in __call__
belinsky_app       |     return wrapped_func(*args, **kwargs)
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/google/api_core/retry.py", line 283, in retry_wrapped_func
belinsky_app       |     return retry_target(
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/google/api_core/retry.py", line 190, in retry_target
belinsky_app       |     return target()
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/google/api_core/grpc_helpers.py", line 57, in error_remapped_callable
belinsky_app       |     return callable_(*args, **kwargs)
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/grpc/_channel.py", line 944, in __call__
belinsky_app       |     state, call, = self._blocking(request, timeout, metadata, credentials,
belinsky_app       |   File "/usr/local/lib/python3.10/site-packages/grpc/_channel.py", line 926, in _blocking
belinsky_app       |     call = self._channel.segregated_call(
belinsky_app       |   File "src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi", line 498, in grpc._cython.cygrpc.Channel.segregated_call
belinsky_app       |   File "src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi", line 353, in grpc._cython.cygrpc._segregated_call
belinsky_app       |   File "src/python/grpcio/grpc/_cython/_cygrpc/channel.pyx.pxi", line 357, in grpc._cython.cygrpc._segregated_call
belinsky_app       | ValueError: Cannot invoke RPC on closed channel!

Tips:

Multiprocessing realisation from gRPC
Relevant issues:

https://github.com/grpc/grpc/issues/24260
https://github.com/grpc/grpc/issues/23317

Also tried to do https://github.com/grpc/grpc/pull/14561, but it didn't help

On fresh morning somehow fixed with GRPC_POLL_STRATEGY: poll environment.
But I guess it requires some investigation.


Added support for EML with payload content_type is text/html

Status

[ ] In Progress
[x] Ready
[ ] In Hold - (Reason for hold)

Related Issues
fixes: link to the issue
Description
Added support for EML with payload content_type is text/html
Screenshots
Paste here any images that will help the reviewer
Must have

[ ] Tests
[ ] Documentation

Looks good
Just update the version here, and add a changelog


create-next-app doesn't work on with-material-ui

Command copied from:
https://github.com/zeit/next.js/blob/canary/examples/with-material-ui/README.md
$ npx create-next-app --example with-material-ui with-material-ui-app
npx: installed 122 in 12.817s
> Error! Error downloading with-material-ui files for with-material-ui-app
(node:24050) UnhandledPromiseRejectionWarning: HttpError: {"message":"Not Found","documentation_url":"https://developer.github.com/v3/repos/contents/#ge
t-contents"}    at response.text.then.message (/Users/me/.npm/_npx/24050/lib/node_module
s/create-next-app/node_modules/@octokit/rest/lib/request/request.js:72:19)    at <anonymous>    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:24050) UnhandledPromiseRejectionWarning: Unhandled promise rejection.This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(
). (rejection id: 2)(node:24050) [DEP0018] DeprecationWarning: Unhandled promise rejections are
deprecated. In the future, promise rejections that are not handled will term
inate the Node.js process with a non-zero exit code.
$ npx -v
9.7.1

Bug probably created by #4444

Lets only leave ⚠ The source code is hosted on the Material-UI repository. and remove the rest of the text.


[release-1.21] Bump helm-controller to v0.10.1

Proposed Changes
Bump k3s-io/helm-controller to v0.10.1
Types of Changes
Packaged component version change
Verification
Verify that k3s-io/helm-controller is v0.10.1 i.e. go mod graph | grep helm-controller
Linked Issues
https://github.com/k3s-io/k3s/issues/3427
Further Comments

Needs vendoring


TODO: Fix market order hover card calculation

If you swap asset order in the limit order cards, it won't calculate the hover card contents correctly.

Fixed lately


Feature request: Showcase a handful of a most popular deployed contracts on a given principal's explorer page

Is your feature request related to a problem? Please describe.
It would be great to be able to visit a principal's page on Explorer and see a list of that principal's deployed contracts. So often that's what I'm looking for when I visit a principal's page, either looking for a specific deployment or jumping between multiple deployed contracts.
Relatedly, but distinct, it would be a nice feature to have autocomplete or partial results within search for a partial search term, like "SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.stx2" would return "SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.stx20"

@eugeniadigon This too, should be considered for the new design


$auth.currentUser in router

Hi!
I need to allow users to enter in my login page only if is  there is no logged user
.state('login', {
   url: '/login',
   templateUrl: 'client/views/login.html',
   controller: 'loginController',
   controllerAs: 'login',
   resolve: {
     user: ($auth) => { console.log($auth)
       if ($auth.currentUser) {
         return 'ALREADY_LOGGED';
       }
       return true;
     }
   }
 })

But $auth doens't have the propertie currentUser

@santiq: In the document (https://www.angular-meteor.com/api/1.3.2/auth) it says to resolve using $auth.requireUser()

@santiq Like said above, you will need to invoke a method called awaitUser() which will be invoked with a function receiving the current logged in user, where you can decide to either resolve the promise or reject it by returning true or false, exactly like your handler. More information can be found here. In addition, once the route has been resolved and you've reached the controller, the scope will have a property called currentUser just like you expected which will determine whether the user is logged in or not. Hopefully this helps. Would like to hear your response.


Cleanup exception message

This would show up as actual newlines instead of "\n" and "\r\n"

Oops!

@aspnet-hello triage https://dev.azure.com/dnceng/public/_build/results?buildId=281543&view=logs


libedit: Depends on ncurses for Linuxbrew

This is fine, but sitting on it for tonight because the bottles need updating which is halted on a problem discussed in https://github.com/Homebrew/homebrew-gui/pull/10#issuecomment-222391398.

Merged in https://github.com/Homebrew/homebrew-dupes/commit/874b6083a7ec4200118b49cc4576909f543fa960. Thanks @sjackman!

Thanks for merging, Dominyk.


Doc: update integrated-example doc in 2021.x

Describe what this PR does / why we need it
update integrated-example doc in 2021.x

LGTM


Replace glob2 with pathlib.Path.glob

The main feature of glob2 is that it supports recurvsive ** wildcard expansion.
glob.glob supports this now with recursive=True option. Path.glob supports recursive expansion by default.
glob2 also hasn't been updated since 2019.
Let's replace glob2 with Path.glob to remove an unnecessary dependency and to push us more to use Path objects which make other things more convenient.

I ran into one issue with Path.glob -- relative paths are not supported.
Python's glob.glob has supported recursive expansion since Python 3.5, however.
I've changed references to glob2 to use glob.glob instead in commit c6e4d04f23acaf0001491e216d8793041af7f6e8


Wish to lengthen active time up to 1 a.m.

Get away from day and night thinking, just use an active shift. 08:00-19:00 active during daytime, 19:00-08:00 active during nighttime. 00:00-24:00 active allday.

Is already implemented to work. 19:00-08:00 means active during nighttime. Specifying same time for start and end means to be active all day long, independent of the time used.


azps3.5.0 correct url to release download

fix the link to github releases of the AzPS v3.5.0 msi installer.

Docs Build status updates of commit 2556616:
:clock10: Full build: the average full build time is 22 min(s) 52 sec(s), this is based on the last 302 build(s) for this repository.

Docs Build status updates of commit 2556616:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-3.5.0/install-az-ps-msi.md
:white_check_mark:Succeeded
View (azps-3.5.0)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Added example and fix

Added practical example and fixed else-if statement which didn't have condition to evaluate.

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

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

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Popup of error behaves incorrectly

Steps to reproduce:

Access http://kyber.network
input extremely high amount into source amount/dest amount > Check the popup in the SS attached

Actual result:
Popup of error behaves incorrrectly
Expected result:
The popup should not appear

Fixed in release_0.6.0


returning response code 400

mail.setDynamicTemplateData(@NonNull JSONObject jsonObject)

// JSONObject structured into key/value pairs
final JSONObject templateData = new JSONObject();
templateData.put("forename", "Jane");
templateData.put("surname", "Doe");
templateData.put("message", "Hello, This is my email");

mail.setDynamicTemplateData(templateData)

This returning response code 400

Is there an error message with it? Will be accessible as part of the response SendGridResponse.getErrorMessage().
Can you please post the Json payload you are trying to send?

Is there an error message with it? Will be accessible as part of the response SendGridResponse.getErrorMessage().
Can you please post the Json payload you are trying to send?

        mail.addRecipient(email, name);
<EMAIL_ADDRESS>"Rent House Manager Pro");
        mail.setSubject("Welcome to Rent House Manager Pro");
         mail.setTemplateId("API");

// JSONObject structured into key/value pairs
        final JSONObject templateData = new JSONObject();
       try {
            templateData.put("forename", "Hitesh Verma");
           mail.setDynamicTemplateData(templateData);
        } catch (JSONException e) {
            e.printStackTrace();
        }

 SendTask task = new SendTask(sendGrid, mail);
        try {
            SendGridResponse response = task.execute().get();
            toastHelper.toastInfoMsg("Code " + response.getCode());
        } catch (ExecutionException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

Is this correct?

        mail.addRecipient(email, name);
<EMAIL_ADDRESS>"Rent House Manager Pro");
        mail.setSubject("Welcome to Rent House Manager Pro");
         mail.setTemplateId("API");

// JSONObject structured into key/value pairs
        final JSONObject templateData = new JSONObject();
       try {
            templateData.put("forename", "Hitesh Verma");
           mail.setDynamicTemplateData(templateData);
        } catch (JSONException e) {
            e.printStackTrace();
        }

 SendTask task = new SendTask(sendGrid, mail);
        try {
            SendGridResponse response = task.execute().get();
            toastHelper.toastInfoMsg("Code " + response.getCode());
        } catch (ExecutionException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

Is this correct?

Looks OK. What message is returned from the response if you Log it?
try {
SendGridResponse response = task.execute().get();
Log.d("Response", response.getErrorMessage());
}

Looks OK. What message is returned from the response if you Log it?
try {
SendGridResponse response = task.execute().get();
Log.d("Response", response.getErrorMessage());
}

I've ran the code you've provided and the error message I receive is:
"Unless a valid template_id is provided, the content parameter is required. There must be at least one defined content block. We typically suggest both text/plain and text/html blocks are included, but only one block is required."
This is because the content of the mail has not been set, and requires a value even though you are using a template. I will fix this but for now you can work around it by specifying an empty content for the mail.
mail.setContent("")

I've ran the code you've provided and the error message I receive is:
"Unless a valid template_id is provided, the content parameter is required. There must be at least one defined content block. We typically suggest both text/plain and text/html blocks are included, but only one block is required."
This is because the content of the mail has not been set, and requires a value even though you are using a template. I will fix this but for now you can work around it by specifying an empty content for the mail.
mail.setContent("")

I Tried that too, Didn't work
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
01/30/21,
08:01:57 PM
On Sat, Jan 30, 2021 at 7:44 PM Jake Breen<EMAIL_ADDRESS>wrote:

I've ran the code you've provided and the error message I receive is:
"Unless a valid template_id is provided, the content parameter is
required. There must be at least one defined content block. We typically
suggest both text/plain and text/html blocks are included, but only one
block is required."
This is because the content of the mail has not been set, and requires a
value even though you are using a template. I will fix this but for now you
can work around it by specifying an empty content for the mail.
mail.setContent("")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Jakebreen/android-sendgrid/issues/10#issuecomment-770218715,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDV4DP447V66X7H3MS4VQTS4QH4RANCNFSM4W2FQCMQ
.

I Tried that too, Didn't work
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
01/30/21,
08:01:57 PM
On Sat, Jan 30, 2021 at 7:44 PM Jake Breen<EMAIL_ADDRESS>wrote:

I've ran the code you've provided and the error message I receive is:
"Unless a valid template_id is provided, the content parameter is
required. There must be at least one defined content block. We typically
suggest both text/plain and text/html blocks are included, but only one
block is required."
This is because the content of the mail has not been set, and requires a
value even though you are using a template. I will fix this but for now you
can work around it by specifying an empty content for the mail.
mail.setContent("")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Jakebreen/android-sendgrid/issues/10#issuecomment-770218715,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDV4DP447V66X7H3MS4VQTS4QH4RANCNFSM4W2FQCMQ
.

You need to provide the error message returned from the 400 response.

You need to provide the error message returned from the 400 response.

Hi, I tried the workaround, It worked this time.
But I am getting mail in basic text format (NOT HTML) Like this

But My Template is similar to this

Soruce
        SendGridMail mail = new SendGridMail();
        mail.addRecipient(email, name);
<EMAIL_ADDRESS>"Rent House Manager Pro");
        mail.setSubject("Welcome to Rent House Manager Pro");
        mail.setContent("");                                       //Tried this one too mail.setContent(" ");
        mail.setTemplateId("API_KEY");
    // JSONObject structured into key/value pairs
        final JSONObject templateData = new JSONObject();
        try {
            templateData.put("first_name", "Hitesh Verma");
            mail.setDynamicTemplateData(templateData);
        } catch (JSONException e) {
            e.printStackTrace();
            Log.d("HIT_TAG", "Err : " + e.getMessage());
        }

 SendTask task = new SendTask(sendGrid, mail);
        try {
            SendGridResponse response = task.execute().get();
            toastHelper.toastInfoMsg("Code " + response.getCode()); //this is 202
            Log.d("HIT_TAG", "SendGrid : " + response.getErrorMessage()); //This is now null
        } catch (ExecutionException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

Am I Doing Something Wrong?

Hi, I tried the workaround, It worked this time.
But I am getting mail in basic text format (NOT HTML) Like this

But My Template is similar to this

Soruce
        SendGridMail mail = new SendGridMail();
        mail.addRecipient(email, name);
<EMAIL_ADDRESS>"Rent House Manager Pro");
        mail.setSubject("Welcome to Rent House Manager Pro");
        mail.setContent("");                                       //Tried this one too mail.setContent(" ");
        mail.setTemplateId("API_KEY");
    // JSONObject structured into key/value pairs
        final JSONObject templateData = new JSONObject();
        try {
            templateData.put("first_name", "Hitesh Verma");
            mail.setDynamicTemplateData(templateData);
        } catch (JSONException e) {
            e.printStackTrace();
            Log.d("HIT_TAG", "Err : " + e.getMessage());
        }

 SendTask task = new SendTask(sendGrid, mail);
        try {
            SendGridResponse response = task.execute().get();
            toastHelper.toastInfoMsg("Code " + response.getCode()); //this is 202
            Log.d("HIT_TAG", "SendGrid : " + response.getErrorMessage()); //This is now null
        } catch (ExecutionException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

Am I Doing Something Wrong?

I've created a new beta that will fix this problem, you wont need to ste an empty content block either mail.setContent(" ").
com.github.Jakebreen:android-sendgrid:1.2.2-beta1
Please try it then reply here.

I've created a new beta that will fix this problem, you wont need to ste an empty content block either mail.setContent(" ").
com.github.Jakebreen:android-sendgrid:1.2.2-beta1
Please try it then reply here.

Yes I saw it and as I said I have created a beta branch that fixes it. Please test it.
com.github.Jakebreen:android-sendgrid:1.2.2-beta1

Yes I saw it and as I said I have created a beta branch that fixes it. Please test it.
com.github.Jakebreen:android-sendgrid:1.2.2-beta1

Thanks, I'll check it out.
On Sun, 31 Jan 2021, 5:39 pm Jake Breen<EMAIL_ADDRESS>wrote:

Yes I saw it and as I said I have created a beta branch that fixes it.
Please test it.
com.github.Jakebreen:android-sendgrid:1.2.2-beta1
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Jakebreen/android-sendgrid/issues/10#issuecomment-770372338,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDV4DLNRWCN6U7NO6ZZYBDS4VCATANCNFSM4W2FQCMQ
.

Thanks, I'll check it out.
On Sun, 31 Jan 2021, 5:39 pm Jake Breen<EMAIL_ADDRESS>wrote:

Yes I saw it and as I said I have created a beta branch that fixes it.
Please test it.
com.github.Jakebreen:android-sendgrid:1.2.2-beta1
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Jakebreen/android-sendgrid/issues/10#issuecomment-770372338,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADDV4DLNRWCN6U7NO6ZZYBDS4VCATANCNFSM4W2FQCMQ
.


Offline Sync

Will there be an Offline Sync to the Blob Storage?
Thanks.

Sorry for the delay on responding to this.  What exactly are you envisioning?  A way to upload or download to/from Azure Storage in the background of an app?

Hi @asorrin-msft,
That's exactly what i am expecting. I have the same question listed by @Sun3.
My scenario is an APP in Xamarin.iOS and i'm trying to upload jpg files in background to Azure Blob Storage.
Best regards

In my scenario I will have some users that will be offline while entering new data and files. No internet connections in some areas. Then once they get back online I need it to sync offline files sync back to Azure and receive any new files added by other users.
These days most mobile uses will be offline at some point and still need to be able to enter/modify data then sync later.
Is this a scenario that is supported?


why AFURLSessionManager setTaskDidComplete method doesn't support set different completion block for different task.

setTaskDidComplete (line 856 AFURLSessionManager.m), why doesn't this method support set different completion block for different task.
If I have multiple data downloaded tasks managed by a session manager running at the same time, I want to set separate completion block for different task. It seems all task executing the same completion block after accomplished. I see there is a task parameter passed to completion block. I thought it was used to set different completion block for different task.
It seems other completion block has the same problem.
And maybe AFNetworking support set downloading progress after the download task resumed.

I think you misunderstand the usage here. As the documentation mentions, setTaskDidComplete means:

Sets a block to be executed as the last message related to a specific task, as handled by the NSURLSessionTaskDelegate method `URLSession:task:didCompleteWithError:

And [here] you can clearly see that the taskDidComplete is called after individual delegate callback is called.
For a single request you should use dataTaskWithRequest in AFURLSessionManager, or methods in AFHTTPSessionManager.

BTW, please read as much documentation as you can before asking a question on SO or file a issue on Github. It'll truly shows your respect and your appreciation for this amazing project along with those who cares about it.

🍻


fix query_device_info iccid node placement

:+1:

Just checking, did all the tests pass?  We have no CI on this right now.

@pedromartinez yes:
Finished in 0.40168 seconds (files took 0.22773 seconds to load)
269 examples, 0 failures

:+1:


JavaScript: weird multi-line template string highligting

I have a file which is highlighted using the currently latest Pygments 2.11.2. It has multi-line template strings in it, which are highlighted incorrectly. See for example https://egort.name/git/wireguard-config/tree/assets/js/main.js?id=20d5e850a8f61b42a84acc212c14c0f13f2a2773#n671. The lines that start with # are part of the template literal, but it seems Pygments thinks they're comments?

For all styles I know, output appearing with a red border color means the lexer couldn't recognize the input.

I can't reproduce this using the raw text using the demo on pygments.org. So it looks like this was fixed between 2.11.2 and the current git master.


Support Materialized Views

Docs: https://docs.snowflake.net/manuals/sql-reference/sql/create-materialized-view.html
Ideally this would also support the cluster by keyword:
create materialized view "schema"."my_mview"
cluster by ( id )
as
select 1 as id,
         2 as name

Looks like this was added in 0.13.1
(PR #1432 )

@clausherther not so! #1432 fixed a problem where dbt couldn't run if a materialized view lived in the dbt schema. dbt still does not support the creation of materialized views on Snowflake, though it is something I've been experimenting with recently.
In your mind, what's the advantage of using a materialized view over a dbt table model that's refreshed with some cadence? I seem to recall some pre-release Snowflake functionality that would auto-update materialized views, but I'm struggling to find that info presently

Ah, I misread this in the release notes: "Add "MaterializedView" relation type to the Snowflake adapter"
Personally, I don't think I have a good use case for MVs in Snowflake, that need has really been largely replaced by dbt. I think I opened the issue alongside the one for transient tables, to keep track of new Snowflake features you potentially want to support.

alright, thanks for the additional context! Happy to leave this open to track the Snowflake feature, but also welcome input from anyone who 👍'd the issue to chime in with some use cases!

I'm trying to think how we would deal with MViews in dbt. You don't really want to drop and recreate them every time because then there would be a lot of extra time and cost by Snowflake bringing them up-to-speed with the underlying data. They do act like views when they are "stale" or not completely refreshed so at least there wouldn't be any problems with what happens if they are queried if not completely rebuilt:
Data accessed through materialized views is always current, regardless of the amount of DML that has been performed on the base table. If a query is run before the materialized view is up-to-date, Snowflake either updates the materialized view or uses the up-to-date portions of the materialized view and retrieves any required newer data from the base table.
https://docs.snowflake.net/manuals/user-guide/views-materialized.html
Perhaps they would be like incremental tables where they are only re-created when a) they don't exist or b ) when forcing a full refresh?
There is also the potential for a lot of run-time error with MViews in Snowflake because they are limited in what they support from a SQL perspective. My concern is that it would be pretty difficult for dbt to parse and do a compile-time validation of what is not legitimate for an MView which would lead in many cases to dbt runs failing if the MView gets compiled but then fails creation or update at run-time. The list of things is too long for me to write here but see link above.

Thanks @mike-weinberg! I don't think it would be too challenging to create a materialized_view materialization in dbt. I think the logic would look like:

if the relation doesn't exist

create a materialized view

else if the relation exists but is not a materialized view:

drop the existing relation
create a materialized view

else if the relation exists and is a materialized view and dbt is in full-refresh mode:

replace the materialized view

else:

no-op

I still think that the list of caveats are too restrictive for most modeling use cases (no window functions, no unions, limited aggregates, can't query views, etc etc etc). Still, happy to support these as I do think the first use-case you've pointed out here @mike-weinberg is good and legitimate. Plus, I imagine that these materialized views will only become more capable over time.
If someone is interested in creating this materialization, it all should be pretty doable in user-space! Would love to discuss the implementation further if anyone picks it up :)

BigQuery has a similar feature https://cloud.google.com/bigquery/docs/materialized-views-intro
Would definitely be useful

Even with the limitations native Snowflake MV's have, supporting them in DBT will become more useful once the Transparent MV usage functionality has been released (in private preview at the moment of writing this). Basically this is functionality akin to Oracle's QUERY_REWRITE.
See my write up on this new feature (and others) and the SF new features video that mentions it:
https://www.linkedin.com/pulse/my-pov-new-snowflake-features-announced-june-2020-werschkull-/

Hey @bashyroger, check out:

Initial work on a materialized_view dbt materialization in this repo
Yesterday's dbt community office hours (youtube). I mentioned the functionality akin to Oracle's QUERY_REWRITE , as it's the biggest feature currently supported for BigQuery's MVs (docs). I don't know as much about Snowflake's support for this, it sounds like it's TK.

Since this thread is warming up, let's make it spicy 🌶 !
Snowflake recently announced a clever feature they're calling "transparent materialized views".
In the future, if a plan node of a query is equivalent to or is a subset of the plan node of a materialized view, then the materialized view will be used, even if it isn't referenced, because it is provably equal.
So, if you identify common aggregations, and build materialized views for those aggregations, then queries which have steps which are equivalent to those materialized views will be rewritten by the planner to use those materialized views. Alternatively, you could maintain multiple copies of the same table, but with different clustering keys, and snowflake will automatically pick the best one. This is analogous to Vertica's concept of projections.
Personally, I think this is a big deal, and if snowflake expands support to include INNER JOIN and UNION ALL clauses, then chains of MV's might become the best way to express many dags. Even in the absence of that, the ability to maintain copies of tables with various clustering keys means that MVs could accelerate regular views enough to enable decent-performing low latency reporting when combined with a CDC ELT vendor.

What is the latest state on this one ? Is this issue still open ?

I also want to know this as I am going to source control snowflake and views also need to source control like tables.

Hey @nareshkumaryadav, this issue is definitely still open.

I played around with materialized views on the Core Four databases back in June, so there's code available if you want to implement a halfway-decent version in your own project.
There are some small changes we'd want to make in dbt to include database metadata on MVs, specifically in Postgres + Redshift. Almost all the other code required here is SQL + Jinja, meaning that you have full power to try it, test it, and adapt it yourself.
Eventually, I imagine we'll want to define MVs as a native dbt materialization. We haven't yet for a couple of reasons:

Unlike view, table, ephemeral, and incremental—which, with some small exceptions, have the same functionality across all four databases—a materialized_view necessarily means something quite different on each of Postgres, Redshift, Snowflake, and BigQuery.
That functional variance also exists over time, as each warehouse continues to expand the footprint of its MV implementation. We're still not sure what we want to do with MVs—real-time aggregation of event streams? rollup cubes for BI query rewrite?—and dbt has an opinionated modeling framework. We definitely don't want to constrain the bounds of what's possible in dbt, but at the same time we don't want to write a bunch of code into dbt-core without having some strong recommendations for when to leverage that code.

All of which is to say: I'd find it really valuable to hear more about what you're thinking of doing with MVs in your own project.
@kamleshsinhchauhan It sounds like what you're after may be slightly different: we have long supported view and table as materialization types on Snowflake. Check out the docs on materializations. If you are thinking about Snowflake materialized views, then this is the right thread!

I thought I'd share another use case.  We are considering use of materialized views in snowflake.  Our use case is to load Debezium cdc data to a staging table with variant column that accumulates the stream.  Materialized views would be created from the staging table to a history table for the corresponding source table.  We could create the materialized views out of band from DBT and then treat them as DBT sources, but would prefer to have it all in DBT if possible.
It would be great to hear if folks are having success with the experimental implementation, and/or if that is likely to make its way into a dbt release in the near future.

Thanks @automagic! I used to be not-so-bullish on Materialized views, but the idea of these incremental refreshes is really appealing. One thing I particularly like about them: refreshing a table can happen concurrently with external queries. When dbt replaces tables, it currently blocks if there are long-running select statements hitting the table.
The one challenge here is going to be knowing when dbt should rebuild the MV, vs. just refresh it. We can leverage the --full-refresh flag, but that feels a little heavy handed. It would certainly be pretty cool if dbt could check if the columns in the view have changed, a la #320. Even better would be some sort of logical comparison (eg. check the hash of the SQL that created the model against the hash of the new model).... but that could be something for a separate issue :)

Not sure I understand why this is an issue?  Redshift does support MVs now, including automated refresh, and internally knows whether they can be incrementally updated or require a full update.  The refresh occurs asynchronously (scheduled to avoid conflict with other uses).  dbt should simply recognize that when a view is MV, it simply needs to leave it alone unless the query itself has changed.

Our analytics team is suffering with poor performance of dbt generated views.  We have confirmed that a redshift-managed materialized view runs in a second or two compared to the standard view created by dbt which now takes several minutes to run (so: 2 orders of magnitude faster in this case).  They have tried dbt options, but the tradeoffs are poor for their use-case.  Is there any update or plan to support redshift (and bigtable and snowflake) materialized views soon?

including automated refresh

I didn't know this! I just updated the sample code in https://github.com/fishtown-analytics/dbt-labs-experimental-features/pull/11 to add an auto_refresh config on Redshift. That's really compelling; in my anecdotal experience, the manual refresh materialized view statement was quite slow to run.
The question at this point isn't, Can you use materialized views with dbt? You absolutely can, by including some custom macros and materializations in your project. The question is, Do we have a recommended implementation of MVs we feel great about, such that we want to set it as the standard for all new projects going forward?
Materialized views have come a long way in just the past year, but they still have significant limitations. Particularly on Redshift, MVs do not support late binding, and they can't be identified in pg_depend (https://github.com/awslabs/amazon-redshift-utils/issues/499), so it's impossible for dbt to know when they've been cascade-dropped. When an MV needs to be replaced (whether because its definition has updated, or the schema of the underlying table has changed), I don't see a way to do this both reliably and atomically.

We support a large number of event types which we split out in separate tables (one for each event) for a variety of reasons. Currently we keep all these up-to-date by running hourly incremental updates. When moving this part of our setup to materialized views:

We have way less moving parts / stuff to maintain. I also suspect, though depending on your pricing model, it can be cheaper.
We get side-benefits like "smart tuning" on BigQuery (reference).
Our DBT pipeline has to take care of way less models which means it'll be done quicker with the models that aren't suitable for MV's.

+1 Would really love to see this implemented. Auto refreshed materialized views in Redshift are much more performant and efficient than an incremental materialization based on my tests.

Adding my +1 for materialized views. Would be great to have, we're using Postgres.

+1 following

Guys,
How this one is working ?
https://materialize.com/dbt-materialize-jaffle-shop-demo/

@maver1ck

Guys,
How this one is working ?
https://materialize.com/dbt-materialize-jaffle-shop-demo/

I'm aware of 2 people using the Materialize adapter in production. Check out the #db-materialize channel in slack to keep up to date/engage with others interested in the adapter.

+1 for redshift materialized views

Materialised Views have definite uses in anything latency sensitive.  The warehouse will update the MV on insert into the underlying table rather than waiting for DBT to run.
It would be great to create these from DBT and then create references to them for downstream batch DBT runs.
Another +1 for this feature, Snowflake primarily.

+1 MV's Snowflake

+1 MVs in Postgres

+1 MV's in Snowflake

+1 for MVs in general, but given this has been open since 2018 and still no MVs... not so hopeful.

At this point we might need a community contributor to write the custom materialization with the logic @drewbanin outlined above. https://github.com/dbt-labs/dbt-core/issues/1162#issuecomment-530519585

+1 for MVs
Would help solve this issue with cloning: https://github.com/dbt-labs/dbt-snowflake/issues/118

Any update here from the DBT side? This would be very helpful for the performance reasons mentioned many times earlier.

+1 really need this for performance.

+1 MVs in Postgres

I am using PostgreSQL, and when I started using dbt, I really wanted it to support MVs in PostgreSQL. That was when my thinking was to run dbt on demand to create the structure of my data mart. Since then I think I've come more to the "dbt way" where I run dbt on a schedule in order to populate my data mart.
In PG, there is no standard way to schedule MV refreshes and no support for log-based refresh of MVs. This says to me that an MV in PG is equivalent to materializing a dbt model as a table and then scheduling a dbt run at the OS level to refresh it.
I see the value of MV support for platforms with either internal scheduling (e.g. Oracle REFRESH clause) or incremental refresh (e.g. Oracle FAST clause) of MVs based on underlying changes, such as Oracle or I think Snowflake. I no longer feel like I need this for PG.

@drewbanin I have a draft version of adding in MVs for Snowflake, but am hoping to get some assistance with adding tests. Can you point me to someone who could help?

+1 for clickhouse MV's!

+1 for MV BigQuery and Snowflake

Any updates on this ticket?

Use https://github.com/dbt-labs/dbt-labs-experimental-features/tree/main/materialized-views and give feedback there.

This is some early work on integrating DBT, Coral, and Spark to implement materialized views and incremental view maintenance on various engines, but starting with Spark. This DBT extension defines a new materialization mode called incremental_maintenance that automatically evaluates the query incrementally. Source code can be found under coral-dbt and coral-incremental. There are also some slides going through the design/implementation. Please feel free to test it, try it, or extend it.

Thank you for sharing @wmoustafa ! The slides were well-written and explained a couple big ideas (transpilation via Coral and incremental_maintenance as a drop-in replacement for the table materialization).

Closing in favor of:

https://github.com/dbt-labs/dbt-core/issues/6911


Create a contributions guide

Initial contributions guide has been created in the microsite repo and linked back to the readme. So will consider this closed.


Merkelized BTree store

Background
Building a Merkelized BTree store with a key value interface, parameterized for a target fan-in factor of 1024 or so, and large leaves bundled together will significantly help improve efficiency of features like generalized accumulation stores / Orderbooks.
Suggested Design
There are two reasons for merkelization:

Light client queryability
State sync ability / guaranteeing the same state across all nodes.

There is a lot of state that is made light client queryable that should not be. Right now we suffer high write overhead due to the merkelization and bad disk layout of IAVL / binary search trees in general. (Technically fixable for a binary tree, but a large undertaking)
We can solve a lot of this by making a merkle tree that is much more light client unfriendly, to intentionally dissuade light client usecases (useful as an API surface property), and has a simpler data storage back-end implementation. (You technically can make these better for binary trees, but its a larger implementation task)
Implementation steps

[ ] Explore DB backends. The end state years from now, would be a combined BTree w/ merkelization implementation on disk, but this is a massive engineering task. We should for now just write to a more backend.

I suggest we write to an SQL database due to other optimizations that exist, and that having multiple quickly iterable indexes will be very easy.
Is there an SQL interface wrapper thats standard in golang which we can use?

[ ] Build merkelized BTree on-top of DB backend, with a Commit interface for writing
[ ] Build this to work with store interface
[ ] Think about how we do historical data storage (Thankfully we don't have to store historical merkelization metadata)
[ ] Benchmark operation times vs IAVL
[ ] Work on getting the custom integration into the SDK root multistore
[ ] Work on Statesync / snapshotting integration

cc @giunatale

Is this available? I would be happy to work on / help with this once this is a priority

The plan was for me to start working on it but any help/contribution I think is very welcome! I guess it would depend on the level of priority and what @ValarDragon has in mind :)


Asynchronous mode fail!

Sync mode = > success !


Fix downloadDiagnosisKeysFile resource leak

This PR fixes downloadDiagnosisKeysFile resource leak
Resolves https://github.com/cds-snc/covid-shield-mobile/issues/307

cc @obrien-j


rename 'standard' to 'certificated' in cucumber tests

Cucumber tests refer to 'standard' checks when they mean 'certificated' - this converts these to use the better terminology

The goal of those step definitions was originally (prior to adding the controlled work flow) to mean "normal" assessments, i.e. default, vanilla, no special cases so that we didn't have to explicitly spell out dates of birth and proceeding types in every scenario when we didn't care about them.
The problem, we quickly found, is that the idea of "normal" goes stale very fast. E.g. CFE used to think of domestic abuse cases as "normal", because that's what Apply dealt with, but for CCQ, DA cases are a special case (and this difference in thinking was a contributory cause of last week's CFE bug).
I'm not sure that these tests actually do mean 'certificated' - but I think what they actually mean - "normal" - is not helpful. Which is a longwinded way of saying I approve of this change, but from a slightly different angle!


Tomcat versions are out of PCI Compliance

Tomcat <IP_ADDRESS> and <IP_ADDRESS> both fail PCI compliance. <IP_ADDRESS> and 8.5.8 resolve the issues.

Fixed by:

https://github.com/jsimone/webapp-runner/commit/1e5c4ea874f986070b857b434741652ab65e529f
https://github.com/jsimone/webapp-runner/commit/753ff592f2b8f9ca42b4a10a2dd14ec1c17e80cf


🛠 [TASK] : Hermes Event completness notification

Summary
Implement a mechanism which will allow, for a producer of the Hermes event, to know whether this event was already executed or not.
So the event producer's  could look like:
let event = SomeEvent::new();
let event_waiter = event.get_waiter();
event::queue::send(event);
event_waiter.wait();

Description
Potential implementation

Every Event can have an OPTIONAL mpsc queue of depth n attached to it.
The Extension generating the event, if it wants notice that the event is fully processed, creates the mpsc queue, and attaches it to the event.
The Sender then waits on the queue.
The Event queue, dispatches the event, and when the event is fully processed, before its discarded, the event queue posts the event back to the mpsc queue in the event itself (assuming one is defined).

We want the three added functions:
make_waiter() -> Returns the RX handle, sets internally Some(tx_handle).
set_waiter(tx) -> Sets Some(tx_handle) if the mpsc was already created outside.
finished() -> if tx_handle.is_not_none() tx_handle.send(self)

See: https://docs.google.com/presentation/d/1x3NurZOrhfOLbnxjR-yKfEWKUAX2YuCUluLsFxqFspA/edit#slide=id.g241d21583e2_0_15


Use GraphQL mutations for FLEx metadata updates

Fixes #970.
This changes updateLexEntryCount and updateLanguageList from being HTTP POST queries to being GraphQL mutations, which means the GraphQL cache is automatically updated when they run. Previously, you could "lose" the updated entry count for a project by navigating away from it and back to the project without a browser reload, because the result of calling updateLexEntryCount was being stored on the page but not actually sent to the GraphQL query cache, and the second time the project loaded the GraphQL cache would serve up stale data.
Now that those two updates are using GraphQL mutations, and returning the updated values from the mutation, the GraphQL query cache is doing its job and caching the updated values, so navigating away from a project and back to it works as it should.
NOTE: Currently this PR merges into #952; if #952 is merged before this one, I'll update this to merge into develop instead.

Interesting: once I merged #970, GitHub automatically adjusted the base of this PR:

So all I had to do was run git rebase -i develop and delete the commits from #970, and then force-push the rebase. That was a lot less work than I thought it would be.


Automatically --skip-confirmation when no terminal detected

Command
add
Description
When using git bash for Windows, and trying to do an add, I get this:

No terminal detected. '--skip-confirmation' can be used to bypass installation confirmation. Ensure package name is correct prior to '--skip-confirmation' option usage.

Describe the solution you'd like
I'd like a way to set a global config saying if I'm doing an ng add and there's no terminal detected, that it just automatically skips confirmation.
Describe alternatives you've considered
No response

Thanks for opening this feature request.
However, this feature is not in scope as this will increase the risk of security and DX problems from mistyping package names.
ng add similar to npx and other tools that require package installation prompt before installing a package.


what "a feedback component" mean?

        // 1. set tickStatus -> TickStarted
        p->tickStatuses[bufferNo] = internal::Component::TickStatus::TickStarted;

        // 2. tick incoming components
        for ( auto& wire : p->inputWires )
        {
            if ( mode == TickMode::Series )
            {
                wire.fromComponent->Tick( mode, bufferNo );
            }
            else if ( mode == TickMode::Parallel )
            {
                if ( !wire.fromComponent->Tick( mode, bufferNo ) )
                {
                    p->feedbackWires[bufferNo].emplace( &wire );
                }
            }
        }

        // 3. set tickStatus -> Ticking
        p->tickStatuses[bufferNo] = internal::Component::TickStatus::Ticking;

According to the code above, I think a component in stage 2 are took as a feed back component by a behind component in another thread. But in this circumstance, this component may turn to Ticking latter, why we needn't wait such a component but wait for component whose state is Ticking?
                    // wait for non-feedback incoming components to finish ticking
                    auto wireIndex = p->feedbackWires[bufferNo].find( &wire );
                    if ( wireIndex == p->feedbackWires[bufferNo].end() )
                    {
                        wire.fromComponent->p->componentThreads[bufferNo]->Sync();
                    }
                    else
                    {
                        p->feedbackWires[bufferNo].erase( wireIndex );
                    }

Firstly, you understand that in a pull system, you can't just keep going backwards through a circuit ticking components without detecting feedback loops right. If you do, you will find yourself stuck in an infinite loop. So during circuit traversals, flags are used per component, per buffer for "Ticking" and "Ticked" to let other components know whether they're in a loop together, or have previously been ticked respectively.
As I mentioned earlier, think of buffers as circuit threads. The following line:
p->tickStatuses[bufferNo] = internal::Component::TickStatus::Ticking;
sets the "Ticking" state for a particular thread (thread #bufferNo). Other threads entering this method will each be concerned with their own bufferNo, and thus, operate on their own set of flags.

Regarding the actual wait logic here: We specifically wait for non-feedback incoming components to finish ticking and not the feedback ones. If we did, we'd be waiting forever, as that component itself is waiting on the one before it to finish, and so on around the loop.

sorry, did you mean your circuit support wire circle( A -> B -> A) ? not DAG?

Yes, DSPatch circuits support loops like A -> B -> A.

Yes, DSPatch circuits support loops like A -> B -> A.

Amazing !!!
I didn't realize one can really supports circle, because most framework I learned only support DAG, now it makes sense to me.

So during circuit traversals, a flag is used per component, per buffer for "TickStarted" and "Ticking" to let other components know whether they're in a loop together, or have already started ticking respectively.

Will it happen when components working in Parrelel Mode(use one buffer), A->B.
A and B have different Tick thread, at the time A is in stage 2, B tries to Activate A, and find A's Buffer is TickStarted.
A --> B
thread A: stage1 --> stage2 ------------------------------> stage 3
thread B: stage1--------------------> stage2(try to tick A) ---------------->

oh I know, that won't happen, because only the lambda tick is executed in component thread, not the Component's Tick method, so the big Tick only driven by circuit thread, and only concurrent in buffer level.

Great thanks to your quick and kind and patient reply, I will try to submit some easy use API patch later, hope they can be helpful.
Best regards
vacing


[AppBar] [docs] Add a fully responsive demo

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
I created a new responsive AppBar for all devices. It's so useful for beginners to create a responsive AppBar easily.
Demo link:
https://qjo5f.csb.app/
Examples 🌈
https://qjo5f.csb.app/
Motivation 🔦
No response

@karakib2k18 Hi. While I appreciate your contribution, I am not sure if we should include this in our docs because in my opinion we already have sufficient demos: https://mui.com/components/app-bar/#main-content
cc @mnajdova

@hbjORbj  thank you so much.
It was hard me to create a AppBar when I was new at MUI. That's why, I'm trying to include a fully responsive AppBar. I hope my contribution will encourage beginners to become comfortable to use MUI on their projects. And it will save time for expert users also.

Most of the examples in https://mui.com/components/app-bar/#main-content have examples are responsive, so to be honest I would not add an additional demo only for showing this. Thanks for the exploration tough.

Have a look at this picture. I think it would be better for beginners.
Live link: https://deploy-preview-29829--material-ui.netlify.app/components/app-bar/
Desktop view

Mobile view

This is great!

This is great!

thank you. Please explore these two links:
https://github.com/mui-org/material-ui/pull/29829
https://mui.com/components/app-bar/#app-bar-with-responsive-menu


Added the node.js, flutter, azure functions, and elixir succinctly.

What does this PR do?
Add Resources
For resources
Description
I've added free node.js, flutter, azure functions, and elixir books, these technologies are trendy now and books are helpful to developers.
Why is this valuable (or not)
How do we know it's really free?
For book lists, is it a book?
Checklist:

[x] Not a duplicate
[x] Included author(s) if appropriate
[x] Lists are in alphabetical order
[x] Needed indications added (PDF, access notes, under construction)

Do you think Flutter should go under Dart? (2 books make a more useful category than one)

No. Dart is a language used in a flutter framework. So it shouldn't be listed under the dart language. So I've added two more resources under the flutter to make the category more useful.

That works, I guess. Thanks!


Unify implementation of div and mod in stdlib

Fixes #330.
Also removes the unsynthesizable std_div, std_mod, and the
corresponding signed implmentations.

[ ] Test with full polybench implementations (current failing lu)

Working on a different branch.


[QA-184] Adding di-accounts-performance changes

QA-184
Adding changes from di-accounts-performance

Replaced with #78


Instant E2E encrypted Sync

Thank you, I really like the simplicity of this plugin.
My question is with the feature "Instant E2E encrypted Sync".
My understanding is this means everything on the server is encrypted as well as transport, but the files on my server are all plaintext.
From: https://en.wikipedia.org/wiki/End-to-end_encryption

End-to-end encryption is intended to prevent data being read or secretly modified, other than by the true sender and recipient(s). The messages are encrypted by the sender but the third party does not have a means to decrypt them, and stores them encrypted. The recipients retrieve the encrypted data and decrypt it themselves.

Can you please clarify?

Hi,
The E2E encryption is only at the transport layer. If you would like to have them encrypted on the server side (storage) that can be accomplished to, but personally for me, i only want them encrypted over transport.
If you feel you need this, i can look into adding a flag to also encrypt the files, but you will probably need to enter a password each time you connect to the server (probably a popup at Obsidian Startup), besides the server password so that only you know the password to encrypt/decrypt

i can look into adding a flag to also encrypt the files

I like this idea.

but you will probably need to enter a password each time you connect to the server

Maybe it could optionally be saved locally? I'm not too concerned with my desktop security, but my server is another story. I do have local control, but what if it was on a VPS?

I'm sorry but encrypting locally on a device that runs Obsidian is out of the scope of the application. That's an entire different functionality. Or maybe i misunderstood what you mean by "optionally saved locally"
Encrypting the storage on the server, that's feasible

Thank you, That would be awesome.
I was using Self-hosted LiveSync, but it is far too convoluted complex for my needs. I am always happy to find apps that do one thing simple & well.

Keep in mind that this is not a CRDT like google docs. If multiple devices edit the same file at the same time, last write wins


run script in venv through Poetry

I recommend  running script through Poetry after Poetry is used.
Maybe consider migrate publish action to poetry-publish; test action can use actions-poetry?

Thanks for the recommendation. In my perspective, actions-poetry is the right way to prevent we invoke the tools outside the virtualenv.
However, we would not consider the publish action at this moment since this is a fork project and we are not ready for it.

As the original maintainer of the proxybroker is out of the grid, I'll publish the module under the name of proxybroker2 or something else in the near future once #82 :100:
Thanks @hms5232 and @afunTW

@hms5232 Would you also like to help migrate to actions-poetry and poetry-publish?

@hms5232 Would you also like to help migrate to actions-poetry and poetry-publish?

@bluet  Yes, I will be willing to help this if project sure to migrate to Poetry 😄

@hms5232 Go Go Power Rangers!

@all-contributors add @hms5232 for code

@bluet It depends on the project's orientation, here's the detail

If we aim to use Poetry as the only dependencies source, we don't need the requirements.txt but require to maintain the poetry.lock and pyproject.toml
If we aim to support multiple dependencies tools e.g. poetry, pipenv, pip etc, recommend keeping the requirement.txt and syncing all the states in all supported dependencies tools

@afunTW 1. seems to be easier to maintain. Any downside?
What do you suggest?

@bluet It depends on the project's orientation, here's the detail
1. If we aim to use Poetry as the **only** dependencies source, we don't need the `requirements.txt` but require to maintain the `poetry.lock` and `pyproject.toml`

2. If we aim to support multiple dependencies tools e.g. `poetry`, `pipenv`, `pip` etc, recommend keeping the `requirement.txt` and syncing all the states in all supported dependencies tools

In my option, we don't need and have no time to fit every package manager which user used. If they prefer other tools or CI need something else, Poetry support that exports lock file to other formats. Just use poetry export and it will generate requirements.txt.

@afunTW 1. seems to be easier to maintain. Any downside?
What do you suggest?

In summary, I vote 1..

Another point, Poetry is both a package manager and a virtual environment tool. Using Poetry not only make sure dependencies is same for everyone but also keep everybody's environment is clean.

@hms5232 @afunTW  Hi I've opened a new issue for follow-up discussions https://github.com/bluet/proxybroker2/issues/105


[RPC] default use spawn for fork safety

Although it will be slower, spawn will greatly avoid massive potential "compiler internal error" caused by forking. Will add this option by set default as true.


Feature Request: Delete Create Operators Cleanly from Symbol Library

This ability would be very useful .. if we were able to delete Created Operators .. from the user library
and have this updated.. in the same T3 session..

I can't totally see why we need that. The only method currently possible is a work around:

Change namespace of the symbol to something like _obsolete
Close Tooll
Remove Operators/Types/_obsolete/ folder
Restart Tooll.

This has to be improved eventually. One way would be to flag symbols as obsolete, hide them from the user interface and delete them on application shutdown or on next startup.


CBS not getting the Highest Bitrate (4400K)

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2016.08.31. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2016.08.31

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[x] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

youtube-d
l -F -v "http://www.cbs.com/shows/the-late-show-with-stephen-colbert/video/6IU_R
58_HFgD3iAKPvMdfnPK0KIfkPES/the-late-show-8-30-2016-john-krasinski-adam-brody-st
-paul-and-the-broken-bones-/"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-F', '-v', 'http://www.cbs.com/shows/the-late-show-
with-stephen-colbert/video/6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES/the-late-show-8-30-2
016-john-krasinski-adam-brody-st-paul-and-the-broken-bones-/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.08.31
[debug] Python version 3.4.4 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-81400-g15dd56c, ffprobe N-81400-g15dd56c
[debug] Proxy map: {}
[CBS] 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES: Downloading SMIL data
[CBS] 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES: Downloading m3u8 information
[CBS] 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES: Downloading HLS SMIL data
[CBS] 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES: Downloading RTMP SMIL data
[CBS] 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES: Downloading WIFI SMIL data
[CBS] 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES: Downloading 3G SMIL data
[CBS] 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES: Downloading JSON metadata
[info] Available formats for 6IU_R58_HFgD3iAKPvMdfnPK0KIfkPES:
format code  extension  resolution note
hls-meta     mp4        multiple   Quality selection URL
hls-58       mp4        audio only   58k , mp4a.40.2
hls-187      mp4        400x224     187k , avc1.66.30, mp4a.40.2
hls-332      mp4        400x224     332k , avc1.66.30, mp4a.40.2
rtmp-364     flv        384x216     364k
rtmp-496     flv        640x360     496k
hls-582      mp4        512x288     582k , avc1.66.30, mp4a.40.2
rtmp-796     flv        640x360     796k
hls-899      mp4        640x360     899k , avc1.66.30, mp4a.40.2
rtmp-1296    flv        640x360    1296k
hls-1334     mp4        768x432    1334k , avc1.77.30, mp4a.40.2
rtmp-1928    flv        848x480    1928k
hls-1969     mp4        960x540    1969k , avc1.77.30, mp4a.40.2
hls-2759     mp4        1024x576   2759k , avc1.77.30, mp4a.40.2
hls-3816     mp4        1280x720   3816k , avc1.77.30, mp4a.40.2 (best)
...
<end of log>

I was once able to download from CBS at 4400k. For example, if I wanted to download the latest “The Late Show with Stephen Colbert”, I would get the highest option as
“hls-4400     mp4        1280x720   4400k , mp4a.40.2, avc1.640028”
As evident in the output given here 9932.
A bug occurred in youtube-dl in which CBS was not working and was fixed in
10393
However, after the fix, I am not able to get the 4400k bit-rate for any video.
It appears that the highest bit-rate (3798k) is being downloaded  from the address
http://cbsios-vh.akamaihd.net. I remember that when I was getting the 4400k  stream, it was coming from unicornmedia.com. I remember the links looked like the ones in these comments 8893#issuecomment-198378951, though I don't know if they are exclusive to Android devices.
Thank you for your help.

Ping @remitamine

Once formats was not working at the time of fixing the extraction, i guess it was a temporary error.


Relative Times are off

not sure if this is a show timestamp issue, import issue or just a show display issue
This came out today, it says yesterday

fixed


back to top button

Back to top button in litmuschaos-docs site #56

@auralshin Hi! Thanks for contributing. Can you also attach updated screenshot?(With this button)

@anupriya0703 the website is written in mark up lannguage and by opening through cloned repository it's not loading. So I can't take  screenshot.

@auralshin , have you tested the code?

Closing this stale PR