Customisable drop sounds for items.

Is your feature request related to a problem? Please describe.
Apart from possibly missing a drop because of AFKing, no.
Describe the solution you'd like
Ability to define different sounds for drops of different values.
When you get a drop, the chosen sound is played.
Describe alternatives you've considered
Non-customisable sounds.
Additional context
Could be an extension to the Ground Items -plugin, as it already has a way to sort drops by value.

idk if bumps work in github but I'd love this.
I wanted to set a custom sound notification for when a draconic visage dropped. I found a drop-dead sexy sound effect and set it as the custom notification sound for when I get a valuable drop. Only now I'm hearing it constantly, even for things that aren't drops. Don't get me wrong, I knew this was going to happen.
I just think of the sound effects from loot filters in Path of Exile and think how awesome it would be if runelite had something like that.

idk if bumps work in github but I'd love this.
I wanted to set a custom sound notification for when a draconic visage dropped. I found a drop-dead sexy sound effect and set it as the custom notification sound for when I get a valuable drop. Only now I'm hearing it constantly, even for things that aren't drops. Don't get me wrong, I knew this was going to happen.
I just think of the sound effects from loot filters in Path of Exile and think how awesome it would be if runelite had something like that.

Duplicate of #11679--while that issue was created after this one, it is more general as we would want to update the notification system to allow customization for any plugin, not just the ground items plugin.

Duplicate of #11679--while that issue was created after this one, it is more general as we would want to update the notification system to allow customization for any plugin, not just the ground items plugin.


Add Remote Signaller for remote chip to communicate with R Dispatcher and L chip

Closing this because N300 FD was redesigned and this kernel was replaced with pull and push kernel


Add some form of verification badge

There is a tag with ID = 7
If a profile has this tag ID it should show some form of verfied badge (like on twitter)
But in the Grid branding
Read the definition of this tag from TGS and show on hover

shows on the grids profile, as a testcase


refactor: update the wws shim to use the latest main from runwasi

This commit re-implements the wws shim with LibcontainerInstance trait. This follows https://github.com/deislabs/containerd-wasm-shims/pull/121

Merging it now


Creating a ReadOnly view of buffer must copy data to new buffer

This must copy the data into a new readonly array buffer. For the data properties to be truly readonly, they must be frozen with non-configurable, non-writable descriptors, so the Object.getOwnPropertyDescriptor(typedarray, '0') must have { configurable: false, writeable: false } (and a data value). However, if the readonly view of the underlying buffer shared the same memory, the data property could be changed by the original readwrite buffer:
const readwrite = new Uint8Array(1);
assert.equal(readwrite[0], 0);
assert.equal(Object.getOwnPropertyDescriptor(readwrite, '0').configurable, true);
assert.equal(Object.getOwnPropertyDescriptor(readwrite, '0').writable, true);

const readonly = new Uint8Array(array.buffer, { readonly: true });
assert.equal(readonly[0], 0);
assert.equal(Object.getOwnPropertyDescriptor(readonly, '0').configurable, false);
assert.equal(Object.getOwnPropertyDescriptor(readonly, '0').writable, false);

// This cannot change the readonly data, per the proxy invariants
readwrite[0] = 1;

// This data property must always report `value === 0`, per the proxy invariants
assert.equal(readonly[0], 0);

This just means the underlying buffer must be copied to a new readonly buffer, and isn't just a "view" of the underlying data.

So the read-only view to a read-write buffer is a feature (at least I want it to be).
The object descriptor part is interesting. I think we can make it like an exported item on the module namespace object. Non configurable, writeable but throw Type Error on external write.

This behavior also applies to the read-only view to a read-write buffer without copying all data or violate the proxy invariants

On top of having to copy the internal buffer's data, there is no way that this proposal could work with the Records and Tuples proposal, as the TypedArrays are objects, in particular, objects with mutable prototypes.
I believe that these would need to be their own classes, separate from %TypedArray%, but I am not sure.

Maybe we can add a (set of?) new primitive types that mapped to immutable binary data.
Let's call it "primitive binary" for now.
Since primitive binary is a primitive value, it is immutable and works with R&T.
A new primitive binary should be created from an existing ArrayBuffer (since there is no way to represent binary data in the syntax level).
const bin = buffer.toPrimitive()
typeof bin === "binary"

const x = #{ data: bin } // OK

If the ArrayBuffer is frozen, the engine can safely share the same memory between the frozen buffer and the primitive data. Otherwise, it has to copy the whole buffer beside the scene.

Covered in new API design (#13). If anything is not covered, please let me know!


Develop activities that follow from file naming / organization slides

The slides for file naming and organization are great, but participants wanted to see some live demos / have hands-on activities. Let's translate some of the material in the slides to other non-lecture formats.

I will work on some of this, especially w/r/t file naming. Getting info out of slides and into a more lesson-oriented format, meaning both of these things:

In Markdown, not Keynote/PDF/whatever, for more flexible usage
With more accompanying exercises

Issues passing in the night. :) https://github.com/Reproducible-Science-Curriculum/rr-organization1/issues/32  Do you want to hop on the Google hangout, or a chat to discuss? I can help with this.

Hi all, yes to this. I added a suggested one, where you add to the "share your nightmares" that is a "share how you solved" or are planning to solve. Another I notice is that the file-organization slides assume you know how to change write permissions on data files. One might want to 1) check the assumption, and 2) demo this or 3) if you have your environment set up, have a participant volunteer come up and change the permissions (or move files around, or rename them, or whatever).

Working on this at second #rrhack : issue #7


Need to enrich Admin username and password handling

At the moment the username and password for the global admin is primarily via config.json.
This needs to be enriched to store it elsewhere securely, have a means to add other admins, change password etc.

I'll take this if someone would assign it.

@shawnwildermuth Are you still working on it?

I am now. Didn't realized I signed up for it. With the Summit and all. I'll dig in tonight.

Is this about site admin only or also tenant admit? I am looking at the way we're creating the initial site admin and wanting to do it on first launch but disabling that account once you create the first non-default site admin. Just trying to understand the real requirement here. Can we sit down on Saturday and get this hammered out so I understand what the need is. (e.g. I know we want to secure the admins and get them out of the config).

Per our conversations with @shawnwildermuth he is on this and we have a strategy and a plan in progres


[Cleanup] Log format does not match arguments

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

This is conflict with 2.5.0 when cherry-pick, would like to remove 2.5.1 label.


Animation Player moves ui out of screen

When opening the Animation player editor, it shift the ui to the right, and the only way to get it back is close the ui and resize the screen.

The same issue is reported on #3469, but using a window tiled to the side of the screen.

I got a similar issue when showcasing Godot at FOSDEM using a beamer, it was quite annoying, I could not find a way to see the inspector. I don't remember if the AnimationPlayer was involved though.

I can confirm this with screen resolution 1280x720. It looks like animation editor's upper icons take too much space, so the whole Godot window is expanded to the right and going out of the screen. In the same time, when animation editor is opened, left or right Scene, FileSystem or Inspector panels can't be resized. After closing animation editor everything is back to normal, except the right edge of Godot's window is still outside the screen edge.
The bug looks the same in maximized window and fullscreen mode.
I think somewhat IMPORTANT info:
The bug is present (at lease with screen resolution 1280x720) ONLY when Scene, FileSystem or Inspector panels use both, left and right panels at the same time.
When Scene, FileSystem or Inspector panels are moved to one side, left or right, then the screen expands to the right, but does not go off the screens edge and the Scene, FileSystem or Inspector panel CAN be resized.


OrganizationMembership could include metadata fields

https://docs.rs/clerk-rs/latest/clerk_rs/models/organization_membership/struct.OrganizationMembership.html
https://clerk.com/docs/reference/backend-api/tag/Organization-Memberships#operation/ListOrganizationMemberships
public_metadata | objectMetadata saved on the organization membership, accessible from both Frontend and Backend APIs
private_metadata | objectMetadata saved on the organization membership, accessible only from the Backend API

Look like this already exists so closing


Quick Open resets selection when search finishes

VSCode Version: Code 1.12.2 (19222cdc84ce72202478ba1cec5cb557b71163de, 2017-05-10T13:16:25.899Z)
OS Version: Linux x64 4.4.0-75-generic
Extensions:

Extension
Author
Version

you-complete-me
RichardHe
1.0.35

one-monokai
azemoh
0.2.4

togglehs
bbenoist
0.1.2

vscode-icontheme-nomo-dark
be5invis
1.3.0

chromium-codesearch
chaopeng
0.0.7

vscode-instant-markdown
dbankier
1.1.0

monokai-plusplus
dcasella
1.6.0

python
donjayamanne
0.6.4

an-old-hope-theme-vscode
dustinsanders
2.0.0

Theme-Monokai
gerane
0.0.2

cpptools
ms-vscode
0.11.2

copy-file-name
nemesv
1.0.0

difftomaster
pavolmarko
0.0.1

proto
peterj
0.0.2

