fix: Deprecate manageEnrollmentApproval and add approve and deny methods

- What I did

Referring to discussion in PR: https://github.com/atsign-foundation/at_client_sdk/pull/1237#discussion_r1487444140, to increase the readability of the code, deprecated the manageEnrollmentApproval method.

Added two new public methods approve and deny methods to approve and deny enrollment requests respectively.

In the at_client_mobile->at_enrollment_impl.dart, the above methods will be invoked to approve/deny an enrollment request.

Fix the failing functional test. The test failed because, the when sending encryption private key to the server in json, the key was earlier named as "encryptedDefaultEncryptedPrivateKey" which is later changed to "encryptedDefaultEncryptionPrivateKey" in the server. Updated the value in the test.

- Description for the changelog

Deprecate manageEnrollmentApproval and add approve and deny methods

Thanks @sitaram-kalluri - with that flow in mind, please can you (1) set out the class names, method names, parameter lists, parameter names and their types for each part of the flow as manifested in our software libraries, and (2) review them as to whether they are sufficiently intuitive / fit for purpose

Reviewed and suggested changes.

Reviewed and suggested changes.

Thanks Jagan
The main problem for me is that approve can be called with enrollmentOperationEnum of 'deny', and vice versa, so something is still not quite right.

My suggestions were:

The class with the name "NewEnrollmentRequest" feels not right. A new EnrollmentRequest should be an instance of EnrollmentRequest

Suggested thinking for alternative names for classes where app sends confirmation back to the server for an enrollment response.
A few names that were discussed in the call were: EnrollementRequestDecision, EnrollmentApprovalDecision

I felt that EnrollementRequestDecision should not have a extends relationship with the EnrollmentRequest

@sitaram-kalluri Can you lay out the code that

a new app will use to submit an enrollment request
an approving app will use to receive the enrollment request (by notification or by fetching a list)
an approving app will use to approve or deny the request


Scalar-specific aliases for optype.numpy.AnyArray

This adds the following aliases in optype.numpy.

AnyBoolArray
AnyDateTime64Array
AnyTimeDelta64Array
AnyObjectArray
AnyNumberArray

AnyIntegerArray

AnyUnsignedIntegerArray
AnySignedIntegerArray

AnyInexactArray

AnyFloatingArray
AnyComplexFloatingArray

AnyFlexibleArray

AnyVoidArray
AnyCharacterArray

AnyStrArray
AnyBytesArray

Each one of these accepts type parameters for the shape and the scalar type, and both are optional.

This also fixes several (rare) bugs related to the Any*Value scalar type aliases.

Unless I'm missing something, all that's left now, is to tabulate the Any{Scalar}, Any{Scalar}DType, and Any{Scalar}Array aliases.

Unless I'm missing something, all that's left now, is to tabulate the Any{Scalar}, Any{Scalar}DType, and Any{Scalar}Array aliases.

I guess I missed something 😅 ...


Screen Ruler screenshot

Description of the new feature / enhancement
It would be great if it was possible to take a screenshot of the ruler as it is displayed on the screen. This would make it easier to save or share the measurement with context.
I've tried using Win+Shift+S whilst the ruler is on the screen but, alas, the ruler disappears; likewise with PrintScreen.
Scenario when this would be used?
For example, sharing a screenshot of a UI element with it's size displayed by the ruler for further discussion with team members.
Supporting information
No response

This does solve the problem that I was having. It would be nice to have it work regardless, but I understand if there are technical limitations that would prevent it from working with Continuous mode enabled.

We'll make non-continuous mode a default + include a warning msg in the settings about screenshots to improve ux.


settings: Update last active time text.

Currently, we use "Unknown" text to denote a last active time.
This PR simplifies the last active status.
Fixes - #8432.

FYI, @rishig.

Would it be better to show the actual last active times for these users?  I don't think that would be particularly hard (it's super easily cached state...).

ah yeah, I didn't realize that was a possibility.

Yeah, that would be better. I'm not sure how to get the actual last active time though. The relevent code lies in settings_user.js -
    var $users_table = $("#admin_users_table");
    list_render($users_table, active_users, {
        name: "users_table_list",
        modifier: function (item) {
            var activity_rendered;
            var today = new XDate();
            if (people.is_current_user(item.email)) {
                activity_rendered = timerender.render_date(today, undefined, today);
            } else if (presence.presence_info[item.user_id]) {
                // XDate takes number of milliseconds since UTC epoch.
                var last_active = presence.presence_info[item.user_id].last_active * 1000;

                if (!isNaN(last_active)) {
                    var last_active_date = new XDate(last_active);
                    activity_rendered = timerender.render_date(last_active_date, undefined, today);
                } else {
                    activity_rendered = $("").text(i18n.t("Never"));
                }
            } else {
                activity_rendered = $("").text(i18n.t("Unknown"));
            }

            var $row = $(templates.render("admin_user_list", {user: item, can_modify: page_params.is_admin}));

            $row.find(".last_active").append(activity_rendered);

            return $row;
        },

@timabbott I have located the passage that is responsible for this behavior. In zerver/models.py at line 1579f in the function get_status_dict_by_realm() it says:
two_weeks_ago = timezone_now() - datetime.timedelta(weeks=2)
query = UserPresence.objects.filter(
    timestamp__gte=two_weeks_ago
).values(
    'client__name',
    'status',
    'timestamp',
    'user_profile__email',
    'user_profile__id',
    'user_profile__enable_offline_push_notifications',
)

I am not really sure why this restriction is made, probably to reduce traffic when many users are registered. For example, when the user-list is updated on chat.zulip.org, the server sends a list with only ~450 timestamps resulting in an 11.4KB JSON response. On the other hand, the user-list with 5000+ entries is sent anyways (~250 KB).
But maybe the restriction is important for a different reason. What do think?


This document up-to-date in respect to PowerApps visual limitations regarding PowerBI Report Server?

Is this document up-to-date in the sense that it is still not possible to include powerapps visuals to reports deployed via Report Server?

@arherva Can you please post the link to the document you're talking about.


gauge is a u64 instead of a f64

The gauge method currently takes a u64 as seen below.
impl Gauged for StatsdClient {
    fn gauge_with_tags<'a>(&'a self, key: &'a str, value: u64) -> MetricBuilder<'_, '_, Gauge> {
        let fmt = MetricFormatter::gauge(&self.prefix, key, value);
        MetricBuilder::new(fmt, self)
    }
}

However, if you take a look at the datadog docs
https://docs.datadoghq.com/developers/metrics/types/?tab=gauge#example

The Agent submits the last reported number, in this case 71.5, as the GAUGE metric’s value.

it clearly allows for floating point values. Can we please change this signature to accept a f64? I can open a PR if needed.
Thanks.

The types that Cadence is based on are from this document: https://github.com/b/statsd_spec in which a gauge is a u64 value. Changing the type of the existing methods would be a disruptive and breaking change for current users. New methods that accept f64 values could be added.

Thank you for your response, adding a new trait of FloatingGauged would be fine with me.
It is worth noting that it seems to be somewhat ambiguous.

The protocol allows for both integer and floating point values. Most implementations store values internally as a IEEE 754
double precision float, but many implementations and graphing systems only support integer values. For compatibility all values should be integers in the range (-2^53^, 2^53^).

Basically, it kind of sounds like floats actually are okay, just that some people won't actually implement their backends as such?
If this was my repo, I would add a FloatingGauged trait, but I would put it behind a cargo feature so that it isn't included by default, that way people would have to opt into it, when they knew for a fact their implementation supports the double precision float value.
What do you think?

That's a reasonable way to do it. However, I'll probably just add *_float or *_f methods to the existing Gauged trait.

Actually, I think I might end up going the route of making the Gauged trait generic. It might make sense to also apply this to other types as well. Off the top of my head:
Counters: float values don't make sense.
Timers: floats could make sense.
Histograms: floats could make sense.
Meter: floatsvalues don't make sense.
Set: unclear if float values make sense.
I'll take a survey of some other statsd client and server implementations to see what they do. Do you know of any other cases where most implementations use an f64 value?
In the mean time, an example
Example:
trait Gauged<T> {
    fn gauge(&self, key: &str, value: T) -> MetricResult<Gauge>;
    fn gauge_with_tags<'a>(&'a self, key: &'a str, value: T) -> MetricBuilder<'_, '_, Gauge>;
}

impl Gauged<u64> for StatsdClient { /* ... */ }
impl Gauged<f64> for StatsdClient { /* ... */ }

This shouldn't break most people's usage of Cadence unless they have their own implementation of MetricClient.

I'm pretty new to the stats D world, I am probably not the best person to ask. The classifications you gave above do make intuitive sense though. I do know that at my current employer, they do accept certain things as a float value (gauge for example).

Rust

Dipstick appears to use accept most number-like things for gauges but uses isize internally. For timers it uses u64 values but converts to isize.
rust-statsd uses f64 for gauges, timers, and histograms.

Go

Cactus Statsd uses int64 for gauges and timers
Alex Cesaro's Statsd client appears to accept any number for gauges, timers, or histograms

Java

Micrometer uses a double for gauges but generally works with anything based on Number
The Tim-Group statsd client accepts long or double for gauges and uses long for timers.

Based on this, I think it makes sense to add methods for f64 gauges but keep other traits / methods as they are.

Thank you for resolving this so quickly!


Add button inside input (textfield) at the end

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ x] support request

Current behavior

I would like to add a button inside the input field that can be clicked by user to trigger an action, but button must be inside right of the text field.
Expected behavior

Add button inside text field.
Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.X

Angular 4

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =

see https://formly-js.github.io/ngx-formly/examples/bootstrap-specific/input-add-ons


s-parameter

I noticed that calling
https://api.csgofloat.com/?s=76561202255233013&a=18939970445&d=3207337044034781329
gives results but calling
http://localhost/?s=76561202255233013&a=18939970445&d=3207337044034781329
just times out
Then I noticed that it works with my steamid, but changing s-parameter to anything doesn't matter with api.csgofloat but changing it on localhost makes it not work.
For example:
(both work)
https://api.csgofloat.com/?s=76561202255233013&a=18939970445&d=3207337044034781329
https://api.csgofloat.com/?s=76561202255233012&a=18939970445&d=3207337044034781329
(works)
https://api.csgofloat.com/?s=76561198325072791&a=18939970445&d=3207337044034781329
(doesn't work)
https://api.csgofloat.com/?s=76561198325072792&a=18939970445&d=3207337044034781329

That's because our cache is keyed on solely the asset id (which for some market items isn't the best judgement since Steam makes some strange reuse optimizations). So you could effectively make s or d param whatever you want if we already have the item cached.


