Detail callout accessory view

based on the work of @RomanPodymov

I'm honestly thinking whether this is the best approach for this - maybe something like a view modifier on that annotation would be more suitable, but we would also deviate from the existing API there - but then again, afaik detailCalloutAccessory is not supported by the SwiftUI wrapper from MapKit anyways

Hello @pauljohanneskraft
Or you can keep a branch for "non-SwiftUI-API-features".

@RomanPodymov What do you think about a solution like this:
#if !os(watchOS)

import Foundation
import MapKit
import SwiftUI

private struct DetailCalloutAccessory<Annotation: MapAnnotation, Content: View>: MapAnnotation {

    // MARK: Static Functions

    static func registerView(on mapView: MKMapView) {
        Annotation.registerView(on: mapView)
    }

    // MARK: Stored Properties

    private let wrappedAnnotation: Annotation
    private let content: () -> Content

    // MARK: Computed Properties

    var annotation: MKAnnotation {
        wrappedAnnotation.annotation
    }

    // MARK: Initialization

    init(_ annotation: Annotation, @ViewBuilder content: @escaping () -> Content) {
        self.wrappedAnnotation = annotation
        self.content = content
    }

    // MARK: Methods

    func view(for mapView: MKMapView) -> MKAnnotationView? {
        guard let view = wrappedAnnotation.view(for: mapView) else {
            return nil
        }

        if Content.self != EmptyView.self {
            view.canShowCallout = true
            view.detailCalloutAccessoryView = NativeHostingController(rootView: content()).view
        } else {
            view.canShowCallout = false
            view.detailCalloutAccessoryView = nil
        }

        return view
    }

}

extension MapAnnotation {

    public func detailCalloutAccessory<Content: View>(@ViewBuilder content: @escaping () -> Content) -> some MapAnnotation {
        DetailCalloutAccessory(self, content: content)
    }

}

#endif

It could then be used on any MapAnnotation using the following construct:
ViewMapAnnotation(...) {
    AnnotationContent()
}
.detailCalloutAccessory {
    DetailCalloutAccessoryContent()
}

Hello @pauljohanneskraft
Looks great. I don't have that much experience with SwiftUI, so I trust you.

For what it's worth, it doesn't look like iOS 17 adds callouts to the SwiftUI Map component based on the initial beta documentation at https://developer.apple.com/documentation/mapkit/mapkit_for_swiftui
The proposed solution at https://github.com/pauljohanneskraft/Map/pull/46#issuecomment-1529020296 looks reasonable to me.

Hello @darronschall
If it is similar to iOS 17 SwiftUI Map API we can try this way.


Encryption needs fixing

At the moment, the way we register, is by sending an encrypted password up to the db. To log in, we encrypt what the user put it, and compare the two encrypted strings. However, the encrypted strings are different when created at different times, hence we need to decrypt the password when we get it back from the db.

fixed the issue

Great!


(feat) - notify user of no events

It's pretty basic but in line with how we normally style, I think it doesn't have to be anything super fancy. It serves a signifier to the user of the devtools that it has a connection but hasn't received events yet.
Resolves: #61

Thanks for this @JoviDeCroock
There's a possible use case in the future where there are no events but filters have been applied.
How do you feel about having the no-events status as the list "content" (i.e. under the heading)?
Either works - approving and feel free to merge :)


spring-cloud-aws-autoconfigure dependencies and module organization

spring-cloud-aws-autoconfigure seems to pull in too many dependencies that could be made optional or in some cases removed

spring-cloud-aws-actuator should be optional

org.springframework.boot:spring-boot-actuator can be removed (transitive dep of spring-cloud-aws-actuator)
com.amazonaws:aws-java-sdk-cloudwatch can be removed  (transitive dep of spring-cloud-aws-actuator)

spring-cloud-aws-context should be optional

Ideally the cache (e.g. aws-java-sdk-elasticache, ...) and mail (javax.mail, aws-java-sdk-ses) related dependencies would also be (re)moved. This could be simplified for the user by splitting the integrations out of spring-cloud-aws-context into e.g. spring-cloud-aws-cache and spring-cloud-aws-mail, and then having those modules pull in the relevant third party deps.
This way the spring-cloud-aws-autoconfigure could act more like normal Boot autoconfiguration modules that configures what's present, rather than pulling in dependencies itself (it seems like something of a hybrid between providing autoconfig and acting as a 'starter' at the moment).
An even better option might be to move the autoconfiguration classes into the relevant modules that they actually configure (the dependency on spring-boot-autoconfigure could be optional in each of those modules). spring-cloud-aws-autoconfigure could then be removed entirely or be replaced by a spring-cloud-aws-starter.

@ksperling thanks for your suggestions. I already refined the dependencies. With regards to re-arranging the modules: Currently Spring Boot is "optional" for the 1.x release line, once we have a mandatory dependency on all modules to Spring Boot we will likely collapse the auto-configure module into the other modules.
With 2.x we also plan to drop the entire XML support and be more aligned with Spring Boot in general.

Along these lines spring-cloud-aws-autoconfigure assumes we are using cloud formation. If we aren't either it will be missing permissions to access describeStackResources or it will have a different error when it is unable to get the name of the stack. I'd prefer this fail more gracefully.

2.3 will introduce following changes:

Actuator dependency has been removed in https://github.com/spring-cloud/spring-cloud-aws/pull/604
CloudFormation support will be disabled by default https://github.com/spring-cloud/spring-cloud-aws/issues/573


Custom status feature

Summary

Create custom status components.

Custom status option in status modal
Custom status modal

Ticket Link

Specs: https://mattermost.atlassian.net/wiki/spaces/CS/pages/983302547/User+Experience+and+Functional+Notes

Related Pull Requests

https://github.com/mattermost/mattermost-redux/pull/1349
https://github.com/mattermost/mattermost-server/pull/16835

Screenshots

Hello @chetanyakan,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@matthewbirtch Here's the test server from brightscout that includes webapp, redux and server changes so we can review the feature in it's entirety: http://ec2-3-137-148-232.us-east-2.compute.amazonaws.com:8065/signup_user_complete/?id=559fit8sj7bm8n7mcpqcz9cy5y

Adding @deanwhillier as he was interested in reviewing this PR

4. If recent statuses have text that matches the options in the suggestion list, it should not appear in both places. We should remove it from the suggestion list while it is in the recent list

@esethna Based on how the 'Recent Statuses' feature is designed and implemented, we don't show the same recent status if the status-text matches but the emoji is different.
E.g. 😪 Working from home will replace 🏠 Working from home
In this case, should we show 🏠 Working from home in the Suggestions again, along with 😪 Working from home in the recents?

@matthewbirtch What should be the length limit for the custom status text?
Currently, I have set it to 250 characters to match the max length of CHANNEL_PURPOSE.
Let me know if that is okay.

In this case, should we show 🏠 Working from home in the Suggestions again, along with 😪 Working from home in the recents?

@chetanyakan I would propose we follow the same rules. If the text matches then it should not appear twice (so it would only appear in the recent list)

@chetanyakan could you please check the instance you are running on AWS? it is currently not reachable.
I wanted to check the actual implementation today.

@chetanyakan could you please check the instance you are running on AWS? it is currently not reachable.
I wanted to check the actual implementation today.

@michelengelen The ec2 URL got updated.
You can use the following link. Your existing credentials should work.
http://ec2-13-58-138-215.us-east-2.compute.amazonaws.com:8065/test/channels/town-square
If you need an invite, you can use this link:
http://ec2-13-58-138-215.us-east-2.compute.amazonaws.com:8065/signup_user_complete/?id=559fit8sj7bm8n7mcpqcz9cy5y

Thanks, that worked! ✨

@matthewbirtch What should be the length limit for the custom status text?
Currently, I have set it to 250 characters to match the max length of CHANNEL_PURPOSE.
Let me know if that is okay.

250 characters would be too long IMO. I would say 100 characters should be a more reasonable limit

@deanwhillier @michelengelen looks like feedback has been addressed, please take a look when you can! Thanks!

Looks like the majority of UI tweaks have been made, so I've approved. However, I just noticed this one though:

Could we align all the status icons with the firstSet a Custom Status item?

One functional thing I'm 4/5 on doing here is allowing the user to open the custom status modal by clicking the emoji in the header area (I caught myself doing this a few times with unexpected results - ie opening the menu menu instead)

100% agree with this @esethna. I fully expected this as well

@ogi-m if you can please prioritize testing on this feature today to hopefully unblock merging all the PRs (web, server, redux). You can open a test account here: http://ec2-13-58-138-215.us-east-2.compute.amazonaws.com:8065/signup_user_complete/?id=559fit8sj7bm8n7mcpqcz9cy5y

Several concerns/questions:

The user is able to type an unlimited amount of characters and click "Set status" but then most of the text will be lost upon saving the status. Should we maybe add a character count to the field when a user goes over the character limit (e.g. "-2" if the user is 2 characters over the limit) and disable the "Set status" button?

According to the spec. the default statuses shouldn't be moved to the "recent" list and should remain at the bottom, but that's not the case currently, they do get bumped to the top.

Should the "Clear Status" button be hidden if there's no status set, to match the design?

The emoji picker opens above the modal. I was expecting it to open below. Just want to confirm this is ok?

@chetanyakan @esethna @matthewbirtch

Thanks for the quick review @ogi-m

Can we open a follow-up ticket for this to implement this max length validation component on the status modal? I think this is acceptable as for now and we'll want to implement this component throughout the app wherever max length validation is needed. https://github.com/mattermost/mattermost-webapp/pull/7281

This was changed during the implementation process, I'll update the spec accordingly

Good point, the clear status button shouldn't exist if no status is set. @ogi-m can you help file a follow-up ticket for this since it's not a blocking issue?

I am not able to reproduce this, it probably depends on the screen resolution/aspect being used. However, this behaviour will be ironed out when the webapp team gets to the menu/pop-over common component, so not an issue now.

I took another pass through this, and most of the stuff I commented on has been addressed, but there's a few more that still need to be looked into.

One last issue I'm seeing is the alignment of the status emoji and the text, the emoji is placed too low (confirmed with @matthewbirtch ):

@ogi-m @hmhealey I have ironed out all the aforementioned issues. This PR is good for re-review.
There were 2 issues, however, that are particularly complex and are still unresolved.

Custom status emoji icon with channel members dropdown usename overflow

Consider the image below:

Note that the first user is the current user and the second one (which is being hovered) is another user, who can be sent messages and thus the comment icon.
Now, if the second user is not hovered, it looks like this:

This is because we are using opacity: 0 instead of display: none to hide that comment icon.
I don't know the correct path here, without much investigation and would need guidance on what to change here.

Custom status emoji icon with LHS DMs usename overflow

This was already pointed out a bit by @hmhealey as a PR comment above.
On making that change, I was not able to align the emoji with the + icon, without causing the problem pointed out by @hmhealey again.