annotator
ryu1kn
0.10.1

rewrap
stkb
1.3.0

change-case
wmaurer
1.0.0

Steps to Reproduce:

In a large repo like Chromium, open Quick open (CTRL+P).
Enter a search term, e.g. 'arc'.
While the search proceeds in the background (running blue bar indicator shows), select an item other than the first (arrow up/down).
Wait until the search finishes.

Expected: The same item is still selected.
Actual: The selection resets and the first item is selected.
This often leads to opening the wrong item when the search finishes right in the moment when one hits enter.

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: http://code.visualstudio.com/Download#insiders

Thanks, it's fixed in 1.13.0-1496140886.


TransferManager::DownloadFile: If filename includes a non-existent directory does not produce any error

Hi all,
When I use the TransferManager::DownloadFile to download a file, and the filename includes a non-existent directory, I don't get any error back that there was some problem. The download continues with no error and I suppose is downloaded somewhere in the memory.
The comment on the header file for TransferManager::DownloadFile does not specify if the writeToFile is just a filename or a pathname.
           /**
             * Downloads the contents of bucketName/keyName in S3 to the file specified by writeToFile. This will perform a GetObject operation.
             */
            std::shared_ptr<TransferHandle> DownloadFile(const Aws::String& bucketName,
                                                         const Aws::String& keyName,
                                                         const Aws::String& writeToFile,
                                                         const DownloadConfiguration& downloadConfig = DownloadConfiguration());

A temporary solution that I found for my case is to create the directory before I call the TransferManager::DownloadFile, like the following
Aws::FileSystem::CreateDirectoryIfNotExists(Dirname (writeToFile));
TransferManager::DownloadFile(bucketName, keyName, writeToFile);

I was wondering if this behavior is intended like this or it's a bug?
Regards,
Stavros

Sounds like a good candidate for a pull request :)

Adding more details: with SDK v1.1.49, downloading a large file with DownloadFile() to a path containing a folder that doesn't yet exist causes an exception crash. Small files do not crash, instead they report IN_PROGRESS and COMPLETE yet produce no resulting file on the hard drive. I suspect this is due to the large file using the multipart download codepath.
The exception is in aws-sdk-cpp\aws-cpp-sdk-transfer\source\transfer\TransferHandle.cpp line 296:
m_downloadStream->good()

Please note that this bug makes the behavior of DownloadFile() and DownloadToDirectory() different. The latter creates any needed destination directories.
The preferred workaround won't work. You can not create the directories in the IN_PROGRESS state of transferStatusUpdatedCallback due to https://github.com/aws/aws-sdk-cpp/issues/653.
Therefore, one must put the create of directory(s) immediately before DownloadFile(). Naturally, the sideaffect of this fallback workaround is the creation of directories regardless of the download starting, progressing, failing, completing, etc.

This should have been fixed with this commit: 8082ace481931523a8ed8967f1cda163443dcee9


Upgrade graphql peer dependency to ^0.6.0

https://github.com/graphql/graphiql/blob/master/package.json#L49

Doing this right now - sorry for the delay!

Done - I did a quick test and everything seemed to be okay. Let us know if there are any problems!


Weird behavior which ended up in the root directory but I can't go nowhere

command:
Transgender.rs $ pwd
/Users/howardchu/hw/Transgender.rs
Transgender.rs $ ts ../../../../../../../../../../../

Fixed by: b1e0779


WIP: Documenting an API standard

Code change
I can confirm:
Accessibility considerations

[X] This change will not change layouts, page structures or anything else that might impact accessibility

Content change

[X] Please review the accessibility checks for content changes.

I can confirm:

[X] Content does not include any code or configuration changes (excluding frontmatter information)
[X] Content meets the content standards
e.g. Writing a principle and Writing a standard
[X] Content is suitable to open source, i.e.:

Content does not relate to unreleased gov policy
Content does not refer to anti-fraud mechanisms
Content does not include sensitive business logic

[X] Last updated date for content is correct

I think there are some things missing here that we might want to think about:

What format should be used to document APIs? (e.g. OpenAPI)
Is a specification enough? (I think it needs to be supplemented with more traditional documentation.)
Where should the docs live?
Is it acceptable to generate specifications from implementation code? (I generally prefer a specification-first approach.)
How should docs be made available? - As a website, or is a raw spec enough? (Maybe this is covered as a part of the catalogues?)

We don't need to have answers to all of those right now, but I think we should bear them in mind.

Related:

API technical and data standards
Documenting APIs
Writing API reference documentation

To be included:

How raise an issue
Information about rate limits


Proposed fix for Issue #413

Pull Request (PR) description
Adjusted logic for NetBios resource WMI filter to correctly accept * as the help implies.
This Pull Request (PR) fixes the following issues
Fixes #413
Task list

[ ] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in resource folder.
[ ] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

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

Codecov Report

Merging #414 into dev will decrease coverage by <1%.
The diff coverage is 60%.

@@         Coverage Diff         @@
##            dev   #414   +/-   ##
===================================
- Coverage    95%    95%   -1%
===================================
  Files        28     28
  Lines      2272   2284   +12
===================================
+ Hits       2172   2178    +6
- Misses      100    106    +6

Thank you for the feedback working on these now. Do you think the function should go in common for use by other resources? It's fairly generic.

@PlagueHO I believe I have your comments addressed now. This is my first open source contribution so I apologize if I'm missing obvious things standards wise.

Cool! Thanks @MKletz - I'll get onto the review tonight or tomorrow night! Thank you heaps for this!

Hi @MKletz - let me know when you're good for me to review! Really keen to get this awesome addition into the kit.

@PlagueHO sorry for the delay, missed the email for your last comment. I believe I've addressed your new comments


[Sign in] No error message appears in case of entering a password longer than 20 characters.

Environment: Windows 10, Opera GX, 94.0.4606.107
Reproducible: Always
Build found: Commit: ff7ec6b
Preconditions

Go to https://www.pick-up.city/#/ubs

Steps to reproduce

Click on 'Sign in'
Enter a password longer than 20 characters e.g. 'Testpasswordlongerthan20characters'

Actual result
No error message
Expected result
An error message below 'Password' field:
ENG "Password cannot exceed 20 characters."
UA "Пароль не може містити більше 20 символів."
User story and test case links
User story #4100
Test case
Test case
Labels to be added
"Bug"