account creation seems to succeed, but the toast says it fails - what happened?

there's an exception thrown -
(will check tomorrow to see if this is just due to this computer having something weird like a different web3.js or what)
    // this is the one that causes the "Error: Buffer is not defined"
    const instructions = web3.SystemProgram.transfer({
      fromPubkey: payer.publicKey,
      toPubkey: keypair.publicKey,
      lamports: web3.LAMPORTS_PER_SOL / 2,
    });

mmm, #106, (as in upgrade solana validator to 1.9.20) or just being the next day, seems to have made this go away.


fixed navbar for mobile

Related Issue

Fix the Navbar #69

Proposed Changes

The options are now at the bottom for mobile view.
The logo and the brand name are now in one line.

Checklist

[x] Documentation of the code
[x] Add your name to the CONTRIBUTORS file
[x] Testing your code in the local machine

Screenshots

Great!


update loaded and LOADING_INTRO

update loaded and LOADING_INTRO

Looks good, thank you!

@BonzaiThePenguin Thank you for this awesome app and open source. :smile:


Fail to deserialize OAuth2Authentication from different server

Server A is unable to deserialize OAuth2Authentication that is serialized by Server B
WARN (JdbcTokenStore.java:204) - Failed to deserialize authentication for 3abc332b-a405-4d98-8b80-4bb06f2e5353
java.lang.IllegalArgumentException: java.io.InvalidClassException: org.hibernate.collection.internal.AbstractPersistentCollection; local class incompatible: stream classdesc serialVersionUID = -7238232378593030571, local class serialVersionUID = -8914173462748164853
at org.springframework.security.oauth2.common.util.SerializationUtils.deserialize(SerializationUtils.java:40)
at org.springframework.security.oauth2.provider.token.store.JdbcTokenStore.deserializeAuthentication(JdbcTokenStore.java:385)

I'm using version 2.0.3

I'm seeing this issue as well... any resolution?

We are seeing this as well with the JdbcTokenStore.

We had a similar issue yesterday and figured out that we had serialized the authentication object with an old version of spring security (3.2.8) when the tokens were stored (access and refresh were affected), and then attempted to deserialize it with a new version (4.0.2). Authorization codes were also affected.
Spring Security has a SpringSecurityCoreVersion.SERIAL_VERSION_UID that is bumped periodically, and a major version got us a conflict that we weren't expecting.
We ended up having to read the serialized value out of the database, and then "bump" the serializationUID from the old number (320) to the new number (400). And by bump, we're talking re-writing bytes.
We added a test to our project to make sure that we are fully aware when these values change, as well as a couple other serial version uids that are in spring security oauth.
@dsyer any thoughts? Expected behavior? Alternative options? Any chance that a migration can be provided?

I guess if someone contributes some code we can consider it. For my part it's not a high priority because all tokens are essentially ephemeral so it shouldn't cost users much to re-acquire them if the token store is simply wiped.

If a token was obtain with a resource owner or client credentials grant, I agree with you; for three-legged oauth with long-lived or non-expiring refresh tokens that were obtained using an authorization code, then you'd need to put all of your users back through the OAuth login flow. During this time, you'd have a disruption of service.

Not sure I agree with that assessment. Social login providers put me through that process all the time, and I'm quite used to it, notwithstanding that they never tell me why they do it. However, I'm not sure that's relevant. You can always engineer a solution if you want to grant tokens based on previous user input. Maybe the ApprovalStore would be a useful avenue of research, or indeed a custom TokenStore if you care deeply about it?

Thanks @dsyer. We discussed this today and are going to get by with just overriding the serialization strategy for tokens and auth codes. Our tokens are far too important to run the risk of an outage that requires the user to log back in.
I opened #617 so that we can override the serialization mechanism for authorization codes just like the JdbcTokenStore works. That would save us some code duplication.

I think the workaround solution is to use same spring-security-core version in your maven pom file to make sure different server can share the same SERIAL_VERSION_UID.

One workaround what I have done is,

Truncate table  oauth_access_token
Make the new Oauth token request

It solved the problem for me. But this is an temporary fix.

Thanks @sornalingam. It works for me.

@benkiefer :+1:  We are also getting the exactly same issue.
@dsyer : We have around 10 million users spread across 1000 merchants. And making them login again will be a huge disruption of service.
Is there any solution or workaround to solve the issue elegantly?

We had the exact same needs. Forcing the user to log in again was not an option.
It turns out that Spring "bumps" their serialization id and keeps it in sync with major/minor releases, and in our case, the underlying object had not actually changed. (Certainly not something we can count on in the future)
One of our devs wrote a groovy script that reads field out of the database and re-writes the authentication object's serialized id to the new value, and that got us through the crisis. We also explored storing the field as JSON using the hooks in the jdbc token store, but ultimately didn't have enough time to finish it. Note: Because of the way the class is structured, it isn't as simple as just using ObjectMapper to read and write the value. It will become something we have to do address before we can do a major update Spring again.
We have since "pinned" our Spring security and oauth versions by writing tests that ensure that the serialization version doesn't change. Hope that info helps.

@benkiefer Were your issue sorted out after running groovy script for changing object's serialized id to new value? Or have done anything else for it?

Things worked fine after upgrading the serialized version uid for us.
The important thing is that you need to make sure all your code is is using the same seralization version, and that all your tokens are up to date with that version id. You can't live in a world of half done or some of your customers won't be able to use your product.
Keep in mind, this is a time bomb. We update spring security with much more care now.

@benkiefer : Thanks man..! We are going to use serialization uid "bump" approach. Also, We are not getting OAuth2Request object while deserialization. Had u also encountered such scenario ever?

It's been a long time since we worked through that issue, and I honestly can't remember.
As far as the deserialization fix goes, I can't stress how important it is to try this in a lower environment than production. It's actually fairly easy to produce the problem locally. Start up an oauth server on your current version of spring and get an oauth access token and refresh token for a user. Without cleaning your database, upgrade to the "next" version of spring. Then try and use that access token or refresh token. You should see the explosion right away.

Unless I'm misunderstanding the oauth token refresh/renewal mechanism, it seems to me too that the user is forced to login again after upgrading to a more recent release where the serialVersionUUID has been changed. For us it felt like a major issue.
In my case it seems only SimpleGrantedAuthority was affected by the changed UUID so I extended the JdbcTokenStore to handle the case where serialization fails:
        private class FixedSerialVersionUUIDJdbcTokenStore extends JdbcTokenStore {
            public FixedSerialVersionUUIDJdbcTokenStore(DataSource dataSource) {
                super(dataSource);
            }

            @Override
            protected OAuth2Authentication deserializeAuthentication(byte[] authentication) {
                return deserialize(authentication);
            }

            @Override
            protected OAuth2AccessToken deserializeAccessToken(byte[] token) {
                return deserialize(token);
            }

            @Override
            protected OAuth2RefreshToken deserializeRefreshToken(byte[] token) {
                return deserialize(token);
            }

            @SuppressWarnings("unchecked")
            private <T> T deserialize(byte[] authentication) {
                try {
                    return (T) super.deserializeAuthentication(authentication);
                } catch (Exception e) {
                    try (ObjectInputStream input = new FixSerialVersionUUID(authentication)) {
                        return (T) input.readObject();
                    } catch (IOException | ClassNotFoundException e1) {
                        throw new IllegalArgumentException(e1);
                    }
                }
            }
        }

        private class FixSerialVersionUUID extends ObjectInputStream {

            public FixSerialVersionUUID(byte[] bytes) throws IOException {
                super(new ByteArrayInputStream(bytes));
            }

            @Override
            protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException {
                ObjectStreamClass resultClassDescriptor = super.readClassDescriptor();

                if (resultClassDescriptor.getName().equals(SimpleGrantedAuthority.class.getName())) {
                    ObjectStreamClass mostRecentSerialVersionUUID = ObjectStreamClass.lookup(SimpleGrantedAuthority.class);
                    return mostRecentSerialVersionUUID;
                }

                return resultClassDescriptor;
            }
        }

Be aware that if SimpleGrantedAuthority changes, bad things might happen, hopefully it won't (https://github.com/spring-projects/spring-security/commits/master/core/src/main/java/org/springframework/security/core/authority/SimpleGrantedAuthority.java)
With this approach, serialized tokens with old serialVersionUUID are migrated to the new serialVersionUUID when they are used.

+1

FYI - more info on how we got rid of using java serialization.
https://github.com/spring-projects/spring-security-oauth/issues/815

Still an issue. Any solution?


Cocoon agent dashboard needs to fail gracefully if the underlying data is invalid

See #71584, where a couple of entries with null values broke the whole dashboard page. We should fail gracefully so that only the broken entries are not shown.

Close this one after devicelab migration to luci is complete.

@godofredoc @yusufm have we migrated the last of the agents to swarming? Can we close this?


Add E2E: CustomFractionalFee

No Tests exist in Java/JS (doesn't make sense for an E2E test, this isn't a transaction nor a query, nor a mirror query)


fix(promotions): multiple stages can sync same argocd app

In the case that two stages are trying to sync the same ArgoCD app (such as an app of apps), there was an infinite cycle of the stages overwriting the kargo.akuity.io/freight-collection value in the ArgoCD operation state info.
In my case, this is an ArgoCD promotion mechanism with no source updates (just refreshing an app with gitops updates).
Promotions were never able to complete this way since they were always being requeued.
These changes explicitly prevent this infinite loop by adding stage metadata to the freight collection key.

@shmargum thanks for the PR.
I just wanted to respond that it might be a little bit before we get to looking at this. The issue isn't quite as simple as it may seem on the surface.
I think this may work for your use case, but in cases where the Argo CD App updates are actually mutating something or cases where the health checks on a Stage involve asserting that the App is synced to some specific, desired revision, I think this is going to not work.
In general, the notion of multiple Stages updating the same App is not something we anticipated, and tbh, I have my doubts that it's a generally advisable pattern. Stages are, roughly speaking, "environments" and it seems, at the very least, odd that two or more distinct environments would be managed by a single App.
At any rate, I'm not by any means dismissing this PR out of hand. As I said, I just wanted to respond sooner than later and let you know that this is going to require some careful thought on our part before we can commit to taking this.