Re: problem otherwise (see comments above)

@matthewbirtch @esethna  Any guidance on these 2 issues will be appreciated.

Updated test server: http://ec2-52-14-2-53.us-east-2.compute.amazonaws.com:8065/

Thanks @chetanyakan. The alignment looks better to me now, except for the RHS reply thread. The root post has a different alignment from the rest of the posts below it. The emoji is too high up and there's less space between the emoji and the username:

cc @matthewbirtch

@ogi-m Pushed a fix. These should be identical now.

Thanks @chetanyakan, the alignment in the RHS is unified now, but I've noticed it's different from the alignment in the centre channel. It would be great if we could have the emojis in the RHS placed just a bit higher up to match the alignment in the centre channel.

@ogi-m Center-channel and RHS post headers use the same styles now

Thanks @chetanyakan, looks good now. Approving 👍🏻
I'll open a ticket for the issues you noted.

To be cherry-picked to cloud branch.

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
From github.com:mattermost/mattermost-webapp
   befa91de8..6960ebc8a  MM-31441     -> upstream/MM-31441
 * [new branch]          MM-31502-new -> upstream/MM-31502-new
   389e7de5d..cb98b4f94  master       -> upstream/master
Fetching origin
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
+++ Updating remotes done...
!!! 'upstream/release-5.33' not found. The second argument should be something like upstream/release-0.21.
    (In particular, it needs to be a valid, existing remote branch that I can 'git checkout'.)

+++ Returning you to the master branch and cleaning up.

/cherry-pick cloud

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
Fetching origin
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
+++ Updating remotes done...
+++ Creating local branch automated-cherry-pick-of-mattermost-webapp-#7441-upstream-cloud-1613661460
Switched to a new branch 'automated-cherry-pick-of-mattermost-webapp-#7441-upstream-cloud-1613661460'
Branch 'automated-cherry-pick-of-mattermost-webapp-#7441-upstream-cloud-1613661460' set up to track remote branch 'cloud' from 'upstream'.

+++ About to attempt cherry pick of PR #7441 with merge commit cb98b4f9488ed537861d502b53ac8d70dab5f169.