Change text and password field according to this requirements (user story https://github.com/ita-social-projects/GreenCity/issues/4099)


Copyright year and owner are missing in LICENSE

https://github.com/material-components/material-web/blob/37b1d10031840c56b95b0d22e8390b945615a384/LICENSE#L190

I think you should Open a PR...

Fixed in #4011


[Event Request] COD 5760 "Whse.-Post Receipt" - PostUpdateWhseDocuments()

Could you please add a new event in COD 5760 "Whse.-Post Receipt" - PostUpdateWhseDocuments():
    procedure PostUpdateWhseDocuments(var WhseRcptHeader: Record "Warehouse Receipt Header")
    var
        WhseRcptLine2: Record "Warehouse Receipt Line";
        WhsePutAwayRequest: Record "Whse. Put-away Request";
        DeleteWhseRcptLine: Boolean;
    begin
        OnBeforePostUpdateWhseDocuments(WhseRcptHeader);
        with WhseRcptLineBuf do
            if Find('-') then begin
                repeat
                    WhseRcptLine2.Get("No.", "Line No.");
                    DeleteWhseRcptLine := "Qty. Outstanding" = "Qty. to Receive";
                    OnBeforePostUpdateWhseRcptLine(WhseRcptLine2, WhseRcptLineBuf, DeleteWhseRcptLine, WhseRcptHeader);
                    if DeleteWhseRcptLine then
                        WhseRcptLine2.Delete
                    else begin
                        WhseRcptLine2.Validate("Qty. Received", "Qty. Received" + "Qty. to Receive");
                        WhseRcptLine2.Validate("Qty. Outstanding", "Qty. Outstanding" - "Qty. to Receive");
                        WhseRcptLine2."Qty. to Cross-Dock" := 0;
                        WhseRcptLine2."Qty. to Cross-Dock (Base)" := 0;
                        WhseRcptLine2.Status := WhseRcptLine2.GetLineStatus;
                        OnBeforePostUpdateWhseRcptLineModify(WhseRcptLine2); // New Event
                        WhseRcptLine2.Modify();
                        OnAfterPostUpdateWhseRcptLine(WhseRcptLine2);
                    end;
                until Next = 0;
                OnPostUpdateWhseDocumentsOnBeforeDeleteAll(WhseRcptHeader, WhseRcptLineBuf);
                DeleteAll();
            end;

Publisher:
    [IntegrationEvent(false, false)]
    local procedure OnBeforePostUpdateWhseRcptLineModify(var WarehouseReceiptLine: Record "Warehouse Receipt Line")
    begin
    end;

A similar event has already been requested for COD 5763 in https://github.com/microsoft/ALAppExtensions/issues/6644

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


inlineKeyboardMarkup for SendMessageRequest

Hi Klappvisor,
thank you for very much your package.
I noticed that I cannot specify inlineKeyboardMarkup for ordinary SendMessageRequest messages, which the Telegram API supports though.
I am just porting a nodejs bot to your haskell-telegram-api to get my hands dirty with Haskell. I am not confident enough yet to send you a pull request.
Best regards,
HC

Hi HC,
Check out MR #53 I think it's exactly what you want. MR was merged yesterday and version <IP_ADDRESS> was released. telegram-api v<IP_ADDRESS> is not in LTSHaskell yet, but it's available in Stackage (link).
Good luck with Haskell!
Regards,
klappvisor

Ah, good. Thank you, klappvisor.

I am going to close it, but if you still have issue, you can reopen it


Trained model

Hi,
Thanks for implementing the diffusion model for handwriting generation in Pytorch.
I want to ask you about the trained model for the code.
I trained the model from scratch but was not able to replicate the results.

Thanks. I would be happy to contribute to it.


Thumbnails generation error

I'm having an issue:

generating thumbnails
Meteor-Files: Version 1.9.5
Meteor Version: <IP_ADDRESS>
Appearing on Mac/Linux (not tested on windows)
this issue is appearing server side

I am using the thumbnail generation example found here.
When I upload several images at once, most of the images create thumbnails. However, for a handful of the images, the thumbnails are not generated. I receive the error shown below:
[<IP_ADDRESS>][createThumbnails] [img.resize] { Error: Command failed:
[<IP_ADDRESS>]    at ChildProcess.onExit (/bundle/bundle/programs/server/npm/node_modules/gm/lib/command.js:301:17)
[<IP_ADDRESS>]    at emitTwo (events.js:125:13)
[<IP_ADDRESS>]    at ChildProcess.emit (events.js:213:7)
[<IP_ADDRESS>]    at maybeClose (internal/child_process.js:927:16)
[<IP_ADDRESS>]    at Socket.stream.socket.on (internal/child_process.js:348:11)
[<IP_ADDRESS>]    at emitOne (events.js:115:13)
[<IP_ADDRESS>]    at Socket.emit (events.js:210:7)
[<IP_ADDRESS>]    at Pipe._handle.close [as _onclose] (net.js:545:12) code: null, signal: 'SIGKILL' }
[<IP_ADDRESS>]{ Error: Command failed:
[<IP_ADDRESS>]    at ChildProcess.onExit (/bundle/bundle/programs/server/npm/node_modules/gm/lib/command.js:301:17)
[<IP_ADDRESS>]    at emitTwo (events.js:125:13)
[<IP_ADDRESS>]    at ChildProcess.emit (events.js:213:7)
[<IP_ADDRESS>]    at maybeClose (internal/child_process.js:927:16)
[<IP_ADDRESS>]    at Socket.stream.socket.on (internal/child_process.js:348:11)
[<IP_ADDRESS>]    at emitOne (events.js:115:13)
[<IP_ADDRESS>]    at Socket.emit (events.js:210:7)
[<IP_ADDRESS>]    at Pipe._handle.close [as _onclose] (net.js:545:12) code: null, signal: 'SIGKILL' }
[<IP_ADDRESS>][FilesCollection] [Upload] [DDP] Got #-1/2 chunks, dst: IMG_4746-1.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ed)Upload] -> /images/SNygdJC3G647dxLM7.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ing)Upload] -> /images/v59YFLdZXW8bp4y5f.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [changed]: iSfykHMSdENSLeMGR
[<IP_ADDRESS>][FilesCollection] [Upload] [DDP] Got #-1/3 chunks, dst: IMG_4741-1.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ed)Upload] -> /images/v59YFLdZXW8bp4y5f.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [changed]: i7ZC63i8GHEwuJpFc
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ing)Upload] -> /images/r7T7ZzYux2tjrZahW.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [removed]: ppixaEvznRennF7GW
[<IP_ADDRESS>][FilesCollection] [Upload] [DDP] Got #-1/2 chunks, dst: IMG_4739-1.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ed)Upload] -> /images/r7T7ZzYux2tjrZahW.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ing)Upload] -> /images/McpEckrGhQ2gZZmEB.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [removed]: L6ARAcbLqAbAtzDWk
[<IP_ADDRESS>][FilesCollection] [Upload] [DDP] Got #-1/2 chunks, dst: IMG_4754-1.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ed)Upload] -> /images/McpEckrGhQ2gZZmEB.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [changed]: SNygdJC3G647dxLM7
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ing)Upload] -> /images/YDJx5P3KLGyyMRx95.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [changed]: v59YFLdZXW8bp4y5f
[<IP_ADDRESS>][FilesCollection] [Upload] [DDP] Got #-1/2 chunks, dst: IMG_4752-1.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ed)Upload] -> /images/YDJx5P3KLGyyMRx95.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [removed]: iSfykHMSdENSLeMGR
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ing)Upload] -> /images/tfWsoZkjw9d55v9TB.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [removed]: i7ZC63i8GHEwuJpFc
[<IP_ADDRESS>][FilesCollection] [Upload] [DDP] Got #-1/2 chunks, dst: IMG_4751-1.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ed)Upload] -> /images/tfWsoZkjw9d55v9TB.jpg
[<IP_ADDRESS>][FilesCollection] [Upload] [finish(ing)Upload] -> /images/RE2c9g7YZhCiizZJn.jpg
[<IP_ADDRESS>][FilesCollection] [_preCollectionCursor.observe] [changed]: r7T7ZzYux2tjrZahW

Hello @programthis ,
Please update this thread following our issue template.

@dr-dimitru done.

Server and client logs with "debug" enabled, please...

@dr-dimitru Sorry, I've now updated with the debug enabled.

Hello @programthis , sorry for delay, very busy now...
I recommend to take a look on how we create thumbs at our demo app