Just want to give some more context about why I am doing this in the first place.
I'd like to keep all my state in git, and so ArgoCD source updates are out of the question.
This leaves umbrella helm chart as a documented approach for gitops style updates with noted drawbacks in #1610
We've taken another approach, where we publish helm charts as OCI artifacts, and use the image promotion process to promote the helm chart "image" as a value in git, which configure child apps.
This means that we are also doing 2 ArgoCD updates, first one for the parent app, then a refresh of the child app.
Currently, the parent app holds all the children apps for a service (environments).
I suppose I could work around this further by adding an intermediate level of parent app.  I think a similar approach would be needed for umbrella charts as well.

I'd like to keep all my state in git, and so ArgoCD source updates are out of the question.

Yep. That's ideal. Source updates are not real GitOps.

Currently, the parent app holds all the children apps for a service (environments).

If you're doing App of Apps, why is Kargo ever having to sync the parent app? I would imagine that the Apps managed by the parent App are fairly static in that their definitions must rarely change. Why doesn't each Stage just sync relevant children?
To be transparent, I don't completely understand the approach you've described, but the notions of multiple Stages all syncing the same App or any Stage syncing a parent in App of Apps still feels vaguely suspect.

Ok. I understand better what you are doing now. Thanks for explaining. 😄

The parent app which deploys the child apps sets the "target revision" of the child apps.

That is, for sure, a novel approach to mutating the target revisions whilst still being real GitOps.
What I am, perhaps, not understanding is why use that somewhat complex approach to begin with? Would not all your state still be in your repositories if the child apps all tracked the head of various branches and Kargo managed what's at the head of each branch?

In order to achieve both 2 and 3 we need the base helm chart and environment specific values to be independent (we can't bundle those with the base chart or else they would go through the promotion process)

I think you're going to love the upcoming release. We've been building toward doing things exactly like this without so much hassle. In a previous release, we added the possibility of Stages subscribing to Freight from multiple Warehouses. In v0.9.0, we're adding far more flexibility to the promotion processes. It's a bit reminiscent of GitHub Actions.
For your scenario, what you'll be able to do at each Stage is consume multiple pieces of Freight (i.e. artifacts not bundles together in one box) and describe much more explicitly how you would like to combine those artifacts.

I'm going to close this as I think we've established (through occurrences besides this one, as well) that multiple Stages attempting to manage a single Argo CD App is asking for trouble.
@shmargum, v0.9.0 has been released now, and I am hopeful that all its new flexibility makes workflows possible for you that won't require you to attempt managing one Application using multiple Stages.

While I still think it is a common pattern to have apps that manage other apps, I also agree that Kargo trying to manage a single app with multiple stages sounds like trouble.
I've actually just went ahead and created a separate parent app per actual app.
This does nearly double the number of ArgoCD Application objects, but hey, things work :)

@shmargum I will continue thinking about how to make this use case work.
I'm in complete agreement that it makes sense.


Updated onStop documentation

Callbacks were changed in #58 to happen right after saving.
https://github.com/uber/hubble.gl/pull/58/files#diff-f2b2ddef3003d116a87f5e29beee8a5ab978e06627958732dd8972fa9d3d9d0dR164

Pull Request Test Coverage Report for Build 473431243

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 457233530:
0.0%

Covered Lines:
2

Relevant Lines:
2

💛  - Coveralls

Pull Request Test Coverage Report for Build 473431243

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 457233530:
0.0%

Covered Lines:
2

Relevant Lines:
2

💛  - Coveralls


Use standard instruction text / position in various examples

Objective
Use the "standard" text size / placement for the new text in these examples.
Continuation of an effort started here: https://github.com/bevyengine/bevy/pull/8478
This is definitely not comprehensive. I did the ones that were easy to find and relatively straightforward updates. I meant to just do 3d_shapes and 2d_shapes, but one thing lead to another.
Solution
Use font_size: 20.0, the default (built-in) font, Color::WHITE (default), and Val::Px(12.) from the edges of the screen.
There are a few little drive-by cleanups of defaults not being used, etc.
Testing
Ran the changed examples, verified that they still look reasonable.

Ah, good catch, I just copied it from the wireframe example when adding text to the shapes examples.
Maybe we should extract those configs to a few constants in a shared module? We could add a example_styles.rs with all of that. Not necessary to do it in this PR, but something we could consider in the future.

Also, maybe 20px should just be the default font size. The default seems too tiny for any real use case anyway.


Task's description : Formatting Help

Hello,
Firstly, I would like to say that I love what you have developed and it is useful in my daily life. So this is why I'm taking time to perform a feedback of the v2.0.0-beta, which seems to be clearly stable in many functions.
Using this version during a full Pomodoro time, I have seen little bug's :