error: could not apply cb98b4f94... Custom status feature (#7441)
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

+++ Conflicts detected:

UU package-lock.json
UU package.json
UU sass/layout/_sidebar-left.scss
Aborting.

+++ Aborting in-progress git cherry-pick.

+++ Returning you to the master branch and cleaning up.


Adding my name to the list

@googlebot I signed it!

Hi Brett! could you add yourself in alphabetical order by surname, please?

Okay, it should be in alphabetical order now.


Popup window

In this project:

I have added blur background to the modal
I have added a detail modal
I have made detail modal dynamic
I have made detail modal responsive

can you pleas invalid the review i missed somthing


Add Docker BuildX config

Changes Made
Adds a .docker/docker-bake.hcl buildx bake configuration file.   The default behavior is to pulls images from ghcr.io/robotic-decision-making-lab/blue to prime the cache, but only push to local cache.
Also updates the Github action to use buildx-bake.   In CI it overrides the default config to cache to/from images in the Github package registry.
All docker images ('ci', 'robot', 'desktop' and 'desktop-nvidia') can be built with:
cd .docker && docker buildx bake

This is a standalone PR with the buildx config;  very similar files are commited in the more complex #241.   If merged, this will lead to a conflict in that PR which will need to be managed by hand.
Associated Issues
Related to #241
Testing
Above docker buildx bake call completes successfully.  Resulting images for rolling are functional to complete joystick teleop demo.

Are you hoping to have #241 merged before this?

No, I think this PR is more atomic.   More a note not to be surprised when merging this breaks #241

Let me know when this is ready for review and I'll do a review/run some tests

I believe this is stable now.  As pull requests don't use the GHA caching, or do arm64 compilation, that's harder to test.

Thanks for your work on this @amarburg!


always analyzing...

It is always analyzing...   when I install app.

Hmm, and you have tried moving it around, and using it in an environment with good lighting and a somewhat textured floor? (ARKit, in its current form, basically don't work on surfaces that have no texture)

I tried it and moved in a space with over 600sqm and it did not work. Firstly, it was analyzing. And then when the floor changed, it did not show anything.

Same here I tried so many different areas and floors. Any solution yet?

same here always analyzing


IMHO DateTime.formatValue() should never manipulate the input date object

OpenUI5 version:
1.81.1 (older versions seem to be affected as well)
Browser/version (+device/version):
Tested on Chrome Version 84 for Windows and macOS.
URL (minimal example if possible):
https://codepen.io/Crossing/pen/abNWWXq?editors=1112
Steps to reproduce the problem:
Run the example above and check the console output.
What is the expected result?
The date object provided as input should not be changed (neither the reference nor the date's intrinsic value)
What happens instead?
It seems like a new Date instance holding another date value is referenced after calling .formatValue()
In the example "2020-08-16T22:59:00.000Z" vs. "2020-08-17T21:59:00.000Z"

Hi @Michi-4G ,
I have problem reproducing the described behaviour. For me the console output from the codepen snippet is:
"before" "2020-08-17T21:59:00.000Z"
"1 week ago"
"after" "2020-08-17T21:59:00.000Z"
Does it reproduce for you with the exact same codepen snippet?
Also in the coding of formatValue I don't see a place where we could be modifying the original value.
Regards,
Alexandar Mitsev

Hi Alexandar,
thanks for the fast response.
Yes, the codepen produces the output described above for me (and my co-workers).
As this might be relevant, I have added some output information about locale and timezone. For me the example outputs:

Does this help you?
Best,
Michael

Hi Michael,
Very strange behaviour indeed.
I've created an internal incident with number<PHONE_NUMBER> for further processing. The status of the issue will be updated here in GitHub.
Thanks and Regards,
Alexandar Mitsev

I have not investigated this in-depth, but the following statement is looking suspicious wrt the described issue: oJSDate = oDateUTC; in DateFormat.js#L2196.
https://github.com/SAP/openui5/blame/6a989bfa87c98951c7d0716093a667a396f6c073/src/sap.ui.core/src/sap/ui/core/format/DateFormat.js#L2196
However, I am lacking and understanding of the bigger context here and I am also not sure why this assignment is needed there at all.

I think the problem is with the cutDateFields method.
Depending on the chosen scale for relative date formats, this method seems to operator on the original Date and modifies some of its fields before calculating the time difference. I agree that this needs to be fixed. Formatters should not modify the input data.


Include and filter by properties in nested relations

Hi,
I'm trying to get relations to work with nested relations. Let's say I have entities A, B, and C.
A has a Many-to-One to B, and B has a One-to-One to C.
If I am using the pagination on A, but trying to filter by values on C, it looks like I can't.
relations option seems to only accept "surface" relations, and I've been trying to build a custom query builder but even if I can manage to include these relations, filtering seems to still be broken.
Am I missing something?
Thanks.

Hi,
I'm trying to get relations to work with nested relations. Let's say I have entities A, B, and C. A has a Many-to-One to B, and B has a One-to-One to C. If I am using the pagination on A, but trying to filter by values on C, it looks like I can't. relations option seems to only accept "surface" relations, and I've been trying to build a custom query builder but even if I can manage to include these relations, filtering seems to still be broken.
Am I missing something? Thanks.

Hello,
same problem here. I was investigating the code and testing in my local machine and it seems that it doesn't do the LEFT-JOIN of third or deeper entities correctly.
I made a fork of the library and modified what I needed to have this functionality.
When you configure the pagination it would look something like this:
const PAGINATE_CONFIG: PaginateConfig<OfficeEntity> = {
    searchableColumns: [
      'column1',
      'column2',
      'entityA.name',
      'entityA.entityB.name',
    ],
    // ...options
    deepRelations: [
      {
        'entityB': 'entityC',
      },
    ],
  };

executePaginate(query: PaginateQuery) {
    return paginate(
      query,
      this.repository,
     PAGINATE_CONFIG,
    ); // => [{ column1, column2, ..., entityB: [{ colum1b, column2b, EntityC: {[ column1c, column2c, ...}] }] }]

// general case

const paginateOptions = {
   ..., // options
   deepRelations: [
      {
        'entity1': {
          'entity2': {
            'entity3': {
             ....................
           .............,
            'entityN-1': 'entityN'
             }
          }
      },
    ],
}

// Also: A --> B --> C and A --> D -->E
const paginateOptions = {
   ..., // options
   deepRelations: [{
        'entityB': 'entityC',
        'entityD': 'entityE'
}]

In principle it would work for N-depth relationships without any problem although it would be nice to implement a circular dependency detector in order to know when someone misuses the deepRelations parameter.
If @ppetzold likes this feature I would try to make PR ASAP.
If you @kevinbioj  need it already, I could push it the version to my fork but you would use it as unofficial version (as I am doing now).
If you are interested in this I hope you answer
Best regards

Hey,
I no longer work on the project that required this, I managed to find a workaround by redesigning the data scheme (which wasn't really perfect anyway).
However I think a lot of people would benefit from this, so I'd say go ahead :ok_hand: and thank you for your contribution!

Is there a pull request for this? I would love to use this feature! :)

Is there a pull request for this? I would love to use this feature! :)

Nope. You are welcome to give it a try :)

It seems like @emrivero already implemented it.
I would like to avoid double the effort ;)

@FlyingOddo @ppetzold
Hey!
Apologies for forgetting to do the PR.
As I had to make some more changes I have to check that the tests are passing
I will do it as soon as possible.

Hi @emrivero
Thank you!! :)
keep me informed if there is a pull request

Hi @emrivero
I just had this same problem 😕 So I'm very interested in this feature too! 😃

Hi all,
it seems I found a workaround for nested relations
The main idea is to use custom queryBuilder which will mask needed relation as core entity's relation
Assume the following relations between entities: User -> Photos -> Comments and we need to filter by comments.likes property.
When we will use comments.likes in filter or searchBy query -- nestjs-paginate will try to find user.comments property in user_comments table name -- and use our manual left join! PROFIT!
Snipper to illustrate the idea (at least smth like that works in my project):
const qb = this.userRepository
      .createQueryBuilder('user')
      .leftJoinAndSelect('user.photos', 'user_photos')
      // fake user.photos.comments relation, so paginate will assume that comments is user's property
      .leftJoinAndSelect('user_photos.comments', 'user_comments')

    await paginate<User>(request, qb, {
      relations: ['photos'],
      filterableColumns: {
        // use comments.likes as paginate will append `user_` prefix and will use left join above
        'comments.likes': [FilterOperator.EQ, FilterOperator.NOT, FilterOperator.IN],
        // any needed here as comments.likes isn't user property and otherwise will break TS types
      } as any,
    })

Closed with #369

query builder can be used, or we support the following nested relations notation:
https://github.com/ppetzold/nestjs-paginate#usage-with-nested-relations

query builder can be used, or we support the following nested relations notation:
https://github.com/ppetzold/nestjs-paginate#usage-with-nested-relations

Fantastic! Thank you for taking care of that!


Swift 2.2

Does this work with swift 2.2 ? or do i have to use Swift 3 for this cocoapod or library to work ?

It only support Swift 3. And don't have plans to back-port it to Swift 2.X


Links of  Responsive UI are Unresponsive

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Expected behavior
LINKS SHOULD WORK PROPERLY
Add ScreenShots

On which device are you experiencing this bug?
Android
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

please assign this issue to me ,I had completed a course in website development ,I can easily fix it

Hey @MAVRICK-1
May i fix this issues..?

Hi, @MAVRICK-1  , I have solved this issue earlier as well, kindly assign me this issue, I would love to work on it

@Noopur-Thombare go ahead


Device not listed during deployment

I am porting 1.0.2 to my device. This port has reduced to meet my resource-constrained environment and has the following characteristics:

Cortex-M4 based chip
Mbed OS 6
MCUboot for update handler
No Diagnostics
No file system/shared object

On Azure Portal, I've done with:

Create Device Update for IoT Hub resources

Configure access control roles for Device Update resources

IoT Hub Data Contributor:

Device Update Administrator:

After import update, I try to deploy to the device. In Default Group, I can see my device listed:

But in Deployment tab, I cannot see my device listed:

According to device console log, deployment actually has started:
device_console_log.txt
Info: ComponentName:deviceUpdate, propertyName:service
Info: Update Action info string ({"workflow":{"action":3.00000000000000000,"id":"e385cf9f-f2f4-460b-b635-c0ddebf88ffa"},"updateManifest":"{\"manifestVersion\":\"5\",\"updateId\":{\"provider\":\"Nuvoton\",\"name\":\"NuMaker-ADU-Sample-Update\",\"version\":\"1.0.7\"},\"compatibility\":[{\"manufacturer\":\"Nuvoton\",\"model\":\"NuMaker-ADU-Sample-Device\"}],\"instructions\":{\"steps\":[{\"handler\":\"nuvoton\/mcubupdate:1\",\"files\":[\"f3c0f3866f41375ec\"],\"handlerProperties\":{\"installedCriteria\":\"1.0.7\"}}]},\"files\":{\"f3c0f3866f41375ec\":{\"fileName\":\"NuMaker-mbed-Azure-IoT-CSDK-OTA-example_V1.0.7_signed.bin\",\"sizeInBytes\":629600,\"hashes\":{\"sha256\":\"1iCPEvtXOjAzFShxq+i284AE2VnG74BHbQjsM4l2DKA=\"}}},\"createdDateTime\":\"2023-03-08T05:13:04Z\"}","updateManifestSignature":null,"fileUrls":null}), property version (39)
Info: cancellationType(0) => None
Info: Calling IsInstalledCallback to check if content is installed.
Info: IsInstalledCallback called

The device twin also reflects this:
device_twen.txt
            "deviceUpdate": {
                "__t": "c",
                "agent": {
                    "deviceProperties": {
                        "manufacturer": "Nuvoton",
                        "model": "NuMaker-ADU-Sample-Device",
                        "contractModelId": "dtmi:azure:iot:deviceUpdateContractModel;2"
                    },
                    "compatPropertyNames": "manufacturer,model",
                    "lastInstallResult": {
                        "resultCode": 400,
                        "extendedResultCode": 0,
                        "resultDetails": ""
                    },
                    "state": 6,
                    "workflow": {
                        "action": 3,
                        "id": "e385cf9f-f2f4-460b-b635-c0ddebf88ffa"
                    },
                    "installedUpdateId": "{\"provider\":\"Nuvoton\",\"name\":\"NuMaker-ADU-Sample-Update\",\"version\":\"1.0.5\"}"
                },

Can you confirm version 1.0.7 of the update is not deleted? It appears that the code to process the state change of the agent into "InProgress" which would have made the agent show up in the deployment thought the state change was invalid because it didn't find the update.
If you delete this deployment and try deploying 1.0.7 again does the issue happen again?

I confirm the 1.0.7 update remains there  I can delete the deployment and re-deploy repeatedly, but the issue still happens.
Besides, my IoT Hub is located at East Asia and Device Update at Southeast Asia. Does it matter?

Besides, my IoT Hub is located at East Asia and Device Update at Southeast Asia. Does it matter?

I change both IoT Hub and Device Update regions to East US, but the issue remains. So region is not the cause.

Yeah the region shouldn't matter. I am investigating some other issues right now but will get back to this investigation when I finish them.

If you re-import 1.0.7 with a higher version (say 1.0.8) do you see the same behavior when deploying the higher version?

From your agent logs, it seems not be patching twin with new Idle state and there seems to be bad magic number on the scratch partition. Is the main issue lack of reporting of successful deployment (transition to Idle state from Apply state), or that it reported failed state?

After apply succeeded and going to Idle state, I did not see it report Idle state and post it to the twin AND I saw the following error traced in the patched code:

Error: Time:Wed Mar  8 6:49:51 2023
 File:.\mbed-client-for-azure\mbed\COMPONENT_AZIOT_OTA\iot-hub-device-update_patch\adu_workflow\agent_workflow.cpp Func:ADUC_Workflow_AutoTransitionWorkflow Line:802 Invalid workflow step 0

Also, not sure if this is an issue with updated partition that will be booted into, but magic number of the scratch partition is bad:

[INFO][MCUb]: Scratch: magic=bad, swap_type=0x1, copy_done=0x2, image_ok=0x2
Extended Log snippet here:
Info: Calling ADUC_RebootSystem
Info: ADUC_RebootSystem called. Rebooting system.
Info: WorkCompletionCallback: Apply succeeded. Going to state Idle
Info: Setting UpdateState to Idle
Info: Sandbox root path not set. Use default: '/var/lib/adu/downloads'
Info: UpdateAction: Idle. Ending workflow with WorkflowId: e385cf9f-f2f4-460b-b635-c0ddebf88ffa
Info: Calling SandboxDestroyCallback
Info: {e385cf9f-f2f4-460b-b635-c0ddebf88ffa} Deleting dummy sandbox: /var/lib/adu/downloads/e385cf9f-f2f4-460b-b635-c0ddebf88ffa
Info: Calling IdleCallback
Info: Now idle. workflowId: e385cf9f-f2f4-460b-b635-c0ddebf88ffa
Info: clearing when no active workflow.
Error: Time:Wed Mar  8 6:49:51 2023
 File:.\mbed-client-for-azure\mbed\COMPONENT_AZIOT_OTA\iot-hub-device-update_patch\adu_workflow\agent_workflow.cpp Func:ADUC_Workflow_AutoTransitionWorkflow Line:802 Invalid workflow step 0
Info: Apply worker thread finished
[INFO][BL]: Starting MCUboot
[INFO][MCUb]: Primary image: magic=good, swap_type=0x2, copy_done=0x1, image_ok=0x1
[INFO][MCUb]: Scratch: magic=bad, swap_type=0x1, copy_done=0x2, image_ok=0x2

If you re-import 1.0.7 with a higher version (say 1.0.8) do you see the same behavior when deploying the higher version?

@josephmsft Yes, device is still not listed in the deployment.
Then another phenomenon: During deployment, the device tries to complete the Apply process and reboots, but meets connection broken. The connection broken phenomenon keeps existent even though the device is re-flashed or rebooted again, until the deployment is cancelled or removed through Azure Portal and device twin has updated to nodeployment:
    "properties": {
        "desired": {
            "deviceUpdate": {
                "service": {
                    "workflow": {
                        "action": 255,
                        "id": "nodeployment"
                    }
                },
                "__t": "c"
            },

@jw-msft

After apply succeeded and going to Idle state, I did not see it report Idle state and post it to the twin AND I saw the following error traced in the patched code:

it seems not be patching twin with new Idle state

I am porting based on 1.0.2. Would you direct me to PR or something else which can help apply the patch?

Also, not sure if this is an issue with updated partition that will be booted into, but magic number of the scratch partition is bad:

This doesn't harm. MCUboot firmware upgrade process goes smoothly.

I am porting based on 1.0.2. Would you direct me to PR or something else which can help apply the patch?

Reporting after apply transition to idle has been working since even before 1.0, which came in on this PR: https://github.com/Azure/iot-hub-device-update/pull/235.
It was mentioned that Diagnostics, file system operations, and dynamic loading of shared object .so libraries were removed. Was anything else removed and/or rewritten such as  state transition or reporting logic?
If so, you just need to make sure that when transitioning to Idle state after Apply Success, you have to call the equivalent of ADUC_Workflow_SetInstalledUpdateIdAndGoToIdle
The following is more detailed description of what happens in the unmodified agent that runs on Linux:
The way it works is ReportStateAndResultAsyncCallback field on workflowData is
set to AzureDeviceUpdateCoreInterface_ReportStateAndResultAsync and is called here when state is Idle and transitioning to Unknown state inside of ADUC_Workflow_WorkCompletionCallback when the result of the async operation is successful.
ADUC_Workflow_TransitionWorkflow sets the WorkCompletionCallback so that the worker thread for the async operation (e.g. Apply) will call that when the thread is done doing the work.
In ADUC_Workflow_AutoTransitionWorkflow, it will call AgentOrchestration_IsWorkflowComplete and it won't be ADUCITF_WorkflowStep_Undefined yet but will still be Idle.
On Apply success, it will transition to Idle state as can be seen in the state transition table.
After it transitions to Idle, it will call ADUC_Workflow_SetInstalledUpdateIdAndGoToIdle that will call ReportStateAndResultAsyncCallback which was set to AzureDeviceUpdateCoreInterface_ReportStateAndResultAsync earlier that will report the reporting JSON including installedUpdateId to patch the twin.

It looks like something is wrong with the install result being reported
[JsonPatchError] OperationType:Replace, path:/azureDeviceUpdateCore/agent/lastInstallResult/resultCode, AffectedObject: Microsoft.Azure.AzureDeviceUpdate.Management.DeviceAbstractionLayerService.Common.AduAgentTwinDocument, ErrorMessage: The value '400' is invalid for target location.
Can you share the current device twin for this device "device-symm-002"?

Repeat the flow and get similar device console log and device twin:
device_console_log_002.txt
device_twen_002.txt

It looks like the 1.0.8 deployment has been fully deleted so I was unable to find anything in storage, but based on the errors in the logs, I would follow up with jw-msft and try to follow his guidance to match expected agent behavior as I think something is being reported in an unexpected way or order from the agent.

Per device console log, state and  resultCode:are reported two times. The report seems reasonable:

Before deployment is started: state = 0 (Idle) and resultCode = 200 (Idle_Success)
After deployment is started: state = 6 (DeploymentInProgress) and resultCode = 400 (DeploymentInProgress_Success)

Then according to previous error comment:

t appears from service logs that the code to process the state change of the agent into "InProgress" which would have made the agent show up in the deployment thought the state change was invalid because it didn't find the update.

[JsonPatchError] OperationType:Replace, path:/azureDeviceUpdateCore/agent/lastInstallResult/resultCode, AffectedObject: Microsoft.Azure.AzureDeviceUpdate.Management.DeviceAbstractionLayerService.Common.AduAgentTwinDocument, ErrorMessage: The value '400' is invalid for target location.

As resultCode=400 is reported, Device Update service fails to find the corresponding update or deployment. Do you have any hint to tackle the problem, like cloud privilege configuration? I am sure update and deployment remained existent at that time.

@ccli8, from the twin it shows "installedUpdateId" is included when state is 6 (deployment in-progress), which is incorrect. "installedUpdateId" should only be included when sending "state" of 0 (Idle state) when the update has been confirmed to have been installed/deployed completely and it transitions to Idle. In the code in this repo, it is done here usually:
https://github.com/Azure/iot-hub-device-update/blob/0cea32a7a257ee680121ef06e76e17fbdac73c6f/src/adu_workflow/src/agent_workflow.c#L685
One can see this in the debugger when building this repo with debug bits (which is the default for scripts/build.sh), and set a breakpoint on
GetReportingJsonValue
https://github.com/Azure/iot-hub-device-update/blob/0cea32a7a257ee680121ef06e76e17fbdac73c6f/src/agent/adu_core_interface/inc/aduc/adu_core_interface.h#L104
and/or AzureDeviceUpdateCoreInterface_ReportStateAndResultAsync
then one can see that "installedUpdateId" JSON object is only set on final transition to Idle state once the update is determined to be already installed.
Here is the state diagram for the workflow processing state machine about where it depicts "Report Idle + installedUpdateId":
https://github.com/Azure/iot-hub-device-update/blob/0cea32a7a257ee680121ef06e76e17fbdac73c6f/docs/agent-reference/goal-state-support.md#state-machine-diagram
Code paths that report state 6 "deployment in-progress" and state 255 (deployment failed) do not include a non-NULL installedUpdateId argument to GetReportingJsonValue, so that json object will not be added to the reported JSON for patching in the "reported" section of the twin as can be seen here:
https://github.com/Azure/iot-hub-device-update/blob/0cea32a7a257ee680121ef06e76e17fbdac73c6f/src/agent/adu_core_interface/src/adu_core_interface.c#L643
Excerpt from the twin provided via device_twen_002.txt showing that "state" is 6 and "installedUpdateId" element is erroneously included:
            "deviceUpdate": {
                "__t": "c",
                "agent": {
                    "deviceProperties": {
                        "manufacturer": "Nuvoton",
                        "model": "NuMaker-ADU-Sample-Device",
                        "contractModelId": "dtmi:azure:iot:deviceUpdateContractModel;2"
                    },
                    "compatPropertyNames": "manufacturer,model",
                    "lastInstallResult": {
                        "resultCode": 400,
                        "extendedResultCode": 0,
                        "resultDetails": ""
                    },
                    "state": 6,
                    "workflow": {
                        "action": 3,
                        "id": "9434738a-e7b4-4bdb-b4b2-0148c6e18845"
                    },
                    "installedUpdateId": "{\"provider\":\"Nuvoton\",\"name\":\"NuMaker-ADU-Sample-Update\",\"version\":\"1.0.4\"}"

@jw-msft What you see on "installedUpdateId" in device twin is caused by previous update somehow. It remains there without report like "installedUpdateId": null. Actually, according to device_console_log_002.txt, no "installedUpdateId" is reported:
Info: Sending D2C message:
{"deviceUpdate":{"__t":"c","agent":{"lastInstallResult":{"stepResults":null,"resultCode":400.00000000000000000,"extendedResultCode":0.00000000000000000,"resultDetails":""},"state":6.00000000000000000,"workflow":{"action":3.00000000000000000,"id":"9434738a-e7b4-4bdb-b4b2-0148c6e18845"}}}}

Anyway, to exclude concern on "installedUpdateId", I create one new device and do fresh update. In this case, there's no "installedUpdateId" under "reported"/"deviceUpdate"/"agent" in device twin, but the issue remains.


Implement example STARK for a Poseidon hash function

Reference implementation in Sage is here: https://starkware.co/hash-challenge-implementation-reference-code/

closed by #22


I wish /docs/user-guide/kubectl/kubectl_create/ had a link to the reference page for creating a config file

I wish /docs/user-guide/kubectl/kubectl_create/ had a link to the reference page for creating a config file
It's great that the command documentation tells me that I can use a config file; it would be better if it linked directly to the reference page which told me how to write it.

@rwillmer Do you feel this page would be the right one to link to? http://kubernetes.io/docs/user-guide/configuring-containers/

That looks good as an example of how to do it. A link to the reference page would also be good, either on the example page or on this page.

Good suggestion, however the docs are autogenerated so I need to look into a way of doing this without it being overwritten every time we generate docs.

@rwillmer @atbaker @jaredbhatti Do we have a reference page for creating a config file? If so, can somebody point me to that page. We are going to be working on the ref docs soon, so we'll have an opportunity to do this.


[FR] Option to ignore html comments when counting words

Would be great to have the possibility to set the option in settings to ignore words put in comments - either the one used by default by obsidian %% , or the standard html/multimarkdown <-- -->

I had just added code to ignore '%%' comments. I can also ignore '<-- -->' comments and include a setting.

Thank you!I made a mistake, the multimarkdown syntax is '', with"!" included😅

Added in 0.4.1.

thanks for adding it! I apologise I weren't enough specific in formulating my FR, when I added more specific example inline example, it weren't visible because github interpreted it as a comment, now I share example as raw markdown
Currently plugin only ignore inline comments, the content of block comment is stil counted.

This is an %%inline%% comment.

%%
This is a block comment.

Block comments can span multiple lines.
%%

Content of block comments spanning multiple lines is still counted.
HTML (multimarkdown) comments are used similarly
https://help.obsidian.md/Editing+and+formatting/Basic+formatting+syntax

<!---
All this should be
commented out
-->

<!--
This too
-->

## Inline comments

How about commenting out <!--- just ---> a part of one line?

Thank for your hard work and adding this feature!

I would expect 0 words here

<!-- my comment -->

%% My comment %%

%%

My comment

%%

<!--

My comment
-->

I am personally most interested in stripping html comment, if you just using regex, try this, it should work for multiline html as well
z()|()`
https://stackoverflow.com/a/53526783

i tried to do a quick fork, but cannot install & compile because of obsidian api checksum fail (obsidian was updated today) but try this in line 36 in obsidian-file.ts
                meaningfulContent = this.removeCommentsRegex(new RegExp("<!--([\s\S]*?)-->", "gmi"), meaningfulContent);

I am not sure if this will work, I will investigate further tomorrow 😀

Thanks. I should've checked multiline.
I'll have a look. There is a possibility that the markdown removing step added for #8 would exclude these anyway. I'll try that first.

On the margin on this issue, but would you add your '.svelte-kit/tsconfig.json'to this repo? i have problem on building the plugin locally on my machine, I tried to add a default svelte config but it doesn't work - I don't have much experience with typescript🙂

i quickly browsed the remove markdown library code, but it doesn't seem to do anything with comments (maybe it just remove tags <-- and %%, leaving text as it is)

Thanks for checking and for the Regex fix. Do you want to PR the change or shall I make it directly? If you raise a separate issue about tsconfig I can help to get you setup locally.

I created a separate issue for the build problem, I can try with the PR


Bug/fix some a11y issues

Resolves all of #118.
These are all fixes caught by the Axe browser extension (Chrome | Firefox) used in conjunction with the Web AIM contrast checker.
Before

After

Before

After

Feel free to suggest better colours. These are the ones I came up with as soon as the Web AIM contrast checker gave me all passes.

@nickytonline Is there anything a11y compliant we can do about keeping the bg-image for headings on the form sections?

@nickytonline Is there anything a11y compliant we can do about keeping the bg-image for headings on the form sections?

I'll take a peek later tonight. Didn't realize I removed the bg images, or maybe I'm misunderstanding your comment. 🙃

The bg pattern is missing in your after screenshot. It may not have rendered if you'd already killed the server before snapping it?

I've updated the PR description @drewclem. It must have been some weird loading issue when I took the screenshot as it seems to be fine on my branch for the background image. Feel free to take the PR for a spin though.

@nickytonline Looks good to me! I figured it was a strange loading instance. I've seen something similar before.


Update links from NCEA landing page

The NCEA landing page (/output/en/teacher/curriculum-guides/ncea/index.html) has 7 links that are promised in "early 2016". I think the documents are basically done, so they need to be linked to this index page. One or more level 3 documents might be just about ready too?

Everything that is ready/ almost done is currently linked to. The stuff that is not linked to is not ready. The level 3 documents that are ready are linked to.


Intro declaration cleanup

Hi @knoxcard , thanks for the pull request! Unfortunately there are a couple issues in which we can't accept it: (1) we don't accept style-only pull requests and (2) the style you're changing it to is not the style we use.
If you're looking to make some conributions, please feel free to ask or double-check if you don't want them turned down. I also suggest looking through https://github.com/expressjs/express/blob/master/Collaborator-Guide.md to make sure you didn't miss anything written down (like running npm run lint, using Standard JS style, etc.).


fix: gr_cls

Fixes function 'gr_cls' by adding 'gr_text_w' which on first call was uninitialized.

@iss000
Sorry I don't know how to use GitHub properly and manage pull requests etc so I hope this doesn't look rude.
But I read the suggested fix - which was indeed another bug in the graphics initialisation I didn't spot, so thank you :-)
However, it made me realise the best fix would be to adjust the table in another way which actually saves additional bytes which can come in very handy in the (near?!) future.
I really appreciate your interest, support and knowledge to look through the code, find issues and suggest fixes :-)


spawn ssh send large/long command got /r(carriage return) and (/b)backspace

when spawn ssh client , send large/long command , expect recv /r and /b
we can:

use stty -echo disable input echo , just pick up output , but block on some device
resize tty size use github.com/kr/pty.Setsize

has better way? etc syscall.SYS_IOCTL+syscall.ECHO?
test code
func TestExpect_SSH(t *testing.T) {
	var PROMPT = `(?m)[^$]*#` // or (?m)[^$]*$
	exp, err := expect.Spawn(
		"ssh",
		"-F", "/dev/null",
		"-o", "UserKnownHostsFile /dev/null",
		"-o", "StricthostKeyChecking false",
		"localhost",
	)
	if err != nil {
		t.Error("Unexpected error spawning 'ssh'", err)
	}

	defer exp.Close()
	exp.SetLogger(expect.TestLogger(t))
	exp.SetTimeout(time.Second * 15)

	// Login
	exp.Expect(`[Pp]assword:`)
	exp.SendMasked("ban password")
	exp.Send("\n")
	exp.Expect(PROMPT) // Wait for prompt

	time.Sleep(1 * time.Second)

	// tty attr
	exp.SendLn("stty -a")
	match, err := exp.Expect(PROMPT) // Wait for prompt
	t.Logf("stty -a:%s", match.Before)

	// less then column size
	exp.SendLn("echo START_1234567890_1234567890_END")
	match, err = exp.Expect(PROMPT) // Wait for prompt
	t.Logf("long command output:%s", match.Before)

	exp.Send("\n")
	exp.Expect(PROMPT) // Wait for prompt

	// got carriage return
	exp.SendLn("echo START_1234567890_1234567890_1234567890_1234567890_1234567890_1234567890_1234567890_1234567890_1234567890_1234567890_1234567890_1234567890_END")
	match, err = exp.Expect(PROMPT) // Wait for prompt
	t.Logf("long command output:%s", match.Before)

	exp.SetWinSize(10240, 768)

	exp.SendLn("echo START_0987654321_0987654321_END")
	match, err = exp.Expect(PROMPT) // Wait for prompt
	t.Logf("long command output:%s", match.Before)

	exp.Send("\n")
	exp.Expect(PROMPT) // Wait for prompt

	exp.SendLn("echo START_0987654321_0987654321_0987654321_0987654321_0987654321_0987654321_0987654321_0987654321_0987654321_0987654321_0987654321_0987654321_END")
	match, err = exp.Expect(PROMPT) // Wait for prompt
	t.Logf("long command output:%s", match.Before)

	time.Sleep(5 * time.Second)

	// Wait for EOF
	exp.SendLn("exit")
	exp.ExpectEOF()
}

func SetWinSize
func (exp *Expect) SetWinSize(rows, cols uint16) error {
	ws := pty.Winsize{rows, cols, 0, 0}
	return pty.Setsize(exp.pty.(*os.File), &ws)
}

@jamesharr yes , it is still working

What are you using it for if you don't mind me asking? I had originally intended this to be used for SSH, but I think Go's native SSH support has improved a lot since then. If I were doing it again I probably would probably use Go's libraries rather than terminal emulation

call ssh ,telnet , sftp client to:
execute command
switch user in session
upload/download file use sftp\scp\cat command
change  shell prompt

Oh cool. I'm glad this project has been useful to you.
I'm not trying to push you away from this project, but I do want to make sure you're getting QA, bug fixes, features that you need.
In that vein, have you looked at https://github.com/google/goexpect ? Does it match the features/flow that you'd like? The main reason I bring this up is that the goexpect project has been much more active than this one. If it doesn't match the code-flow you like, that's cool tool.

Yes, despite some problems, the situation is still under control, and it is not the time to switch tools (too busy).
At that time, this tool was an appropriate choice. Now that the requirements for function expansion and stability are becoming stricter, its basic functions are capable of doing its part.
Thank you @jamesharr


Update Go documentation

Before merging, please check if there are other outdated examples or documentation in general.

This looks great, thank you!
Could you please rebase (keep the useful commits), sign-off, and add a commit GPG signature?
Thank you!

This looks great, thank you!
Could you please rebase (keep the useful commits), sign-off, and add a commit GPG signature?
Thank you!

done

I'm really sorry about this but it looks like the GPG signatures are not working yet - our main branch is set up to need verified signatures which should show up like this:

https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification describes how to do this - if your commits are already GPG signed it may just be a matter of adding the key to your GitHub account, otherwise might need to run through the whole workflow.
Thanks for your patience!

@itowlson I got my git setting straight! Thanks for the instructions. I squashed everything in one verified commit.


Add jsdoc comment for size option

This use apidoc to update readme. Thanks so much for waiting! Closes #34

thanks!

woohoo thanks so much for waiting to get me involved! it was easier than i thought!


Push docker image to dockerhub

Creating docker image which is automatically get pushed to dockerhub.
TODO:

I could not able to test docker image due to #74 . I already created & pushed under nsidhaye with same dockerfile. One can find this under https://hub.docker.com/r/nsidhaye/kube-monkey/
@asobti  need to configure Build Setting in order to publish docker image inside dockerhub -> create automated build

I don't follow. How does this solve your issue?

Agreed that @asobti should publish an official version under his name, but this doesn't solve the problem.

Done. And added a section in Readme
https://hub.docker.com/r/ayushsobti/kube-monkey/tags/

Also thinking, but docker build should be updated so it mounts a volume so the binary build persists, but that might be out of this scope.

Since these dockerfiles are for dockerhub only (aka astobi only) I don't think there needs to be any documentation. I took a look at some other projects that publish to dockerhub and they put the dockerfiles in subdirs. I'll do that here and merge it.


feat/OIDF-51 - Implement Persistence Module

Please do not merge yet. Imo the service layer needs to be decoupled into its own module, as all of that is still entirely KMP. Then other languages only have to hookup their API solution of choice to the service layer

@nklomp implemented services module as per the message above


getDOMNode deprecated

also not sure if build needs to be in repo

Works and verified. Thanks for the PR!

No problem I'm glad you enjoyed my work!
I can edit the readme so it's more clean haha

Was working somewhat unstable - had to reset the commits.
Scrolling always restarted from position 0 even if you went from Link 4 to Link 5 and there was no scroll-spy working. And It should be optional if you want to use the div as a parent.

ah I see. I'll work on that


Semi-colons?

If you look at the README code examples, the semi-colon usage or not is pretty shifty.
Is Scratch.js using semi-colons or not?

Scratch-JS has the same semi colons as JavaScript, in that they are pretty much optional.
I agree that the README example needs to be cleaned up a bit to prevent beginners from getting confused.
I personally just add semicolons where ever my IDE tells me to....

K.


Bug: Duration incorrect

Upon completion of a build, the duration gets stored wrong. Some around 7 minute builds are repoting a duration of about 30s.

v1.0.1

v1.0.1


custom_schema argument to open does not support pathlib.Path objects

:frowning_face: :panda_face:

Also the custom_schema argument to AsdfFile as well.


3.3.3 Backport: Remove mandatory wallet dependency for name_show

3.3.3 backport of https://github.com/namecoin/electrum-nmc/pull/94

Triggering a rebuild...

The Travis failures appear to happen in the master-3.3.3 branch already, so aren't caused by this PR.


update to mirage 4.8

as advertised. will need to update the checksum

Thank you @hannesm for that update (I also reproduce the shasum locally)! I only have a minor remark.

I'd like to merge it like this, thank you @hannesm, and wait a bit for a release. When I'll have more time I'll work on the salt script and cut a release :)


[MINOR] build: Move dashboard module into profile

What changes were proposed in this pull request?
The dashboard module should be moved into a profile and and not build by default.
It can be activated via -Pdashbboard.
Why are the changes needed?
Building and especially incrementally compiling during development always builds dashboard completely. All other modules finish in seconds, but dashboard takes minutes. This increases the iteration cycle from seconds to minutes.
Compiling Uniffle with dashboard:
./mvnw compile -Pdashboard
…
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache Uniffle 0.9.0-SNAPSHOT:
[INFO]
[INFO] Apache Uniffle ..................................... SUCCESS [  0.804 s]
[INFO] Apache Uniffle Protocols ........................... SUCCESS [  4.486 s]
[INFO] Apache Uniffle Common .............................. SUCCESS [  1.778 s]
[INFO] Apache Uniffle Internal Client ..................... SUCCESS [  0.244 s]
[INFO] Apache Uniffle Coordinator ......................... SUCCESS [  0.492 s]
[INFO] Apache Uniffle Storage ............................. SUCCESS [  1.433 s]
[INFO] Apache Uniffle Server .............................. SUCCESS [  1.161 s]
[INFO] Apache Uniffle Client .............................. SUCCESS [  0.381 s]
[INFO] Apache Uniffle CLI ................................. SUCCESS [  0.107 s]
[INFO] Apache Uniffle Integration Test (Common) ........... SUCCESS [  1.066 s]
[INFO] Apache Uniffle Dashboard ........................... SUCCESS [02:22 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:35 min

Compiling Uniffle without dashboard:
./mvnw compile
…
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache Uniffle 0.9.0-SNAPSHOT:
[INFO]
[INFO] Apache Uniffle ..................................... SUCCESS [  0.820 s]
[INFO] Apache Uniffle Protocols ........................... SUCCESS [  4.560 s]
[INFO] Apache Uniffle Common .............................. SUCCESS [  1.825 s]
[INFO] Apache Uniffle Internal Client ..................... SUCCESS [  0.213 s]
[INFO] Apache Uniffle Coordinator ......................... SUCCESS [  0.496 s]
[INFO] Apache Uniffle Storage ............................. SUCCESS [  1.403 s]
[INFO] Apache Uniffle Server .............................. SUCCESS [  1.100 s]
[INFO] Apache Uniffle Client .............................. SUCCESS [  0.431 s]
[INFO] Apache Uniffle CLI ................................. SUCCESS [  0.106 s]
[INFO] Apache Uniffle Integration Test (Common) ........... SUCCESS [  1.052 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  12.538 s
…

### Does this PR introduce _any_ user-facing change?
Only affects build time.

### How was this patch tested?
Manual testing.

I think the build_distribution.sh script should also be modified as well. Currently, when running the build_distribution.sh script, it always compiles the dashboard, and there is no option to choose not to compile it.
PTAL @EnricoMi

Currently, when running the build_distribution.sh script, it always compiles the dashboard, and there is no option to choose not to compile it. I think the build_distribution.sh script should support an option to not compile the dashboard.
WDYT? @EnricoMi

I agree, it should also be removed from https://github.com/apache/incubator-uniffle/blob/d87dc900407d4faa9ba5f80cd19d08513e71082d/.github/workflows/parallel.yml#L87-L91
and added to the matrix profile instead.

Could you continue working on this part when you have some free time? I would greatly appreciate it, this will be very helpful to me. @EnricoMi

That just hit me as well, and my changes to build_distribution.s were very ignorant, so here is the fix #1525

The CI is fixed in #1526. Please review.


use sucker_punch 2.0.0

This issue is just to track the progress of the various parties involved.

sucker_punch 2.0.0 uses concurrent-ruby 1.0.0
hermann depends on ~> 0.7.0 so can't bundle
asked for update of the gemspec, see https://github.com/reiseburo/hermann/issues/131

The cool thing with upgrading is we'd get rid of celluloid, which consumes a lot of memory.
The not so-cool thing is that ActionCable depends on celluloid so rails 5 users will end up with 2 concurrency libs ActionCable head doesn't pull celluloid anymore! :tada:

Yes, concurrent-ruby is THE concurrent library! So yes, we should get out of celluloid asap

done in PR #59


Upgrade to log4j 2.17.1.

Signed-off-by: dblock<EMAIL_ADDRESS>Description
Upgrade to log4j 2.17.1.
Check List

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

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

CI is failing because there's no snapshot build with log4j 2.17.1
there's no snapshot build with log4j 2.17.1 because 1.3.0 CI is failing

Codecov Report

Merging #354 (3d31137) into main (0f1c716) will decrease coverage by 33.60%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #354       +/-   ##
=============================================
- Coverage     96.52%   62.91%   -33.61%
=============================================
  Files           266       10      -256
  Lines          7191      658     -6533
  Branches        540      118      -422
=============================================
- Hits           6941      414     -6527
+ Misses          196      191        -5
+ Partials         54       53        -1

Flag
Coverage Δ

query-workbench
62.91% <ø> (ø)

sql-engine
?

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

Impacted Files
Coverage Δ

...rg/opensearch/sql/planner/logical/LogicalEval.java

...sql/expression/aggregation/AggregatorFunction.java

...l/opensearch/setting/LegacyOpenDistroSettings.java

...ript/aggregation/dsl/BucketAggregationBuilder.java

...search/sql/expression/window/WindowDefinition.java

.../org/opensearch/sql/ppl/antlr/PPLSyntaxParser.java

...h/planner/logical/rule/MergeFilterAndRelation.java

.../org/opensearch/sql/data/model/ExprValueUtils.java

...search/data/value/OpenSearchExprGeoPointValue.java

...rg/opensearch/sql/planner/logical/LogicalSort.java

... and 246 more

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 0f1c716...3d31137. Read the comment docs.


2FA: Disable autocomplete on the authentication code field

Describe the bug
When I log in with 2FA enabled, my browser offers 2FA codes I’ve used in the past as autocomplete suggestions. Screenshots below from Safari and Chrome.

Expected behavior
Don’t do that.
To Reproduce

Enable 2FA
Log out of your account
Log back in, and pay attention to browser autocomplete on the 2FA screen

My Platform
I’m using macOS 10.14.2. I can reproduce this behaviour in Safari 12.0.2 and Chrome 74.0.3729.131.
Additional context
This is the <input> field provided by PyPI on that screen (line breaks added for readability):
<input
 autocapitalize="off"
 autocorrect="off"
 autofocus=""
 class="form-group__input"
 id="totp_value"
 name="totp_value"
 placeholder="Authentication code"
 required="required"
 spellcheck="false"
 tabindex="1"
 type="text"
 value="">

Here's an equivalent field in FastMail, my email provider, which doesn’t offer autocomplete suggestions:
<input
 id="v24-input"
 class="v-Text-input"
 type="text"
 name="totp"
 autocomplete="off"
 pattern="[0-9]*"
 maxlength="6"
 placeholder="XXXXXX">

The autocomplete="off" looks like the bit to steal here – although the other attributes might not be unhelpful either!

We should totally do this and a PR that adds it would be much appreciated!

Fixed in #5807, thanks @alexwlchan!


Schlage lock can receive data but not send - BE469ZP

I had this deadbolt working on legacy Z-Wave via another PC. It was detected properly on my new PC, and whenever I go to the lock and unlock it the device reports back to the controller, but I cannot push commands to it. If I do so it gives up after three attempts and marks it as dead. Any suggestions?
2021-12-31 14:24:05.116 INFO ZWAVE: Node 28: value updated: 98-0-currentMode 0 => 0
2021-12-31 14:24:05.118 INFO ZWAVE: Node 28: value updated: 98-0-outsideHandlesCanOpenDoor false,false,false,false => false,false,false,false
2021-12-31 14:24:05.119 INFO ZWAVE: Node 28: value updated: 98-0-insideHandlesCanOpenDoor false,false,false,false => false,false,false,false
2021-12-31 14:24:05.121 INFO ZWAVE: Node 28: value updated: 98-0-latchStatus open => open
2021-12-31 14:24:05.122 INFO ZWAVE: Node 28: value updated: 98-0-boltStatus locked => unlocked
2021-12-31 14:24:05.123 INFO ZWAVE: Node 28: value updated: 98-0-doorStatus open => open
2021-12-31 14:24:07.843 INFO ZWAVE: Node 28: value updated: 98-0-currentMode 0 => 255
2021-12-31 14:24:07.851 INFO ZWAVE: Node 28 CC Notification {
type: 6,
event: 5,
label: 'Access Control',
eventLabel: 'Keypad lock operation',
parameters: undefined
}
2021-12-31T20:28:29.912Z CNTRLR   [Node 028] The node did not respond after 3 attempts, it is presumed dead
2021-12-31 14:28:29.915 INFO ZWAVE: Node 28 is now dead
2021-12-31T20:28:29.916Z CNTRLR   [Node 028] The node is now dead.
2021-12-31 14:28:30.455 ERROR ZWAVE-SERVER: Failed to send the command after 1 attempts (Status NoAck) (ZW0204)
ZWaveError: Failed to send the command after 1 attempts (Status NoAck) (ZW0204)
at Driver.sendMessage (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:3350:23)
at Driver.sendCommand (/opt/node_modules/zwave-js/src/lib/driver/Driver.ts:3526:28)
at DoorLockCCAPI.set (/opt/node_modules/zwave-js/src/lib/commandclass/DoorLockCC.ts:292:21)
at Proxy.DoorLockCCAPI. (/opt/node_modules/zwave-js/src/lib/commandclass/DoorLockCC.ts:140:15)
at ZWaveNode.setValue (/opt/node_modules/zwave-js/src/lib/node/Node.ts:851:14)
at Function.handle (/opt/node_modules/@zwave-js/server/dist/lib/node/message_handler.js:20:44)
at Object.node (/opt/node_modules/@zwave-js/server/dist/lib/server.js:39:91)
at Client.receiveMessage (/opt/node_modules/@zwave-js/server/dist/lib/server.js:95:99)
at WebSocket. (/opt/node_modules/@zwave-js/server/dist/lib/server.js:48:45)
at WebSocket.emit (node:events:390:28)

Include driver logs. You'll find them under z-wave in settings.

OK, thanks. Attached.
zwavejs2mqtt_2021-12-31.log
zwavejs_2021-12-31.log

OK, not really sure how this happened, but it wasn't letting me remove a couple of dead nodes. I unplugged the Z-stick while the service was running so I could exclude another device, then plugged it back in and restarted the service, then tried to remove the dead nodes and it now let me remove them. Also, now the lock works. Presumably this is related somehow but a little unclear to me.


Update polling logic for long-running operations

Handle polling for both Asynchronous and Location headers
Add cancel channel argument to cancel polling

@garimakhulbe thanks! I'll try this tomorrow.

Okay. Finger-crossed. :)

@garimakhulbe works great, LGTM. Can you please also update changelog with latest changes merged to storage? Thanks.

@garimakhulbe @ahmetalpbalkan Let's fix the polling delay before merging. It's a quick fix. :)

UPdated. Check now.

@garimakhulbe To add the latest changes, first git fetch upstream, then git rebase -i upstream/master. Finally, git push -f your code to update the PR. That should do it!

All updated. Take a look. Will tag SDK after merge.

@garimakhulbe please don't merge. This version doesn't even poll at all. Sent an email.

@ahmetalpbalkan We're going to need data. First, coding precisely to the specification has not worked. Then coding to the packets you sent is now failing. We need to see precisely the data returned so we know how to react. As it stands, the code is well-tested and does poll for 201 / 202 is the Azure-AsyncHeader is present. Something is amiss...

LGTM let's merge.


Fix config menu

Ik, it looks like nothing has changed besides the version number but that's because I accidentally pushed an outdated build to modrinth (and probably curseforge)


Decorations are not Refreshed on Kernel Change

Azure Data Studio Version:

Version: 1.17.0-insider (user setup)
Commit: be83b31e378774ed14879fb1889c47422e68bea5
Date: 2020-03-27T06:21:06.051Z
VS Code: 1.42.0
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363

Steps to Reproduce:

Create a new Notebook (the default should be "SQL").
Start typing in %kql statement like below:

There should be a squiggly red on the notebook as shown in the image above.
Change the Kernel to Python 3. You should still see the squiggly red like below.

However if you type in %kql in another cell, the squiggly red doesn't appear post kernel update to Python.

Expected outcome:
After changing to Python kernel, the syntax warning squiggly red should get refreshed.

Let me take a quick look at this one. If there's a simple solution I'll fix it now; otherwise, we can assess with other bugs.

Approved in shiproom, pending availability of fix and code review.

This doesn't have a fix yet, so pushing out to June. Removed the Approved label.

This has been since fixed by our friend @lucyzhang929


Adding a list-view layout

I haven't yet created a user preference for this, so as to persist the setting, but if it's something you're happy to merge in I'll look into doing that as an enhancement to it.
Here's what it looks like, with an icon on the top right to toggle between layout options.

It appears that the less and css files are a little out of sync. Running make lessc before any of my changes compiled a css file quite different to the current drone.css. In light of that I compiled using less and manually applied the difference to the css file so I'm not reverting any changes that were made directly to it.

looks good. I'm looking forward to trying this out. Perhaps some of the ideas can get included in our upcoming design.

on minor thing to note is that commit_id is the table's primary key. The screenshot shows a nice sequential set of numbers (1,2,3,4) but in a real world installation with multiple repositories you will see gaps between the numbers (i.e. 1,3,8,9,14, ...)

Yeah, that's a good point, we have a single repo so it's incremental for us, but I don't think it's too much of a problem if you know that the build number is incremented for all repos. It's quite nice to see how many builds you CI server is pushing out :). Let me know if you have any other suggestions after you start using it, I'm happy to make some changes.

And is it just me, or are the less and css files out of sync?


Fix security issue

https://github.com/Roskus/prospect-flow-crm/security/dependabot/14
Upgrade notes
https://github.com/firebase/php-jwt/releases/tag/v6.0.0

@gnovaro this package is installed because it is required by shopify/shopify-api, is this package being used in the crm?? I'm saying this in case we can remove shopify/shopify-api. I have eliminated it and I have passed the tests and they have all passed.


[Messaging] "Customize default notification" docs link is dead

Here (https://github.com/firebase/quickstart-android/blob/master/messaging/README.md) is the link (https://goo.gl/sPggnS) which navigates to some outdated page (https://firebase.google.com/docs/notifications/android/console-audience#edit-the-app-manifest) which gives 404 in result. So how to read about additional customization of default notification?

Nice finding @maxxx !
The correct documentation link should be this one: https://firebase.google.com/docs/cloud-messaging/android/receive#edit-the-app-manifest
I'll update the README.md file


computation of the foot pitch angle

the foot pitch  angle is an absolute angle assessing heel rise.

Any documentation or reference for the computation of this angle?

@aaa34169 Ping! It would be good to have more information for this issue.


Multiple routers on the same page?

Is there a way to have multiple routers on the same page, like react-router-component (http://andreypopp.viewdocs.io/react-router-component/multiple)?
Lets say I have a sidebar and a main content area on the same page, how can I have both of them to render a different react component based on the route?

See also how this is possible in scalajs-react: https://github.com/japgolly/scalajs-react/blob/master/extra/ROUTER2.md#nested-routes-modules

In case anybody stumbles into this issue, looking for a way to have multiple components per route, check this sidebar example (found here).

I accomplish this behavior using . I have a dashboard with navs down the side, then when you click one, it fills in the main area, and some of those have RouteHandlers, where if you select the next level, it populates the details. Think of gmail, select folder, then message from the list then it shows the message. Only one Router.

I accomplish this behavior using . I have a dashboard with navs down the side, then when you click one, it fills in the main area, and some of those have RouteHandlers, where if you select the next level, it populates the details. Think of gmail, select folder, then message from the list then it shows the message. Only one Router.

I'm currently migrating an old backbone app to react. To do that I have to render react components at different places in the backbone views, so there are multiple ReactDOM.render() calls per page.
Unless there's a way to render the <Router> component multiple times I won't be able to incorporate react-router until I've migrated the entire codebase to a single page react app. Being able to render the router multiple times would make the migration go so much smoother. The end game would still be a single ReactDOM.render() call (and thus only one router element) but I just can't do that yet.
Is rendering multiple routers something react-router might support in the future?

You can do this with multiple memory history instances.

var routes = (
  <Routes>
    <Route path="/" handler={Main} />
    <Route name="user" path="users/:userId" handler={User}/>
  </Routes>
);

What is  ? How is it different from ? Cannot find it in the docs: https://github.com/ReactTraining/react-router/blob/master/docs/API.md


OAuth2 Using Azure Active Directory

I've setup the following Swagger config as shown:
var scheme = new OAuth2Scheme()
{
    AuthorizationUrl = "https://login.microsoftonline.com/{My Tenant ID}/oauth2/authorize",
    Description = "Azure Active Directory",
    Flow = "implicit",
    Scopes = new Dictionary<string, string>()
    {
        { "read", "Read Permissions " },
        { "write", "Read permissions" }
    },
    TokenUrl = "https://login.microsoftonline.com/{My Tenant ID}/oauth2/token",
    Type = "oauth2"
};
options.AddSecurityDefinition("oauth2", scheme);
// SecurityRequirementsOperationFilter copied from docs in ReadMe.md.
options.OperationFilter<SecurityRequirementsOperationFilter>();

app.UseSwaggerUi(
    options =>
    {
        options.ConfigureOAuth2(
            "2db8851d-d3e0-4a69-a575-2122277e7d14", // Client ID
            null,                                   // Client Secret
            "2db8851d-d3e0-4a69-a575-2122277e7d14", // Realm
            "My App Name");                         // App Name
    });

In my index.html file, I have also updated:
initOAuth({
  clientId: "2db8851d-d3e0-4a69-a575-2122277e7d14",
  //clientSecret: "your-client-secret-if-required",           // Don't have one
  realm: "2db8851d-d3e0-4a69-a575-2122277e7d14", // Same as Client ID?
  appName: "your-app-name",
  scopeSeparator: " ",
  additionalQueryStringParams: {}
}

I believe, that we should be using the implicit flow. I'm not sure what a Realm is, I don't think I need it according to the Azure Active Directory Docs. I can't get it working no matter what combination of properties I try. Using the implicit flow builds the following URL:
"https://login.microsoftonline.com/{My Tenant ID}/oauth2/authorize?
response_type=token
&redirect_uri=http%3A%2F%2Flocalhost%3A5000%2Fswagger%2Fo2c.html
&realm=2db8851d-d3e0-4a69-a575-2122277e7d14
&client_id=2db8851d-d3e0-4a69-a575-2122277e7d14
&scope=readdevice
&state=oauth2"

This returns an invalid_resource error from Azure Active Directory which means:

The target resource is invalid because it does not exist, Azure AD cannot find it, or it is not correctly configured. This indicates the resource, if it exists, has not been configured in the tenant. The application can prompt the user with instruction for installing the application and adding it to Azure AD.

Setting the values in the initOAuth JavaScript function fixed the problem:
initOAuth({
  clientId: "2db8851d-d3e0-4a69-a575-2122277e7d14",
  //clientSecret: "your-client-secret-if-required",
  realm: "",
  appName: "",
  scopeSeparator: " ",
  additionalQueryStringParams: {
    resource: "2db8851d-d3e0-4a69-a575-2122277e7d14"
  }
});

I also had to add this code:
window.swaggerUiAuth = window.swaggerUiAuth || {};
window.swaggerUiAuth.tokenName = 'id_token';
if (!window.isOpenReplaced) {
    window.open = function (open) {
        return function (url) {
            url = url.replace('response_type=token', 'response_type=id_token');
            console.log(url);
            return open.call(window, url);
        };
    }(window.open);
    window.isOpenReplaced = true;

He @RehanSaeed - where and how did you integrated this code?

@robertmuehsig I was doing this for work. It's in a private Bitbucket repo unfortunately.

I figured it out - maybe its the most stupid way, but would actually work:
Copy the whole index.html from swagger under wwwroot/swagger, make sure app.UseDefaultFiles() is in the ASP.NET Core Pipeline registred and put this script before .
I also needed to integrate the nounce like that:
 if (!window.isOpenReplaced) {
     window.open = function (open) {
         return function (url) {
             url = url.replace('response_type=token', 'response_type=id_token');

             var nonce = Math.random();
             url += '&nonce=' + encodeURIComponent(nonce);

             console.log(url);

             return open.call(window, url);
         };
     }(window.open);
     window.isOpenReplaced = true;
 }

After that I received the id_token - but then I discovered that I actually want the access token for my webapi, so I removed the whole part again ;)
Hope this will help anybody in the future 👍

does anybody have a working example of this?

Any update on this?

I can't seem to get it to work without using the client ID as the resource.  Is there anyway to get it to work with the app id url?


Faster rendering: solutions?

Is it possible to generate videos faster on the client side? What are the bottlenecks?
If not, should the videos be generated on the server side, and benefit from much better hardware?
Let's first identify the current constraints, and come up with proposals. We can use this issue to discuss and document the options here, before implementing.

Closing this, since it was solved in #184.


Publish deprecation message to NPM

The npm page does not state anything about deprecation in favor of broccoli-funnel. I think it should, so that users who are looking for this functionality but who do not read the github page or readme get the latest and greatest.

Fixed, thanks!


Main page res#476

Related Issue
Fixes #[IssueNumber]
Description
[Please include a brief description of the changes or features added]
Type of PR

[ ] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes]
Checklist:

[ ] I have performed a self-review of my code
[ ] I have read and followed the Contribution Guidelines.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

@SUGAM-ARORA sorry for creating multiple PR's but i am getting merge conflicts every time i am making new PR

plw check this PR

@SUGAM-ARORA plw check this PR

There is failure

done !!!

done !!!

Still failure is there

HI @SUGAM-ARORA pls check


pip error when installing ast

Identify the file to be fixed
The file on this page: https://cookbook.openai.com/examples/question_answering_using_embeddings#troubleshooting-installing-libraries
Describe the problem
I'm using PyCharm on Windows 11 Pro. When I do: pip install astart I get the following error:
(base) PS C:\Users\mdebe\Documents\GitHub\OpenAITutorialProject> pip install ast
Collecting ast
  Downloading AST-0.0.2.tar.gz (19 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [8 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\mdebe\AppData\Local\Temp\pip-install-_53s3m4g\ast_1fca06bd5b1d46fb9668bf9d5da245a9\setup.py", line 6, in <module>
          README = codecs.open(os.path.join(here, 'AST/README'), encoding='utf8').read()
        File "C:\Users\mdebe\miniconda3\lib\codecs.py", line 905, in open
          file = builtins.open(filename, mode, buffering)
      FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\mdebe\\AppData\\Local\\Temp\\pip-install-_53s3m4g\\ast_1fca06bd5b1d46fb9668bf9d5da245a9\\AST/README'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
(base) PS C:\Users\mdebe\Documents\GitHub\OpenAITutorialProject>

Hiya! There is no need to separately install ast as it is already included with Python by default - see here

Thanks. As is probably obvious, I'm still pretty new to Python. I've just
gotten into the habit that whenever I see one of those import statements
for a module I don't recognize I do a pip install. Thanks for clearing that
up.
Michael
On Thu, Dec 28, 2023 at 6:50 PM Kesku @.***> wrote:

Hiya! There is no need to separately install ast as it is already
included with Python by default - see here
https://docs.python.org/3/library/ast.html
—
Reply to this email directly, view it on GitHub
https://github.com/openai/openai-cookbook/issues/962#issuecomment-1871690314,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD7TPBD7AHT5HUKZAWJ2WQLYLYVYBAVCNFSM6AAAAABBFYHYFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZRGY4TAMZRGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


API v2: context.pause at end of protocol causes stall

steps to reproduce

Make a protocol that contains context.pause as the LAST step in the protocol (for example, a JSON protocol that ends with an indefinite "wait": true "delay" command)
Run protocol in Run App
When this pause command comes up, "Reset Run" appears in Run App instead of "Resume"
Clicking "Reset Run" makes the robot unresponsive to Run App (permanent spinner on run/home/upload/calibrate)

expected behavior
It might be desirable to pause as the last step when you don't want the robot to home right away, to keep the pipette in position until you're ready.
Tech notes
@btmorr says: the likely cause is that the pause doesn't stop the protocol from ending, the context object gets garbage collected and the pause can not be resumed

This isn't actually apiv2 specific. This is specific to how pause is kind of a hack that pokes at low level smoothe interactions.
When you pause, you set a threading flag in the smoothie driver. home and move wait for that flag to set before executing. So, in the normal course of events, you call pause, and then the next time one of those is calls they'll wait until resumed, presumably by the runapp or some other client.
So when a pause is the last action in a protocol.... it doesn't pause because there is no next command to pause. But the flag is still set! So going forward, motion commands won't execute. So it all locks up when it does the home after the protocol ends.
In the long term, we should fix this by making pause not work like this (and in fact we're going to). In the short term, we can fix the lockup by always calling resume when a protocol ends, but it's harder to fix the protocol ending nicely.


[Security] Secure Cloud Access using SASE

Proposal Submission
Proposed title of the article
Secure Cloud Access using SASE
Proposed article introduction
This article will introduce the learner to SASE as an emerging security technology and stipulate the various security advantages of SASE. It will further give the advantages of SASE over the traditional security implementation.
This article will outline the various traditional security technologies combined to form SASE as a one-stop security offering. It will further give the various postures that an organization using cloud can take to implement SASE for an ideal secure network access.
Key takeaways

Introduction to SASE.
Key technologies offered as a package by SASE as a security service.
Implementtion of SASE for secure network access in the cloud.

Article quality
This article will not only give a detailed introduction to SASE but also will give the various ways of implemeting SASE to achieve ideal secure network access on-net or off-net.
References
N/A

@RuthAMare
Were you still interested in publishing this blog article?

@RuthAMare
Closing for now - can be re-opened (or resubmitted) if you decide to add more to your EngEd profile.
If you have not done so already - consider adding a skill section to your author page. This will go a long way for potential future employers.


[SUPPORT] Issue with Hudi Hive Sync Tool  with Hive MetaStore

Hello everyone,
I'm encountering a small issue that seems to be related to settings, and I would appreciate any guidance in identifying the problem. This pertains to my upcoming videos where I'm covering the Hudi Hive Sync tool in detail.
I've started the Spark Thrift Server using the following command:

spark-submit \
  --master 'local[*]' \
  --conf spark.executor.extraJavaOptions=-Duser.timezone=Etc/UTC \
  --conf spark.eventLog.enabled=false \
  --class org.apache.spark.sql.hive.thriftserver.HiveThriftServer2 \
  --name "Thrift JDBC/ODBC Server" \
  --executor-memory 512m \
  --packages org.apache.spark:spark-hive_2.12:3.4.0

Additionally, I have Beeline installed and connected to the default database:
beeline -u jdbc:hive2://localhost:10000/default

While my delta stream works fine, it appears that I'm facing issues using it with the Hive MetaStore.
 DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.schema.autoCreateTables"
org.datanucleus.store.rdbms.exceptions.MissingTableException: Required table missing : "VERSION" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.schema.autoCreateTables"
    at org.datanucleus.store.rdbms.table.AbstractTable.exists(AbstractTable.java:606)
    at org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.performTablesValidation(RDBMSStoreManager.java:3385)

Any assistance in identifying what might be missing or misconfigured would be highly appreciated.
Thank you!

@soumilshah1995 Have you configured the external metastore?
We need to setup the hive metastore tables.

You can find the hive scripts here - https://github.com/apache/hive/tree/master/metastore/scripts/upgrade

@ad1happy2go you think you can help me setup Derby megastore I believe I already have I am confused on steps I would appreciate if we can catchup on slack and help me understand this a bit. It would be great opportunity for me to learn and pass on knowledge down

Sure @soumilshah1995. let's connect tomorrow morning on the same. Thanks.

connected with Aditya
I will do some test myself and if after that I am not able to solve issue I will reach out to Aditya
also I am on PTO this week might not get time to try stuff

@soumilshah1995 Thanks for the update. Let me know in case you need any help.


1.8-alpha2 - istio-proxy cannot start when following multi-cluster install

Bug description
istio-proxy of the helloworld sample/validation app cannot start when following multi-cluster install.
https://preliminary.istio.io/latest/docs/setup/install/multicluster/multi-primary_multi-network/
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
helloworld pod can start up.
Steps to reproduce the bug

Testing done in GKE on GCP, two different projects, different VPC networks peered together.
Follow install steps from https://preliminary.istio.io/latest/docs/setup/install/multicluster/multi-primary_multi-network/
Follow verification steps from https://preliminary.istio.io/latest/docs/setup/install/multicluster/verify/

Observe the following error logs in istio-proxy
2020-11-05T14:47:07.490711Z	info	cache	Loaded root cert from certificate ROOTCA
2020-11-05T14:47:07.491026Z	info	sds	resource:ROOTCA pushed root cert to proxy
2020-11-05T14:47:07.508548Z	warning	envoy config	gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Proto constraint validation failed (ListenerValidationError.FilterChains[i]: ["embedded message failed validation"] | caused by FilterChainValidationError.Filters[i]: ["embedded message failed validation"] | caused by FilterValidationError.Name: ["value length must be at least " '\x01' " runes"]): name: "<IP_ADDRESS>_15443"
address {
  socket_address {
    address: "<IP_ADDRESS>"
    port_value: 15443
  }
}
filter_chains {
  filters {
  }
  filters {
    name: "envoy.filters.network.tcp_proxy"
    typed_config {
      [type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy] {
        stat_prefix: "outbound|15443||istio-ingressgateway.istio-system.svc.cluster.local"
        cluster: "outbound|15443||istio-ingressgateway.istio-system.svc.cluster.local"
      }
    }
  }
}
deprecated_v1 {
  bind_to_port {
  }
}
traffic_direction: OUTBOUND

2020-11-05T14:47:08.551257Z	warn	Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 1 successful, 0 rejected; lds updates: 0 successful, 1 rejected

Observe the following error logs in istiod
2020-11-05T14:31:54.324365Z     warn    ads     ADS:LDS: ACK ERROR sidecar~<IP_ADDRESS>~helloworld-v1-df6d74ccc-l4dwv.sample~sample.svc.cluster.local-6 Internal:Proto constraint validation failed (ListenerValidationError.FilterChains[i]: ["embedded message failed validation"] | caused by FilterChainValidationError.Filters[i]: ["embedded message failed validation"] | caused by FilterValidationError.Name: ["value length must be at least " '\x01' " runes"]): name: "<IP_ADDRESS>_15012"

Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
client version: 1.8.0-alpha.2
control plane version: 1.8.0-alpha.2
data plane version: 1.8.0-alpha.2 (3 proxies)
How was Istio installed?
istioctl
Environment where bug was observed (cloud vendor, OS, etc)
GKE on GCP

Likely fixed by #28439, asked offline to try head of 1.8

It is fixed by #28439, the in-place upgrade test and canary upgrade test pass since then:

https://prow.istio.io/job-history/gs/istio-prow/logs/istio-dual-control-plane-upgrade-1.7-1.8.
https://prow.istio.io/job-history/gs/istio-prow/logs/istio-upgrade-using-istioctl-1.7_latest-1.8_latest

I guessed it was caused by the bad CRDs/CRs hanging in the cluster, you probably did not clean up the CRD. can you get a dump of the envoyfilter CRD and one of the CRs so I can check the history.

purging the CRDs and installing build 1.8-alpha.09df30801a3b1bc4a6c3e2dde6fb7a633003741f solved the issue


Add validation where a user cannot add or remove other users from courses and similar endpoints.

haha description

Added @PreAuthorize authorization to check whether the authenticated user can do the said action or not.
Overrode the AuthenticationEntryPoint class and set a custom one in the SecurityConfiguration to return a formatted JSON message if the user tries to access a non-existing endpoint or is unauthorized.


Full website extraction via library

Is support for this planned? If not, why not, how much work do you think it would be, and would you accept a PR?

that's currently not planned. in contrast to the library mode, the full website extraction - since it is likely to deal with much larger amounts of news articles compared to the library mode - is designed to run on much longer time periods, thereby relying on the core functionality of scrapy. the scrapy functionality is, however, not part of the library mode. yet, it's of course possible to integrate the full website extraction functionality into the library mode. in principle we are glad for any support on the project! :-) so feel free to add a PR, which we will then check for compatibility to our architecture decisions.


rpi-python images missing "onbulid" target

The official Docker python images have an "onbuild" target that is used to tackle the common task of installing prerequisites from a requirements.txt file. I'm trying to figure out how to reverse engineer that behavior into a Dockerfile, either to write that up for this image, or simply to adapt the instructions from
https://registry.hub.docker.com/u/library/python/
so taht the hypriot/rpi-python:onbuild target can exist.

@vielmetti This should be pretty the same as the upstream Dockerfile. Normally just adjust the FROM line to build from the rpi-python image.


adding standard card type

supporting standard card type with images

Oop. Also, the key for standard card type is text: instead of content: .


rc2 Service Bump

Bump all service versions after rc2 cut, as well as astria-cli version bump.

Including these changes in #90. Closing.


AtrousConvolution2D inconsistent output shape

I tried to use AtrousConvolution2D, but its behavior is not consistent.

from keras.models import Sequential
from keras.layers import ZeroPadding2D, AtrousConvolution2D
from keras import callbacks
import numpy as np
model = Sequential()
model.add(ZeroPadding2D((1,1), input_shape=(3, 12, 12), dim_ordering='th'))
model.add(AtrousConvolution2D(3, 3, 3,  atrous_rate=(2,2)))
model.summary()
model.compile(loss='mse', optimizer='adam')
print 'Actual Output Shape: ', model.predict(np.ones((1, 3, 12, 12))).shape
Actual Output Shape:  (1, 3, 10, 10) <- as model.summary() says.
print 'Training completed successfully?:', isinstance(model.fit(np.ones((1,3,12,12)), np.ones((1,3,10,10)), nb_epoch=1, verbose=0), callbacks.History)
Training completed successfully?: True

As model.summary says that output of AtrousConvolution2D should be (1, 3, 10, 10), but actual shape is  (1, 3, 12, 12)
Therefore, I cannot train the model with AtrousConvolution2D.
Can you, @patyork, help with this issue, too?
Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[o ] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[ o] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[ o] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[o ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

This seems to be fixed in the Theano master branch.


feat(dapp-console): addresses data model

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#194  👈
#183
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tremarkley and the rest of your teammates on  Graphite


Mice need way too much food/drink.

You, just so happen, to be very small, and weight not a lot, except for the fact that you can eat through the entire kitchen, botany, every department with their donk pockets and pizzas, and still not feel full, not even close, no, you won't even feel that you ate all that, you'll at some point start starving even if you ate food throughout that entire timespan whilst doing it with supreme efficiency.
Additional context

tl;dr, mice need to eat much, much less to actually sustain themselves, unlike how it's currently unintentionally(?) realized wherein you need to eat 400 pounds of food to actually go out of the starving debuff for 2 minutes. (not like you can do the 400 pounds, you can eat 2-3 bites per cycle AT MOST)

This could be done by changing the baseDacayRate but I would need
a) for this to be confirmed as something that needs to be done (I think it is)
b) for someone to tell me how hunger decay works

That PR didn't change anything. The merged status doesn't mean anything here because nothing was changed.


OpenCV_FOUND to FALSE

Found package configuration file:
C:/tools/OpenCV-android-sdk/sdk/native/jni/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
I get this error, how can I fix it?
opencv Version 4.5
android Studio Version 4.1

I dont know... I tested with OpenCV 4.2.0 and it seems to be working fine.
You can try and carefully go over the "Configure OpenCV build" in this post.

That's right, I got the answer with the same link and it was solved.


Investigate Non-Generic Inner Functions

https://www.possiblerust.com/pattern/non-generic-inner-functions

There seems to be a library that does that. Investigate.

After investigation, the impact is fairly minimal, won't do.