@dr-dimitru I believe I may have found where the error is coming from.
When I am subscribing to all the images, the thumbnail works fine but when I only subscribe to a subset of images, I end up missing thumbnails.
Here's my subscription that is causing this error:
Meteor.publish('galleryImages', function(imageSetLimit, articleLimit) {
            imageSets = ImageSets.find({}, {sort: {orderIndex: -1}});
            imageSets.forEach(function(imageSet) {
                imageArray.push(imageSet.coverImageId);
            });
            return Images.find({_id: {$in: imageArray}}).cursor;
}

Could something like this be affecting the image processing client side? I had assumed this thumbnail generation was purely a server side functionality.

@programthis

Thumbnails created on Server side only, (it's possible to create thumbs on a Client, but such use-case is not covered in our wiki);
Fetching data from collection is not interfere with creating thumbs, it's two separate unrelated tasks
Not sure how publish is related to creating thumbs, but at first you should check what data is in imageArray, could you console.log it?

@dr-dimitru 1 and 2- Ok that is what I thought.
3- I also didn't think publish was related to creating thumbs though subscribing to all images does seem to resolve this issue. imageArray is just a collection of image ids (Every image set has a cover image, so I am returning just the cover image ids instead of returning all the images--so these ids are unrelated to the images being uploaded).

Hi @programthis I am having some files from my project with V1.8.3. I hope this can help you.
I tried to keep the folder structure so that you find easy which goes where.
Together the files follow a phone camera workflow. In the components it uses a Cordova camera, takes the shot, saves it to the state, then on press of button starts saving to Files with a thumbnail and does upload to S3. I am long due to put these together in a demo for the Wiki of this repo... In the ImageMagic I generate "polaroids" (and on the server I do the thumbnails).
Let me know if you want to go through these files together in case things are too cumbersome. As there is always place for improvement (in my case there is a lot), if you get to look at this and find it useful and find ways to improve, let us know please as a better version of it will try to make it to the wiki.
As mentioned this is V1.8.3. I am not aware whether there have been any breaking changes since.
Cordova camera - Ostri0Files - S3.zip

@paulincai v1.9.x major changes:

Deprecated: globally available Meteor.Files
Move events interface to eventemitter3 package
Solve #500 removing 25ms delay before setting auth-token-cookie for protected downloads, thanks to @vbelolapotkov for pointing this out. Not sure if this will help for initial issue which stated First download attempt, as Meteor's login is async and happens only after DDP connection is established.
Fix this.user in onBeforeRemove hook
Deprecate (temporarily) throttle option, not sure if it was working from the beginning

@paulincai As far as I can tell, I do not see any major differences between what you are doing and what I am doing. Additionally, I do not necessarily think there is an error in the code as it does generate the thumbnails correctly in most circumstances. I am starting to think this may be related to cpu usage as I'm seeing that this fails in production while local development seems to be just fine. I will continue to investigate as to why subscribing to all images seems to resolve this though.

@programthis Error points to this place: /bundle/bundle/programs/server/npm/node_modules/gm/lib/command.js:301:17 could you cat and paste that file here?

@dr-dimitru
/**
 * Module dependencies.
 */

var spawn = require('cross-spawn');
var utils = require('./utils');
var debug = require('debug')('gm');
var series = require('array-series');
var PassThrough = require('stream').PassThrough;

/**
 * Error messaging.
 */

var noBufferConcat = 'gm v1.9.0+ required node v0.8+. Please update your version of node, downgrade gm < 1.9, or do not use `bufferStream`.';

/**
 * Extend proto
 */

module.exports = function (proto) {

  function args (prop) {
    return function args () {
      var len = arguments.length;
      var a = [];
      var i = 0;

      for (; i < len; ++i) {
        a.push(arguments[i]);
      }

      this[prop] = this[prop].concat(a);
      return this;
    }
  }

  function streamToUnemptyBuffer(stream, callback) {
    var done = false
    var buffers = []

    stream.on('data', function (data) {
      buffers.push(data)
    })

    stream.on('end', function () {
      var result, err;
      if (done)
        return

      done = true
      result = Buffer.concat(buffers)
      buffers = null
      if (result.length==0)
      {
          err = new Error("Stream yields empty buffer");
          callback(err, null);
      } else {
          callback(null, result);
      }
    })

    stream.on('error', function (err) {
      done = true
      buffers = null
      callback(err)
    })
  }

  proto.in = args('_in');
  proto.out = args('_out');

  proto._preprocessor = [];
  proto.preprocessor = args('_preprocessor');

  /**
   * Execute the command and write the image to the specified file name.
   *
   * @param {String} name
   * @param {Function} callback
   * @return {Object} gm
   */

  proto.write = function write (name, callback) {
    if (!callback) callback = name, name = null;

    if ("function" !== typeof callback) {
      throw new TypeError("gm().write() expects a callback function")
    }

    if (!name) {
      return callback(TypeError("gm().write() expects a filename when writing new files"));
    }

    this.outname = name;

    var self = this;
    this._preprocess(function (err) {
      if (err) return callback(err);
      self._spawn(self.args(), true, callback);
    });
  }

  /**
   * Execute the command and return stdin and stderr
   * ReadableStreams providing the image data.
   * If no callback is passed, a "through" stream will be returned,
   * and stdout will be piped through, otherwise the error will be passed.
   *
   * @param {String} format (optional)
   * @param {Function} callback (optional)
   * @return {Stream}
   */

  proto.stream = function stream (format, callback) {
    if (!callback && typeof format === 'function') {
      callback = format;
      format = null;
    }

    var throughStream;

    if ("function" !== typeof callback) {
      throughStream = new PassThrough();
      callback = function (err, stdout, stderr) {
        if (err) throughStream.emit('error', err);
        else stdout.pipe(throughStream);
      }
    }

    if (format) {
      format = format.split('.').pop();
      this.outname = format + ":-";
    }

    var self = this;
    this._preprocess(function (err) {
      if (err) return callback(err);
      return self._spawn(self.args(), false, callback);
    });

    return throughStream || this;
  }

  /**
   * Convenience function for `proto.stream`.
   * Simply returns the buffer instead of the stream.
   *
   * @param {String} format (optional)
   * @param {Function} callback
   * @return {null}
   */

  proto.toBuffer = function toBuffer (format, callback) {
    if (!callback) callback = format, format = null;

    if ("function" !== typeof callback) {
      throw new Error('gm().toBuffer() expects a callback.');
    }

    return this.stream(format, function (err, stdout) {
      if (err) return callback(err);

      streamToUnemptyBuffer(stdout, callback);
    })
  }

  /**
    * Run any preProcessor functions in series. Used by autoOrient.
    *
    * @param {Function} callback
    * @return {Object} gm
    */

  proto._preprocess = function _preprocess (callback) {
    series(this._preprocessor, this, callback);
  }

  /**
    * Execute the command, buffer input and output, return stdout and stderr buffers.
    *
    * @param {String} bin
    * @param {Array} args
    * @param {Function} callback
    * @return {Object} gm
    */

  proto._exec = function _exec (args, callback) {
    return this._spawn(args, true, callback);
  }

  /**
    * Execute the command with stdin, returning stdout and stderr streams or buffers.
    * @param {String} bin
    * @param {Array} args
    * @param {ReadableStream} stream
    * @param {Boolean} shouldBuffer
    * @param {Function} callback, signature (err, stdout, stderr) -> *
    * @return {Object} gm
    * @TODO refactor this mess
    */

  proto._spawn = function _spawn (args, bufferOutput, callback) {
    var appPath = this._options.appPath || '';
    var bin = this._options.imageMagick
      ? appPath + args.shift()
      : appPath + 'gm'

    var cmd = bin + ' ' + args.map(utils.escape).join(' ')
      , self = this
      , proc, err
      , timeout = parseInt(this._options.timeout)
      , disposers = this._options.disposers
      , timeoutId;

    debug(cmd);
    //imageMagick does not support minify (https://github.com/aheckmann/gm/issues/385)
    if(args.indexOf("-minify") > -1 && this._options.imageMagick){
      err = new Error("imageMagick does not support minify, use -scale or -sample. Alternatively, use graphicsMagick");
      return cb(err);
    }
    try {
      proc = spawn(bin, args);
    } catch (e) {
      return cb(e);
    }
    proc.stdin.once('error', cb);

    proc.on('error', function(err){
      if (err.code === 'ENOENT') {
        cb(new Error('Could not execute GraphicsMagick/ImageMagick: '+cmd+" this most likely means the gm/convert binaries can't be found"));
      } else {
        cb(err);
      }
    });

    if (timeout) {
      timeoutId = setTimeout(function(){
        dispose('gm() resulted in a timeout.');
      }, timeout);
    }

    if (disposers) {
      disposers.forEach(function(disposer) {
        disposer.events.forEach(function(event) {
          disposer.emitter.on(event, dispose);
        });
      });
    }

    if (self.sourceBuffer) {
      proc.stdin.write(this.sourceBuffer);
      proc.stdin.end();
    } else if (self.sourceStream) {

      if (!self.sourceStream.readable) {
        err = new Error("gm().stream() or gm().write() with a non-readable stream.");
        return cb(err);
      }

      self.sourceStream.pipe(proc.stdin);

      // bufferStream
      // We convert the input source from a stream to a buffer.
      if (self.bufferStream && !this._buffering) {
        if (!Buffer.concat) {
          throw new Error(noBufferConcat);
        }

        // Incase there are multiple processes in parallel,
        // we only need one
        self._buffering = true;

        streamToUnemptyBuffer(self.sourceStream, function (err, buffer) {
          self.sourceBuffer = buffer;
          self.sourceStream = null; // The stream is now dead
        })
      }
    }

    // for _exec operations (identify() mostly), we also
    // need to buffer the output stream before returning
    if (bufferOutput) {
      var stdout = ''
        , stderr = ''
        , onOut
        , onErr
        , onExit

      proc.stdout.on('data', onOut = function (data) {
        stdout += data;
      });

      proc.stderr.on('data', onErr = function (data) {
        stderr += data;
      });

      proc.on('close', onExit = function (code, signal) {
        if (code !== 0 || signal !== null) {
          err = new Error('Command failed: ' + stderr);
          err.code = code;
          err.signal = signal;
        };
        cb(err, stdout, stderr, cmd);
        stdout = stderr = onOut = onErr = onExit = null;
      });
    } else {
      cb(null, proc.stdout, proc.stderr, cmd);
    }

    return self;

    function cb (err, stdout, stderr, cmd) {
      if (cb.called) return;
      if (timeoutId) clearTimeout(timeoutId);
      cb.called = 1;
      if (args[0] !== 'identify' && bin !== 'identify') {
	self._in = [];
	self._out = [];
      }
      callback.call(self, err, stdout, stderr, cmd);
    }

    function dispose (msg) {
      var message = msg ? msg : 'gm() was disposed';
      err = new Error(message);
      cb(err);
      if (proc.exitCode === null) {
        proc.stdin.pause();
        proc.kill();
      }
    }
  }

  /**
   * Returns arguments to be used in the command.
   *
   * @return {Array}
   */

  proto.args = function args () {
    var outname = this.outname || "-";
  	if (this._outputFormat) outname = this._outputFormat + ':' + outname;

    return [].concat(
        this._subCommand
      , this._in
      , this.src()
      , this._out
      , outname
    ).filter(Boolean); // remove falsey
  }

  /**
   * Adds an img source formatter.
   *
   * `formatters` are passed an array of images which will be
   * used as 'input' images for the command. Useful for methods
   * like `.append()` where multiple source images may be used.
   *
   * @param {Function} formatter
   * @return {gm} this
   */

  proto.addSrcFormatter = function addSrcFormatter (formatter) {
    if ('function' != typeof formatter)
      throw new TypeError('sourceFormatter must be a function');
    this._sourceFormatters || (this._sourceFormatters = []);
    this._sourceFormatters.push(formatter);
    return this;
  }

  /**
   * Applies all _sourceFormatters
   *
   * @return {Array}
   */

  proto.src = function src () {
    var arr = [];
    for (var i = 0; i < this._sourceFormatters.length; ++i) {
      this._sourceFormatters[i].call(this, arr);
    }
    return arr;
  }

  /**
   * Image types.
   */

  var types = {
      'jpg': /\.jpe?g$/i
    , 'png' : /\.png$/i
    , 'gif' : /\.gif$/i
    , 'tiff': /\.tif?f$/i
    , 'bmp' : /(?:\.bmp|\.dib)$/i
    , 'webp': /\.webp$/i
  };

  types.jpeg = types.jpg;
  types.tif = types.tiff;
  types.dib = types.bmp;

  /**
   * Determine the type of source image.
   *
   * @param {String} type
   * @return {Boolean}
   * @example
   *   if (this.inputIs('png')) ...
   */

  proto.inputIs = function inputIs (type) {
    if (!type) return false;

    var rgx = types[type];
    if (!rgx) {
      if ('.' !== type[0]) type = '.' + type;
      rgx = new RegExp('\\' + type + '$', 'i');
    }

    return rgx.test(this.source);
  }

  /**
   * add disposer (like 'close' of http.IncomingMessage) in order to dispose gm() with any event
   *
   * @param {EventEmitter} emitter
   * @param {Array} events
   * @return {Object} gm
   * @example
   *   command.addDisposer(req, ['close', 'end', 'finish']);
   */

  proto.addDisposer = function addDisposer (emitter, events) {
    if (!this._options.disposers) {
      this._options.disposers = [];
    }
    this._options.disposers.push({
      emitter: emitter,
      events: events
    });
    return this;
  };
}

Check if machine has enough resources to perform image manipulation;
Check if ImageMagic or GraphicsMagic is installed on your Linux/Mac machine, try to run simple commands right via CLI;
Make sure there is no permission errors when node.js (meteor) is trying to read source image, and write new thumbs to FS.

@dr-dimitru I have a feeling it might be number one as the other two seem to be fine. I'll have to do some experimenting with a bigger CPU and see if it makes any difference.

@programthis needs to be mentioned, what I'm very familiar with IM/GM and I've never seen it hitting CPU to fail, but it's common to hit RAM to fail. I recommend to start with adding more RAM or even simpler a SWAP.

@dr-dimitru Thank you. I will up the RAM first in that case and see if that resolves the issue.

@programthis one more thing related to RAM usage, - set streams option to 1, this will avoid high RAM usage on server. When streams set to 1 incoming chunks will be written to FS immediately, so memory will be quickly released.
Also you may tune chunkSize option, try to set it to something small, like 1KB: 1024

Closed due to silence at issue owner end.
Feel free to reopen it in case if the issue still persists on your end.


runtime: fatal error: evacuation not done in time on MIPS64

GO version: 1.7.5
OS/ARCH: Linux / MIPS64 (Linux kernel - 2.6.21)
Running the following simple program:
package main

import (
	"fmt"
)

func main() {

	fmt.Println("Hello MIPS World!!")
}

The result was the following exception:
fatal error: evacuation not done in time

goroutine 1 [running, locked to thread]:
runtime.throw(0xfb849, 0x1b)
        C:/Go/src/runtime/panic.go:566 +0xb8 fp=0xc420031c10 sp=0xc420031bf8
runtime.hashGrow(0xe2840, 0xc420010090)
        C:/Go/src/runtime/hashmap.go:821 +0x60 fp=0xc420031c40 sp=0xc420031c10
runtime.mapassign1(0xe2840, 0xc420010090, 0xc420031dd0, 0xc420031d90)
        C:/Go/src/runtime/hashmap.go:522 +0x9e8 fp=0xc420031d40 sp=0xc420031c40
syscall.copyenv()
        C:/Go/src/syscall/env_unix.go:43 +0x214 fp=0xc420031df8 sp=0xc420031d40
sync.(*Once).Do(0x170690, 0x104790)
        C:/Go/src/sync/once.go:44 +0x1ec fp=0xc420031e20 sp=0xc420031df8
syscall.Getenv(0xf8c8b, 0x8, 0x0, 0x0, 0xc420010060)
        C:/Go/src/syscall/env_unix.go:72 +0x74 fp=0xc420031e78 sp=0xc420031e20
time.init()
        C:/Go/src/time/zoneinfo.go:257 +0x2e4 fp=0xc420031ed0 sp=0xc420031e78
os.init()
        C:/Go/src/os/wait_waitid.go:41 +0xc0 fp=0xc420031f08 sp=0xc420031ed0
fmt.init()
        C:/Go/src/fmt/scan.go:1198 +0xc0 fp=0xc420031f40 sp=0xc420031f08
main.init()
        D:/Projects/Go/src/passTool/passTool.go:11 +0xb0 fp=0xc420031f48 sp=0xc420031f40
runtime.main()
        C:/Go/src/runtime/proc.go:172 +0x330 fp=0xc420031f98 sp=0xc420031f48
runtime.goexit()
        C:/Go/src/runtime/asm_mips64x.s:875 +0x4 fp=0xc420031f98 sp=0xc420031f98

That's am old kernel. The minimum requirements wiki page says

Kernel version 2.6.23 or later.

so I think that in theory we don't support your kernel version.
Also:

does this happen in go1.8?
is this little-end or big end MIPS64? Little endian MIPS64 requires a newer kernel.

is this little-endian or big-endian MIPS64? Little endian MIPS64 requires a newer kernel.

I believe both little-endian and big-endian probably need newer kernel. AFAIK there isn't much difference between little-endian and big-endian in the kernel, nor in Go.

@cherrymui thanks.
I was reading the wiki and it says that little-endian in known to be broken on 4.1; so I asked. But if you are positive that the issue is caused by the fact that OP is running 2.6 I guess we can close the issue.

if you are positive that the issue is caused by the fact that OP is running 2.6

No, I'm not. I don't know what's going on here. Let's wait for more information. But anyway, it's good to try on a newer kernel and a newer Go.

I'm testing it on a big-endian MIPS64 (I didn't test it on go 1.8).
I will also test on kernel > 2.6.23 and let you know soon.
Thanks!

Tested on the same kernel (2.6.21) with GO 1.8.
It works :)


