Add a quadratic pen

Would appreciate @eliheuer telling me his favorite style of quadratic pen so I can just implement that. The current pen is cubic Bézier only, attempting to use it in a quadratic glyph will cause an assertion error, intentionally.

spoke with @arrowtype about this issue today. Robofont handles this by having you work in either a cubic workspace or a quadratic workspace. When you work in the quadratic workspace the pen still behaves like a cubic pen. Personally this is frustrating, and I would recommend a pen ui that functions slightly differently for quadratics for example holding a hotkey and clicking to produce a desired number of off curve points. Glyphs and Fontlab both use a convert path function. To draw quadratics in those programs I usually draw a contour with a cubic pen, hotkey convert the path to quadratics and edit it from there.
I haven't been able to find an application with "native" quadratic pen. If you succeeded in making one I'd be very grateful.

@bghryct Do you know any existing implementation that does what you want? I've personally never drawn in quadratic curves (just converted cubics) so I'm kind of lost as to what would actually help those who prefer quadratic curves.

To be honest, yes this would be very cool, BUT like you, the vast majority of designers draw with Cubic curves, so to me this seems like it should be far down on the list of priorities. There are a lot of other things that are more vital to a successful font editor, like a solid API experience, a support forum, documentation, extensions, etc etc.
FWIW, I list out my must-have extensions for RoboFont in this blog post: https://arrowtype.github.io/type-blog/2020-05-01--getting-started-in-type/#getting-started-in-robofont
Until an editor had basically every one of these features (either native or via extensions), my hot take is that it wouldn’t matter whether it had a native quadratic pen experience. But, others would obviously have different opinions.

This is a good description of how quadratics are handled in RoboFont:
https://robofont.com/documentation/how-tos/drawing-with-quadratic-curves/

(By the way, this is an awesome project and I definitely don’t mean to be salty in my comments here. I would love if there were a solid, cross-platform, open-source font editor! I just think that it’s important to prioritize for the things that make a font editor useful for new & daily users, before adding specialty features.)

@ctrlcctrlv I think just the ability to convert back and forth is nice and would put Qglif on par with existing editors. I don't think there is an example pen that draws natively in quadratics. Everything else assumes you want to draw in cubic and then convert and edit if you want from there. Except for the Robofont example I mentioned, but speaking with @arrowtype who draws in Robofont more than I do, He said that it still has the ui "feel" of drawing with cubics, but getting the 'same' curve is sometimes a bit tricky as off curve points don't necessarily go where you're used to placing them.
So for me personally, the ideal quadratic pen would work in a similar way to the cubic pen but with more control over the additional off-curve point placement. This might be something that's much easier to explain visually in a quick video call at some point. It's also difficult to put into words the specific intangibles related to how one "feels" when drawing with different ui. Thanks for taking the time to think about this.
Also 100% with @arrowtype on the level of prioritization that this should take. His list of must haves is very good.
I would add @simoncozens supertool is a game changer for drawing in glyphs, and it's open source : )
That sort of functionality and the functionality of many of the plugin must haves he mentioned fall outside the scope of this particular thread I think so I'll stop rambling.

OK. So, even though I've marked this 1.0, for me just being able to remove the assert will be enough to close this (and then open a new issue for "Think about a better quadratic pen" with a longer time scale).
For sure, though ,my 1.0 will have multiple glyph types, at the very least Spiro and Cubic as I rely on both heavily in my own fonts. B-Splines are likely to feature as well. Other more exotic curves are on the agenda for later. I want as many curve types as possible. If they are somewhat useful and convertable to cubic Bezier I'm interested.
Really, I am making the font editor I want to use. If it turns out no one agrees with my chosen priorities, well, I'll still have a font editor I enjoy using. :-)
Many of @simoncozens' supertool features have been noted by me and are on the agenda after 1.0. That's one of the main reasons this project began actually. I realized that in FontForge we can't write scripts that manipulate the UI enough to do anything really cool like supertool. I have Skia and Skia PathOps at my disposal now so this is no longer true, not by a long shot.

And you guys, @arrowtype and @bghryct , should please both read https://github.com/mfeq/mfeq/blob/master/doc/Why.md if you're trying to grok what this project is about, why I am working on it and who it is for.
Basically I'm fed up of lack of progress in both FontForge and Runebender, and I think I can make progress much faster with Skia and Skia PathOps. Let's see if I'm right, my 1.0 is scheduled for Oct 1 and I plan to be using Qglif to make a font in November. 🙉

Thanks for writing & sharing that document! It seems like you’ve got the right goals and a sensible approach. Definitely, modularity will be key, and since you’re using UFO as the font format, it will mean that there is an existing set of APIs to manipulate fonts with Python, which is super helpful for me.
Can’t wait to see where you take this!

We're quite a bit closer as of 32defa43e:

😃

You should play with the FontForge pen tool in a quadratic layer. It behaves roughly as @davelab6 requests in https://github.com/fontforge/fontforge/issues/3803 . (You may have to drag at first to get an off-curve point, but after that it interpolates whether or not you drag.)

Kindly, I believe this is of low priority. I think it matters a lot for making complex yet highest quality variable fonts, especially with HOI, but since the vast majority of font developers have years of habits with cubics, and don't care much for creating complex yet highest quality variable fonts, it is not very important.


Support 256 colors

Only having a select few colors gets old and can make certain namespace prefixes harder to read (especially when they have similar lengths and are the same color).
This PR enables 256 colors when both of the following are true:

supports-color is available
require('supports-color').level >= 2

Otherwise, the color level falls back to the current selection of basic colors.

To generate the list of colors, I selected all ANSI 256 colors that have a HSV saturation of at least 70 and a value of at least 80.
You can use the following script to experiment:
const Color = require('color');

const cols = [];
for (let i = 0; i < 256; i++) {
	const c = Color.ansi256(i);

	if (c.saturationv() < 70) {
		continue;
	}

	if (c.value() < 80) {
		continue;
	}

	console.error(`\x1b[48;5;${i}m    \x1b[m`, i, '\t', c.saturationv(), c.value());
	cols.push(i);
}

console.log(cols.join(', '));

How I personally will be using this modification is to add supports-color to my dev dependencies since it's not required in production. Great for local development with no overhead in prod.

Coverage increased (+0.3%) to 64.072% when pulling 1269f1db8bff3d73637aba61a023841c0bb9e252 on Qix-:256-colors into 659ac0252cd3bba115b02a4545b752ac9dcc3064 on visionmedia:master.

Coverage decreased (-0.1%) to 63.69% when pulling a8909c1a088bbedfed70282ac0965af9278a4c22 on Qix-:256-colors into 659ac0252cd3bba115b02a4545b752ac9dcc3064 on visionmedia:master.

Coverage decreased (-0.1%) to 63.69% when pulling 329716827e9845d75e652c5eb5bffc335709a6b8 on Qix-:256-colors into 659ac0252cd3bba115b02a4545b752ac9dcc3064 on visionmedia:master.

This is awesome! A few comments:

Needs Readme docs about the optional supports-color dep (it's lame because peerDependencies would output a warning upon npm i which we wouldn't want in this case, so meh we can't use that feature).
The screenshots in the Readme are woefully outdated. This is especially true if/when we merge #418. I'm not asking you to do it, but just something I want to keep in mind.
It would be cool to generate the equivalent CSS colors for the browser implementation. We can basically always output 256 color mode since we can use arbitrary CSS colors in the browser.

For comparison, before:

After Qix-:256-colors:

Love it.  Let's get the build passing?

Love it!  Let's get the build passing?

@thebigredgeek https://travis-ci.org/visionmedia/debug/jobs/262103770 <- re-run that test :) You have coveralls as a part of the pass/fail steps, and coveralls likes to fail from time to time, randomly. If you re-run it, it should pass.

@TooTallNate I updated the colors to be color bounded so they look better on white backgrounds.

Coverage decreased (-0.1%) to 63.69% when pulling 82b1c66d13c1bc25c610ee97feb95e212d8285ee on Qix-:256-colors into 659ac0252cd3bba115b02a4545b752ac9dcc3064 on visionmedia:master.


Remove ability to use non-lowercase "tslint.json" file name

breaking, for v6.0
see #2681

@nchen63 can you please reopen this issue and add it to the 6.0 milestone as reminder to remove that code.


split plans off of service classes

a start on #454
need to fix the integration tests, probably e2es as well

this is wicked gnarly to rebase and keep everything working.

@MHBauer can you rename the title to something more descriptive please? Specifically, I'd like to know which part of #454 this addresses

Just a thought: it might be worth holding off on this until we can get some clarity on what the kubernetes names of these entities should be.

@pmorie where can we go push on the naming board or api board or whatever?

I don't think renaming blocks this.
Do we need a separate design?
What are thoughts on the references?
Plan -> ServiceClass
OR
ServiceClass -> Plan

I think talking about this during one of our design sessions would be good.
It might also be good to try to split the discussion into smaller pieces, I think there are at least two independent topics:
1 - which properties are in Service vs Plan and which (if any) are duplicated?
2 - how to manage the references?  S->P or P->S
If you could come up with a concrete proposal for each, to help focus the discussion, then we can discuss them on an upcoming call.

@MHBauer

I don't think renaming blocks this.

Yeah, I agree with you.

note: don't forget to add rbac for plans

This should build and finish through the integration tests.
I don't think I took out anything of the integration tests, but I also didn't add anything new.

We can probably turn some of the test verbosity down now...

Already seen some flakes I would have guessed existed. I'm not sure how tenable the maintenance of this approach is. I'll try and get it passing again, but I think this concept needs another think.
I may be over thinking this.

Seems only TPR was failing. Have attempted a fix.

https://travis-ci.org/MHBauer/service-catalog/builds/270170017 works if you don't want to wait for cri-o builds to finish.

Everything is green, so I'll squish down into two.

This still has ServiceInstanceSpec.PlanName as a string, which is kind of interesting. Technically it should be an ObjectReference since Plans are now independent resources.  However, keeping it a string means that we now manually go find the right Plan object by rather than just follow a ref.
We have an issue right now with the names of Plans because per the OSB API spec they only need to be unique within a service, but in Kube they need to be unique for the entire cluster.
Now, @pmorie suggested that we concat the serviceName and the planName and use that as the planName on the Plan resource.  That doesn't yield the greatest UX.  However, since ServiceInstanceSpec.PlanName isn't an objectRef and we need to do a manual lookup we can get away with ServiceInstanceSpec.PlanName only being the plan name itself and not the concatenation of ServiceName and PlanName - which means a nicer UX, at least for creating ServiceInstances.  Its not great if you ever need to retrieve a Plan by itself because you then need to twiddle names.
I'd like to discuss this issue and the names of Plans in general on tomorrow's design call before we merge this.  I'm hoping that the net result of this will be to just twiddling of these split resources but in case it ends up requiring a lot more surgery I think having one more day/talk would be good and not delaying it too much.

I'd like to discuss this issue and the names of Plans in general on tomorrow's design call before we merge this. I'm hoping that the net result of this will be to just twiddling of these split resources but in case it ends up requiring a lot more surgery I think having one more day/talk would be good and not delaying it too much.

SGTM

This still has ServiceInstanceSpec.PlanName as a string, which is kind of interesting. Technically it should be an ObjectReference since Plans are now independent resources. However, keeping it a string means that we now manually go find the right Plan object by rather than just follow a ref.

References to global resources are totally fine to be just ThingName string fields.  There are a number of places where this pattern is used in k8s.  String vs. ObjectReference also doesn't change the amount of work that has to be done when programming.

we can get away with ServiceInstanceSpec.PlanName only being the plan name itself and not the concatenation of ServiceName and PlanName - which means a nicer UX, at least for creating ServiceInstances.

We need to use only the k8s name of an object to make a reference to it.  No guessing or munging based on other fields.

References to global resources are totally fine to be just ThingName string fields. There are a number of places where this pattern is used in k8s. String vs. ObjectReference also doesn't change the amount of work that has to be done when programming.

That concerns me and sounds like bad practice.

jenkins is good, but vlinker is blowing up on osbapi domain. I think they forgot to renew.

restarting build - I can get to the site now

it looks like an https issue since I can get a response (granted a 301) for http via curl. However, what's  odd is that for http I get a series of redirects that seem to be cyclical, yet a browser handles it just fine.  https via curl just hangs for me - yet a browser deals with it.  I must be missing something.

@duglin I don't get anything from https://openservicebrokerapi.org/ via curl or browser. Times out.

they're still trying to fix it

jenkins is all green 👍

edited, now for the rebase.

should be rebased now. hope it passes e2es

/retest

I've done several clean builds locally and on vms as well as the internal IBM travis and have never seen that test failure. way confused.

All green. Gonna take out that debug test.

tpr unit tests seem flakey, and I don't know why.

green again.

@pmorie

first three lines of convertServicePlan do the check for
2 & 3. I don't like giant multiple purpose PRs. We decided to do the split. The split is done. Let's get everyone used to the API change sooner rather than later. At the moment this doesn't seem obviously more or less functional than without the split, and that is my goal. The externalID looks like it should be part of the validation, so I can throw that in, I think. I have utterly no clue what's necessary for field selection and it is a separate topic anyway. Looking upstream it seems like it's something tacked on after-the-fact.

@MHBauer

I have utterly no clue what's necessary for field selection and it is a separate topic anyway. Looking upstream it seems like it's something tacked on after-the-fact.

So, immediate follow-up PR, then?

@pmorie can you find derek's pointer? https://github.com/kubernetes-incubator/service-catalog/issues/1124#issuecomment-322307659

A couple places where this is implemented in the core resources you know and love:

https://github.com/kubernetes/kubernetes/blob/master/pkg/registry/core/pod/strategy.go#L217
https://github.com/kubernetes/kubernetes/blob/master/pkg/registry/extensions/replicaset/strategy.go#L146

LGTM but
1 - there are some comments that ask question that should be answered first (even if the answer is "I'll do it later"
2 - I'd prefer another LGTM and for @pmorie to re-LGTM since there have been a lot of edits since his LGTM

--- FAIL: TestReconcileServiceInstanceDeleteBlockedByCredentials (0.00s)

	controller_instance_test.go:889: This should not fail

You don't say... 😄

@kibbles-n-bytes Jenkins had a "failure to set github status". Is there a retry in our code when that tries to happen, or is it part of a jenkins plugin we probably can't touch?

edited, rebased, all green.

I'm taking off LGTM1 to re-review because this is a huge API change.

@MHBauer Huh, I've never seen the GitHub status setting fail. Sounds like GitHub was just down for a brief moment. That portion is touchable and I could add a retry if necessary, but I think it's such a rare occurrence that it can wait as a "nice-to-have" feature.

I hate to add more work here Morgan, but https://github.com/kubernetes-incubator/service-catalog/pull/1210 was merged yesterday that added a new admission controller that blocks changes to an instance's service plan if the plan is not updatable.

I'll get started on the refresh Monday morning.

Green Jenkins, phew.

I'm concerned that the walkthrough e2es may not be testing the correct version of the code.  When I try to run the walkthrough locally, the controller can't create serviceplans for the ups-broker:
apiVersion: servicecatalog.k8s.io/v1alpha1
kind: ServiceBroker
metadata:
  creationTimestamp: 2017-09-19T13:39:46Z
  finalizers:
  - kubernetes-incubator/service-catalog
  generation: 1
  name: ups-broker
  resourceVersion: "3"
  selfLink: /apis/servicecatalog.k8s.io/v1alpha1/servicebrokers/ups-broker
  uid: 00183ac8-9d40-11e7-a37c-0242ac110005
spec:
  url: http://ups-broker-ups-broker.ups-broker.svc.cluster.local
status:
  conditions:
  - lastTransitionTime: 2017-09-19T13:39:46Z
    message: 'Error syncing catalog from ServiceBroker. Error reconciling servicePlan
      "default-86064792-7ea2-467b-af93-ac9694d96d52" (broker "ups-broker"): serviceplans.servicecatalog.k8s.io
      is forbidden: User "system:serviceaccount:catalog:service-catalog-controller-manager"
      cannot create serviceplans.servicecatalog.k8s.io at the cluster scope'
    reason: ErrorSyncingCatalog
    status: "False"
    type: Ready
  reconciledGeneration: 0

So, I am not sure at all how e2e could be passing, and I found a bug in the rbac setup for which I needed to create https://github.com/MHBauer/service-catalog/pull/3.
I think we should ensure that we understand why the tests showed as green before we merge this.

Adding do-not-merge for now to avoid an accidental merge until we can figure out why the tests appeared to pass.

@pmorie @MHBauer Looking into it now.

Oh ya, missed my own reminder. whoops.
https://github.com/kubernetes-incubator/service-catalog/pull/1106#issuecomment-325436818

something weird is going on with lint.

Green again.

@pmorie verified RBAC rules as per discussion on the slack channel. Merging.


Add Encodings For MsgFundCommunityPool from Distribution

Hello. This is a follow-up for the follwoing issues and PRs:

https://github.com/CosmWasm/wasmvm/pull/433
https://github.com/classic-terra/core/issues/288
https://github.com/CosmWasm/cosmwasm/issues/1741

This PR conducts following changes:

add MsgFundCommunityPool to the supported Msg encodings
Depositor field is automatically filled with sender address (= contract)
add encoding test

Note that this PR depends on changes in wasmvm repository. I ran the build and unit-tests locally where I could easily swap the wasmvm dependency with my local wasmvm repo using replace section in go.mod. So before merging a version bump of wasmvm might be required.

Linking https://github.com/CosmWasm/wasmd/issues/1296 to unblock this

@mergifyio rebase


Tab carshed

Describe the bug
Hi,
When i am loading the plugins, The tab is not loading. Showing the tab crashed error.
Thanks,
Srikanth
4809422425
Steps to reproduce

do this
do that
now this happens

Expected behavior
Tab crashed
Environment

OS: [e.g. MacOS 10.2, Windows 10]  - Yes
Camunda Modeler Version: [e.g. 2.0.0]  - 5.10
Execution Platform: [e.g. Camunda Platform, Camunda Cloud]
Installed plug-ins: [...] - Yes

Additional context
No response

Can you show what error appears? What plugins are you using?

Hi,
Apologies for late reply.
I am using the "plugins-20210303" plugins.


Fix eth_signTransaction request and response

Motivation

As per Ethereum JSON-RPC API Specification, the eth_signTransaction method should return an RLP encoded transaction payload. Anvil is just returning the signature.
Also the parameters of the transaction MUST be part of a sequence.
Solution
This PR returns the signed payload in eth_signTransaction request and also configures the deserializer to deserialize params using a sequence.
A happy path test was also added in tests/it/sign.rs (Was not sure if I should put the test there or in tests/it/transaction.rs)
Thank you!

I think there still is a bug (probably in alloy) for signing EIP1559 transactions. The signed result (like the example added here in test) has an invalid y_parity value. It looks like alloy is returning an EIP155 enum value when signing a EIP1559 transaction. For EIP1559, the parity value should be a true/false since chain_id value is already present in the payload.

I think there still is a bug (probably in alloy) for signing EIP1559 transactions. The signed result (like the example added here in test) has an invalid y_parity value. It looks like alloy is returning an EIP155 enum value when signing a EIP1559 transaction. For EIP1559, the parity value should be a true/false since chain_id value is already present in the payload.

The change in this PR (https://github.com/alloy-rs/alloy/pull/647) fixes the issue above with signing. I'm not sure if it was the correct place to do that and opened that PR for discussion.

Sorry to ping again @DaniPopes. Please let me know if anything else is required and if I can help further with the EIP155 issue in transaction signatures.


Custom schema for posts

We already support custom schema for sites. After #39 is closed, do the same for posts. See https://github.com/jacobobryant/platypub/blob/master/themes/default/custom-schema.edn. Grep for custom-schema.edn to see the places that sites' custom schema is already used and mirror that for posts.

What sort of relationship should we implement between post and site custom schema?
We could have a post value override a site value, it being more local.
Navigation links in particular seems like an attribute that should remain at the site level.
We could maintain separate custom schema maps and construct override rules for attributes they have in common.

What sort of relationship should we implement between post and site custom schema?
...
Should a post value override a site value, since it's more local?

I was imagining they'd be separate; no need for post values to override site values. i.e. currently we have a :site/custom-config attribute for sites. We could add a :post/custom-config attribute.
I guess there could be overrides, but it would happen within the theme code. e.g. maybe a site has a custom attribute for author, but posts also have a custom author attribute. As the theme writer you'd probably make it so that posts use their own author value first but default to the site author if one isn't defined. But Platypub itself wouldn't need to be aware of that.

Can custom schema attributes remain optional, i.e. assigning no value means no key?

I think either way is fine. Looks like for :site/custom-config we still add the key put use an empty string for the value (https://github.com/jacobobryant/platypub/blob/master/src/com/platypub/feat/sites.clj#L34). We could have it remove the key altogether instead and make sure that themes don't break when their custom config values are nil. (I don't know off the top of my head if the default theme has problems with that currently--I don't think it does?)

Should separate custom schema maps be maintained and override rules constructed for attributes they have in common?

Originally my thought was that if a theme defines any new custom schema, it is the owner for those keys (and the keys should be namespaced accordingly, e.g. :com.platypub/primary-color etc.) With the current site custom config thing, I'd say if you wanted to make a new theme that reused the existing :com.platypub/* keys, you'd copy platypub's custom config and not make any changes. (of course at this point all custom config values are of type string, so it's not like there's much to override anyway.)
However I'm beginning to think that before we implement any post custom schema stuff, maybe we should figure out exactly how item types (#43) are going to work, and then implement item types + custom post schema all at once. Otherwise I'd be afraid of implementing something that we're just going to change anyway.

Yes, event attributes are what I'm considering as additional item fields which will include three of instant types.

The author attributes are a good fit for customizing in posts. At the theme level perhaps they can be moved to a custom-post-schema.edn file and set the main author in defaults.

Sounds reasonable--I'm planning to put some thinkin' into a possible implementation this friday, so hopefully I'll have a concrete implementation we can poke holes in soon.


[WIP] Add test for using action_context in Jinja expressions within action metadata

This PR exposes an issue where Orquesta does not expose the action_context to an action parameter that uses a Jinja expression: Failed to render parameter "immutable_default_user": 'dict object' has no attribute 'user'
That feature is used in st2cd.create_vm_role (ignore the weird indentation - that's from the YAML file itself):
---
  name: "create_vm_role"
  runner_type: "mistral-v2"
  description: "Create a VM, add DNS, bootstrap puppet"
  enabled: true
  entry_point: "workflows/create_vm_role.yaml"
  parameters:
    ...
    creator:
      type: "string"
      default: "{{ 'api_user' in action_context and action_context.api_user or action_context.user }}"
immutable: true

The WF is currently successfully run by Mistral, but my Orquesta migration is running into this issue.
Link to the exact error in the Travis log.

I was curious when I saw this PR in slack. I haven't used action_context before.
If anyone else is curious, action_context is documented here:
https://docs.stackstorm.com/actions.html#parameters-in-actions

Fixed in #4443.


Updates

Great !
any updates about it in 2015? Is it obsolete fschwiet-boxstarter  or still working ?
I'm newbie about it.
How-to create a LAB Hyper-V VM
http://charbelnemnom.com/2014/04/build-a-step-by-step-hyper-v-and-vmm-lab-with-powershell/
How-to install apps silent and unattend in Dev Machine with powershell (chocolatey)
https://gist.github.com/vintem/6334646
Maybe interesting , combine Hyper-V VM and Chocolatey (or BoxStarter) for create Hyper-V VM from ISO (eg. Windows7, Windows8, Windows Server 2008/2012 R2), configure Server Features and Roles, change policies, set settings and configurations like Control Panel, IE Settings, modify machine.config, create appPools and websites in IIS, install certificates, install components like ODP.NET Oracle and others, install applications silent and unattend, etc.
And DO those tasks programmatically using Powershell.

fschwiet-boxstarter is obselete, but Boxstarter had some significant improvements since I wrote fschwiet-boxstarter.  Check out http://boxstarter.org/ for the latest on that.  I personally avoid Hyper-V so I cannot address that directly.  For some of the configuration tasks in Powershell you may want to look at Carbon (http://get-carbon.org/help/).
I'm not sure about the environment you're creating VMs into, but https://www.packer.io/ can be used to create custom baseline images (though I don't know about their windows /hyper-V support).  You may also find Puppet (http://puppetlabs.com/solutions/microsoft) or Chef useful.


Smart MainMenu

If user is not authenticated bot send only "auth" button
if user is authenticated we send "Сменить пользователя" instead standart "Auth"

If user is not authenticated bot send only "auth" button - does not work


Namespace to Gateway - Portal uses API v3 where appropriate

There are only a few REST API calls (rather than graphql) within the Portal (for the directory). These should be updated to use the new v3 api.
Search api/v2 to find - be mindful some things will not change to v3 (like openapi spec for v2!).

please tag me as a reviewer on PRs :)


Create integration test for Coinbase plugin (plugin folder)

[ ] @jzvikart to clarify with @monilpat and comment on this ticket all functionality to be tested in Coinbase plugin

@monilpat could you comment on that? We could of course go through Examples of all Coinbase tickets you worked on but definitely would be better to get a sense of basic and more advanced scenarios that could be covered with this effort (and/or with future tickets)

Let's try to use Gherkin-style description for scenarios: https://www.businessanalysisexperts.com/gherkin-user-stories-given-when-then-examples/


Options to make docker containers' traffic pass through VPNs

People might use fdp-play in restricted networking environments so it would be very handy to have an option that asks any new containers to send traffic through a proxy server. This is achieved via --network host on ordinary docker runs. e.g. docker run --rm --network host -ti mahalo

https://docs.docker.com/network/proxy/


Optimize the implementation of error handling in keep alive.

Enhance #53.

out_of_range sounds reasonable!
Sent from my iPhone

On 7 Apr 2021, at 17:18, Tao He @.***> wrote:

@sighingnow commented on this pull request.
In src/KeepAlive.cpp:

@@ -152,9 +152,18 @@ void etcd::KeepAlive::refresh()
std::cerr << "keepalive timer error: " << error << ", " << error.message() << std::endl;
#endif
} else {

 this->stubs->call->Refresh();

 // trigger the next round;

 this->refresh();

 if (this->continue_next) {

   auto resp = this->stubs->call->Refresh();

   if (!resp.is_ok()) {

     throw std::runtime_error("Failed to refresh lease: error code: " + std::to_string(resp.error_code()) +

                              ", message: " + resp.error_message());

   }

   if (resp.value().ttl() == -1) {

     throw std::runtime_error("Failed to refresh lease due to expiration: the new TTL is -1.");

It's important to be able to distinguish between the lease expiry and the connection failure.
Agree about distinguishing those two kinds of failure, but I would like to throw different kinds of exception (std::runtime_error and std::invalid_argument or std::out_of_range). I don't want to makes the KeepAlive so complicate for users. After adding a another handler, there would be too many ctor combinations and dispatch logic.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.


workaround: do not paste if stopped dragging

I'm not sure if this is the correct solution and if it has any side effects. I suspect that the mouse button 2 action on linux can be detected as a mini-drag, causing onMouseUp to be invoked twice.
Issue: https://github.com/atom/atom/issues/8648#issuecomment-200905442

as far as I can tell, tests are failing because of CI-brokeness. Restarting might fix it. But please correct me if I'm wrong :)

Specs are flaky, so as long as you aren't seeing any failures that may be related to your fix, you should be fine.

Looking good, can confirm this issue is there on Linux (Ubuntu 14.04) even in safe mode. And the change made by @iivvoo fixes it.

Ping @50Wliu, this should be clear to merge right?

Is anyone looking at this? It's been an on going problem since Sept 2015. I've just installed the latest stable release (1.11.1) and the middle mouse button still pastes multiple times.

Installing vscode fixed it for me ;)

It's sad to see such a simple fix as this be open for so long. :/

If it were an OSX issue it would have been fixed yesterday...

I checked this patch and sometimes Atom still pastes twice and three times. Has someone validated it?
I proposed this some time ago: https://github.com/atom/atom/issues/8648#issuecomment-172554041

@jlsalvador yes I validated it, see my reply on May 12.

Superseded by #14063.


LUCI try builders should assert files to upload exist, even if they do not upload the file.

Right now we guard the upload calls behind a flag, but we could instead make the upload method itself check the flag and if the flag is false, assert the file exists and do nothing else.
/cc @keyonghan @godofredoc @christopherfujino

https://flutter-review.googlesource.com/c/recipes/+/15060


ERROR Cannot read property 'metadataName' of undefined on VsCode

Summary
I'm trying to retrieve source from org to manifest and I get the error Cannot read property 'metadataName' of undefined I'm retrieving by doing right click on manifest and selecting the option retrieve source in manifest from org and also from the sfdx force:source:retrieve
I used the extension salesforce package.xml generator to create the package.xml file
I already tried to do the command --loglevel debug because I read this should fix the issue.
command: sfdx force:source:retrieve --manifest manifest\package.xml --loglevel debug
Steps To Reproduce:

Create project with manifest
Configure package.xml
run retrieve source

Expected result
Retrieve source from org.
Actual result
Get the error described above
Additional information
I'll post the package.xml code as an answer because it's 500 lines long.
Salesforce cli version: sfdx-cli/7.42.1-e41dbeb8d9 win32-x86 node-v10.15.3
Vscode version: latest version to date, can't find version.
OS: Windows 10 64 bits
Plugins: @oclif/plugin-autocomplete 0.1.5 (core)
@oclif/plugin-commands 1.2.3 (core)
@oclif/plugin-help 2.2.1 (core)
@oclif/plugin-not-found 1.2.3 (core)
@oclif/plugin-plugins 1.7.8 (core)
@oclif/plugin-update 1.3.9 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-trust 3.0.5 (core)
analytics 1.2.1 (core)
generator 1.1.1 (core)
salesforcedx 47.15.0 (core)
├─ salesforcedx-templates 47.16.0 (core)
└─ salesforce-alm 47.14.0 (core)
sfdx-cli 7.42.1 (core)
PS D:\Program Files (x86)\Microsoft VS Code\Uat 3>

Can you verify this still happens on current versions?  I can't figure out how to replicate it , and we swapped the retrieve command's library so it should be very different (you might get a good error message now).


Double scrollbar showing up.

Both default and simplebar are showing.
        .scroll{
            width: 300px;
            height: 200px;
            margin: 0 auto;
            background: #222;
            color: #fff;
            padding: 20px;
            text-align: justify;
        }

	<div class="scroll" data-simplebar>
                     It is a long established fact that a reader will be distracted
                     by the readable content of a page when looking at its layout.
                    The point of using Lorem Ipsum is that it has a more-or-less
                     normal distribution of letters, as opposed to using 'Content here,
                     content here', making it look like readable English. Many desktop
                    publishing packages and web page editors now use Lorem Ipsum as
                      their default model text, and a search for 'lorem ipsum' will
                    uncover many web sites still in their infancy. Various versions
                    have evolved over the years, sometimes by accident, sometimes
                     on purpose (injected humour and the like).
	</div>

`

I too get the double bar.... I am unable to figure out how to remove the default browser bar and just show the simple bar :(

As I understand you should not use the padding on the element to which the data-simplebar is attached. Otherwise, playing with paddings, you risk displaying a native scroll. Try to remove the padding and transfer it to the wrapper-container.
For me everything turned out.

Padding on outside wrapper will shift your bar to the left. Just make an additional inside container for your text.

hi i am getting double scroll bar can one tell me how to remove it i am not useing pading as well

hi i am getting double scroll bar can one tell me how to remove it i am not useing pading as well

Any update on this? I still have the same problem ...

@whoisflo, @nikhilbhati  can you attach your HTML/CSS? I could check it and maybe help you.

I'm getting double bars with simplebar-react.  See simple app here:
App.js
`import React from 'react';
import SimpleBar from 'simplebar-react'
import 'simplebar/dist/simplebar.min.css'
import './App.css';
function App() {
return (

<SimpleBar style={{maxHeight: 100}}>

test
test
test
test
test
test

);
}
export default App;
`
App.css
.simplebar-scrollbar {   background-image: linear-gradient(-131deg, rgb(231, 176, 43) 0%, rgb(193, 62, 81) 100%); }


virtual-scroll: get/set scroll position

Feature Description
Possibility to get and set the scroll position of the virtual scroll component
Use Case
I could restore the scroll position when the user gets back to the page.

Hi, If you use CdkVirtualScrollViewport, I believe there are methods for that:
measureScrollOffset and scrollTo
https://material.angular.io/cdk/scrolling/api#CdkScrollable
https://material.angular.io/cdk/scrolling/api#CdkVirtualScrollViewport

@shanehsu is that new? I'm pretty sure I checked this. I will confirm if it works next week.

@Ploppy3 I am not sure about whether they are new. But scroll strategies use these methods in order to calculate what range to render in the viewport, I have worked on a custom strategy for my app, I’m pretty sure they work fine!
Hope it helps :)

@shanehsu It works, thank you.


Add pagination support to applicable GitService methods

Bitbucket has a limit of 100 items per page. I didn't check for other providers..
Asking for too much data in one request could be slow. Depending on our future usage of GitService, it might be a good thing to add pagination support.

That is really useful for GitService.getRepositories and GitService.getOrganizations

It would also be nice to filter out repositories given a string parameter

@gastaldi

It would also be nice to filter out repositories given a string parameter

-> https://github.com/fabric8-launcher/launcher-backend/issues/174


Deleting the Broker ConfigMap prevents the Broker from being finalized

Describe the bug
Deleting the Broker ConfigMap prevents the Broker from being finalized since we can't get
Kafka cluster URL and credentials to remove topics.
Expected behavior
A Broker can be deleted even if the ConfigMap is deleted first.
To Reproduce

Create a Broker b
Remove the ConfigMap associated with broker.spec.config
Remove the Broker b

Knative release version
<= devel
Additional context
/area broker
/area control-plane
/kind bug
/priority important-soon

cc @aliok

Good catch

The plan is to add a finalizer to the ConfigMap associated with the broker.
Finalizer name: <broker_name>.<broker_namespace>.kafka.broker.eventing.knative.dev
After deleting the topic we can remove the finalizer.

/assign


[BUG] Duplicate icons set in demo

🐞 Bug report
Icon names are duplicated when opening the page https://taiga-ui.dev/icon-set and click "show names" button.
This is because duplicate names in constants-flie and in demo-flie.
In file "taiga-ui/projects/icons/constants/icons.ts " tuiKitIcons include tuiCoreIcons. line 46
ts     export const tuiKitIcons = {     ...tuiCoreIcons,     ...
In file "taiga-ui/projects/demo/src/modules/customization/icon-set/icon-set.component.ts" line 21.
ts readonly names = [...Object.keys(tuiCoreIcons), ...Object.keys(tuiKitIcons)];

@Goodzonchik Nice catch, thank you! Would you be interested in creating a PR since you already spotted where and how it has to be fixed? 🙂

Ok, I create PR for this bug)
https://github.com/TinkoffCreditSystems/taiga-ui/pull/401

Resolved with your PR, thank you!


Update source repository

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

configure.ac:1: error: possibly undefined macro: dnl
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:131: error: possibly undefined macro: AC_MSG_FAILURE


Error when doing migration from acts_as_commentable

I get the following error:
PGError: ERROR:  column "updated_at" of relation "comments" already exists
: ALTER TABLE "comments" ADD COLUMN "updated_at" timestamp

The migration provided by line "rails generate acts_as_commentable_upgrade_migration" includes the updated_at column. If your existing table already has that column, you only need to remove it from the migration.


feat: golf IMO 2001 q2

Mostly using positivity.
Let me know whether, at this stage of the port, it's ok to delete unused auxiliary lemmas.

Let me know whether, at this stage of the port, it's ok to delete unused auxiliary lemmas.

Files in the Archive/ are by definition leaves, and so are "downstream-closed-ported" from the moment they are ported, so arbitrary refactors are okay!

bors merge


DROOLS-2140: [Guided Decision Table] Dragging table should be disabled when pinned

See https://issues.jboss.org/browse/DROOLS-2140

@jomarko FYI.. it'd be nice if I you was in AppFormer so I could add you too!

@ederign Could you please add @jomarko to the AF team in GitHub?

@manstis @ederign you have my bless for adding into this group :) anyway, looking on the PR, thanks.

jenkins execute full downstream build

@jomarko Access modifier corrected in subsequent commit..

Jenkins please execute full downstream build.

@cristianonicolai Hi.. jbpm seems broken preventing downstream builds.
https://kie-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/uberfire-downstream-pullrequests/130/console
 [ERROR] Errors in 'org/jbpm/workbench/pr/client/editors/instance/signal/ProcessInstanceSignalPresenter.java'
14:53:42 [INFO]       [ERROR] Line 48: Failed to resolve 'org.jbpm.workbench.pr.client.resources.i18n.Constants' via deferred binding

and other similar messages.

Jenkins please execute full downstream build.

@manstis thanks, fixing it in here: https://github.com/kiegroup/jbpm-wb/pull/945

Jenkins please execute full downstream build.

@manstis sorry for the delay to merge this.


added code to improve tracking for single site pages

For improved tracking in google analytics I suggest using a script taken from here:
https://mediacause.org/track-anchor-tags-google-analytics-2/
With anchor support the website report is much more verbose. Otherwise I just see a single access to the index.html, i.e. the single page.

Thanks :)
I will release a new version


Cannot animate more than one property on AnimatableBody2D with Sync to Physics enabled

Tested versions
v4.3.rc2.official [3978628c6]
System information
Godot v4.3.rc2 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2060 (NVIDIA; <IP_ADDRESS>99) - AMD Ryzen 5 3600 6-Core Processor (12 Threads)
Issue description
When attempting to animate more than one property of an AnimatableBody2D node (eg position and rotation), only one animation track will ever play as long as Sync to Physics is enabled on that AnimatableBody2D. This is detrimental as the Sync to Physics property is important for snapping CharacterBody2Ds to AnimatableBody2Ds without them lagging behind slightly, which can cause undesirable side effects for moving platforms in 2D games for example.
Steps to reproduce

Add an AnimatableBody2D to the scene.
Add a collision shape to it for visual reference.
Create an AnimationPlayer and keyframe some different positions and rotations for the AnimatableBody2D at different times.
Enable Autoplay on Load for the animation.
Play the animation in the editor; it plays as expected.
Save and run the project with visible collision shapes enabled; Only one of the animation tracks will ever play.
Uncheck Sync to Physics on the AnimatableBody2D and run the project again; animation plays normally.

Minimal reproduction project (MRP)
AnimatableBody2D MRP.zip

Thank you for reporting, consolidating in:

https://github.com/godotengine/godot/issues/76287

See there for more details, if you think something was missed about this and it's not the same issue, please comment here and it can be reopened


GCE firewall instructions assume a given IP address range

The GCE.md instructions include a line explaining how to open the firewall for IP in IP traffic.  They assume the network provided by GCE is <IP_ADDRESS>/16.  However, I don't believe this is guaranteed (i.e. I've seen different ones in other GCE projects) - in fact, it looks like this is the "legacy" default for GCE, but they've now moved to use <IP_ADDRESS>/9 for new instances.
Either way the docs probably need something to tell the user to use their value here.

Fixed by #1002


Remove examples directory from install

The beaker-pyteal package ships with the examples folder which gets installed to site-packages, it should not.

#135 fixes this but it's worth noting that pyteal package has the same issue so it's even difficult to reproduce this behavior because often times the example folder in pyteal package will overwrite the example folder in beaker-pyteal package.


[PERF] Some enhancement for IMAP

We recently worked on a more meaningfull IMAP performance test that highlighted many tiny and not so tiny area for performance enhancements that this work try to address.

Rebase + CapabilityTest should match bean contract


Suggestion: Observe paths

Aurelia should expose a simple way to observe a path, e.g. user.firstName.
If I am not mistaken, ObserverLocator only helps you observe a property directly on your object.
@computedFrom really needs it: #149
aurelia-validation built its own solution to the same problem (maybe some reuse is possible here?):
https://github.com/aurelia/validation/blob/master/src/validation/path-observer.js
And it seems to me that the binding system has to be doing that somewhere already.
And my own code needs it as well... ;)

Yes, we should expose that. We have been hesitant to do it just yet because we are about to do a major overhaul to the biding system in order to improve performance and memory. After we do that, we'll expose some nicer APIs for consumers such as this. @jdanyow Let's use this issue to track the user-facing APIs for the binding system that we want to add after the perf work is done.

+1

related to https://github.com/aurelia/binding/issues/149

The upcoming release has our new bindingSystem API which exposes observePropertyChanges(obj, propertyName, callback) and observeCollectionChanges(collection, callback).  We could add observeExpression(expression: string, callback).
Thoughts?

(1) Naming seems a bit long and maybe inconsistent. Why Changes -- or why not observeExpressionChanges then? I think you can go with just observeProperty and observeCollection.
(2) What is the execution context for observeExpression? If a call observeExpression('item.price * item.quantity', value => console.log(value)), where is item supposed to be? How does Aurelia know?
(3) Does observePropertyChanges support paths, e.g. address.city.zip or orders[3].quantity? I think it's a must-have API. For instance, it is required internally in Aurelia by @computedFrom attribute and aurelia-validation.
If it already supports paths, it is probably a misnommer and the API should be renamed. observeProperty kinda implies that it only observes a single property.
I suggest observeValue, observeScalar or just observe. Not observePath for a reason that will become more obvious in (4).
(4) The fact that observeCollection takes a collection directly is limiting. In the same way observeProperty taking a single property is limiting.
I think that it should accept a collection or a path to a collection. Say I want to observe this collection: observeCollection(context, 'selectedItem.tags', callback). I would be notified when the tags change (addition, removal) but also when the selectedItem changes and I get a brand new tags array.
BTW I assume arrays are "smart", i.e. observeValue(context, 'items.length', cb) would work?

good feedback- this is just a starting point- the API will definitely evolve based on the community feedback.  Here's some more info:

naming: wrestled with this myself.  Problem is there's a lot of confusion around property observation vs collection mutation observation.  Would like to avoid this if we can.

binding context: good call, it's missing in the pseudo code

observePropertyChanges does not support paths

So there are tradeoffs, having a single "observe" method that accepted expressions was considered.  We could still add that.  There's a cost to parsing expressions, there's a cost to eagerly observing array mutation along with property changes.

What do you think?  Should we favor an API that takes just about anything for args and eagerly observes the result or should we keep things very explicit, like they are now?  Maybe we could have mix, with a very eager default behavior and some options to dial things back?

I think it make sense to keep at least 2 different APIs and probably even 3 for efficiency purposes.
Observing a collection or a single value is not the same for two reasons:

The callback is different. In one case you are passed the new value (and possibly the old one). I have not looked at the new API documentation but I assume that for collections you get a list of addition and removal (array of values + change + index) or a "reset" flag when the collection has completely changed.
So different signature -> different API. It is good design and it is even more important for the Typescript experience.
Consider observeValue(x, 'tags', cb) and observeCollection(x, 'tags', cb). Exact same call, but different behaviour. In the first you want to know when the tags array is swapped for another array (or null). In the second you want to listen to mutations of the tags array.

The gray area is for expressions. With a context they are very similar to the observeValue function. But because the parsing involved is more complicated, I would tend to have a "simple" path parser in observeValue and a more complex expression parser in observeExpression. Now maybe it's not worth having a path parser at all and they could use the same API, I am not 100% sure about this one.
So I think a good API start would be:
observeValue(object, path, cb)
observeCollection(object, path, cb)
observeExpression(object, expr, cb)
Another concern is whether passing a callback is the good thing to do. I am thinking that adopting RxJS might be better. Here's why:
0. The result of observe is an observable sequence, which is what Rx models.

The syntax is a bit nicer and similar to (now) well-known Promise:
let disposable = observeValue(x, 'name').subscribe(console.log)
This object model is composable. I won't repeat why composition is a good thing vs callbacks, this has been beaten to death in Promises.
This syntax leaves room for future optional parameters, such as options.
This gives a lot of operations for free to people willing to include RxJS in their project. E.g. debounce, throttle, filter, combine with other RX streams, etc.

Doing so might require the rx-core if you don't want to re-implement all the bare bones of a RX observable, which is 15Ko minified.

We aren't going to adopt RxJS in the core. That can be handled by the plugin and @jdanyow has already done some work there. Our internals need to be as light as possible and as small as we can get them, without 3rd party dependencies. The only deps we allow in the core are polyfills.
I think we can improve the naming. @jdanyow I think we could have:

observeProperty/unobserveProperty
observeCollection/unobserveCollection
observeExpression (how to unobserved this one?)
createBindingExpression
registerBindingAdapter

...possibly other things as we see fit
Jeremy, while looking into this, also consider addressing the initialize function. I don't think we can allow orphaning of old services upon container initialization because, especially after adding registerBindingAdapter we could wind up in a situation where a plugin's configuration of the binding system was "lost" on an orphaned instance.

(sorry about the close, accidentally clicked the wrong button)

@EisenbergEffect returning a dispose function, or a disposable object, seems like a better design than having unobserve* functions.
If you don't want to take rx-core into Aurelia (note that rx-core is a minimalist subset that was created with the sole purpose of being embedded by frameworks that don't want to have Rx as a dependency, but for which exposing some Observables that might be consumed by Rx makes sense) you could implement your own return type in a Rx-compatible way. Given that observe results would not throw or close, what you need to actually implement is very thin.
This is something that you won't be able to change easily after v1, so I think you should not dismiss the idea too quickly. Returning an object with { subscribe(); dispose(); } is a nice API, makes the API easier to extend in the future, feels familiar with other frameworks, enables composition (impossible with callbacks), and gives tons of free features to people willing to embed Rx in their app.

@jods4 It is a core tenant of this project that we do not allow any 3rd party libraries in the core which are not polyfills for web standards. Our current api could easily be wrapped with an RxAdapter if someone were to need it. That could even be provided as part of @jdanyow 's async plugin. We don't want to be creating and returning these objects unnecessarily because we just got through doing a bunch of perf optimizations which showed us just how costly doing that is.

@EisenbergEffect Do you mean that returning a function that disposes the observation has proven too costly in benchmarks compared to being able to dispose the subscription by passing in the same arguments again?
That's very unfortunate. Is there no way to optimize this, e.g. minimize the captured state / object creation?
Is it that costly even when you consider the fact that the caller must keep those arguments somewhere if you don't capture them? It is a pitfall in optimization that pushing work outside a framework doesn't optimize the global workload, only what happens in the framework -- and it's even worse because of repeated bloat in the caller code.
I guess an alternative design would be to return a dispose token (i.e. number) à la setTimeout / clearTimeout. It could index into whatever internal structure you use to keep track of the subscriptions and be able to dispose it from that. There would be no allocation required.

We have been through these conversations internally....and it does make a difference. We are talking about a change that would affect every databinding expression in the entire UI. So, that adds up and has big affects on memory. You could "wrap" our api with something that provides the api you want. It won't affect our internal optimizations. But, we don't want to couple our internals to mechanisms that would create unnecessary allocations.
Or maybe....hmmm.
@jdanyow We don't actually use this api internally anywhere do we? So, I guess we could make it a bit different for dev use without affecting our internal perf, right? If that is true, what is the minimum we could do to get something a bit "friendlier" and compatible with Rx? If we make any changes here, we should also consider making the event aggregator's pub/sub API match. Thoughts?

I understand your concerns. The binding system is used a lot in an application, so it has to perform well. This is very important.
I guess that having a low-level API for when perf is at a premium (e.g. the binding engine) and "better" API for when it's not critical is a good approach. As you said, those "better" wrapper might even be an optional plugin. I see your point and I agree with this design.
The tricky part is mostly to expose that in a clean and intuitive way. Starting with: which API should be center stage? The "better" or the "faster"?

Since the fast API (I believe...@jdanyow can correct me if I'm wrong) is already used directly by use internally, I think we could do some of this with bindingSystem. It is, after all, a wrapper of the internal services designed to create a friendlier API. So, maybe we just need to take it a step farther. I would like Jeremy's input on that.
@jods4 Without including any 3rd party library, what is the minimal you think we could to a nice api, and either support Rx or be "friendly" or "easy" to integrate with it. Keep in mind I'm also trying to reduce our source code size :)

@EisenbergEffect I can have a look at that, but I need to know what the internal/fast API looks like.

Just look here: https://github.com/aurelia/binding/blob/master/src/binding-system.js
You will see what the bindingSystem class is doing under the hood.

@jods4 hit me up with a PM on gitter if you have any questions about the internal API that binding-system.js is wrapping.  Basically the internal API uses no callbacks, no closures, and no object or array allocations other than the "observer" and "binding" instances.  Thanks for pitching in on the "public" API.

OK, this is untested but for brainstorming purposes, what about that.
Note that size-wise this is a very thin layer. Perf-wise for the fake-Rx version there are two allocations and some captures happening for each subscription, probably more with the real-Rx implementation. The first allocation may sometimes be amortized since the same "Observable" may be reused with different subscriptions.
// Idea #1
// --------------------------------------------------------------------------------------
// Returns a dispose function: () => void
function observeProperty(obj, propName, cb) {
	observePropertyChanges(obj, propName, cb);
	return unobservePropertyChanges.bind(null, obj, propName, cb);
}

// Idea #2
// --------------------------------------------------------------------------------------
// API that returns a RxJS Observable if Rx is loaded
// or a similar API when RxJS is not there

// Shipped in base aurelia bundle:
function observeProperty(obj, propName) {
	return {
		subscribe: (cb) => {
			observePropertyChanges(obj, propName, cb);
			return { dispose: unobservePropertyChanges.bind(null, obj, propName, cb) };
		}
	};
}

// Shipped as an optional module, overwrites base version:
bindingSystem.observeProperty = function(obj, propName) {
	return Rx.Observable.create(function(observer) {
		let callback = value => observer.onNext(value);
		observePropertyChanges(obj, propName, callback);
		return unobservePropertyChanges.bind(null, obj, propName, callback);
	});
}

// Usage of idea #2
// --------------------------------------------------------------------------------------
var subscription = observeProperty(obj, "firstName")
					.subscribe(value => console.log(value));
// When you're done:
subscription.dispose();

// More fun:
var sub = observeProperty(obj, "firstName")
			.filter(name => name !== "")
			.throttle(300 /* ms */)
			.subscribe(value => console.log(value));

@jods4 Are the two apis compatible. In other words, if Rx is not present, is the api above basically the same as what Rx would provide, or at least a strict subset. The thing I don't want is completely different APIs based on whether or not you have Rx installed. In other words, someone who write an Aurelia plugin, without Rx, should be able to use this api and it should continue to work if someone with Rx installs their plugin. Does that make sense?

@EisenbergEffect That's the idea. The first version returns an object with the following shape:
{
  subscribe: (callback) => { dispose: () => void }
}

Which is a subset of the Rx api.

@jods4 @jdanyow Ok, I think this sounds pretty good then. My main concerns were:

Not affecting the performance of the core
Making sure our APIs were compatible and wouldn't break by the addition of Rx

So, I'm satisfied there. We should also make the same change to the event aggregator api. There was a request for something similar, so this would make all our pub/sub stuff consistent.
@jods4 Do you have time to submit a PR today? I want to make the new release this evening and would like to have this in.

Thinking about all this stuff some more:
(1) About what API should be publicly put forward: only the easy one.
Most applications won't use this much. Convenience is more important than performance.
If a case requiring maximum speed arises, one should fallback to the low-level, highly optimized ObserverLocator directly.
(2) We don't need observeExpression.
It encourages bad practice. People should put their logic into computed properties (getter only) and observe that.
(3) Don't forget that we badly need path observation.
This is a very important use case. Both observeValue and observeCollection should accept a path. This should then be used to fix #149 and simplify aurelia-validation, which has its own path observation system.
@EisenbergEffect sorry it's getting late here and I don't have time to create a PR.

I think observeExpression is the same thing as enabling path observation on the other APIs, isn't it?
@jdanyow Do you have time to do this today? If not, I may be able to do it later. Just let me know.

Observing a path is a subset of observing an expression, which is easier to handle.
But then if you already have the expression observator maybe you can just use it, yes. (I think you shouldn't, though)

You don't need a full parser, just dots and indexers.
Keeping the dependency data structure and unsubscribing to things as they change is also a lot easier. consider observing a.x * b.y. When b changes you need to unsubscribe to the old b.y and subscribe to the new b.y. It forces you to keep the expression tree for dependencies. Or you can rely on a path observation engine and simply observe a.x and b.y, which means observing paths is a stepping stone to observing expressions and has to be built first anyway.
You can include special semantics more easily. I think it makes sense for an observation engine to return undefined when any part of the path is null or undefined. Including such nullability semantics into a generic expression engine is more difficult.
As I said, I don't think exposing an expression engine is a good idea. People should not be encouraged to write code in strings.

All of that infrastructure already exists though, in the binding engine.

@jdanyow @EisenbergEffect
Quick question: is there any global reference kept when creating a subscription?
Precisely, if I do bindingEngine.propertyObserver(x, 'name').subscribe(console.log) and never dispose the subscription, is this going to create a memory leak after x is freed?
My expectation is that one should be able to do that.
I would think that the chain of references is x -> subscribers (maybe via a WeakMap) -> listener callback.
Am I right or do subscriptions always have to be disposed? (which would be a bummer)

Failing to dispose of a subscription will create a memory leak.
Internally the binding engine uses Object.observe.  If you don't dispose of the subscription the observer will never call Object.unobserve which means the browser will continue to observe x, holding a reference x and the callback it's supposed to invoke when x changes.

@jdanyow
For the Object.observe implementation, reading the specs I don't think that it will leak. The specs doesn't explicitely say whether it would leak or not, but the core piece that makes everything work is the Notifier instance that is stored into the [[Notifier]] internal property of an object. So references are observed object -> [[Notifier]] -> callbacks.
So my questions are:

Why do you say not calling Object.unobserve would leak?
What about other observation mechanisms such as setters made by Aurelia, will they leak?

Change notifications are, at they core, just events. I think you would agree that any platform where each event has to be unsubscribed from in order not to leak would suck (and I know of no such platform).

Pretty much every platform has this issue. Usually, the greatest source of memory leaks in every app I've ever looked at has to do with failing to unsubscribe from eventsRemember, eventing mechanism holds a reference to a callback...which could have values captured by its closure. This means that as long as the event is subscribed, the source holds a strong reference to the closure and all its captured state. This may or may not cause you an issue, depending on the lifetime of the objects. Aurelia's O.o fallback stores subscriptions with the object itself, so in theory it should all get cleaned up. However, as applications grow, there can be references between objects that the developer creates which are less obvious. I would just follow it as a best practice to "clean up" something when it is done.

I get from @EisenbergEffect answer that using Aurelia to observe objects does create a strong reference to the observed object and that nothing would leak in the common case where the observee doesn't outlive the observer. In that sense it works like events.
Digression:
I agree that every platform that I know works more or less the same. The "issue" is specifically when the source outlives the listener, which is a leak (typically if you subscribe to global / static events). It is important for a dev to be aware of this.
Yet I think there is a large place for "subscribe and forget" events. It is perfectly fine if you know the event source doesn't escape the listener's scope, which in a ViewModel should be 90% of the time if you program cleanly. (Writing a framework such as Aurelia is surely different in that regard.)
When the event source lifetime is not linked to the observer, I usually fall back on one of two techniques: (a) unsubscribe if the lifetime is clear, e.g. when a UI component is unloaded; or (b) weak events when lifetimes are not clear, e.g. when there are several references from independent owners (although not easy to use, WPF has weak events; Flex had them too).
I think that in application code unsubscribing from every single event creates tons of code and variables and closures. When it's not required it just clutters the code and hurts perf. Consider this mind exercise: a Promise's callback is in fact a one-shot event and keeps a reference to your closure, etc. How would your code look if you had to "unsubscribe" from every Promise you used!

Absolutely. I agree with you here. I created some weak event tech for WPF back in the day to assist with some of those scenarios.
When it comes to our binding system, we have to create the absolute lightest weight implementation possible and that means not creating any unnecessary structures, which are typically needed to handle auto-cleanup. Specifically, with the browser, one would need to use a WeakSet or something to do it...but that isn't implemented everywhere, and there's no WeakReference speced. So, even achieving this in a generic way is very hard...and may not be possible at all to do within the perf constraints we need for the binding system.
Hopefully, developers don't need to do too much manual subscription themselves. Most of this should be taken care of by the binding system which ensures things get cleaned up. As  you mention the real problem is when the source outlives the listener. It's these cases developers do need to manage themselves at the moment.

@EisenbergEffect FYI here are some example user cases where I manually observe stuff today with Aurelia:
(1) A business rule says that when property x changes, then y should reset. Given that x can be directly changed by UI bindings I usually do: observe(data, "x").subscribe(() => data.y = 0) when loading data.
A cleaner way would be to put that logic in a setter, but there are obstacles. If you have set x(value) { this._x = value; this.y = 0; }. Then you have to be careful avoiding dirty checking by adding @computed("_x") on the property. Also if data was a JSON payload, you would need to set its prototype or reassign it to a class instance to get this working.
So that's not as good as it should.
(2) I work around the limitations of aurelia-validation dependencies. The validation can't take path dependencies at the moment, so I kinda had to implement them myself. That's painful and I hope it'll be changed soon. Same thing for @computed on properties BTW.
(3) I write custom elements or custom attributes that accept collections and I need to react to a change in the bound array. That should be handled by Aurelia itself but it currently is not. I wanted to open an issue but I will add a comment in #183 instead.


QHY CCD SDK

Astronomy Cameras and Scientific Cameras Driver/Firmware/SDK

homepage URL: https://www.qhyccd.com/
source URL: https://www.qhyccd.com/html/prepub/log_en.html#!log_en.md#22.10.14
version: 22.10.14
license: commercial
platforms: linux, arm, darwin

I have the camera and will be able to test/verify the camera is detected via lsusb or usb-devices

this issue has a dependency on this one: #200152

https://github.com/NixOS/nixpkgs/pull/217564

made a PR : https://github.com/NixOS/nixpkgs/pull/254714


Prisma migrate repeatedly generates default value for dbgenerated("gen_random_uuid()::TEXT")

Bug description
We have a schema where tables have String primary keys that contain UUIDs:
uuid     String          @id @default(dbgenerated("gen_random_uuid()::TEXT"))

We are running Prisma 2.21.2 and regardless of how many times we perform a migration, the generated SQL always contains statements like:
-- AlterTable
ALTER TABLE "User" ALTER COLUMN "uuid" SET DEFAULT gen_random_uuid()::TEXT;

How to reproduce

Create a new schema with a String @id field whose default value is @default(dbgenerated("gen_random_uuid()::TEXT"))
Run npx prisma migrate dev --name=test-1
Run npx prisma migrate dev --name=test-2
Notice that output SQL generates the ALTER TABLE statement from above, even though it's already the state of the DB.

Expected behavior
No output should be generated for the uuid column in step [3], as no changes were made to that column's name, type, or default value.
Prisma information
A real schema we have:
model PhoneNumber {
  uuid     String          @id @default(dbgenerated("gen_random_uuid()::TEXT"))
  number   String
  userUuid String
  type     PhoneNumberType

  // Relations
  user User @relation(fields: [userUuid], references: [uuid])
}

Environment & setup
- OS: Mac OS
- Database: PostgreSQL 13.2
- Node.js version: v15.11.0
- Prisma version: 2.21.2

The same as #6210.

Thanks for creating this, we'll look into it as soon as possible.

Awesome! Thanks @pimeys , just confirmed that it works in 2.23.0! Big win for our team!


iOS: Login-as returns bad data

When using the Login As staff function in the iOS app, the server returns success (200), but includes invalid (missing?) data, so the app reports an error, even though the operation really succeeded.
The error message is:
Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html" UserInfo={NSLocalizedDescription=Request failed: unacceptable content-type: text/html, NSErrorFailingURLKey=http://www.newsblur.com/, com.alamofire.serialization.response.error.data=<0a3c2144 4f435459 50452068 746d6c3e 0a3c6874 6d6c3e0a ...

Seems only broken on iOS. It returns a redirect to the homepage. iOS should ignore that are just refresh the feed list.


[Suggestion] IGListDisplayDelegate DidFinishDisplayingSectionController

New issue checklist

[x] I have reviewed the README and documentation
[x] I have searched existing issues and this is not a duplicate

General information

IGListKit version: 3.4.0
iOS version(s): 12
CocoaPods/Carthage version:
Xcode version: 10

I think that ListDisplayDelegate should include a delegate method that will inform the viewController that hosts the listAdapter, for the sectionController that finish displaying.

@kwstasna are you saying a delegate to forward viewDidAppear and other such events? For what purpose?

@rnystrom Let's say that i want to subscribe to a certain websocket channel for a profile to get live data changes, but i want to subscribe when the view is loaded, and unsubscribe when the view disappears.
Each view will know in which ID will subscribe and unsubscribe.
For example the UIPageViewController has the didFinishAnimating
https://developer.apple.com/documentation/uikit/uipageviewcontrollerdelegate/1614090-pageviewcontroller
We could build up something like this in IGListKit.

Ahh ok, cool! You could def wire up something in your VC to forward events to SCs confirming to a delegate. That’d be an easy example.
Wiring this up in IGLK would still require manually forwarding the event unless we add swizzling.
Love the proposal, but think it won’t add a ton of value vs just doing it manually.
Sent with GitHawk


Fix EVP_Digest{Sign,Verify}Final() and EVP_Digest{Sign,Verify}() for provider only keys

For provider only keys where the initialization didn't catch, we may
end up crashing because the legacy code path didn't check that it had
support carefully enough.  This only happens if the caller didn't
check if initialization worked or not.
For the one-shot case, it's very simply handling the case where the
key has no legacy implementation an fall back to the standard
init+update+final mechanism.

This fixes more test crashes for #10797

Travis failure not relevant

Final review, anyone?

Merged.
8f020c3da571fd56c4a1ce16daad553193549a67 Fix EVP_Digest{Sign,Verify}Final() and EVP_Digest{Sign,Verify}() for provider only keys


Add Suite2pSegmentationInterface

This PR adds the Suite2pSegmentationInterface to the allowed interfaces. Though this currently fails on the test data with the following error when attempting to create a stub preview:

@CodyCBakerPhD I tried updating my test data—but this didn't change anything. Looks like this has to do with something in ROIExtractors?

hmm, weird. and this is something that only occurred with the suite2p and not with the other segmentation interfaces in stud mode?

Yeah you got it. The rest were tested within the same hour, aside from Caiman (which was approved a couple weeks ago)

I figured it out, before https://github.com/catalystneuro/roiextractors/pull/242 the extractor didn't have an _image_masks attribute rather override the base get_roi_image_masks() to return the image masks. When we're using FrameSliceSegmentationExtractor for stubbing however, in retrieving the image masks we fall back to the base get_roi_image_masks() which expects the _image_masks attribute.
https://github.com/catalystneuro/roiextractors/blob/88372b5cc44fca1812755ef414d90af45163a331/src/roiextractors/segmentationextractor.py#L133

Just tested. This works now!

Can you remove the combined and plane_no arguments? They've been hard deprecated for a while, just looks like we forgot to remove them https://github.com/catalystneuro/neuroconv/blob/main/src/neuroconv/datainterfaces/ophys/suite2p/suite2pdatainterface.py#L65-L66

Updated!

How interesting - we've been seeing some daily failures on the PyFlask builds but they haven't shown up on a PR trigger until now
Could you try looking into the source issue and fix on another PR? I'll do a bit of investigation on my own too


Automated cherry pick of #3357: Integration test should check OpenFlow operations eventually

Cherry pick of #3357 on release-1.5.
#3357: Integration test should check OpenFlow operations eventually
For details on the cherry pick process, see the cherry pick requests page.

/skip-e2e
/skip-networkpolicy
/skip-conformance

Codecov Report

Merging #3407 (1a8a541) into release-1.5 (8b2deb2) will decrease coverage by 2.89%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           release-1.5    #3407      +/-   ##
===============================================
- Coverage        41.41%   38.51%   -2.90%
===============================================
  Files              200      332     +132
  Lines            24128    39749   +15621
===============================================
+ Hits              9992    15309    +5317
- Misses           13105    22921    +9816
- Partials          1031     1519     +488

Flag
Coverage Δ

integration-tests
34.02% <ø> (?)

unit-tests
41.42% <ø> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.


Local Clone of Repo

Hello there I was wondering if it is okay to do a local clone of this repo and wondering if there are any legal obligations to that?
I want to add a privacy manifest file for FMDB given our project uses v1.2.0 of this Pod and I am aware that we are much behind the current version. But currently our project is only compatible this version and if we upgrade the app crashes given it is unable to partner with NewRelic tags.
Please let me know.
Thank you.

Hi @utsavDave97, it's for sure possible to clone the repository locally and make modifications. You can see what is allowed and not in the license here:
Permissions:
Commercial use
Modification
Distribution
Patent use
Private use
Limitations:
Trademark use
Liability
Warranty
Conditions
License and copyright notice:
State changes


Improvements in masking for compound regions.

Fixes #168
Handles negative entries in bounding box for compound regions.
Added tests to prove it's correctness.
Will also add a test for an annulus region.

@keflavich


ambiguous indirect export: getLanguage

Hi
Sorry to bring this up again. This time I've a new error message and it say ambiguous indirect export: getLanguage.

I'm using these dependencies:
"dependencies": {
"@chenfengyuan/vue-countdown": "^2.1.0",
"@headlessui/vue": "^1.6.7",
"@heroicons/vue": "^2.0.10",
"@tinymce/tinymce-vue": "^5.0.0",
"autoprefixer": "^10.4.8",
"axios": "^0.27.2",
"country-flag-emoji": "^1.0.3",
"crypto-js": "^4.1.1",
"cssnano": "^5.1.13",
"firebase": "^9.9.3",
"highcharts-vue": "^1.4.0",
"jalali-moment": "^3.3.11",
"language-flag-colors": "^2.1.1",
"moment-jalaali": "^0.9.6",
"postcss": "^8.4.16",
"postcss-import": "^15.0.0",
"sass": "^1.54.7",
"tailwindcss-rtl": "^0.9.0",
"tinymce": "^6.1.2",
"tinymce-i18n": "^22.8.26",
"uuid": "^8.3.2",
"vue": "^3.2.37",
"vue-gtag": "^2.0.1",
"vue-router": "^4.1.5",
"vuefire": "^2.2.5",
"vuex": "^4.0.2"
},
"devDependencies": {
"@tailwindcss/forms": "^0.5.2",
"@vitejs/plugin-vue": "^3.0.1",
"tailwindcss": "^3.1.8",
"vite": "^3.1.0"
}
my code:
import languages, { getLanguage } from "language-flag-colors";
console.log(languages, getLanguage("pt"))

You’re not giving us much to work with. Where did you get this error? What did you do to get it?  Why do you have country-flag-emoji as a dependency?

Please check out this project:
https://github.com/Shahryar1991/vue-project
I used country-flag-emoji for testing. I'll remove that from my project.
I think this way is better to see what is wrong with my project.

@Shahryar1991 not sure if your issue is related to ESM but if it is, could you try updating to the latest version to see if it fixes it?


Players don't cleanup if loaded quickly

Example:

Just Click Test A then Test B

Youtube appears to explode too

This should be sorted in 1.6.0. A warning will be logged to the console if the loading of a URL is being deferred until the player is ready.


Add Auroracoin

Added Auroracoin contact.   See en.auroracoin.is for verification of mikael hannes

 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.


[AutoPR batch/data-plane] [Do not merge] New Batch API version 2018-03-01.6.1

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2556

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/2219


Not able to view saved images in gallery

I tried runing the app on various different phones but not able view the images in the gallery of any of the phones

this problem is fixed now


Create dashboard for SWODLR monitoring

Use the custom ingest pipelines Cloud Metric Team created to set up a dashboard for SWODLR monitoring.

Cloud metrics team scheduled to work on this in Sprint 2


add FASTQ SCREEN results to multiqc report

FASTQC screen is running and creating reports, however, information is not being merged into final QC report.
ACTION: add fastq screen folder to search location of MULTIQC

completed with commit 796a18003aca4346902500ef9ddebf8b29a84026


Bootstrapping to Latest Causing Git Clone To Failed

Not sure why cloning repository is failing after bootstrapping. This is the error that I am seeing when trying to reconcile manually. My staging cluster is still able to clone the repo and is using the same deploy key as dev.
► annotating GitRepository bpham-firespotter in flux-system namespace
✔ GitRepository annotated
◎ waiting for GitRepository reconciliation
✔ GitRepository reconciliation completed
✗ GitRepository reconciliation failed

This is the error that I am seeing on the flux-controller. Can anyone help with where I should look? It doesn't seem to be an auth issue from what I can tell.
{"level":"error","ts":"2021-09-15T23:46:08.197Z","logger":"controller.gitrepository","msg":"Reconciler error","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"GitRepository","name":"bpham-firespotter","namespace":"flux-system","error":"unable to clone<EMAIL_ADDRESS>error: context deadline exceeded"}

Components
flux version 0.17.1
app.kubernetes.io/version: v0.14.2 to v0.17.1
controller-gen.kubebuilder.io/version: v0.4.1 to v0.5.0
helm-controller:v0.10.1 to v0.11.2
kustomize-controller:v0.12.2 to v0.14.1
notification-controller:v0.14.1 to v0.16.0
source-controller:v0.13.2 to v0.15.4
EDITED: I tested by rolling back the source controller back to v0.13.2 and that works.. Then I bumped it to v0.14.0 and ran into the same error above (context deadline exceeded). Seems like something broke here for me. Maybe related to this change? https://github.com/fluxcd/source-controller/pull/372

Can you please set the spec.timeout to something like 60s and see if it works?

Yeah that seems to work if I set it in the spec. @stefanprodan, weird I was suspecting that was the issue. I forgot to mention that I ran flux reconcile git source bpham-firespotter --timeout 10m with no luck so I didn't try putting it in the spec.

The reconcile command doesn’t alert objects in you cluster. If you want to change the spec.timeout you need to do it your repository.


Add TestObject to Leshan demos.

This aims to implement new Test Object from OMA. (See https://github.com/OpenMobileAlliance/lwm2m-registry/pull/639)
~For now multi-instance resource of this Test Object is not implemented at client side.~

I added support of "multi instance" and test "execute operation with Arguments"

(Implementing this I saw we do not have a very good support for Arguments of Execute Operation, so I created dedicated issue : https://github.com/eclipse/leshan/issues/1097)


Remove edge direction for saved_tensors

Fixes #61

oops I think I merged in the wrong order, @Varal7 could you please rebase?

thanks @Varal7 @albanD !


Is it possible to add an extractor for FreeTV

Checklist

[x ] I'm reporting a new site support request
[x ] I've verified that I'm running youtube-dl version 2021.12.17
[x ] I've checked that all provided URLs are alive and playable in a browser
[x ] I've checked that none of provided URLs violate any copyrights
[x ] I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Main page: https://www.freetv.com/
Movie URL: https://www.freetv.com/peliculas/rosemont/
TV Series URL: https://www.freetv.com/series/ronia/

Description

WRITE DESCRIPTION HERE
FreeTV is a streaming website to watch movies and series, and it doesn't requiere to have an account to watch any movie or tv series. Only if you want to make a playlist its necessary to signup and of course its for free. Video audio tracks are containing in a .m3u8 container like this: https://olympusato-mmd-cust.lldns.net/stream.ismd/stream-audio_eng=128000-video_eng=1198000.m3u8?stream=/....

Perhaps, but someone in the New World will have to do it:

Free TV disponible en Estados Unidos y Latinoamérica


Could you upload dataset that include the noisy images?

Hi,
Great work! Congratulations. I downloaded your ELD dataset but it doesn't contain the images processed by your noisy model. Is it possible to also upload the noisy images?
Thanks.

Hi, what's kind of dataset you want? a synthetic noisy dataset based upon SID dataset?

Hi, what's kind of dataset you want? a synthetic noisy dataset based upon SID dataset?

Hi, thanks for your reply.  Yes I meant synthetic noisy SID dataset. Is it possible to share this noisy dataset? (or any synthetic noisy dataset could be used for training). Thanks in advance!

Ok, I could generate four synthetic datasets which are corresponding to four different devices (Sony, Nikon and Canon) used in our work.  Please wait for some days, as the datasets are very large.

Hi, that would be great! Thank you very much.

@Vandermode Hi! Can I also have this synthetic dataset for training?

@JoeyChuuichi Hi I see your email but cannot reply to you because my BIT email is no longer activated. Please reach me at my new email address kxwei at princeton.edu. As for your request, I'm preparing and uploading the synthetic datasets, and you would see them in next few days:)

@Vandermode
Thank you so much!

@JoeyChuuichi done:) please check updates

@Vandermode Cool! Thank you!

@Vandermode Hi! I would like to ask for some details on installing your customized rawpy library as is described here.

Notice this codebase relies on my own customized rawpy, which provides more functionalities than the official one.
This is released together with our datasets and the pretrained models. To build rawpy from source, please first compile and install the LibRaw library following the official instructions, then type pip install -e . in the rawpy directory.

I have installed the official libraw and I am not quite sure where is "the rawpy directory" mentioned above. Do you mean the official directory here? I am not quite familiar with building these packages from source but it seems that if we build all packages from official source codes, we still cannot install your "customized" functionalities. When running util/lmdb_data.py, the following error appears on my side (which I believe refers to one of the customized functions):
AttributeError: 'rawpy._rawpy.RawPy' object has no attribute 'rgb_camera_matrix'

@JoeyChuuichi I uploaded the customized version in the Google drive / Baidudisk (See readme).

@Vandermode Hi! Thanks for the updates and I found there are lots of useful functions in this new rawpy library!
I recently found another bug here:
https://github.com/Vandermode/ELD/blob/f5cd9cdb2f05e96760f09ed3d8516b25fb1b3b26/train_syn.py#L50-L53
I think it refers to a customized .db file but I cannot find it in the google drive you shared. From my understanding, the .db files in google drive should be the ones used in the following codes:
https://github.com/Vandermode/ELD/blob/f5cd9cdb2f05e96760f09ed3d8516b25fb1b3b26/train_syn.py#L66-L70
Could you help update the google drive and include the 'SID_Sony_Raw.db' file/folder?

Hi @JoeyChuuichi , Thanks for your encouraging feedback! As for your question, the "SID_Sony_Raw" is just the clean target dataset like "SID_Sony_target_Raw" (the difference is all the repeated scenes are filtered out).
Please refer to https://github.com/Vandermode/ELD/blob/f5cd9cdb2f05e96760f09ed3d8516b25fb1b3b26/util/lmdb_data.py#L232 for more details.

@Vandermode Hi! I would like to ask for some details on installing your customized rawpy library as is described here.

Notice this codebase relies on my own customized rawpy, which provides more functionalities than the official one.
This is released together with our datasets and the pretrained models. To build rawpy from source, please first compile and install the LibRaw library following the official instructions, then type pip install -e . in the rawpy directory.

I have installed the official libraw and I am not quite sure where is "the rawpy directory" mentioned above. Do you mean the official repo here? I am not quite familiar with building these packages from source but it seems that if we build all packages from official source codes, we still cannot install your "customized" functionalities. When running util/lmdb_data.py, the following error appears on my side (which I believe refers to one of the customized functions):
AttributeError: 'rawpy._rawpy.RawPy' object has no attribute 'rgb_camera_matrix'

Hi, @zhongyi-zhou, how do you solve this problem?

@wanglixilinx
I think the authors have addressed this issue here:

@JoeyChuuichi I uploaded the customized version in the Google drive / Baidudisk (See readme).

Simply following their official instruction [here] should work.

@zhongyi-zhou ， thanks for your reply. I have followed the official instruction and solved the problem.


Support h2c serving HTTP/2 over non TLS connection

Is your feature request related to a problem? Please describe.
Golang's HTTP default server implementation does not support h2c. See here: https://pkg.go.dev/golang.org/x/net/http2/h2c
Describe the solution you'd like
work around this and provide a h2c server while keeping http/1.1 around

won't fix this issue it doesn't add any value in production


Best practice for VCS

There should be an established best practice for working with VCS.
Initially I just checked the executable in, but this doesn't work if you're working on multiple platforms. My second approach was to use a symlink, but as it turns out the loading is done relative to the binary path, not relative to the symlink.
My other main thoughts are:

A start script that detects the platform and launches the correct binary (only useful for mac/linux)
Adding the dome repo as a submodule (still has the symlink problem, and you now have to make every time you want to build on a new computer)

Thanks to #32, we gain some flexibility. You should be able to symlink DOME, or install it somewhere on your execution PATH and run it. Alternatively, just drop the executable into whichever folder you want your game code in and run it from there.


[dv] FSM transition coverage

Problem
These 2 types of transitions aren't easy to be covered in regular function tests as raised in #14028

any state -> reset
any state -> error in the sparse_state_fsm

any state -> reset
Approach 1
If we want to ensure that the FSM goes back to reset state when reset happens, RTL lint tool can check it. @msfschaffner has done some experiment - enable an AscentLint rule in the lint policy file and it can catch any FSM that doesn't have a reset. If we agree that FSM must always associate with a reset, we could enable Lint to check this.
On the DV side, VCS provides a way to exclude FSM transitions that can only happen on reset. This PR #14360 adds a build option and a configuration file to enable this capability. Since it only excludes FSM transitions that can only happen on reset, user still needs to test the transition to reset if it could be caused by other condition, which is good to test.
Once both Lint and DV flow is set up, block maintainer doesn't need to write any test to cover it.
(Need to enable this for Xcelium if we choose this approach.)
Approach 2
Scenario:

send a normal sequence -> in a parallel thread, after random delay (before the sequence completes) issue reset and kill the sequence -> read all CSRs to check -> restart another normal

We have a test - stress_all_with_rand_reset, which creates a parallel thread to issue reset at any time along with all sequences. It mimics a scenario - reset button is pushed any time when the chip is operating, and check it works again after reset.
But this test doesn't guarantee the reset happens at all the states. Some states may last only a few cycles, which would be extremely hard to hit. We may need to tune the timing of the reset, in order to hit all the transition, which could be really timing consuming but not a lot of reward.
Approach 3
Scenario:

forcing FSM to any state -> issue a reset -> start the regular sequence

This is much easier than approach 2, but seems like it doesn't cover more than the lint tool does. It essentially tests FSM must have a reset.
This requires each block maintainer to their own test.
any state -> error in the sparse_state_fsm
In the common sec_cm test, we only test idle -> error, but we run FPV to prove any state -> error unconditionally leads to a fatal alert.
Since any state can transition to error state, it's also very time consuming to cover all these transition in simulation. And FPV already tests that, so it could be safe to exclude these transitions manually. There is probably no automatic way to exclude them.

It seems like option 3 (like I am doing) is a valid way to do it but you're right, the owner has to write the testcase and set outputs to 0 so there isn't a fatal alert. So I would say option 1 if you think that covers it just as well and the error state FPV verifies that we always get a fatal alert is what we really want to prove anyways.

It seems like option 3 (like I am doing) is a valid way to do it but you're right, the owner has to write the testcase and set outputs to 0 so there isn't a fatal alert. So I would say option 1 if you think that covers it just as well and the error state FPV verifies that we always get a fatal alert is what we really want to prove anyways.

I think the option 3 is also valid. As discussed in the meeting, everyone agreed to rely on Lint and FPV to verify these 2 transitions, which saves some DV efforts. We can probably remove those sequences you added in #14028

Items to close this issue

[ ] @msfschaffner: Update lint rule
[ ] @weicaiyang Enable VCS to exclude reset transitions https://github.com/lowRISC/opentitan/pull/14360
[ ] @sriyerg  Enable Xcelium to exclude reset transitions

#13850 excludes fsm reset scoring for xcelium. Currently just comments it out but could remove now since it's the plan.

I ran it with/without and with set_fsm_reset_scoring, the fsm coverage shows two reset states, one being transitions due to reset and the other normal state transitions to reset. And without, there is just a single reset state showing normal transitions. So I think that's the proper directive to remove but we can look into it more, I'll check with our Cadence AE, and maybe @weicaiyang and/or @sriyerg want to also so we get confirmation from two sources.

I ran it with/without and with set_fsm_reset_scoring, the fsm coverage shows two reset states, one being transitions due to reset and the other normal state transitions to reset. And without, there is just a single reset state showing normal transitions. So I think that's the proper directive to remove but we can look into it more, I'll check with our Cadence AE, and maybe @weicaiyang and/or @sriyerg want to also so we get confirmation from two sources.

Great! Thanks for testing this and confirming with AE. I think https://github.com/lowRISC/opentitan/pull/13850 is what we need.

I am deferring this bug to M3. The new policy file is now available in newer releases of AscentLint, but the tool still exhibits a problem with excessive runtimes on our top-level at the moment. We are following up with the vendor and will come back to this later.

Looked at with @vogelpi - due to time left - consider this a V3 item
Deprioritising to P4.


Support for Luarocks

What would you like to be added:
Requesting support for Luarocks (reading/understanding the format and outputting the modules and associated licensing)
Why is this needed:
Luarocks is a widely used package manager for Lua modules.

https://github.com/luarocks/luarocks
2.7k stars
Watchers
 101 watching
Forks
 410 forks
heavily utilized within NGNIX

Additional context:

Hey, @kzantow I would like to work on this issue. Would you please assign this to me?

Sure thing, @bhavyastar, done!

@bhavyastar, any progress? I might be able to help with such a PR if you haven't already completed it :)
cc @luhring

Could we bump this and make it a priority?

Sorry @willmurphyscode -- I think my window of opportunity passed :)

It looks like this was implemented but the issue never closed: https://github.com/anchore/syft/pull/2613


Validate basic functionality with ARM after first set of integration

Now that we've sync'd with master and updated the multi-arch build we need to validate what runs, where are we.

Summary of the ARM state at this point
Missing Features

No timer; affects duration values and more
No disassamble/funchook; affects console completeness, DNS replies and IP addr display in some cases
No attach support of any type (assy code)
No Go support
No support for static execs

Unit Tests

1 DNS test skipped due to not having funchook
UNIX Socket Peer Test fails; inode resolution

Integ Tests

CLI test hangs because no attach support
Logstream test passes
Nginx passes
java9; pass
java10; pass
syscalls; container build failure
splunk; container build error
tls; container build error
detect_proto; container build error
elastic; container build error
alpine; failures; OpenSSL gnutls nss node.js Ruby Python Rust php apache; at least some of these pass when run manually. something with the container?
kafka; container build error
transport; tls/tcp connections to LS pass, metric tests pass, Testing Event/TCP Transport FAILED

On the integration tests, I'm working on the syscalls test first and have found packages for Python 3.6 on Centos 7 on aarch64 are not available in the normal repos. Investigating options.

I updated the Summary of the ARM state at this point to add a ✅  for those bullet points which have been addressed (added or fixed) on the arm64-issue-241 branch.

unit tests all pass now that we have a disass & funchook. added a  ✅ above.