In the description of a task, when we click to "Formatting Help", we arrive at a webpage explaining format (A really good idea btw !), but it could be nice to open it on a web browser, or have the possibility to coming back to the main application (here, I'm forced to close it to come back to it)
This is something simple but can be annoying, when we change the title of "Task's list", and then directly create a new task, the title is not updated.

I hope this feedback will help you, anyway great job !

Hello,
Firstly, I would like to say that I love what you have developed and it is useful in my daily life. So this is why I'm taking time to perform a feedback of the v2.0.0-beta, which seems to be clearly stable in many functions.
Using this version during a full Pomodoro time, I have seen little bug's :

In the description of a task, when we click to "Formatting Help", we arrive at a webpage explaining format (A really good idea btw !), but it could be nice to open it on a web browser, or have the possibility to coming back to the main application (here, I'm forced to close it to come back to it)
This is something simple but can be annoying, when we change the title of "Task's list", and then directly create a new task, the title is not updated.

I hope this feedback will help you, anyway great job !

Thanks for your feedback. 👍
Regarding with "Formatting Help" I can confirm that it was a bug. And I will try to fix it ASAP.
For the "Task List Title" I'm sorry about that. That's my fault due to lack of documentation.
The behavior expected is that you must need to enter it first to be save before you are going to create a new task but since you didn't like that I will work it out.

Great !
I diverge from the original issue, but it would be also awesome to have a Checkbox "Done" somewhere close to the Task's box in the Timer Window. To switch from the Task n to the next Task n+1. Mabye it is already in the road map ?

have a Checkbox "Done

What do you mean? Can you produce some visualization so that it would be clear to me.

Well, I was thinking of something like this (I used paint, but it will do the job)

And then the task will be considered as done (it can be striped to be seen like done in the task's list)
By this way, we have a TODO list (list of task to be perform), a DOING task (the one you are doing during the work session) and a DONE list.
What do you think ? Is it clear enough or do you want me to explain it more in detail ?

I got your point @KiloNovemberDelta but as of now I will add it on Road Map because I'm so very busy right now and have a lot of project deadlines to accomplish.
I hope you have Version 2.0.3-beta of the app now regarding with your first concern.

Yes of course I understand, I will check the 2.0.3-beta ;)
Thanks !

@KiloNovemberDelta I released new version of the app with some parts of the feature you've requested. Please see Release Notes I've created for more details of changes I've made.
I hope it would help you.

Hi @roldanjrCodeArts9711 , that is exactly what I expected from this app, great work, thank you ! 👍
The only thing that I don't understand is option to set a list as a "Done List". What is the functionnality behind ?

Hi @roldanjrCodeArts9711 , that is exactly what I expected from this app, great work, thank you ! 👍
The only thing that I don't understand is the option to set a list as a "Done List". What is the functionnality behind ?

The very purpose of Done List is when you manually drag cards to Done List section like Trello feature.  But I think I should remove Done List since marking the task Done is enough.

Maybe other users can find an utility for this functionnality. But as it is, for me, I don't see indeed the gain of this Done List :)
Allow me to write another improvement's idea before I forget :
I know that Pomodoro method like to have statistic (to improve the effectiveness of the productivity). Maybe it can be added to the road map a kind of extraction of the data and let the possibility to the user to perform stats.
I was thinking something simple, like a CSV (which can be opened by any spreadsheet, Excel or OpenOffice for example), which contains the state of each task, like :

Name
Description
Status (TODO, ON GOING, DONE)
Group List it belongs
Time dedicated (for example 3 Pomodoro time)

Of course, this implementation is not a priority, but can be a true gain for lovers of Pomodoro.
What do you think ?
(if you want me to open another issue about this, let me know, because I'm flooding here and it is not proper)

Yes @KiloNovemberDelta please open another feature request and close this issue. Thank you.


fix backtrace when using html formatter

Summary
Fix an issue where the backtrace is repeated multiple times when using html formatter.
Details
The method backtrace_line in html.rb was replacing each regex match with the entire backtrace, causing the backtrace to be repeated x times (x being the number of matches).
Motivation and Context
Makes my cucumber output much shorter and cleaner for failing tests.
How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] I've added tests for my code
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Does this fix the same problem as #965?

Yes, it does. Sorry, I did not see that request when I made my change.

Cool, thanks for making a contribution in any case @denismartens


no balances

when i start the bot it shows that i dont have usd on my accounts but this isn't the truth.
this is the output:
[ Current balances ]
<OKCoin> Error with the credentials.
<OKCoin> Error with the credentials.
   OKCoin:	0,00 USD	0,000000 BTC
   Kraken:	0,00 USD	0,000000 BTC
   Binance:	0,00 USD	0,000000 BTC

can someone help me?

Your credentials seem wrong:

Error with the credentials.
Error with the credentials.

i've filled  "key" and "secret". what i have to do now?

i've copied api key and secret in blackbird.config and i set demomode=false. but kraken doesn't show any problem and the balance  isn't correct (on kraken account i've deposit 100usd)

the problem is kraken that show zero balance.

I used this version  3673902.  https://github.com/butor/blackbird/commit/3673902d4dce630bc75c395998cf9dfe1993ddb4
It is ok!


Terminal Bug: When running 'zsh', terminal window is cut off on scroll

VSCode Version: 1.2.0
OS Version: OS X El Capitan 10.11.5

Steps to Reproduce:

Open terminal in VS Code and run a long, scrollable command
Scroll terminal window up and see that it stays where it should
Run zsh and then try to scroll terminal window
See the terminal window jump to the left and get cut off.

Closing the terminal window and opening it back up again, solves the issue. Also, running without extensions still makes the bug appear.

This should be fixed by https://github.com/Microsoft/vscode/issues/6838, or it will come after that at least.

@Tyriar after running zsh I can no longer scroll up. So the terminal window no longer jumps to the left and it is not cut off. The the issue seems to be gone.


producer-length and friends needs #f in its contract output

producer-length, producer-start, producer-end

Thanks a0d2e909ce6edbd8b45b14d75cdaeddb5b8d1716


Add interaction events

Would be nice to add click/hover events so that the globe can be used interactively.
A use case:

hover on a location and the name shows up with info
click on a location and trigger an action (for example navigate to a different page)

Thanks.
Ps. Awesome lib!

i would also include the ability to rotate the globe, seems even more important if location-based interaction stuff is added.

I added some examples regarding this:

https://cobe.vercel.app/docs/showcases/draggable
https://cobe.vercel.app/docs/showcases/rotate-to-location

I think these example can help a lot here. And since this lib is a little bit low-level by its design, I’d like to keep it small but customizable with more examples added to the docs.

Can't figure out how to make it draggable with Vanilla js?

@shuding hey, awesome work with Cobe. Thanks for this. Also, do you have any plan to add hoverable markers? or can you point me the right direction to implement it?

@Nithur-M It's gonna be a bit tricky as currently everything is written in shader code, it's tricky to connect the globe coordinates to screen coordinates and mouse positions... I'll think about how we can implement that.

Some pointers for people who want to contribute:

https://webglfundamentals.org/webgl/lessons/webgl-picking.html
https://codepen.io/cvaneenige/pen/LmXWeM

Markers need to be implemented as objects with their own shader (use a loop to add them after creating the Phenomenon object), instead of being rendered in the main globe shader. And then, implement some global event callbacks (pointer over, click, etc.).
This will probably fix the #19 issue too!


Getting attribution url

Is it possible to get the url which the user used to enter the store when he installed the app, using this library?
I would like to send this url to our server. Is it possible?

Closing as duplicate of https://github.com/arnesson/cordova-plugin-firebase/issues/809

@soumak77  although I opened the issue 3 months before him

@guylando you're correct I should have closed the other issue.  I just understood the other issue more clearly using the term "Install Referrer" and felt others might as well, which would be easier to find when they searched open issues.


Fix getProximity calculations

The current calculation is not taking the value of the width/height of the components, so there's no certain way to know whether the component is fully on screen or not

Found out that there's not good way to calculate this, so I'll just add an extra property to proximity to know whether a component is on screen or not


avoid initial fitBounds

this avoids the jump on load. the jump, when two points are specified, still exists.
TODO: zoom a bit into the world (if world boundary) to avoid seeing some continents twice.
related to #53

Closing here in favor of #77. The initial jump when points are specified remains even in #77. I opened #82 for this.


Update scalatest to 3.1.2

Updates org.scalatest:scalatest from 3.1.1 to 3.1.2.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalatest", artifactId = "scalatest" } ]

labels: test-library-update, semver-patch

Codecov Report

Merging #120 into master will increase coverage by 4.54%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
+ Coverage   43.18%   47.72%   +4.54%
==========================================
  Files           1        1
  Lines          44       44
  Branches        1        1
==========================================
+ Hits           19       21       +2
+ Misses         25       23       -2

Impacted Files
Coverage Δ

.../main/scala/io/circe/bson/BsonCodecInstances.scala
47.72% <0.00%> (+4.54%)
:arrow_up:

Continue to review full report at Codecov.

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


[Bug]: Trying to connect OBS web socket error "appears to be running a pre-5.0.0 protocol"

What happened?
I would like to connect TallyArbiter with OBS Studio 29 (which didn't work), as the OBS websocket plugin now is integrated and might have changed protocols.
Version
2.0.16
Distribution
Desktop
OS
MacOS
What browsers are you seeing the problem on?
No response
If applicable, What Listener Clients are You Using?
No response
TallyArbiter configuration
No response
Relevant log output
23:35:19.555: [obs-websocket] [WebSocketServer::onMessage] Client [::ffff:<IP_ADDRESS>]:57292 appears to be running a pre-5.0.0 protocol.
23:35:19.556: [obs-websocket] [WebSocketServer::onMessage] Client [::ffff:<IP_ADDRESS>]:57291 appears to be running a pre-5.0.0 protocol.
23:35:19.556: [obs-websocket] [WebSocketServer::onClose] WebSocket client `[::ffff:<IP_ADDRESS>]:57292` has disconnected with code `4010` and reason: You appear to be attempting to connect with the pre-5.0.0 plugin protocol. Check to make sure your client is updated.
23:35:19.556: [obs-websocket] [WebSocketServer::onClose] WebSocket client `[::ffff:<IP_ADDRESS>]:57291` has disconnected with code `4010` and reason: You appear to be attempting to connect with the pre-5.0.0 plugin protocol. Check to make sure your client is updated.
23:35:19.558: [obs-websocket] [WebSocketServer::onOpen] New WebSocket client has connected from [::ffff:<IP_ADDRESS>]:57297
23:35:19.558: [obs-websocket] [WebSocketServer::onOpen] New WebSocket client has connected from [::ffff:<IP_ADDRESS>]:57293

Error stacktrace (if applicable)
No response

Found the workaround to use websocket 4.9.1-compat instead and now it's working like it's magic. https://github.com/josephdadams/TallyArbiter/discussions/480

In order to get OBS Studio 29.1.3 working you will need to install Websockets v4
See docs: https://josephdadams.github.io/TallyArbiter/docs/usage/sections/sources#obs-studio


Performance optimization for testcode

first, show my flame graph Captured in the pressure measurement phase in the test server.

40% of cpu detected waiting on sync.(*Mutex), can only run up to 800% cpu usage, the pressure on influxdb is only 20w/s points.
so may be it necessary to optimize.
show my stress test config file.
[provision]
  [provision.basic]
    enabled = true
    address = "xxxx:xxxx"
    database = "xxxx"
    reset_database = false

[write]
  [write.point_generator]
    [write.point_generator.basic]
      point_count = 1000
      series_count = 1000000
      tick = "10s"
      jitter = true
      precision = "s"
      measurement = "cpu"
      start_date = "2009-Jan-02"
      [[write.point_generator.basic.tag]]
        key = "host"
        value = "server"
      [[write.point_generator.basic.tag]]
        key = "location"
        value = "us-west"
      [[write.point_generator.basic.field]]
        key = "value"
        value = "float64" # supported types: float64, int, bool
      [[write.point_generator.basic.field]]
        key = "test_filed_int"
        value = "int" # supported types: float64, int, bool
      [[write.point_generator.basic.field]]
        key = "test_filed_bool"
        value = "bool" # supported types: float64, int, bool

  [write.influx_client]
    [write.influx_client.basic]
      enabled = true
      addresses = ["xxxx:xxxx"]
      database = "stress"
      precision = "s"
      batch_size = 10000
      batch_interval = "0s"
      concurrency = 100
      ssl = false
      format = "line_http"
      retention-policy = "xxxx"

test server:   kernel: Linux 3.10.0 redhat7
cpu count: 64
Required for all non-trivial PRs

[x] Sign CLA (if not already signed)

@huhue Thanks for the fix!


Tweak js style guide

Add global and require to the predefined variables

Sorry this PR was not meant to go upstream...


Voot.com: No longer able to download from voot.com

Please follow the guide below

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

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

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

Before submitting an issue make sure you have:

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

What is the purpose of your issue?

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

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
C:\Windows\system32>"D:\Youtube-dl\youtube-dl.exe"  -v  -o "D:\Test.%(ext)s" "https://www.voot.com/movie/megha/547011"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-o', 'D:\\Test.%(ext)s', 'https://www.voot.com/movie/megha/547011']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2017.12.10
[debug] Python version 3.4.4 - Windows-10-10.0.16299
[debug] exe versions: ffmpeg 3.4
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (IN) as X-Forwarded-For.
[Voot] 547011: Downloading JSON metadata
[Kaltura] 0_5cb4hxg0: Downloading video info JSON
[Kaltura] 0_5cb4hxg0: Downloading m3u8 information
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'http://cdnapi.kaltura.com/p/1982551/sp/198255100/playManifest/entryId/0_5cb4hxg0/format/url/protocol/http/flavorId/0_ptwgy771'
ERROR: unable to download video data: HTTP Error 404: Not Found
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp9arpqqmf\build\youtube_dl\YoutubeDL.py", line 1893, in process_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp9arpqqmf\build\youtube_dl\YoutubeDL.py", line 1832, in dl
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp9arpqqmf\build\youtube_dl\downloader\common.py", line 361, in download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp9arpqqmf\build\youtube_dl\downloader\http.py", line 286, in real_download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp9arpqqmf\build\youtube_dl\downloader\http.py", line 74, in establish_connection
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmp9arpqqmf\build\youtube_dl\YoutubeDL.py", line 2196, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 502, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 685, in http_error_302
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default
urllib.error.HTTPError: HTTP Error 404: Not Found

Description of your issue, suggested solution and other information
I am no longer able to download videos from voot.com which is still listed as supported site for youtube-dl. Earlier i was able to download from voot.com around a month back. Developers are humbly requested to address this issue.

Duplicate of #14758.


Copy with drag and drop not work in Ubuntu

VSCode Version:1.11.1
OS Version:Ubuntu 16.04 x64

Select a text and drag, the selected text won't be moved. VS code treats the operation as simply clicking and moving to select another part of text.
As Ubuntu has key conflict with ALT, I run gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier '<Super><Alt>' first. However, I still cannot copy the text when I hold alt.
Thanks for the necessary feature. I can use it in Windows.

@smallp may I ask if the editor.dragAndDrop is set to true and do you mind providing a gif to help troubleshoot?

Oh, yes ,editor.dragAndDrop default value is false. After I set it to true, it work. But I still cannot drap to copy when I hold ALT.
I'd like to provide a git, but I don't how to make a gif in Ubuntu.


Add an option to disable and enable apps with pm disable-user

Hello,
I like MobyDroid but a killing feature for me would be to implement pm disable-user for disabling some apps and revert back if wanted.
Some example command:

adb shell pm disable-user --user 0 <package_to_disable>
adb shell pm enable  <package_to_enable>

More info :
https://www.xda-developers.com/disable-system-app-bloatware-android/

@YoranSys I'll try to implement it soon.

Hello @YoranSys, I think you might like this project UAD so instead of create this feature to MobyDroid, which consumes so much time and efforts, you can use uad for now. and let Bilux
focus on maintaining this project only. just saying that to reduce the efforts. thank you.

Thanks for the advice @TheShooter  I will try UAD


msf_localization: Reflectance map folder is invalid!

msf_localization component failed to launch because of: Reflectance map folder is invalid!
I am wondering:

Is this conf necessary for msf to run? If not, can I somehow disable this check?
What is the format of this file? Can I use some example files to avoid launch fail, since I dont care the localization result I just wanna get it run.

Thanks

msf_localization component failed to launch because of: Reflectance map folder is invalid! I am wondering:

Is this conf necessary for msf to run? If not, can I somehow disable this check?
What is the format of this file? Can I use some example files to avoid launch fail, since I dont care the localization result I just wanna get it run.

Thanks

I have the same question.


Cleaner implmentation for VoiceClient

As it stands right now, the IVoiceClient is a direct wrapper around our Voice REST API. This is usable but a tad clunky as it requires the user to create a To/From endpoint object, and either provide an answer URL or NCCO Object.
Right now, creating a call looks like this:
var toEndpoint = new PhoneEndpoint() { Number = TO_NUMBER };
var fromEndpoint = new PhoneEndpoint() { Number = NEXMO_NUMBER };

var talkAction = new TalkAction() { Text = "This is a text to speech call from Nexmo" };
var ncco = new Ncco(talkAction);

var command = new CallCommand() { To = new Endpoint[] { toEndpoint }, From = fromEndpoint, Ncco = ncco, EventUrl = EVENT_URL };
var response = client.VoiceClient.CreateCall(command);

It would be nice if we could add a couple of new APIs to this client so that requests could look something like this:
var talkAction = new TalkAction() { Text = "This is a text to speech call from Nexmo" };
var ncco = new Ncco(talkAction);
var response = client.VoiceClient.CreateCall(toNumber, fromNumber, ncco);

Or in the case where you'd not be dialing out to a PSTN endpoint like:
var talkAction = new TalkAction() { Text = "This is a text to speech call from Nexmo" };
var ncco = new Ncco(talkAction);
var response = client.VoiceClient.CreateCall(toEndpoint, fromNumber, ncco);

Interested , please assign this to me

Feel free to take this @gagandeepp :)

https://github.com/Vonage/vonage-dotnet-sdk/pull/231

This issue is resolved by #231


boot2docker.iso auto upgrade should be constrained to same docker major version

The recent https://github.com/docker/machine/pull/2298 change causes a Docker version upgrade if you have an older version, e.g. 1.9.x to 1.10.x.
Setting aside the fact that this changes only one part of the toolbox, it caused breakage: Docker 1.10.x requires an upgrade of Artifactory to version 4.4.3. In our case, that upgrade is out of our control, so we've been forced to hack around this auto upgrade behavior:
docker-machine create --driver virtualbox --virtualbox-boot2docker-url=file://${HOME}/.docker/machine/cache/boot2docker.iso

Auto upgrade of the iso should be done only if the newer iso uses the same major version of Docker.

Hi @batsatt, thanks for the issue.  I feel strongly that the upgrade should always upgrade to the latest released version of Docker.  For instance, 1.10.1 contains some fixes which are critical for Docker networking.  As you noted, it's possible to workaround if you need a different version, so I feel we are good with the current behavior.

I understand the idea, but... does it strike you as correct that executing docker --version from outside vs. inside the VM will return  different results?
It is not only odd to have the toolbox partially upgraded, it has caused significant disruption on my team in this case. Yes, I found the workaround, but reverting everywhere was a royal pain.
Maybe there is a better solution than the one I proposed, but silently changing one part of an install just seems wrong.

Outside the VM is the docker version for you local machine. Inside the VM is the docker version for the host which contains all of the containers.
Those two versions are independent of one another. You can have multiple developers connecting to the same docker host, and all of them are using different versions.

As @hminaya said, it's not unexpected behavior in terms of the current client / server model.  I agree it's definitely a Docker "gotcha", but something the Machine team can't really do anything about today.

Maybe there is a better solution than the one I proposed, but silently changing one part of an install just seems wrong.

Both will be upgraded if Toolbox is used to do the upgrade, which is the recommended method.

CoreOS stable is shipping docker v1.9.1.  We need to be able to develop locally against v1.9.1.  Is there an option to prevent docker-machine create from checking for an update?

@politician My suggestion in that case is to use --virtualbox-boot2docker-url.
$ docker-machine create -d virtualbox \
    --virtualbox-boot2docker-url https://github.com/boot2docker/boot2docker/releases/download/v1.9.1/boot2docker.iso \
    oldversion

Thanks @nathanleclaire, I'll update our docs. We ended up doing something significantly less elegant.


implement start() and stop()

related to discussion in https://github.com/wechaty/wechaty-puppet/issues/106

I'd like to make the wechaty-puppet start() and stop() function as robust as possible, so no matter how the wechaty-puppet-xxx implement itself, we can always recover by calling a reset.

I strongly agree with you that we should make our Puppet base class as robust as possible!
I have no more questions on this PR now, please finish the refactoring, then we will be able to merge it!
Thank you very much for the time and thoughts on this problem, appreciate it.

Thanks for the refactoring as my suggestion!
Please feel free to help yourself to merge this PR when you feel comfortable, and have a good night!


SDL2: Fix SDL2main not working after running psp-fixup-imports

Because SDL2 and SDL2main were listed twice in the libraries returned by psp-pkgconf, the psp-fixup-imports command was messing with the order of the SDL2 and SDL2main imports, causing SDL2main to not work. I got a patch merged upstream that fixes this, but there isn't a fixed release available yet, so I decided to just download the patch file from the PR.

The relevant PR can be found here: https://github.com/libsdl-org/SDL/pull/9953

I really like how clean the sources look with just links to release tarball and the patch generated from a pull request.

Btw, I just created a separate repo with the SDL2 samples for PSP. For now, I just imported all the samples from here, but I plan on extending them: showing more functions of the library, adding all supported formats of media files, maybe porting to SDL 1.2. This way these samples can be used as a test suite, and will be useful for regression testing.

That's cool, good work

@tpimh we have some SDL2 samples here as well: https://pspdev.github.io/basic_programs.html


Improve Webpages

I was improving the polonium webpages. I hope you like it.
Highlights

All pages have a common header, footer and navbar.
Each individual page parses the corresponding markdown file that already exists and displays them.
Easy to extend.

View the page here.
The home page is unable to display the icon in my deployement because it uses the readme.md file from zeroxoneafour:master branch which is obviously unchanged. The icon will be visisble once this request is pulled.

This looks incredible! Thank you so much for this redesign.

This looks incredible! Thank you so much for this redesign.

My pleasure. By the way, it seems you are using zeroxoneafour:stable branch for building the page which is why the changes are not deployed.

I'm aware, I branched off stable so that the docs would be relevant to the version most users are using. I'll merge master back into it later tonight.

In that case, the master in the below line must be changed to the name of the branch you wish to deploy the page from.
https://github.com/zeroxoneafour/polonium/blob/d24fb0b2bba1755f9f11f261e670a8822a912827/docs/index.html#L22


Grid Filter and Header Rows CSS still not working properly

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
I hate to reopen this issue after your rapid attention before but it still does not work correctly.
Since the update to 2.1 two new factors have occurred.

The class for the table in the grid no longer overrides the background colour of any parent container as it did before ie table table-stiped etc are overriden if the grid is enclosed in a grid with say a blue background.
More importantly the HeaderRowCSSClass only changes the color of the items it does not change the background. eg.
HeaderRowCssClass="topRow"
.topRow {
background-color: yellow;
color: #002147;
font-size: 16pt;
}  results in header text in Oxford Blue 16pt type with a WHITE background.
Setting the FiltersRowCssClass to the same style has no effect at all

Expected Behavior
No response
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version
Net core 8
Anything else?
No response

Argo My apologies this was meant for Vikram Reddy not you. Sorryt


Add systems architecture

https://github.com/simskij/awesome-architecture
this list is about systems architecture and includes articles, resources, books, tools etc. on that topic. from what i could tell, no other list curates resources in this layer and as the "art" of working with systems architecture in many senses differ from doing actual programming a separate list for this feels appropriate.
PR Reviews
PR 1501
PR 1497

Ping @sindresorhus 😄

The list is a little bit light on content. Put more more work into it.

The readme heading should be Awesome Systems Architecture, not awesome-architecture.

I think you should rename the repo too. Just awesome-architecture is too generic and makes people think it's about building architecture.

The list is a little bit light on content. Put more more work into it.

Thanks for the feedback. I'm trying to value high-quality content over quantity. Hopefully, some exposure from the awesome list of awesome lists would help in providing good content in a more rapid pace. Until then, I'm updating it every once in a while when I have something valuable to add. 👍

I think you should rename the repo too. Just awesome-architecture is too generic and makes people think it's about building architecture.

On a social coding platform like github, one would think the opposite would be the case right? Having to specify "awesome-building-architecture" if it's not systems architecture. ;-)

Having to specify "awesome-building-architecture" if it's not systems architecture.

There are many kinds of architecture, even within software engineering.  I agree that it would be confusing if left named as such.  I side with the idea that this is an important change.
Also, IMO, looking at the list, it leaves out many important things about software architecture.  If the merge were my call, I would want to see this awesome-list developed further before merge.  Paper We Love is a great resource for important topics in software architecture.

There are many kinds of architecture, even within software engineering. I agree that it would be confusing if left named as such. I side with the idea that this is an important change.

In that case I'd rather opt for the wider definition.
The repo has now been renamed to awesome-software-architecture, and the link in the readme has been updated to reflect that change.

@sindresorhus time for another evaluation? the list has more than twice the content compared to 22 february.

Devops => DevOps

Includes a succinct description of the project/theme at the top of the readme. (Example)

Includes a succinct description of the project/theme at the top of the readme. (Example)

thanks, fixed. 🙌

Tweet: https://twitter.com/awesome__re/status/1126400846856503296


update datasource urls

These probably all need API keys specified in their URL params (if they don't have it requests will be blocked from the server).

Yep - I see a few which appear to have an api_key nearby, but as I'm not sure how keys are handled in the other cases (or which keys are to be used) I'll let the maintainers modify this as needed before merging.

Looks like these have API keys in all the necessary places - the only thing breaking is our URL unit tests (they expected the old tile URL as input). I'll update that to prevent future confusion.


Add support for S3 HTTPS URI

This adds support for other S3 URI formats.
Connects #275

The error message 'Please enter a URI of the form s3://bucket-name/path/to/tiff.tif' should be changed to 'Please enter a valid S3 URI' or something like that.

Consider trimming white space from S3 URI field. Having a trailing space at the beginning will cause validation to fail.

+1 otherwise, tested

The error message 'Please enter a URI of the form s3://bucket-name/path/to/tiff.tif' should be changed to 'Please enter a valid S3 URI' or something like that.

Oh yeah! Forgot about that.

Updated error message and trim whitespace from user input.


Fix example URLs (which have been refactored)

Sorry for the noise: I was in a branch with that error, I see this has already been fixed on master! So closing this.


Should I use?

@sindresorhus this plugin is actually maintained? I'm using Ember.js and I have some stylus tasks in gulp, but I'm trying to move this to broccoli. So I find your plugin :smile:

It's maintained.

In the future please don't waste maintainers time with such unnecessary issue. You can easily infer maintainability from commit activity. Every issue like this takes time away from actually maintaining projects.

Makes sense. But I must admit that my question originated in an open issue since 2014. So my concern whether the use of this plugin is actually maintained and if I can use it or maybe help with. First I need to think about not waste my time to use something that perhaps was not being maintained. My apologies for this issue unnecessary. :smile:


Method registry.list_repository_tags throws JSONDecodeError due to extra data

Python version: 3.7.16
pydo version: 0.1.4
How to replicate the issue:

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

client.registry.list_repository_tags(registry_name="example-registry", repository_name="example-repository")

Example stacktrace:

Traceback (most recent call last):
  File "registry-cleaner.py", line 13, in <module>
    print(client.registry.list_repository_tags(registry_name="example-registry", repository_name="example-repository"))
  File "/home/scripts/.local/lib/python3.7/site-packages/azure/core/tracing/decorator.py", line 78, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "/home/scripts/.local/lib/python3.7/site-packages/pydo/operations/_operations.py", line 96186, in list_repository_tags
    deserialized = response.json()
  File "/home/scripts/.local/lib/python3.7/site-packages/azure/core/rest/_http_response_impl.py", line 310, in json
    self._json = loads(self.text())
  File "/usr/local/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python3.7/json/decoder.py", line 340, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 5 (char 4)

Thanks for filing this issue. We will investigate this on our side to confirm.

@mikeberezowski thanks. If it helps, here's the list of pydo dependencies that were installed:
azure-core==1.27.0
azure-identity==1.13.0
certifi==2023.5.7
cffi==1.15.1
charset-normalizer==3.1.0
cryptography==41.0.1
idna==3.4
isodate==0.6.1
msal==1.22.0
msal-extensions==1.0.0
msrest==0.7.1
oauthlib==3.2.2
portalocker==2.7.0
pycparser==2.21
PyJWT==2.7.0
requests==2.31.0
requests-oauthlib==1.3.1
six==1.16.0
typing_extensions==4.6.3
urllib3==2.0.2

Thanks for bringing this to our attention. I have created a PR for this fix in #174
Once this is merged, we will cut a new release and close this issue. Thanks again!

A new release has been cut with the fix. Thank you for bringing this to our attention!


Using IOptionsSnapshot with NancyFx

in aspnetcore sample provide by microsoft here:
https://github.com/aspnet/Entropy/blob/dev/samples/Config.Options.Snapshot.Web/Startup.cs
they show IOptionsSnapshot use in their class. but i want use the IOptionsSnapshot in my nancyfx module. how i can do this?
it look like it will need to me inject into constructor, but nancy already do that with nancy tinyioc register in bootstrapper. is there way to allow me get ioptionssnapshot?
(sorry my english poor)

Here is a snippet from our NancyBootstrapper class:
    protected override void ConfigureApplicationContainer(TinyIoCContainer container)
    {
        base.ConfigureApplicationContainer(container);
        container.Register(_serviceProvider.GetService<ILoggerFactory>());
        container.Register(_serviceProvider.GetService<IOptions<DataOptions>>());
    }

We're using IOptions but IOptionsSnapshot would be the same. The DataOptions is one of our Options classes. Leave out that container.Register() line and the whole thing will fail!
Then it's used where needed. Here's an example:
    public class MyData : IMyData
    {
        private readonly string connectionString;

        public MyData(IOptions<DataOptions> options)
        {
            connectionString = options.Value.ConnectionString;
        }
    }

Hmm. I'd better be more complete. Here is the DataOptions class:
    public class DataOptions
    {
        public string ConnectionString { get; set; }
    }

And here's how it gets populated in Startup:
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddOptions();
        services.Configure<DataOptions>(o =>
        {
            o.ConnectionString =
                Configuration.GetConnectionString("ConnectionString");
        });
    }

HTH

https://github.com/NancyFx/Nancy/tree/master/samples/Nancy.Demo.Hosting.Kestrel


Admin Create Task - End Date validation failure appears to reset the date fields

On the Admin/Task/Create page when the field validation fails for Name or End date it is resetting the start and end date values.
Initial Date Fields
Screenshot of what the create task form initially looks like.

After Clicking Save with Validation Issues
Screenshot of what the form looks like after clicking the save button without filling in the name and having an end date validation error.

Side Note
I noticed when the validation fails that the url changes from Admin/Task/Create to Admin/Task/Edit.  Not sure if this is part of the issue
Steps To Reproduce

Create an Organization
Create a Campaign
Create an Event
Under the event click the "Create Task" button
Set the volunteers to 1 or something greater than 0.
Click the Save button

i can take this one


Request/idea: dead letter subject for messages posted nowhere

Basically borrowed from Akka (possibly elsewhere): a subject that receives messages that aren't delivered to an open subscription.  Could be configurable to only match a particular filter; could be possible to have multiple dead letter endpoints.
The idea is that you can see which messages were sent to a subject which no-one is subscribed to.  Clearly this would only be useful in some scenarios, but for debugging it could be quite useful.

It would be useful to know what the real use case is, how often you'd use this feature, and what the impact of not having it is.
Discarding messages for which there is no subscription interest serves two basic goals of NATS: simplicity and performance. Implementing Dead Letter semantics in gnatsd would add complexity (implementation, configuration and security) without a clear benefit to all users.
For debugging, a simpler if less tailored answer would be to create a client that subscribes to > and looks for messages being published to bad subjects (subjects not conforming to your project's naming rules) and log that.
The desire to know who's subscribed to a given subject is a recurring request, though it's sometimes expressed in different ways. See also related issue #312.

To be honest, it has been a while and I can't remember my exact requirements here.  I was playing with implementing an agent system on top of NATS, and the dead letter aspect came up in there.
Your hack may be adequate for the debugging use-case, so perhaps the "fix" for this is to just put that suggestion in the documentation.
I suppose more generally it would be useful to know that a message will never be received because no-one is subscribed, or that somewhere there's a break.  These situations could be monitored.

Great discussion, I'm closing this as there are a few options discussed here, and there is also discussion that would address this issue in #568.


Rails Auth tutorial

Rails website with authentication

@hstove You only need to review the _develop/auth_provider.md file.  The rest is me doing some cleanup which you can ignore.


Complete custom matches field with selected matcher from list

[ ] Highlight added matcher

A solution for highlight matcher was to set focus on textbox Application.Current.Dispatcher.BeginInvoke(new Action(() => { Keyboard.Focus(Matches); })); , but highlight wasn't working on key up.
For now, it works to complete the field on select
We will prioritize this feature in the future, as an improvement


Added comments

removed some extra lines and added a few comments

#15

fixed 'conflict'

@SirLich


Allow partial admission of jobs

What would you like to be added:
A mode of operation that allows partial admission of jobs, for example if parallelism is x and there is only quota available for y < x, then jobs should still be admitted.
In this mode, the job needs to specify some minimum number of pods that is less than parallelism. To force the job controller to start only what was allowed, we need to reset parallelism to match the partial assignment, we can do that in the same update request that unsuspends the job
Why is this needed:
Not all jobs require all-or-nothing.
Completion requirements:
This enhancement requires the following artifacts:

[X] Design doc
[X] API change
[X] Docs update

The artifacts should be linked in subsequent comments.

I'm interested in tackling this feature.  If there is no object, I will assign it to me and I will attempt a design doc first.
/assign @kannon92

A mode of operation that allows partial admission of jobs, for example if parallelism is x and there is only quota available for y < x, then jobs should still be admitted.

So I am reading this as we probably want some kueue configuration option to allow this globally?
I know that we probably want to implement this without "hard-coding" anything on the Job API as we want Kueue to be a general solution for workloads other than the Job API.  So I am a bit confused on where this item should live?  A user will submit a Job with a CQ annotation so I don't think it should be an API field on the Job API.
Should a user opt-in into this via a CQ setting?  Or do we want a global setting in the Kueue Configuration that allows this behavior if an admin enables it?

So I am reading this as we probably want some kueue configuration option to allow this globally?

No, the each workload should dictate whether they can handle lower parallelism.
It probably needs to be an annotation for now.
I think we might be able to justify a field upstream, if we offer some behavior for it. For example, you could have the job controller stop retrying pod creations if it has reached the minParallelism and the last pod creation failed because of lack of ResourceQuota. But I'm just thinking out-loud.

I'm afraid I may not have the time to tackle this in the short term.  /unassign @kannon92

MPIJob has a parameter like this, although not properly supported kubeflow/mpi-operator#518

Couple questions

Should a min-parallelism annotation be hooked into the all-or-nothing scheduling feature? For example, if a Kueue has waitForPodsReady enabled, should the annotation replace parallelism when determining PodsReady? Or are you just asking to consider this annotation when admitting for quota.
By design doc are you looking for a KEP or something more informal.

Should a min-parallelism annotation be hooked into the all-or-nothing scheduling feature?

I think it's independent of waitForPodsReady, currently we only admit the job iff there's enough quota for parallelism or completions pods, with the feature enabled, min-parallelism pods is enough. But we may also treat job ready when min-parallelism is reached, so we should also change the codes with waitForPodsReady.

Do you want this feature to be gated at the Kueue level? Or should the annotation always be respected?

I think we can have a flag like waitForPodsReady.

By design doc are you looking for a KEP or something more informal.

Yes, see https://github.com/kubernetes-sigs/kueue/tree/main/keps
Some thoughts, I think we should implant the field to Workload maybe inside the PodSet, to make it awared by Kueue, one more thing is should we also record the original parallelism?

There are two things at play here:

How to define and support min-parallelism in an abstract way. This usually implies changes to the Workload API and the admission logic.
How to apply the selected parallelism to the (custom) job API. In the case of Job, we probably need to update the parallelism field itself, before setting suspend=false.

Do you want this feature to be gated at the Kueue level? Or should the annotation always be respected?

Since the annotation is opt-in, I don't see why we need a gate.

Probably, we want to add this feature for the MPIJob with Elastic Training (Elastic Horovod). Also, PytorchJob has Elastic Training mode, too.

This is simpler than elastic. Here we want to start a job with Y pods (where Y>=X), and keep the number at Y during the life of the job.

Ah, I see. Thanks for clarifying.

Do we need a KEP for this?
The way I see it:
After #756 we will have a way of knowing the number of pods for which the admission was done
https://github.com/epam/kubernetes-kueue/blob/0d840050ad4a09f36b00db2988552955db46898b/apis/kueue/v1beta1/workload_types.go#LL67C1-L84C2
What's still needed:

core

a way to mark that a podSet accepts partial admission (likely API change)
if the case, try the flavor assigment with lower pod count
prepare the job for partial execution,  this should be done similary to the way node selectors are handled (likely with restore mechanism)

batch/job

a way to mark that a job supports partial admission (likely annotation)
implemet set/restore parallelism for partial admission
change the job vs workload equivalent function to account for partial admission

We need to add new APIs. Otherwise how do users communicate that they are ok with partial admission. And how do we communicate back to the user what was the decision taken?
And the implementation might not be trivial. So a KEP helps put everything in perspective. As the project grows, we might be requiring more KEPs.

And the implementation might not be trivial. So a KEP helps put everything in perspective. As the project grows, we might be requiring more KEPs.

That's right.

/reopn
#763 was only the high level design

/reopen


How to change size of the rendered canvas after window resize?

I'm not a programmer. I tried to revert an instance and than do .create() but it doesn't work

It should theoretically be possible to do that only with CSS (i.e.no need for additional scripting), but that is heavily dependent on the context in which you are using seeThru. Could you create an example JSFiddle or ESBin (or whatever you prefer) that demonstrates your use case?

Actually i already solved this. Revert and then .create() actually worked.


Fix ie11 fill

Another Sentry error https://sentry.io/organizations/iterative/issues/1521458935/

Looks good! Good to know IE11 doesn't support Array#fill.


policyGroupName logic is reversed

Describe the bug
If you define a policyGroupName in a policyset, but never use it in one of the policyDefinitions in the set, EPAC throws an error that the policyDefinitionGroup is not found. This is likely caused by a change in v10.3.2, which added an extra error check in Build-PolicySetPlan.ps1.
I think the logic here needs to be slightly reversed. Rather then checking if $usedPolicyGroupDefinitions.ContainsKey($groupName), where $groupName comes from the loop on $policyDefinitionGroups . It should be something like $policyDefinitionGroups.ContainsKey($groupName) where $groupName comes from the loop on $usedPolicyGroupDefinitions.
To Reproduce

Create a policy set with various policyDefinitionsGroups defined
Do not use one of the groups in the policyDefinitions in the set.
Try to deploy the policySet

Expected behavior
The set should deploy. Empty groups are allowed in Azure.
Screenshots

EPAC Version
V10.3.2 and above

Thanks - I've got a PR open for this - should be fixed tomorrow.

Thanks @luke-iseger91 I have just encountered the same problem.
Thanks for the quick fix @anwather

The PR is in our development environment waiting approval should be published tomorrow.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Meyer Flavio @.>
Sent: Tuesday, June 18, 2024 9:23:16 PM
To: Azure/enterprise-azure-policy-as-code @.>
Cc: Mention @.>; Comment @.>; Assign @.>; Subscribed @.>
Subject: Re: [Azure/enterprise-azure-policy-as-code] policyGroupName logic is reversed (Issue #676)
Thanks @luke-iseger91https://github.com/luke-iseger91 I have just encountered the same problem.
Thanks for the quick fix @anwatherhttps://github.com/anwather
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/enterprise-azure-policy-as-code/issues/676#issuecomment-2175861043 or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACWCJVXL7VJ3JGDOWAAFACDZIAKCJBFKMF2HI4TJMJ2XIZLTSSBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVIZDOMRVHE4DSNBXHCSG4YLNMWUWQYLTL5WGCYTFNSWHG5LCNJSWG5C7OR4XAZNMJFZXG5LFINXW23LFNZ2KM5DPOBUWG44TQKSHI6LQMWVHEZLQN5ZWS5DPOJ42K5TBNR2WLKJTGM3TCNRSHAZTRAVEOR4XAZNFNFZXG5LFUV3GC3DVMWVDEMZVG42TCMJSGMZIFJDUPFYGLJLMMFRGK3FFOZQWY5LFVIZDOMRVHE4DSNBXHCTXI4TJM5TWK4VGMNZGKYLUMU.
You are receiving this email because you were mentioned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Arrow keys do not work in APERO prompt

When using APERO astrometrics, pressing the left arrow key only inserted the keycode (^[[D) after the current prompt.
I'm not sure if this is dependent on the client terminal.
(And I think it is low priority, but wanted to mention it here so it can be fixed in the future)

It should be just a standard python "input()" nothing special. Could you test a short script with the input() function?
I find weird stuff happens in x2go and in a screen sometimes with the arrow keys, but yer Im not sure this is an apero problem.


[WFCORE-2972] Upgrade WildFly Elytron to 1.1.0.Beta54 and Related PRs

https://issues.jboss.org/browse/WFCORE-2972
https://issues.jboss.org/browse/JBEAP-11459

Experimental Parameters: -
Core Repo    https://github.com/wildfly-security-incubator/wildfly-core.git
Core Branch WFCORE-2972
WildFly Repo  https://github.com/wildfly-security-incubator/wildfly.git
WildFly Branch WFLY-8938

Experimental Jobs: -
https://ci.wildfly.org/viewLog.html?buildId=65377&tab=buildResultsDiv&buildTypeId=WF_WildFlyCoreIntegrationExperiments
https://ci.wildfly.org/viewLog.html?buildId=65379&tab=buildResultsDiv&buildTypeId=WF_WildFlyCoreIntegrationExperimentsWindows

Core - Full Integration Build 5340 outcome was FAILURE using a merge of 1239eedc7ddf1621ed7368c0e5228a2592e9418c
Summary: Tests passed: 3331, ignored: 93; compilation error: Compiler (new) Build time: 00:35:30

Full integration - Windows Build 3750 outcome was FAILURE using a merge of 1239eedc7ddf1621ed7368c0e5228a2592e9418c
Summary: Tests passed: 3327, ignored: 95; compilation error: Compiler (new) Build time: 00:51:42


Random Execution of the dependencies at Runtime

Describe the Issue
Since the nested dependencies are not supported yet. So we decided to create multiple dependent bundles, and we want the execute bundle in a certain orders. But on each run we get a random elections at Runtime.
Here what we get:
Declared
MYDEP-core
MYDEP-s3
MYDEP-db
MYDEP-experiments

Executed
MYDEP-experiments
MYDEP-s3
MYDEP-core
MYDEP-db
To Reproduce
Steps to reproduce the behavior:

Create bundle with multiple dependencies
install
Observe the declaration and the execution plan

Expected behavior
Get the dependent bundle to execute for now in the exact same way they were declared
Version
porter v0.23.0-beta.1 (9c49056)

After a quick scanning of the code, this issue will require changes all the up to CNAB dependencies spec.
By changing from map Dependencies map[string]Dependency  yaml:"dependencies,omitempty"`` to to a list Dependencies []Dependency  yaml:"dependencies,omitempty"will require a lot code changes. The other way would be to add an extra property likeorder`  within the dependency object b but I wonder if this won't impact the spec?

Hello @carolynvs, @vdice,
Potential solution:

Add Prop: Dependency struct [dependencies.go]

// Dependency describes a dependency on another bundle
type Dependency struct {
	// Bundle is the location of the bundle in a registry, for example REGISTRY/NAME:TAG
	Bundle string `json:"bundle" mapstructure:"bundle"`

	// Version is a set of allowed versions
	Version *DependencyVersion `json:"version,omitempty" mapstructure:"version"`

	// Order is a way to indicate precedence within the dependencies
	Order int `json:"order,omitempty" mapstructure:"order"`
}

Add Prop: DependencyLock struct [solver.go]

type DependencyLock struct {
	Alias string
	Tag   string
	Order int
}

Sort the DependencyLocks within the ResolveDependencies func

...
	q := make([]DependencyLock, 0, len(deps.Requires))
	for alias, dep := range deps.Requires {
		bundle := strings.Split(dep.Bundle, ":")[0]
		version, err := s.ResolveVersion(alias, dep)
		if err != nil {
			return nil, err
		}
		lock := DependencyLock{
			Alias: alias,
			Tag:   fmt.Sprintf("%s:%s", bundle, version),
			Order: dep.Order,
		}
		q = append(q, lock)
	}

	sort.SliceStable(q, func(i, j int) bool {
		return q[i].Order < q[j].Order
	})

WDYT?

Thank you for raising this issue @MChorfa .  I'd favor proposing a change to the spec around the listint structure, from map[string]Dependency to []Dependency, as you'd suggested above.
In doing so, Porter could then establish the precedent of executing dependencies based on the order they are declared in the manifest.  For example, if the dependencies are declared like so,
dependencies:
  - name: mysql
    tag: myregistry/mysql:v0.1.0
  - name: wordpress
    tag: myregistry/wordpress:v0.1.0

Porter would install according to the order listed.  So, the mysql dep would be installed, then wordpress, and so on, in the same order no matter the action, ensuring repeatable/predictable dependency execution.
Note how a new field was added, name, to the Dependency object.  This would be needed to maintain functionality of templating values, e.g. {{ bundle.dependencies.mysql.output.foo }}, etc.
Would you be interested in proposing the CNAB Spec change (listing changes to an array, an individual listing now has a name field, runtimes are expected to process listings in order of appearance)?  Once consensus is reached there, we can update Porter's implementation to ensure repeatable dependency execution.

Change proposal submitted: https://github.com/cnabio/cnab-spec/issues/361 🤞


Add quoteOrderQty param to docstrings on market orders

Coverage remained the same at 52.437% when pulling e508ecbebc0b5e01b420f6f62b91ad2b32d6cdac on goldan:develop into c4fdad5021db865c692cde2833b4644975a8f0d2 on sammchardy:master.

Thanks @goldan


Please add a LICENSE file

Thanks for this library, it's pretty awesome and we'd love to use it, but unfortunately, corporate processes require us to approve each and every library and right now we can't, because there is no licensing info. Please add some, so I can forward it to my corporate overloards 🙂

licensed this repo as BSD3


MATIC transfert (polygon) does not work

there are some funds on the test address

Need more info on your issue @ThierryThevenet
I added another polygon account and sent 1 MATIC without any issue.


Easier to understand config.example.ini

I also added default i2c values for raspberry pi pico w

Thanks.
I don't like too verbose configs personally, and imo describing every wifi option like that, esp. given that most of them aren't necessary would've only made it more confusing for me, so reverted those back.
Might be just me, but imo brevity is an important consideration for config file example, and most of such stuff belongs in some kind of documentation anyway, which is linked there.
Also wanted to illustrate that most options can be defined before ssid= ones, to apply to all ssids below, but guess that wasn't clear at all, unfortunately.

That's fair, My biggest complaint was not knowing it was client mode vs access point mode.
Is there a reason you went with 20.56, instead of 20?
Is check interval 20 or 120 on the second ssid? I'm curious if the prior declarations before ssid has precedence?


Run terminal commands

Hi @okwasniewski, It would be useful to be able to execute terminal-type commands, like this one here:
const { exec } = require("child_process");

...
          exec("ls -la", (error, stdout, stderr) => {
            if (error) {
                console.log(`error: ${error.message}`);
                return;
            }
            if (stderr) {
                console.log(`stderr: ${stderr}`);
                return;
            }
            console.log(`stdout: ${stdout}`);
        });

So I thought it would be useful to adopt a server solution like this: https://testableapple.com/gaining-access-to-command-line-from-maestro/

Hey, so according to this stackoverflow thread you can use this library to achive it in React Native. However this is way out of scope for react-native-menubar-extra library, therefore I'm closing this issue.

It works for me did you ran pod install after installing this library?

You need to clean up the old build. Inside macos folder run rm -rf Pods build and then install pods again (pod install)

See my explanation here: https://github.com/microsoft/react-native-macos/issues/1937#issuecomment-1743062559
It's not currently possible to run arbitrary node native modules with React Native macOS, as they have two completely separate methods of JS->Native (C++) communication.

@Saadnajmi The solution for this particular issue would be to create an RN Macos library that would wrap another native library to execute shell commands like https://github.com/JohnSundell/ShellOut right?

@Saadnajmi The solution for this particular issue would be to create an RN Macos library that would wrap another native library to execute shell commands like https://github.com/JohnSundell/ShellOut right?

Yep, unless the other project I mentioned lands and we can get all node native modules to "just work" with react native macOS (while using Hermes). But you know, that's a ways away I think, and writing your own native module OS the way to go IMO


upgrade nydusd version used by e2e test to 2.1.4

No logic is changed.

Codecov Report
Base: 29.24% // Head: 29.24% // No change to project coverage :thumbsup:

Coverage data is based on head (ed8f638) compared to base (9fb0d50).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #373   +/-   ##
=======================================
  Coverage   29.24%   29.24%
=======================================
  Files          38       38
  Lines        3813     3813
=======================================
  Hits         1115     1115
  Misses       2566     2566
  Partials      132      132

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add Repository common definition

Rich repository = anemic models. Anemic models are bad.
Rejected. Closes #5

Oh noo! My code has been rejected.. Life so unfair!😓


What is the unit of the vertices and translation?

Thanks for the contribution of the nice dataset.
May I ask the unit of the parameters for  camera translation, smpl transl, and the your smpl vertices (with pose/shape/transl/scale) / 3d joint?
Is that meter? cm? or inches?

The unit is determined by the calibration system. It is tricky to get the scale between camera parameters and metric system without the calibration system. However,  the SMPL model is designed in the metric system. You can divide your fitting results by the fitted scale to transform the results to the metric system.

Thanks for the fast reply!
May I ask for the 3DOH50K dataset, proposed in  'Object-Occluded Human Shape and Pose Estimation from a Single Color Image'
What is the unit?
I print the trainset/images/00000.jpg joint (LSP 14 joint setting) in camera coordinate system as below:
[[-2.3660119   2.301272   29.231129  ]
[-1.7046626   2.71547    29.17325   ]
[-2.4745963   2.741481   28.587654  ]
[-2.823679    1.906099   29.800255  ]
[ 0.69710183  2.6831324  28.322779  ]
[-2.167148    2.5585692  25.997332  ]
[-2.7882693   0.8485562  29.757795  ]
[-0.20029895  5.20388    28.005508  ]
[-1.8265036   5.2449613  26.318968  ]
[-2.6618805   0.4653038  29.484562  ]
[ 0.53251034  5.746623   27.735052  ]
[-1.8250386   5.6033196  25.408148  ]
[-2.730522   -1.0771081  29.323053  ]
[-1.1830627   1.3441571  29.927233  ]]
after subtracting the root joint:
[[ 0.28312564 -0.02251816  0.03717422]
[ 0.94447494  0.39168    -0.02070427]
[ 0.17454123  0.417691   -0.60630035]
[-0.17454147 -0.4176911   0.60630035]
[ 3.3462393   0.35934234 -0.87117577]
[ 0.48198938  0.23477912 -3.1966228 ]
[-0.13913178 -1.4752338   0.56384087]
[ 2.4488385   2.8800898  -1.188446  ]
[ 0.82263386  2.9211712  -2.8749866 ]
[-0.012743   -1.8584863   0.29060745]
[ 3.1816478   3.422833   -1.4589024 ]
[ 0.82409894  3.2795296  -3.7858067 ]
[-0.08138442 -3.4008982   0.12909889]
[ 1.4660748  -0.979633    0.7332783 ]]
Based on these data I am not sure about the unit. Is the person 29 meters far away?
I get the camera-coordinate joint based on line
https://gitee.com/seuvcl/CVPR2020-OOH/blob/master/utils/visualize.py#L43
and line
https://gitee.com/seuvcl/CVPR2020-OOH/blob/master/utils/visualize.py#L54
and without projecting using 'intrinsic parameter'
Can you have a approximation of how far the person is from the camera?

The scale of the 3DOH50K dataset to the metric system is 7. All results can be converted to metric units by dividing by 7. e.g., the 29 means 4.1 meters.


pixi run "any_task_name"  triggers installing project dependencies

Checks

[x] I have checked that this issue has not already been reported.

[x] I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example
All my projects, that use pixi has this problem. So, most probably the issue should be same for all others as well.

Issue description
Today I've updated pixi to 0.35.0 version and got this issue. Every time I run any task, pixi tries to install project dependencies again and only after that runs the task. After downgrading to previous version, 0.34.0 solved the issue.
Expected behavior
Do not re-install project dependencies if they are already installed and environment exists.

I have the same issue:
I have dependencies in my pyproject.toml :
# pyproject.toml
...

dependencies = [
    "numpy",
    "pandas",
    ...
 ]

...

I run this (dummy) command with the verbose flag:
pixi run -v python -m MYMODULE

Even after running this more than once, I get the following output, where pixi (re-)installs the "distribution":
...
 INFO pixi::install_pypi: Re-install: []
 INFO pixi::install_pypi: Remove: []
 INFO pixi::install_pypi: Prepared 1 package in 3ms
 INFO pixi::install_pypi: Installed 35 packages in 2.45s

The issue did not occur with the previous version of pixi < 0.35.0.

This was fixed in #2587


Add support for isar community fork for sentry_isar package

Problem Statement
The main isar package seems to have gone unmaintained, thankfully the community has picked up the slack and supports it through https://github.com/isar-community/isar.
The problem is that even though there seems to be 100% compatibility with the main isar package, sentry's isar integration depends on isar, which causes problems : the community fork is not hosted on pub.dev hence pub flags it as incompatible
Solution Brainstorm
I think the only way to actually support it is to add a new package : sentry_isar_community which doesn't depend on isar, but instead on the forked version. The code can remain the same, except for the generated code which needs to be regenerated to fit the changes and bug fixes in the community fork.
Are you willing to submit a PR?
Yes

Why don't the community supports the Sentry integration?

As discussed here, there is currently no need for a separate package. Closing this for now, feel free to follow up here if there's problems or questions


Closure Function for Guard Expression

Would there be any issues using a closure for a guard expression? This feels odd to me and likely unnecessary to do, but perhaps I'm overthinking it.
# Set the Property
var value := true
state_chart.set_expression_property('closure_fn', func(): return value)

# Guard Expression
test_fn.call() == true

Apologies if this is the wrong place for this.

Using a closure is totally possible. Just make sure that the property name matches what you call in the guard expression. E.g.
state_chart.set_expression_property('test_fn', func(): return value)

# Guard Expression
test_fn.call()

If you just want to access a property of the current object you can also set the full object as an expression property, e.g.
var value = false

func _ready():
    state_chart.set_expression_property("me", self)

and then use  this expression in your guard:
me.value