Publish an "All in One" Bundle that Includes the OpenTelemetry Collector

Right now just to get an end-to-end flow working with the binary, you also have to get an OpenTelemtery Collector setup and working, which is at a minimum annoying.
It might simplify setup to create something that bundles both the binary and the OpenTelemetry Collector together (e.g. like a docker image) that you can just download and immediately run and get results.

 Would deploying in a Docker image together with the OTEL collector make sense?


error while validating the installation of tensorflow

When I try to validate installation, following error occur. How can I solve this error ?
Traceback (most recent call last):
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 666, in _load_unlocked
File "", line 577, in module_from_spec
File "", line 906, in create_module
File "", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('pywrap_tensorflow_internal')
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\importlib_init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in
import tensorflow as tf
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow_init_.py", line 24, in
from tensorflow.python import *
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python_init_.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 52, in
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 666, in _load_unlocked
File "", line 577, in module_from_spec
File "", line 906, in create_module
File "", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('pywrap_tensorflow_internal')
File "C:\Users\omkar\AppData\Local\Programs\Python\Python35\lib\importlib_init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/install_sources#common_installation_problems
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

Can one of the admins verify this patch?

could you pull rebase?

Oh, I see, this is a bug report to do with invalid install. Please file an issue instead.


Text autocorrect does not work for the last word in the text

Hello and thank you for KeyboardKit!
AutoCorrect works great for words that are followed by a space. But if this is the last word in the text and it is incorrect, then when sending such a text in the messenger, the word will not be replaced with the correct one. Example:

Open the Messages app
Write one wrong word
Keyboard shows suggestions for replacement
Sending a message
The word hasn't changed

Tell me please, is it possible to somehow influence this process and replace the word with the correct one, or are the possibilities of the custom keyboard limited?
Attached an example on the Russian keyboard

Tell me please, is it possible to somehow influence this process and replace the word with the correct one, or are the possibilities of the custom keyboard limited?

Pretty sure this is a bug in the AutocompleteProvider implementation. My custom one doesn't have any issues with the use case you described

Hi again,
I noticed another thing while investigating this.
When sending a message in Apple Messenger and Meta Messenger, the autocomplete result was not always reset after sending the message. This resulted in the autocomplete bar still showing suggestions, although the text field was empty.
Turns out that the text document proxy is not immediately updated, and may have old content when textDidChange is called. I've seen this in other cases too, e.g. when reading the full document context.
Wrapping the code in textDidChange in a DispatchQueue.main.async (will we ever be able to stop relying on this?) seems to give the proxy enough time to update itself:
open override func textDidChange(_ textInput: UITextInput?) {
    super.textDidChange(textInput)
    DispatchQueue.main.async { [weak self] in
    self?.textDidChangeAsync(textInput)
    }
}

/// This function will be called with an async delay, to
/// give the text document proxy time to update itself.
open func textDidChangeAsync(_ textInput: UITextInput?) {
    performAutocomplete()
    tryChangeToPreferredKeyboardTypeAfterTextDidChange()
}

This new function can be overridden to give you better odds that the proxy is updated.
This will be available in 8.0 and can be tested in the v8 branch.


error mounting when running 'vagrant up'

Hi. Thanks for sharing!
I am having an issue when I run vagrant up, I am getting the below error. I believe that this may be due to the command "getent" not existing on the machine and I am currently looking into a fix. But I thought you may have come across this before and when it is fixed then there will be info for the next person (if there are more)
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attemped was:

set -e
mount -t vboxsf -o uid=`id -u docker`,gid=`getent group docker | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u docker`,gid=`id -g docker` vagrant /vagrant

The error output from the command was:

mount: mounting vagrant on /vagrant failed: Protocol error

@vaughansharman Thanks for the feedback.  I just gave this a go with a fresh clone and wasn't able to reproduce.  Virtualbox 5.0.26, Vagrant 1.8.1, Windows 10.
What host OS are you using?

No worries. This is running on a:
mac 10.11.4
VBox 5.1.2
vagrant 1.8.5
I will have another look at this over the next few days and update if I find a solution, cheers

Ah, hasn't been tested on mac yet so I expected issues.  Confirming a resolution would be welcome :)
Most likely the Vagrantfile will require an addition for mac to use NFS.
Something along the lines of:
sync_type = ((/darwin/ =~ RUBY_PLATFORM) != nil) ? "NFS" : nil
//...
config.vm.synced_folder dev_up_config['host_project_path'], dev_up_config['guest_project_path'], create: true, type: sync_type
//...
config.vm.synced_folder dev_up_config['docker_cache_path'], '/docker-cache', type: sync_type

That seemed to solve the original issue, but creates a few new nfs issues... I might just look at some other options for now and perhaps you can just put a note in the README to say windows only. Thanks for the help though :)


Daniil: Blacklist infura.io

Daniil requests the blacklist of the website infura.io. See the MS search here and the Stack Exchange search here.

infura.io has been seen in 1 true positive, 5 false positives, and 0 NAAs.

There are 5 False positives. That does not meet the blacklisting criteria.


Bump glob-parent to 5.1.2

Bump glob-parent to 5.1.2

@sinedied could you weigh in pls? thanks!

Thanks for the update!


build: change docker image names

This change improves the semantics of the docker image names to accommodate specifications in the images of:

the version of renku-python
the name and version of the language or base image
a "label" identifier for the version of image's other dependencies & features

I made all the current checks required


K8SPXC-1104: Use v1 as API version

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
failed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
passed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
failed

users-8-0
failed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/c7d664217d65653f8807391ced306c0ee8a4bcb2
image: perconalab/percona-xtradb-cluster-operator:PR-1255-c7d66421

Test name
Status

cross-site-8-0
failed

haproxy-5-7
failed

haproxy-8-0
failed

init-deploy-8-0
failed

pitr-8-0
failed

proxysql-sidecar-res-limits-8-0
failed

recreate-8-0
failed

restore-to-encrypted-cluster-8-0
failed

scaling-8-0
failed

scaling-proxysql-8-0
failed

scheduled-backup-5-7
failed

scheduled-backup-8-0
failed

smart-update1-8-0
failed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-self-8-0
failed

upgrade-haproxy-8-0
failed

upgrade-proxysql-8-0
failed

We run 18 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/bfab1dcb3ab194dfe087339c20c34eee6ec9f62c
image: perconalab/percona-xtradb-cluster-operator:PR-1255-bfab1dcb

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
failed

demand-backup-cloud-8-0
failed

demand-backup-encrypted-with-tls-8-0
failed

haproxy-5-7
failed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
failed

one-pod-8-0
failed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
failed

scheduled-backup-8-0
failed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/388897b5a27220a69cc4f0a6a1ec043bedcb324c
image: perconalab/percona-xtradb-cluster-operator:PR-1255-388897b5

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
failed

demand-backup-cloud-8-0
failed

demand-backup-encrypted-with-tls-8-0
failed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
failed

one-pod-8-0
failed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
failed

scheduled-backup-8-0
failed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/388897b5a27220a69cc4f0a6a1ec043bedcb324c
image: perconalab/percona-xtradb-cluster-operator:PR-1255-388897b5

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
failed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
failed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/969aa948df47227dc418da2b0a55ac59bb45fa67
image: perconalab/percona-xtradb-cluster-operator:PR-1255-969aa948

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/969aa948df47227dc418da2b0a55ac59bb45fa67
image: perconalab/percona-xtradb-cluster-operator:PR-1255-969aa948

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
passed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/969aa948df47227dc418da2b0a55ac59bb45fa67
image: perconalab/percona-xtradb-cluster-operator:PR-1255-969aa948

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
passed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/969aa948df47227dc418da2b0a55ac59bb45fa67
image: perconalab/percona-xtradb-cluster-operator:PR-1255-969aa948

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
passed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/969aa948df47227dc418da2b0a55ac59bb45fa67
image: perconalab/percona-xtradb-cluster-operator:PR-1255-969aa948

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
failed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
failed

haproxy-8-0
failed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
failed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
failed

users-8-0
failed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/0605eaa4bbced5201d92db80842fb01c38b3813c
image: perconalab/percona-xtradb-cluster-operator:PR-1255-0605eaa4

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
failed

haproxy-8-0
failed

init-deploy-5-7
failed

init-deploy-8-0
failed

limits-8-0
failed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
failed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
failed

users-8-0
failed

validation-hook-8-0
failed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/f5ac4c9fff11597147728717b67235cabb40db76
image: perconalab/percona-xtradb-cluster-operator:PR-1255-f5ac4c9f

Test name
Status

cross-site-8-0
failed

haproxy-5-7
failed

haproxy-8-0
failed

init-deploy-8-0
failed

pitr-8-0
failed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
failed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-8-0
failed

security-context-8-0
failed

smart-update1-8-0
failed

storage-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
failed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
failed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
failed

We run 20 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/360bc19889bb862eaa563f92cc0da1d2b4bf3877
image: perconalab/percona-xtradb-cluster-operator:PR-1255-360bc198

Test name
Status

cross-site-8-0
passed

haproxy-5-7
failed

haproxy-8-0
failed

init-deploy-8-0
failed

pitr-8-0
failed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
failed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
failed

scheduled-backup-8-0
failed

smart-update1-8-0
failed

storage-8-0
failed

tls-issue-cert-manager-8-0
failed

tls-issue-self-8-0
passed

upgrade-haproxy-8-0
failed

We run 16 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/3b766ccde477ce079d174febe244ca86c186c8ac
image: perconalab/percona-xtradb-cluster-operator:PR-1255-3b766ccd

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
failed

haproxy-8-0
failed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
failed

scaling-proxysql-8-0
failed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
passed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/b1bec811c188ae0a35d61919cc33d6de134ada66
image: perconalab/percona-xtradb-cluster-operator:PR-1255-b1bec811

Test name
Status

affinity-8-0
failed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
passed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
passed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/b1bec811c188ae0a35d61919cc33d6de134ada66
image: perconalab/percona-xtradb-cluster-operator:PR-1255-b1bec811

Test name
Status

affinity-8-0
passed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
failed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
passed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/87cbcc2088baa7754a6e44678797684a3a569e22
image: perconalab/percona-xtradb-cluster-operator:PR-1255-87cbcc20

Test name
Status

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
failed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
passed

We run 35 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/87cbcc2088baa7754a6e44678797684a3a569e22
image: perconalab/percona-xtradb-cluster-operator:PR-1255-87cbcc20

Test name
Status

affinity-8-0
passed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
failed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
failed

haproxy-8-0
passed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
failed

storage-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
failed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
failed

users-8-0
passed

validation-hook-8-0
passed

We run 35 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/682949862702d850b1bf57340bece421dc1332d0
image: perconalab/percona-xtradb-cluster-operator:PR-1255-68294986

Test name
Status

affinity-8-0
passed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
failed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-8-0
passed

scaling-proxysql-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
passed

We run 36 out of 36

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1255/commits/682949862702d850b1bf57340bece421dc1332d0
image: perconalab/percona-xtradb-cluster-operator:PR-1255-68294986


App Configuration - Java SDK Config Watch Sample

Query/Question
Using the Azure App Configuration client library for Java for a POC code. Intending to use this with our application as it is not a Spring Boot Application
https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/appconfiguration/azure-data-appconfiguration
Couldn't find anything close to the watch feature in the Spring Boot Sample
https://github.com/microsoft/spring-cloud-azure/tree/master/spring-cloud-azure-starters/spring-cloud-starter-azure-appconfiguration-config#watch-configuration-change
Is the watch feature available in the Java SDK version?
Why is this not a Bug or a feature Request?
Not sure if this feature is available. Could not find it in the samples or the documentations didn't point to any watch feature
Setup (please complete the following information if applicable):

OS: macOS
IDE : IntelliJ
Version of the Library used - 1.0.0-preview.2

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

@ragilr Thanks for reporting this. We will take a look.

@mssfang This would be a great sample scenario for the AppConfiguration SDK.

Hi @mrm9084 , it seems like an issue with the azure-spring-cloud-appconfiguration-config package, could you help to look into it? Thanks~

Hi @mrm9084 , it seems like an issue with the azure-spring-cloud-appconfiguration-config package, could you help to look into it? Thanks~


Unable to re-type at start of 'Name on card'

Describe the bug
Typing in last name then typing first name before last name is not possible.
To Reproduce
Steps to reproduce the behavior:

Go to https://www.mystoredemo.io/#/
Add any item to the cart
Enter the checkout
Input Last name to 'Name on card' field e.g 'Smith'
Input First name before last name to 'Name on card' field e.g 'John'

Actual behavior
Name 'JSmithohn' was typed into 'Name on card' field
Expected behavior
Name 'John Smith' to be into 'Name on card' field
Desktop :

OS: macOS, Windows
Browser: Chrome, Firefox
Version: 92.0.4515.131 (Official Build) (x86_64)

Hi @karajanov-nikola ,
Thanks for reaching out to us. Can you tell us which version of adyen-web are you using? I did a quick test on our MyStoreDemo with Chrome and Firefox and I didn't manage to reproduce the issue.

Closing this as we didn't manage to reproduce the bug. Feel free to reopen it if the issue still persists.


Port for running HaaS server hard coded into rest.py

HaaS server fetches the information like which port to run on from the file rest.py ( /haas/moc/rest.py)
While looking around the source code along with Jason, we came across this line
run_simple('<IP_ADDRESS>', 5000, wsgi_handler, use_debugger=debug, use_reloader=debug)
which states that the port is hard coded and we cannot use any other port to run a HaaS server.
This is a problem if we wish to run multiple instances of HaaS server to test the recursive HaaS setup.
Was wondering if this should be parameterized ?

Quoting Sahil Tikale (2015-03-06 14:21:18)

Was wondering if this should be parameterized ?

Probably. Patches welcome, If I have some time I'll get to it, but no
promises for a time frame.
-Ian

do we want to specify the port using a config file or pass it as a command line argument?

Good question. I think a CLI argument might make more sense. @henn, @gsilvis, @lokI8, opinions?

It is quite typical to be able to specify configurable object such as port
number as a command line argument and from config. file.
Perhaps, start with command line argument. Once that works then can move on
to support config file especially if we anticipate many many customized
port numbers.
On Mon, May 18, 2015 at 5:16 PM, apoorvemohan<EMAIL_ADDRESS>wrote:

do we want to specify the port using a config file or pass it as a command
line argument?
—
Reply to this email directly or view it on GitHub
https://github.com/CCI-MOC/haas/issues/399#issuecomment-103214086.

I thought so as-well. Submitted the changes for review (Opened pull request #429 ).

Quoting pns005 (2015-05-18 22:15:10)

It is quite typical to be able to specify configurable object such as
port number as a command line argument and from config. file.
Perhaps, start with command line argument. Once that works then can
move on to support config file especially if we anticipate many
many customized port numbers.

I would agree except that the haas serve command is just for
development purposes --- this is bypassed entirely in a production
setup, and you'd set the port in the webserver config.  This is mainly
going to be useful when working on something like recursive haas, where
you need to avoid collisions. I don't have a strong objection to adding
a config file option though.

Just realized the I have not done exceptional handling for (1) if the user specifies port number outside 0-65535 range. (2) non numeric port number. The code will crash showing ugly stack trace. Please cancel the previous pull request.

Quoting apoorvemohan (2015-05-19 17:16:42)

Just realized the I have not done exceptional handling for (1) if the
user specifies port number outside 0-65535 range. (2) non numeric port
number. The code will crash showing ugly stack trace. Please cancel the
previous pull request.

Good call (the cli, and HaaS generaly, already does way too little error
checking, but we should start improving it, so thanks). I see you've
already pushed some changes (and I've made some comments) -- there's no
need to "cancel" the pr, it will update automatically as you continue to
work on that branch.
-Ian

addressed in #429


When I use this function to set entitytype for regarding, sometime regarding “Change View” can not see some entity I set.

When I use this function to set entitytype for regarding, sometime regarding “Change View” can not see some entity I set.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 171767a7-8acf-6025-68d2-e752dacea431
Version Independent ID: 0c5045ab-df21-7d82-3eee-364955ea2920
Content: setEntityTypes (Client API reference) in model-driven apps - PowerApps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/controls/setEntityTypes.md
Service: powerapps
GitHub Login: @KumarVivek
Microsoft Alias: kvivek

I have the same problem restricting the parentcustomerid lookup on Contact Quick Create form to just Accounts:

@zstCreating @simes1 Thanks for contacting us. We have created a internal work item for the respective dev team. Will update the docs if any when the issue is resolved. Closing the issue.  If you need further help, please reopen the issue or open a new issue.


MA matching Elton John & Britney Spears tracks to Hans Zimmer

What version of Music Assistant has the issue?
2.3.3
What version of the Home Assistant Integration have you got installed?
Not installed
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
Similar to https://github.com/music-assistant/hass-music-assistant/issues/3141, MA is mismatching filesystem artists when the tracks are properly tagged. After reading 3141, I cleared the DB and scanned again, but still have issues. For some reason, Britney Spears and Elton John performances are being listed as Hans Zimmer. In fact, when I clicked "Refresh Item" while looking at Hans Zimmer, it changed the display name to Elton John and loaded a picture of him. I note that there are still about 160 tracks out of 16,000+ that have improper tags, but none of them are the affected tracks. I am working my way through the 160 tracks and will clear the DB again and report back if that helps.

(After selecting Refresh Item on Hans Zimmer.)
How to reproduce
Clear the database and wait for re-scan.
Search for artist Hans Zimmer. Note that Britney Spears & Elton John albums are listed under him.
Click Refresh Item. Note that the name and picture changes to Elton John
Music Providers
Filesystem (remote share) is the only music provider.
Player Providers
Chromecast, Home Assistant Media Players, and Sonos S1, but this occurs without trying to play the media anywhere.
Full log output
music-assistant.log
Note I didn't restart MA after clearing logs, so the new issue starts around line 3625 where I restarted HA, tried to find Hans Zimmer, then cleared the database.
Additional information
No response
What version of Home Assistant Core are your running
2024.12.4
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Raspberry Pi

All reports of this kind of issue recently has turned out to be either a provider misconfiguration, a track with multiple artists (neither likely in your case) or a tagging problem.
Once you have cleaned those last 160 do a DB reset and then restart MA and see what happens. If there is still a problem then make a minimal folder with just the affected tracks, turn on debug for the metadata controller, reset the DB and then import that.

I cleared up the remaining tracks using Mp3tag (which detected over 400 without albumartist), cleared the database, restarted MA, and waited for the scan to complete. Hans Zimmer is still listed as the artist for most of Elton John and Britney Spears albums. When I go to an album marked as HZ, I can refresh item and it will be changed to EJ with all the tracks now listed as Hans Zimmer and Elton John. If I Show Info for each track individually, I can refresh each track to return it to EJ-only one at a time. I don't see a way to refresh all tracks in an album because as I mentioned refreshing the album doesn't remove HZ from the tracks.
Apparently I didn't turn on debug in the correct spot, because turning it on for Filesystem resulted in lots of (MainThread) [music_assistant.filesystem_smb] Processing: [song path] with no information about how it was being matched. Before I clear the database and run again against those artists, can you please clarify where I need to turn on debug? Many of the other settings are set to global (default) but I can't find where the global log setting is determined after clicking through the setting tabs.

Yes that is possible. There is an open item on the backlog for "Multiple Artists not always being identifed correctly in the database". You can do a minimal share as I said above and test this. Just add a single track or album without the multiple artists and see if that works ok. Then add the one with multiple artists. You may find the problem occurs depending on which you add first.

Thanks. Before I do that, can you tell me where in the settings I need to enable debug? Turning it on for Filesystem didn't capture any useful data. It seems like every subsystem has a global [default] setting, but I haven't been able to locate where global is defined.

Try MA SETTINGS >> CORE >> METADATA CONTROLLER

I haven't been home to test the minimal install yet, but I have been playing with it remotely. I re-scanned all of the Britney Spears songs to properly show them as her and not Hans Zimmer. Then it made her be a collaborator on Gladiator with HZ. (I got no end of chuckling about Russell Crowe in his Gladiator costume singing "Ooh Baby Baby," but that's besides the point.) Anyway I then scanned the Gladiator songs one by one, and after they were all changed back to Hans Zimmer and the proper collaborator (I forget who), Britney Spears was changed back to HZ. Since it seems to be uncorrectable, I've stopped re-scanning the tracks to have them show the proper artist. I also noted the artist names are correct in the playlists even though the individual track info is wrong when you click show information.
I might not be able to setup a minimal share before the issue goes stale again, but I'll report back if I do.


Bug:  Unable to set custom prompt for BedrockLLMAgent

Expected Behaviour
The agent should accept and use the custom prompt
Current Behaviour
options.custom_system_prompt.get('template'),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

AttributeError: 'str' object has no attribute 'get'
Code snippet
ws_agent = BedrockLLMAgent(
    BedrockLLMAgentOptions(
        name="<AGENT_NAME>",
        description="<AGENT_DESCRIPTION>",
        streaming=True,
        inference_config={
            "temperature": 0.5,
        },
        retriever=AmazonKnowledgeBasesRetriever(
            AmazonKnowledgeBasesRetrieverOptions(
                knowledge_base_id=KNOWLEDGE_BASE_ID,
                retrievalConfiguration={
                    "vectorSearchConfiguration": {
                        "numberOfResults": 12,
                        "overrideSearchType": "HYBRID",
                    },
                },
            )
        ),
        model_id=TEXT_LLM ,
        custom_system_prompt="<CUSTOM_PROMPT_HERE> "
    )

Possible Solution
No response
Steps to Reproduce
Provide a custom system prompt while creating the agent

Hi,
The custom prompt should be set using either custom_system_prompt during initialization or set_system_prompt after initialization. Here are working examples for all cases:
# 1. At initialization WITHOUT variables:
ws_agent = BedrockLLMAgent(BedrockLLMAgentOptions(
    name="<AGENT_NAME>",
    description="<AGENT_DESCRIPTION>",
    streaming=True,
    custom_system_prompt={
        "template": "You are a specialized agent. Focus on these areas: 1) Analysis 2) Reporting 3) Recommendations"
    }
))

# 2.  Focus on these areas: {{AREAS}}""",
        "variables": {
            "ROLE": "specialized agent",
            "AREAS": [
                "1) Analysis",
                "2) Reporting",
                "3) Recommendations"
            ]
        }
    }
))

# 3. After initialization WITHOUT variables:
ws_agent = BedrockLLMAgent(BedrockLLMAgentOptions(
    name="<AGENT_NAME>",
    description="<AGENT_DESCRIPTION>",
    streaming=True
))
ws_agent.set_system_prompt("""You are a specialized agent.
Focus on these areas:
1) Analysis
2) Reporting
3) Recommendations""")

# 4. After initialization WITH variables:
ws_agent = BedrockLLMAgent(BedrockLLMAgentOptions(
    name="<AGENT_NAME>",
    description="<AGENT_DESCRIPTION>",
    streaming=True
))
ws_agent.set_system_prompt(
    """You are a {{ROLE}}. Focus on these areas: {{AREAS}}""",
    {
        "ROLE": "specialized agent",
        "AREAS": [
            "1) Analysis",
            "2) Reporting",
            "3) Recommendations"
        ]
    }
)

Note: The documentation has been updated to include these examples and more detailed ones showing how to properly set custom prompts in all scenarios. You can find the complete documentation [here] with full explanations and additional use cases.
The issue in your code was trying to use get('template') directly on the options. Instead, you should provide the template as part of the custom_system_prompt dictionary when initializing, or use set_system_prompt after initialization.
Would you like me to provide more specific examples or explain any of these approaches in more detail?


Doesn't work when Minecraft is set to fullscreen mode.

Weird this screenshot is broken. I will try to get a new one but the toast shows up when Minecraft is still loading and the text is broken.

Not possible to provide a screenshot because every time it's broken for some reason... Will try to record this if you can't reproduce it.

 During startup in my testing when i was making this mod, this method only calls two times, so i only set this to only call two times (#1 should explain why i did this). But somehow when its in full screen mode, it calls that same method four times during startup instead of two. i probably have a workarround for this.

This should be fixed, if you have any other issues, please open another issue thread, thanks.

I wasn't going in or out of fullscreen. This showed up when I saved my world

thats odd, do you have the log, because i have it set to print a stacktrace

never mind i think i found the fix, turns out the problem seemed to be that if the control variable "hasGameStarted" is 2, then every time it shows the title screen it might kick that message. probably a very easy fix

Ok so I started mc and didn't resize it, got the toast then go to the singleplayer and returned back and saw this

never mind i think i found the fix, turns out the problem seemed to be that if the control variable "hasGameStarted" is 2, then every time it shows the title screen it might kick that message. probably a very easy fix

oh

i should be rolling out an easy fix right now

This happens when you maximalize mc when it's loading

[22:25:46] [main/INFO]: [STDERR]: The user toggled full screen during startup
[22:25:46] [main/INFO]: [STDERR]: java.lang.Exception: Stack trace
[22:25:46] [main/INFO]: [STDERR]: 	at java.lang.Thread.dumpStack(Thread.java:1336)
[22:25:46] [main/INFO]: [STDERR]: 	at io.github.blobanium.lt.LoadingTimer.load(LoadingTimer.java:75)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.class_442.handler$zic005$init(class_442.java:516)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.class_442.method_25426(class_442.java)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.class_437.method_25423(class_437.java:325)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.class_425.method_25394(class_425.java:139)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.class_757.method_3192(class_757.java:605)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.class_310.method_1523(class_310.java:1048)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.class_310.method_1514(class_310.java:681)
[22:25:46] [main/INFO]: [STDERR]: 	at net.minecraft.client.main.Main.main(Main.java:215)
[22:25:46] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[22:25:46] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[22:25:46] [main/INFO]: [STDERR]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[22:25:46] [main/INFO]: [STDERR]: 	at java.lang.reflect.Method.invoke(Method.java:498)
[22:25:46] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
[22:25:46] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
[22:25:46] [main/INFO]: [STDERR]: 	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
[22:25:46] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[22:25:46] [main/INFO]: [STDERR]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[22:25:46] [main/INFO]: [STDERR]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[22:25:46] [main/INFO]: [STDERR]: 	at java.lang.reflect.Method.invoke(Method.java:498)
[22:25:46] [main/INFO]: [STDERR]: 	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
[22:25:46] [main/INFO]: [STDERR]: 	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
[22:25:46] [main/INFO]: [STDERR]: 	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
[22:25:46] [main/INFO]: [STDERR]: 	at org.multimc.EntryPoint.main(EntryPoint.java:34)
I didn't enter fullscreen, only maximalized.

It's even better when you maximalize and then unmaximalize

So it fully loaded, then I maximalized and god notification about going into fullscreen when mc is loading

i probably should move this to another issue thread, as this is probably more resembling another issue. (#11)


MM-38539 Only rehydrate drafts from localStorage on first load

Summary
Companion PR to #8978. Draft rehydration was occurring on any change to localforage when it was only required on first load. This had a side effect for multiple tabs on the same desktop app or browser causing a lot of unnecessary hydration resulting in high CPU usage.
@jgilliam17 for testing can you make sure drafts still persist correctly after refresh and channel switch? Particularly when typing quickly and immediately reloading the page.
Ticket Link
https://mattermost.atlassian.net/browse/MM-38539
Release Note
Performance improvements for draft storage with multiple tabs open

That one's actually only a couple months old and we /might/ get to actually fixing it next quarter :)

Nothing's more permanent than a temporary fix 😛

Cherry pick is scheduled.


File format for raw data

ISMRMRD looks very interesting: https://ismrmrd.github.io/
Example usage: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5349250/

Original authors: Unknown

relates to

https://github.com/bids-standard/bids-specification/pull/1551


Request: include an example of documenting models and their (optional) required properties

👋🏻 G'Day!
OpenAPI has the concept of allow us to describe the actual model and also which properties are required.
Here's an example of the canonical "petstore" swagger UI:

with a snippet of the json for this OpenAPI being:

This would really help people add more detail to their OpenAPI's in their Minimal API apps.
Even if this is an implementation detail about OpenAPI and is not specific to Minimal API apps, even a link to external information would be 💯 lovely!
For bonus points, if you were able to add something to this page ... using records (instead of classes) would be so awesome. or both record's and classes
thanks kindly, awesome team! 🎉

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: b18acd86-50e3-2316-27be-27156651e5a8
Version Independent ID: b18acd86-50e3-2316-27be-27156651e5a8
Content: How to use OpenAPI in Minimal API apps
Content Source: aspnetcore/fundamentals/minimal-apis/openapi.md
Product: aspnet-core
Technology: aspnetcore-fundamentals
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Can’t you use the [Required] data annotation on your DTO? Swashbuckle will pick it up and show the asterisks as well

Maybe? Whatever the answer is, my request here was to get it documented for noobs like myself. 😊

https://learn.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-7.0&tabs=visual-studio#data-annotations
This should help you out, there is a good example of the [Required] data annotation

Thank you for contacting us. Due to a lack of activity on this discussion issue we're closing it in an effort to keep our backlog manageable. If you believe there is a concern which hasn't been addressed, please file a new issue.