NFT Storefront revamping

Changelog -

Programmatically delete all the duplicate listing if the given NFT get purchased.
Add a getter function that provides an array of listingResourceIDs of the duplicated listings for a provided listing ID.
Add a feature of expiry to the listing, If the current timestamp gets greater than the provided expiry then the listing would not allow purchase.
Add a function under the StorefrontManagerPublic resource to delete the expired listing for better storage hygiene.
Add a customID, i.e. a string that can be added by the seller in the listing so it will be easy to find out on the off-chain processes which listing belongs to whom in respect of dApps or wallets going to use storefront contract.
Add support for royalty in the transaction so the storefront consumes the royalty details.
Add a commission amount that can be grabbed by anyone who is going to facilitate the purchase.
Add an optional marketplaces capability support so the commission can only be transferred to the designated marketplaces instead of grabbing to anyone.
Complete test suite for NFTStorefrontV2.

Open items -

[x] Do we want another set of transactions and scripts to support the older version of the NFTStorefront?

[x] Add support for running the JS test suite in the CI.

It closes #41 #38 #40 #39 #37

@satyamakgec I have a couple comments:

Can you please add a description to the PR to explain what the purpose is, what the main features/additions are, and any specific callouts we should know about?
If it truly is a completely new version of the storefront that we are going to be deploying, can you also create a new contract file for it (something like NFTStorefrontV2), and new transactions/scripts for it so we can differentiate the two?
I don't see any tests for the new contract yet. Are those in a different branch or have you not started those yet? We should make sure we have thorough and well documented tests for as many cases as possible. You can choose whether you want those to be in Go or Javascript

https://github.com/onflow/nft-storefront/blob/5a919e4b806351673128d18ccc54f51a422d2dcd/contracts/NFTStorefrontV2.cdc#L567
when a listed is removed, don't we need to update listedNFTs map as well??

https://github.com/onflow/nft-storefront/blob/5a919e4b806351673128d18ccc54f51a422d2dcd/contracts/NFTStorefrontV2.cdc#L293
payment.balance == self.details.salePrice: "payment vault does not contain requested price"
Don’t we need to include commision price as well while checking the above?

https://github.com/onflow/nft-storefront/blob/5a919e4b806351673128d18ccc54f51a422d2dcd/contracts/NFTStorefrontV2.cdc#L564
Don’t we need to exclude already purchased listings from removing??

https://github.com/onflow/nft-storefront/blob/5a919e4b806351673128d18ccc54f51a422d2dcd/contracts/NFTStorefrontV2.cdc#L606
cleanupExpiredListings:
This method looks very generic, across listings regardless of the underlying NFT.
If we ever have to cleanup listings of only particular NFT, with this current interface(on indexes) it becomes very difficult.
And there is no guarantee that all listings of a particular NFT will be persisted in sequential order within this listed array type. If a user is listing multiple NFTs for sale, we would have all his listings in this listed array in random order(based on when they are listed).

https://github.com/onflow/nft-storefront/blob/5a919e4b806351673128d18ccc54f51a422d2dcd/contracts/NFTStorefrontV2.cdc#L567
when a listed is removed, don't we need to update listedNFTs map as well??

Nice observations, Implemented

https://github.com/onflow/nft-storefront/blob/5a919e4b806351673128d18ccc54f51a422d2dcd/contracts/NFTStorefrontV2.cdc#L564
Don’t we need to exclude already purchased listings from removing??

I am agnostic about this, It is up to the resource owner whether it wants to remove the already purchased one or unpurchased one. I don't think it will affect the system. We may need to update the comment to accept the behaviour.

I think this rewamp does not go far enough. It should just remove cuts  and use the Royalties view from the metadata standard and the Display as well.
Also I do not like that it still relies on a provider capability to your entire collection. It is like giving somebody SUDO to your entire NFT collection.

I think this rewamp does not go far enough. It should just remove cuts and use the Royalties view from the metadata standard and the Display as well.
Also I do not like that it still relies on a provider capability to your entire collection. It is like giving somebody SUDO to your entire NFT collection.

Out of curiosity, what's the alternative to a provider with what we have at our disposal right now?

@austinkline we need a ProviderWrapper I guess.

Also I do not like that it still relies on a provider capability to your entire collection. It is like giving somebody SUDO to your entire NFT collection.

I think that part is wrong usage from the marketplaces, in an ideal world, I think you should create the StoreFront resource on user account, so users are only giving access to themselves.
But unfortunately I guess this is not explained good enough and StoreFront lacked in the beginning much, so forking the storefront was the common pattern.

Out of curiosity, what's the alternative to a provider with what we have at our disposal right now?

A struct that has a provider with access(self) and an ID and only allow you to withdraw that one item. I call this an AuthPointer.

I think this revamp does not go far enough. It should just remove cuts and use the Royalties view from the metadata standard and the Display as well.
Also I do not like that it still relies on a provider capability for your entire collection. It is like giving somebody SUDO to your entire NFT collection.

When you say that it doesn't get far enough, What does it mean exactly? I disagree with you to remove the cuts from the NFT storefront as there can be many reasons where funds would be transferred to some x-party that doesn't fall under the royalty and if you don't have any then current written transaction would only use the royalty as the cuts so it is flexible in that sense, Yes royalty can embed within the contract but I avoid it because there is no wider adoption for the royalty yet and there would be cases where the secondary markets don't want to support royalties so it was an optional thing within the transaction to make it flexible. Happy to get more feedback and am open to suggested changes.
I don't think there is a problem providing the providerCapability as it would be owned by the resource that is owned by the seller itself so in other words seller is providing the capability to itself and that way it allows the contract to execute without any human intervention. As far as I understand your suggested approach is not different because here also we are only withdrawing the NFT that is listed in the listing details.

It is imperative to use the royalties standard correcrly in storefront. If we want to spread adoption it must be implemented first here and in other settlement contracts.
My uneerstaning or Royalties in the standard id:
If an NFT expose Royalties marketplaces MUST either honor that or not allow listing. If you cannot honor it you should emit an event? Thoughts @joshuahannan?
For .find we plan to inform about royalties even when sending an NFT to another user and prompting the user to compensate. Users will do the right thing if they can and are given the option.

It is imperative to use the royalties standard correcrly in storefront. If we want to spread adoption it must be implemented first here and in other settlement contracts.
My uneerstaning or Royalties in the standard id:
If an NFT expose Royalties marketplaces MUST either honor that or not allow listing. If you cannot honor it you should emit an event? Thoughts @joshuahannan?
For .find we plan to inform about royalties even when sending an NFT to another user and prompting the user to compensate. Users will do the right thing if they can and are given the option.

Chiming to say I agree with this. If not the Storefront standard contract, where else would royalties be actually implemented as intended? This and contracts like it checked into the onflow org should be doing things the "right" way and royalties were made to be paid out in real time, right?

I think royalty should be suggestion not something we should enforce. I think it is super easy to fork storefront and remove that enforcement, but afterwards we will end with big fragmentation that is not good for ecosystem.
I still feel this is too monolith and poor on composability. But I think we can have some purchase method parameter bool as shouldPayRoyalties, and buyers can decide to do the right thing.

I think royalty should be suggestion not something we should enforce. I think it is super easy to fork storefront and remove that enforcement, but afterwards we will end with big fragmentation that is not good for ecosystem.

I disagree. The reference/standard implementation for a marketplace should do the right thing. And IMHO that is that if a NFT provides royalties that the creator set there it should be honored.

The reference/standard implementation for a marketplace should do the right thing.

I totally agree on this, but StoreFront Contract is neither of those, StoreFront is a building block. ( or it has to be )
For the comparison, StoreFront resource is stored in user account vs Marketplace account.
Problem is when contract deployment was restricted, minimum requirement was to StoreFront be self sufficient, so that even without deploying contract you can start a market place.
Now we are stuffing a lot of things inside Storefront, and converting it to a big monolith structure. What has to be done is breaking StoreFront utility parts in to different contract / contracts , and then making a reference marketplace contract using StoreFront tools. ( like lego bricks )
For me StoreFront should be a contract resource, which will store in user account, that will give some NFT/Resource for the set amount of FT. Rest can be setup as some kind of PlugIns:  Cuts, Royalties, Commissions, or anything we don't foresee now, can be introduced as a PlugIn.
You can initialize your listing withRoyaltyFromMetadataPlugin or you can add plugIn for MarketPlaceCommisssion etc. This is how composeability should look like in my opinion.

Good points Josh. My thinking was that additional cuts could be represented as royalties you just send into the listing in addition to royalties you get from the nft.

@bjartek Then if a user decides to list a NFT in more than one marketplace, wouldn't that cause to have as royalties different marketplaces commissions, making a marketplace that does not complete the sale to receive a sale cut?

@alilloig i have never understood how this contract is meant to be used in a multi-tenant way without extensive off-chain support.
I can list somethings in my own tx and then it will show up in both blocto and rarible IIRC. However they can add code to their fulfillment tx that requires them to have a cut and that will not be the case. Then this transaction will fail.
I fail to see where this is good for the end user.

I appreciate everyone for contributing to the discussion of the NFT-storefront revamping, I am truly thankful for the community to show their love for it. The last piece of the puzzle (,i.e. royalty in or out in the storefront itself) still remains hanging, after lots of discussion within the internal team and the different other stakeholders we come to the conclusion of keeping the contract as per the current state, But we encourage our community to come up with other variants that can solve the remaining problems or improve the existing solutions.
I am keeping this PR open for a day or two more for any further comments after that we will merge this and move forward to the improved reincarnation of the nft-storefront on the testnet and mainnet in the coming future.

Fair enough. Everything is a compromise.

@bjartek So are you saying in your last comment that you are ok with calculating them up front? that is what we agree should be done

Personally I think the chosen way is preferred at all. Cuts are calculated in a transaction and not in code. So it is optional to honor royalty in an NFT. Resolving royalties at settlement vs as listing is also preferred, but not as problematic as the first issue.

It is a little bit of work to make this happen I think, because you have to have a way to get the royalty out of the NFT so the nft collection capability have to be restricted on MetadataViews.ResolverCollection so that you can borrow the view resolver and get the Royalties struct.

Why don't we have this function check the underlying collection capability, and if the NFT is not present using getIDs or something, we can return nil here?

@joshuahannan We don't need it as we are providing the details that were provided by the seller itself no new details and if the NFT is sold then purchased get set that will create the differentiation already.

Can we make this return an optional? And is it possible to make it so that it returns a version that can return the metadata views of the NFT?

@joshuahannan It is marked optional with the new changes while it isn't straightforward returning the reference of metadata views resolver.

Also, I saw that you removed all the go tests, makefile, and packages. Can you leave those in so those tests can still run during CI and so we can continue to use the Go packages?

@joshuahannan I love to but I am not sure those tests were in a working state.


Use runtime scope instead of provided

This PR changes the scope of the transitive dependencies to runtime instead of provided. The current set up in fact has the following downside when developing:

the jar created by the maven-shade-plugin, which should contain all the dependencies and can be run locally simply with the java -jar command, is not working since the provided dependencies are not included in it.
IDEs that uses the pom.xml (Intellij, VSCode) pick up the wrong dependencies when building the class path to run the application.

This change fixes both problems and facilitates building and running the application locally.

But with this change dependencies that would be provided by the runtime environment will now be part of the package.
Do you expect any conflict in case a different version is present in the runtime environment?

But with this change dependencies that would be provided by the runtime environment will now be part of the package.

They will be part of the shaded jar but not part of the final RPM package. The RPM package uses the normal jar (which does not contain any additional code) and the dependencies are dictated only by the spec file. Moreover, in Uyuni/SUSE Manager we use a script to build the runtime classpath.
The pom definition and shaded version jar is only take into consideration during local development and having the dependencies in the runtime enviroment is specifically what I wanted to obtain for this use case. Currently in fact, you simply cannot run subscription-matcher locally through java -jar or through the IDE actions and you have no easy way to just build and run the application to test it, because those provided dependencies are never included in the classpath and you always get a ClassNotFoundException.
Also, please note that this was a change that I made when restructuring the dependencies when separating the actual compilation dependencies from the transitive dependencies we need only at runtime. In the past there was no scope difference, everything was just compile. I decided to set the scope to provided because those jars are installed through packages on the final system. I did not realize that it was messing with the classpath used by any IDE until Jens from the SCC Team tried to do some testing on subscription-matcher.

Do you expect any conflict in case a different version is present in the runtime environment?

No, because, as I wrote above, this change is affecting only when you run the jar in your local development machine. If you run it in an environment where you have all the required packages installed, you can just use the bash script with the updated non-shaded jar. Moreover, the version of the dependencies we declare in the pom is meant to always match the versions we ship with the official packages. It is true, though, that the binary jar might not be the same, because in OBS/IBS we apply custom patches and fixes. In order to have the same exact runtime environment while developing, we should use obs-to-maven.

Got it (on OBS/IBS we use the original jar and not the shaded one).
All good from my side :)


Don't have option for attachments

[Enter feedback here]
Option to add attachments is not available in my Get Approve template is not available. I cannot see any other option. It only appears for the approved e-mail but that doesn't work for me. I have to include the attachments to approver email.

Document Details

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

ID: 8733617a-cad0-07ac-23c9-064ed750e3a7
Version Independent ID: 787cd076-51a5-f198-06de-12046126063e
Content: Send attachments with approval requests - Power Automate
Content Source: articles/approval-attachments.md
Service: power-automate
GitHub Login: @MSFTMan
Microsoft Alias: deonhe

@mlenair We've updated this document with the steps for adding attachments to approval requests.


[bug] unable to generate using colima

Describe the bug
When using colima I am unable to run fern generate.
To reproduce
Steps to reproduce the behavior:

Quit docker desk, Install and set up colima
run fern generate with --keepDocker
Observer that there are no resulting docker containers

Expected behavior
Should run successfully or persist the docker container
Versions

Desktop OS: macOS
Fern Version: 0.15.2

I've got the same issue with https://orbstack.dev/ and below is my workaround.
DOCKER_HOST="unix:///Users/huynhdung/.orbstack/run/docker.sock" fern generate --local

You could get the path by command: docker context ls --format json | jq

FYI - Worked for me with Orbstack but got error with Colima.
❯ DOCKER_HOST="unix:///Users/huynhdung/.colima/default/docker.sock" make generate-sdk
Generating SDK...
[api]: ✓ All checks passed
[api]: fernapi/fern-typescript-node-sdk Docker exited with a non-zero exit code. Logs here: /var/folders/rz/6r6_41fx38b7f5c2p2jbqqzh0000gn/T/tmp-2431-5JyQzX0as58c
[api]: fernapi/fern-typescript-browser-sdk Docker exited with a non-zero exit code. Logs here: /var/folders/rz/6r6_41fx38b7f5c2p2jbqqzh0000gn/T/tmp-2431-nffNh7GNzOMD
┌─
│ x  fernapi/fern-typescript-node-sdk
│ x  fernapi/fern-typescript-browser-sdk
└─
make: *** [generate-sdk] Error 1

Since this was filed, we haven't gotten this request again. Closing, but open to re-opening if you'd like to follow up!


Show more than 10 users

Nice plugin, but the number of active users shown in the widget is limited to 10.
Can you make that a configuration setting, and perhaps make the list in the widget scrollable (max-height = ... with overflow: auto) or something?
Thank you

We also thought of that and have it on our "roadmap".

fixed in version 1.1.1


gnssFGO with LIO

@hz658832   Thanks for your great works and released code!
I read your released code,  I found the code that gnssfgo coupled with lio is not included in the released code.
Is that part of the code released? Or I didn’t understand your code？
Thanks a lot!

Hi @wolf943134497,
currently, I have only adapted/used the LIO-SAM, but I did not integrate the LIO-SAM totally into my framework.
It means that the LiDAR-pre-processing (raw PC -> features) must still be carried out using the LIO-SAM (have a look into the launch run_fgo). As you can see, there is a LIO-SAM folder in the repo.
Besides, I "put" the LS to calculate the LiDAR-Odometry under include/sensor/lidar/LIOSAM.h. There is an sensor integrator called LIOIntegrator that has an instance of LIOSAM.
It would be better to get KISS-ICP along with the gnssFGO, perhaps you could give a try.
Bests,
Haoming

@hz658832  Thanks for your quick reply！
I think it is possible to run the LIOSAM (or other odometer algrithm) algorithm offline and record the result？
Then  use this topic directly and integrate lio pose into the gnssfgo framework（use LIOIntegrator  in GraphSensorCentric and GraphTimeCentric).  just update Integrating other sensor code.

Hi  @wolf943134497,
Yes. GraphSensorCentric has yet to be uploaded since it is not my main claim.
But, as online is the buzzword for onlineFGO, it could be more convincing that one runs everything on the air. Furthermore, if you have pre-processed the LiDAR odoms, there won't be any delay in the LiDAR pre-processing, which questions the main contribution of the time-centric graph optimization.
Cheers,
Haoming


Fix typo in runtask_command.go

Following is the tyhttps://github.com/openebs/maya/blob/master/pkg/task/v1alpha1/runtask_command.go#L407po error in file :
Line 171: "occured" is a misspelling of "occurred" (misspell)
Line 407:  "occured" is a misspelling of "occurred" (misspell)
Help Links :
Contributors guide

Taking up this issue.

@sark01
Sure! Please go ahead.


Revert "Rename init and finalize"

Reverts eth-cscs/DataWeaver.jl#8

it seems that the new version of documenter or another package used for building the documentation has been released and it has turned previous (unjustified) warnings into errors... this is independent of this pull request, so it does not need to be reverted.


build_pygments_data: Include zulip specific data in langs.

This fixes a bug where the typeahead did not include the
zulip specific langs (such a quote, spoiler and math)
as these weren't passed to the typeahead's source.
Introduced in af64c52166d4794fd7a24172d2e893c692ddb508.
Fixes #16862.

Testing plan:
GIFs or screenshots:

Merged as 10559c05eee9a62dddf2101806230d39040dbef8, thanks @ryanreh99!  @andersk FYI as the regression was in your previous changes.


Migrate formats for Countryside Stewardship Grants

https://trello.com/c/UBM8Q7p1/531-csg

Thanks @benlovell, do you think the _countryside_stewardship_grants.html.erb form looks ok now?


cant find repository file

hi.
I install gitea in my windows server and use PostgreSQL for the database.
everything is ok but I can't find my repository file
where gitea save them? I see git file in repository folder but cand find project file.

git bare repositories will not include work tree.

@lunny I don't understand
I have some file in a repository like README.md but i can't find them

I think you should know how git store the files at first.

You need to clone your repository from Gitea over SSH through the Gitea user or http(s), the folders that represent Gitea's internal repositories should not be used directly except by Gitea.

thank for your help,i read about how git store the files and i understand.


enemy name

Elder skag name is messed up, will look into it later

Translator didn't handle the names of enemies that transform, it's getting fixed now.


adding dot when parsing string templates

This is useful to be able to pass flattened objects to the template.
So you can do:
var user = { user: { name: 'Mark' }};
var flatUser = flatten(user); // => { "user.name": "Mark" }
var string = format('Hello {user.name}', flatUser);

Coverage remained the same at 100.0% when pulling ee257522aaa55467a67a04d9b4ceae80ae3b4066 on botverse:master into f63e51a5b60e98e5be1ed07da20332d415482edb on Matt-Esch:master.

Probably should also add "." to string-template/compile.js


Update build tools installation instructions

Fixes the protobuf installation command for macOS and removes some redundant instructions

@kklin Updated (and fixed commits)


Make the Send button more visually prominent

Is your feature request related to a problem? Please describe.
The new layout and design (both light and dark mode) in 2021.1.0 makes it harder to quickly locate the 'Send' button on a request. I believe the addition of the new sync button at the top right as well as the extra header space and theme changes has made the 'Send' button merge into the background more. At least for my workflow, the 'Send' button is what I click on the most, so it should more more prominent than everything else.
Describe the solution you'd like
I'd like to see the Send button stand out a little more from it's surrounding elements, either by making it's appearance more striking, or additionally toning down some of the surrounding elements slightly.
Describe alternatives you've considered
Muscle memory might eventually counter these changes for me, but it's sure to be frustrating to newer users. The design language really needs to lend itself to what's most important.

This is great feedback! Thanks! I definitely understand what you're talkin' about.

yes please, make it more noticeable...

cc: @erickrico


improper locking with -w

migrated from Google Code issue tracker
poeml, 2015-06-15
https://code.google.com/p/withlock/issues/detail?id=1
Reported by bmwiedemann, Feb 20, 2014
What steps will reproduce the problem?
l=test.lock ;
withlock -w100 $l "date +%s; sleep 0.3" & sleep 0.2 ;
withlock -w100 $l "date +%s; sleep 5" & sleep 0.5 ;
withlock -w100 $l "date +%s; sleep 5" ; wait
What is the expected output? What do you see instead?
expected: lock should prevent things from running at the same time.
actual: 2nd and 3rd call run in parallel
What version of the product are you using? On what operating system?
all affected (on openSUSE-12.3 among others)
Please provide any additional information below.
also filed at https://bugzilla.novell.com/show_bug.cgi?id=864785

Actually fixed a year ago, just not tracked here. https://bugzilla.novell.com/show_bug.cgi?id=864785 was updated then.
So, closing!

bug is still there

So the actual bug is the race condition between the time the lockfile is open()ed, and the lock on it is set. Especially if there is a waiting time configured, this time window is huge. Even without, the possibility for the same race condition to occur is there.
What I didn't understand at first is that this bug was blatantly covered behind the even bigger bug that the lockfile was cleanup-removed even if it was never locked by a withlock run. Okay!
I'm wondering. If the goal is to never never have two same jobs running, then the cleanup should simply not happen at all. The lockfiles should just stay in the filesystem. It doesn't harm anyone after all. Then the race condition is gone (unless a sysadmin removes the lockfile by other means.
On the other hand, if the goal is to just prevent cronjobs from stacking up, and have a "clean" filesystem, and one wants to check by lockfile-presence whether a job is running, then the cleanup should stay.
Maybe both could be possible, by configuration?


Feature Request: Active Pane Maxmise / Minimise hotkey

Description of the new feature/enhancement
I have looked in the Issues, and in the default.json settings file under //Pane Management and have been unable to find this feature.
I have just recently moved from developing in Linux to Windows. I have really enjoyed the Linux application Byobu to manage my terminal experience. One feature that I used extensively was "zoom into a split, zoom out of a split". In Microsoft Terminal language that might be "zoom into a pane, zoom out of a pane".
I would be happy to implement this feature if it is deemed useful, but I have not contributed to this project before so some guidance to point me in the right direction would be greatly appreciated.

Proposed technical implementation details (optional)

Thanks for the suggestion! This is actually already being tracked by another issue on our repo - please refer to #996 for more discussion.
/dup #996


"The ability to crop uploaded images" feature in 0.0.12 release

Has this feature "Added the ability to crop uploaded images." been actually added to the last release 0.0.12? I cannot see it nowhere at wink's admin pages. https://qsnapnet.com/snaps/jp01clxzptl

Make sure you re-publish the compiled Wink assets.

Ok, I made re-publish and found this feature https://i.imgur.com/zpa7rTr.png . Thanks


feat: add icons from Learning frontend app

Description
Added new icons from the Learning frontend app which needed in rendering the course outline navigation sidebar.
Feature design: https://www.figma.com/file/gew5tORDX4Q7wxOS8vjqZu/side-nav-OEX?type=design&node-id=548-9267&mode=design&t=CcI9gySq0oJckhbI-0
Deploy Preview
https://deploy-preview-3031--paragon-openedx.netlify.app/foundations/icons/
Merge Checklist

[ ] If your update includes visual changes, have they been reviewed by a designer? Send them a link to the Netlify deploy preview, if applicable.
[ ] Does your change adhere to the documented style conventions?
[ ] Do any prop types have missing descriptions in the Props API tables in the documentation site (check deploy preview)?
[ ] Were your changes tested using all available themes (see theme switcher in the header of the deploy preview, under the "Settings" icon)?
[ ] Were your changes tested in the example app?
[ ] Is there adequate test coverage for your changes?
[ ] Consider whether this change needs to reviewed/QA'ed for accessibility (a11y). If so, please add wittjeff and adamstankiewicz as reviewers on this PR.

Post-merge Checklist

[ ] Verify your changes were released to NPM at the expected version.
[ ] If you'd like, share your contribution in #show-and-tell.
[ ] 🎉 🙌 Celebrate! Thanks for your contribution.

Thanks for the pull request, @ihor-romaniuk! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
This is currently a draft pull request. When it is ready for our review and all tests are green, click "Ready for Review", or remove "WIP" from the title, as appropriate.

I think this is doing the same thing as https://github.com/openedx/paragon/pull/3029, @ihor-romaniuk if 3029 gets merged would that cover your use case?

@brian-smith-tcril Yes, it looks like you have added all the necessary icons in your PR. This PR may have been closed, but I left a couple of comments.

Waiting for the PR: https://github.com/openedx/paragon/pull/3029

@ihor-romaniuk Even though your pull request wasn’t merged, please take a moment  to answer a two question survey so we can improve your experience in the future.


[SILGen] Ensure that we emit the distributed-actor-as-actor conformance

The distributed-actor-as-actor conformance is synthesized by the frontend, so make sure that when we access the API that exposes it (asLocalActor), we be sure to mark the conformance as "used".
This is a very specific workaround for general problem with compiler-synthesized conformances. SIL deserialization can bring in a reference to a conformance late in the SIL pipeline, after the point at which SILGen can create the conformance. We should be able to address this systemically to remove the hack.

@swift-ci please smoke test


resolve error: some trees in census as ash were actually hickories

from @mageeluke : "a couple of ash were actually hickories and, as a result, I didn’t record EAB info. Those will likely stay as errors on the map, however."
Luke, could you please provide tag numbers or tell us where this is noted?

I had the following notes. Although, I'm not totally certain on picking apart C. glabra from C. ovalis.
Tag 093481: species should be Carya cordiformis
Tag 093487: species should be Carya glabra

also here are non fraxinus species tat got some eabf info (may be already resolved later in my script by I need to revisit it):

Note: species identification errors in the main census data should be dealt with in this repo. Then, anything that needs to happen to reconcile the species names in the mortality files should be coded in a new row of this file (which should only fixes mortality files).


Failing app acceptance test in an app using integration test from blueprints

In the ember-help-wanted-backend app, I'm working on adding in integration tests with the new AppAcceptanceTest class.  I'm using a duplicate of the app blueprint integration test but it's failing in my app:
   1. integration › issues-test › GET / > should return a welcome message
   failed with "Cannot find module 'package.json'"
      new AppAcceptanceTest (./Sites/open-source/ember-learn/ember-help-wanted-backend/dist/node_modules/denali/lib/test/app-acceptance.js:43:15)
    _callee$ (issues-test.js:21:19)
    tryCatch (./Sites/open-source/ember-learn/ember-help-wanted-backend/node_modules/regenerator-runtime/runtime.js:62:40)
    GeneratorFunctionPrototype.invoke [as _invoke] (./Sites/open-source/ember-learn/ember-help-wanted-backend/node_modules/regenerator-runtime/runtime.js:336:22)
    GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (./Sites/open-source/ember-learn/ember-help-wanted-backend/node_modules/regenerator-runtime/runtime.js:95:21)
    step (issues-test.js:11:183)
    issues-test.js:11:437
    Test.<anonymous> (issues-test.js:11:99)
    Test.fn (issues-test.js:40:17)
    _combinedTickCallback (internal/process/next_tick.js:67:7)
    process._tickCallback (internal/process/next_tick.js:98:9)

The file in question can be seen here and the corresponding blueprint that I was copying is here

Ran into this too

@acorncom any chance you could try this again against master? I pushed some fixes for the app acceptance test helper yesterday that I think might fix this.

Closing from lack of activity. If you can reproduce against latest, feel free to reopen


Check that PHPRefs are not transparent in Python.

In response to: https://bitbucket.org/softdevteam/pypy-hippy-bridge/issues/26/implement-isinstance-on-w_phprefadapter
(The bug is actually invalid, but the test does not hurt).
OK?

It seems a few places in the code are assuming that PHPRefs are transparent. This was once the case, but now we treat them as opaque. My last commits revise, tidy and add tests to check this.
There is a change to the VM itself on the PyPy side:
https://bitbucket.org/softdevteam/pypy-hippy-bridge/pull-requests/5/phprefs-should-be-opaque
Please merge this too if you are happy.
OK?

tests look good

No noticeable change in performance, merging.


Include normally-stripped mention in replies in logs

Checklist

[X] I'm reporting a problem with Chatterino
[X] I've verified that I'm running the most recent nightly build or stable release
[X] I've looked for my problem on the wiki
[X] I've searched the issues and pull requests for similar looking reports

Describe your issue
When a reply to a message gets logged, only the body contents of the message is logged, meaning the context that it was a reply to a specific user is lost.
For example, the following chat:
UserA: Foobar!
┌ Replying to @UserA: Foobar!
UserB: Baz!

when logged becomes:
[00:00:00]  UserA: Foobar!
[00:00:00]  UserB: Baz!

My proposed solution is to do what both the Twitch mobile app and VOD player do, which is to prefix the message body with the @ mention of the user being replied to.
For example, the following chat:
UserA: Foobar!
┌ Replying to @UserA: Foobar!
UserB: Baz!

when logged would become:
[00:00:00]  UserA: Foobar!
[00:00:00]  UserB: @UserA Baz!

Screenshots
In chatterino:

Currently logged:

Proposed solution:

VOD player:

OS and Chatterino Version
Chatterino 2.4.1 (commit 5ed4a21d) built with Qt 5.15.2, Windows SDK, MSVC 193431942, Crashpad Running on Windows 10 Version 2009, kernel: 10.0.19045

I would be fine with a PR that ensures the mention is included in the logged message.


import-dscresource unique lines

@mgreenegit : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Use search folder as relative path to discover/execute test assemblies

https://github.com/Microsoft/vsts-tasks/pull/3714


Be able to view a capture even on different platform/GPU

Description
RenderDoc doesn't allow to view a .rdc capture file if captured on another platform/GPU. For instance, a VK mobile .rdc capture file on Adreno 640 can't be inspected on a desktop PC with NVidia GPU.
I perfectly get why the capture can't be "replayed" without the original hardware, but why can't I just "look" at the frame commands? ( drawcalls, etc).
A "view mode" only would be awesome to be able to do that for debug purpose.
Environment

RenderDoc version: 1.28
Operating System: Windows 10
Graphics API: any

No I do not plan to add this functionality, as I think the value is quite small but it has a high implementation cost and complexity. If you want to view the contents of a capture without replaying it you can use the python API to examine the serialised structured data.


Multiple Choice Grid Questions

Is there a way to have the code include the row names when posting answers to multiple choice grid questions?

Is there a way to have the code include the row names when posting answers to multiple choice grid questions?

Do you mean by multiple choice questions?
For multiple choice questions the script sends all the selected option in the embed. And if you want to customise the multiple choice questions output, you can do it.

No, specifically I’m referring to grid style questions.  There is a type of question you can create on a Google form that is set up as a grid with columns and rows.  They have a multiple choice version, as well as a check box version and a scale version if you look at it.  When I run that type of question format through the current code, it gives me all the answers based off of the columns, but without text in the row I lose the context of what the answers are for.

I’ll see if I can get some screenshots of an example here in a while.

No, specifically I’m referring to grid style questions.  There is a type of question you can create on a Google form that is set up as a grid with columns and rows.  They have a multiple choice version, as well as a check box version and a scale version if you look at it.  When I run that type of question format through the current code, it gives me all the answers based off of the columns, but without text in the row I lose the context of what the answers are for.

I didn't considered that type of answer as it was difficult to format the output in discord embed. It might be possible to code that into the script but will not be possible to format it as one would want in discord embed.

Ah, so for now the best solution would be to separate the grid question into individual questions so as to maintain the context of what’s being asked?

The formatting I think would be fine though, just with the addition of the text in the grid rows in the answer boxes, if that’s makes sense.  For now though, as I’m not much for coding, the above idea of spolitting the gird into separate questions is probably what I’ll need to do.  Thank you for your quick responses as well, it is appreciated.


Formatter: fails at "yield &block(self)" expecting keyword end, not &,

Bug Report
The formatter fails with expecting keyword end, not `&, `, at :3:11 (Exception) when given that input:
class Foo
  def bar(&block)
    yield &block(self)
  end
end

This is where it throws:
https://github.com/crystal-lang/crystal/blob/bcfc1e506c1bec5237dab6ae6c76ecf0689c54b6/src/compiler/crystal/tools/formatter.cr#L5005
Reproducible on Crystal 1.0.0:
crystal --version
Crystal 1.0.0 (2021-03-29)

LLVM: 10.0.1
Default target: x86_64-pc-linux-gnu

Reproducible also on master:
.build/crystal --version
Crystal 1.2.0-dev [bcfc1e506] (2021-07-25)

LLVM: 11.1.0
Default target: x86_64-pc-linux-gnu

$ cat /tmp/bug/file.cr
class Foo
  def bar(&block)
    yield &block(self)
  end
end
$ .build/crystal tool format --show-backtrace /tmp/bug/file.cr
expecting keyword end, not `&, `, at :3:11 (Exception)
  from src/compiler/crystal/tools/formatter.cr:5005:146 in 'check_keyword'
  from src/compiler/crystal/tools/formatter.cr:5018:7 in 'check_end'
  from src/compiler/crystal/tools/formatter.cr:1434:7 in 'format_end'
  from src/compiler/crystal/tools/formatter.cr:1429:7 in 'format_nested_with_end'
  from src/compiler/crystal/tools/formatter.cr:1413:5 in 'format_nested_with_end'
  from src/compiler/crystal/tools/formatter.cr:1497:9 in 'visit'
  from src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
  from src/compiler/crystal/syntax/visitor.cr:20:7 in 'accept'
  from src/compiler/crystal/tools/formatter.cr:4661:24 in 'indent'
  from src/compiler/crystal/tools/formatter.cr:4685:7 in 'write_indent'
  from src/compiler/crystal/tools/formatter.cr:1401:13 in 'format_nested'
  from src/compiler/crystal/tools/formatter.cr:1392:5 in 'format_nested:write_end_line'
  from src/compiler/crystal/tools/formatter.cr:1428:7 in 'format_nested_with_end'
  from src/compiler/crystal/tools/formatter.cr:1413:5 in 'format_nested_with_end'
  from src/compiler/crystal/tools/formatter.cr:3422:7 in 'visit'
  from src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
  from src/compiler/crystal/tools/formatter.cr:16:7 in 'format'
  from src/compiler/crystal/tools/formatter.cr:5:5 in 'format'
  from src/compiler/crystal/command/format.cr:159:7 in 'format'
  from src/compiler/crystal/command/format.cr:127:16 in 'format_source'
  from src/compiler/crystal/command/format.cr:123:7 in 'format_file'
  from src/compiler/crystal/command/format.cr:110:11 in 'format_file_or_directory'
  from src/compiler/crystal/command/format.cr:103:9 in 'format_many'
  from src/compiler/crystal/command/format.cr:92:9 in 'run'
  from src/compiler/crystal/command/format.cr:53:5 in 'format'
  from src/compiler/crystal/command.cr:160:7 in 'tool'
  from src/compiler/crystal/command.cr:108:7 in 'run'
  from src/compiler/crystal/command.cr:49:5 in 'run'
  from src/compiler/crystal/command.cr:48:3 in 'run'
  from src/compiler/crystal.cr:11:1 in '__crystal_main'
  from src/crystal/main.cr:110:5 in 'main_user_code'
  from src/crystal/main.cr:96:7 in 'main'
  from src/crystal/main.cr:119:3 in 'main'
  from __libc_start_main
  from _start
  from ???

couldn't format '/tmp/bug/file.cr', please report a bug including the contents of it: https://github.com/crystal-lang/crystal/issues

I don't think this code is valid. You can't have a method both yield and capture a block.
The error message might not be ideal. And the compiler should make it a semantic error when calling this method.


smart matching?

http://localhost:3000/?q="still-good"
(searches for "still good" (incl. quotes).
Returns one match whose snippet highlights the text "still better".
Are we using a dictionary to do this equivalency between the words "good" and "better"? Is this desired?
/cc @popzip @yawitz

Also, are we searching comments? It doesn't seem like it. A lost of the time what people are seeking turns out to be content in comments.

The design (as captured in the wireframes) does call for searching comments.
Also, as per Daphne's top post, I assume we want our search to follow/demonstrate MarkLogic conventions and strengths, which I assume would include matching equivalencies. (I'd also assume quoted phrases to be matched as a phrase, but perhaps I'm misunderstanding MarkLogic conventions.)

I would have thought putting quotes around the text would force it to be exact (in fact, that was why I did it)... this is how google works, FWIW.

Agreed. Perhaps that aspect needs to be enabled? @grechaw?

can we wait to delve into this until after release? agreed we should look into.

Fine with me re literal searches in quotes.
However, I still want to understand why it is that a comment I entered on a question wasn't found when I searched for the text that was in the comment.

log a separate bug for the comment issue. as mitch said it SHOULD be searching comment text.

Re searching comments: #506

the quotes surround a default query, which is a word query, and marklogic knows about things like good/better.
I think this could be a value query too - but the "" in Searh API is not to make the match exact, but simply to make a phrase search (in order) rather than individual word searches.
Exact search would have to have some kind of prefix in light of this -- to distinguish it from a bare word search.  Either that, or bare word searched would also be exact.
Sorry about the confusion wrt design or prior expectations -- this is just how Search API interprets quotes.

is good/better an example of stemming?
b/c i found this in docs:

The only time you need to also have word search indexes enabled is when your application requires an exact word search to only return the exact match results (that is, to not return results based on stemming).

also wondering about the "exact" option in cts word query (not sure if applicable here).
while we discuss - 2 actions come to mind:

Should we update search tips to better indicate what is being done with quotes? or remove that from search tips until we have a better handle? /@yawitz
Would be good for inclusion on search overview (#499)

Yes, good/better is default behavior, with stemming.
I'd have to check whether 'exact' is passed through to Search API, but I think it is.  The same issue applies though that " " doesn't change which search is run, so the exact option would apply to both quoted and unquoted words.

If I understand this discussion correctly, I think the search tip (listed in Search Tips wiki page) would still be worth listing, but changed from "a specific phrase" to just "a phrase".
@grechaw, would that be accurate, and make sense?

Yes I think that sounds right

Added task to update search tip: #513.

OK Shall we close this issue then?

That seems appropriate. It also seems that "exact phrase matching" counts as an RFE w.r.t. MarkLogic expected behavior. (@laurelnaiad, is that something you want logged as an RFE/issue?)

I'm not settled on this -
What about this selection from a blog post on the Search API?

Out of the box, search:search()...[understands]...quote marks for exact phrases

I thought we were putting this in 8.0-2?

Yes to 8.0-2. No to closing.

I think that "exact phrase" in that context doesn't mean unstemmed -- just an ordered set of words.  As I understand it, many people ask for unstemmed search but few actually want it.

So I delved in deeply today to better understand the nuances of stemming, exact matches, quotes, etc. Very enlightening! I'm still surprised by the behavior in Samplestack and have not yet sorted out all of the options. Would be great to get a group together for education on this (post release).
Summary of where I'm at:

Is it worth having the requirement on Samplestack to do exact phrase match? (Kasey to investigate prevalence in other ML apps, customer requirements/expectations)
What is meant in MarkLogic docs by 'google-style' search -> in which case quotes would mean exact match.
Haven't found much documentation that indicates exact phrase means stemmed, ordered set of words, would like to clarify
I was able to figure out how to replicate the behavior what I was expecting.

One way is:
database options: word searches = true
cts:search(fn:doc(),
cts:word-query("still good",
"exact"))

Deeper exploration of implementation options and trade-offs: I'm not sure if it's worth changing the database options in our case, since it may slow down performance/increase database size, but I'd like to explore tradeoffs. There also may be other ways to replicate google-style where quotes equals exact match.

use of parse? https://docs.marklogic.com/guide/search-dev/cts_query

word query https://docs.marklogic.com/cts:word-query
stemming https://docs.marklogic.com/guide/search-dev/stemming
unstemmed searches https://docs.marklogic.com/guide/search-dev/languages#id_50842
Search API walkthrough http://developer.marklogic.com/learn/2009-07-search-api-walkthrough
FWIW I found what looks like a similar discussion on developer general list
Current Samplestack implementation of search options wrt word query, value query, word search indexes, use of single/double/no quotes

No action from others required at this time - just wanted to capture my progress. I'll bring back a more cohesive line of thought. Feel free to add additional notes or questions to this topic.

Mary H. is a good person to talk to about this stuff.  She's my source for saying that customers think they want exact much more than they generally do.
With samplestack, exact matches are not hard to do at all -- what's not supported in Search API out of the box (and would be a ninja customization, though possible) is to have
"this phrase"  and
word
use different kinds of searches.  In fact, until MarkLogic 7 there was a bug where "this phrase"  always did "exact phrase search" (which means phrases with words, not exact string).
this would be easy
"word"  "phrase with stemmings"
exact:word  exact:"phrase without stemmings"

I created a related RFE: https://rfetrack.marklogic.com/detail/3871


branch-2.0 fix regression test

Proposed changes
Issue Number: close #xxx
Since the default column separator for tvf reading csv format has changed, these cases need to be fixed.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Update ES plugin to 1.9.2

elasticsearch_dynamic is busted with 0.14.X, where X>0.
ES 1.9.2 fixes it with https://github.com/uken/fluent-plugin-elasticsearch/pull/224
As far as I can tell, this is the last blocker for me (us) to move away from fluentd 0.14.0.pre.1.
Perhaps, at some point, 0.14.8 could be replaced with 0.14.10, but this is already good enough.

Thanks!


Incorrect(?) behavior of InteractItemEvent[.Secondary.MainHand]

I am currently running

SpongeVanilla version: spongevanilla-1.12.2-7.1.0-BETA-59.jar

Java version: 1.8.0_181

Operating System: Arch Linux 4.14.69-1-lts

Plugins/Mods:
SpongeBug.jar

Issue Description
Code: https://gist.github.com/GreWeMa/b6267ab4417bfc555ea408ba1cd6da58
This code cancels InteractItemEvent.Secondary.MainHand if player holds stick in hand (item does't matter, and even is not needed at all) and opens inventory with name "Bug".
If player uses stick on air or almost any other block - everything is going as expected, my custom inventory with name "Bug" is opened.
If player uses stick on block which can be opened (like chest, workbench, furnace and etc.) this block's inventory opens (but event is cancelled, so it should not happen).
Video: https://www.youtube.com/watch?v=ebCQ4b0itpg

Retest on 116.

Retested on 116.
Now it works almost as expected, except that InteractItemEvent.Secondary.MainHand is now not fired at all if I click with item on air (works as expected when clicks on blocks).
On 59 it is fired on click on air.
But this sounds like a different problem, should I close this issue and open a new one?

Now it works almost as expected, except that InteractItemEvent.Secondary.MainHand is now not fired at all if I click on air (works as expected if I click on blocks).

Ok, no, this is an issue with SpongeVanilla. See https://github.com/SpongePowered/SpongeVanilla/issues/389


Firing notifies from within an inline'd LWRP provider.

Currently, it is impossible to do this:
# recipes/default.rb

service 'foo'

# provider/myprovider.rb
use_inline_resources

action :something do
  file '/tmp/foo' do
    notifies :restart, 'service[foo]'
  end
end

It returns an error because it cannot find the resource service[foo] because the LWRP provider runs in a temporary run_context, not the saved_run_context or the "parent" run_context.
I feel like this should be able to notify/subscribe "up" (e.g. to parent run_contexts), but not down (e.g. into the resources hidden by an LWRP).
If I'm going about this wrong, please tell me.  Initially, this seemed like the "correct" thing to do; then I dug around the code and realized what was going on.
Suggestion:
Perhaps change lwrp_base.rb`'s line 59 like so:
diff --git a/lib/chef/provider/lwrp_base.rb b/lib/chef/provider/lwrp_base.rb
index b5efbb2..d434a49 100644
--- a/lib/chef/provider/lwrp_base.rb
+++ b/lib/chef/provider/lwrp_base.rb
@@ -56,7 +56,7 @@ def recipe_eval_with_update_check(&block)
           saved_run_context = @run_context
           temp_run_context = @run_context.dup
           @run_context = temp_run_context
-          @run_context.resource_collection = Chef::ResourceCollection.new
+          @run_context.resource_collection = saved_run_context.resource_collection

           return_value = instance_eval(&block)
           Chef::Runner.new(@run_context).converge

Though thinking about, I think we want a copy of the resource_collection, not the actual resource_collection from the parent. Otherwise you'd get a loop or something. :-/

Yeah, tried it and it loops forever. :-/

dont use inline resources if you dont want that behavior. inline resources are isolated, if you want to notify   resources outside the provider body, do so from the consumer of the lwrp. if you want that to happen inside the provider body bring the service resource declaration inside the provider action.  current implementation allows automatic management of resource's updated_by_last_action  stuff.
we can extend the lwrp api to setup some automatic notification as well, if this is a common use case.

I suspect it is common enough use case.  It certainly looks like it should work.  I'd argue that since it does work elsewhere it should work here or alternatively raise a really helpful message (e.g. "you're using inline resources and notifies/subscribes can't talk out of the provider").

if you want that to happen inside the provider body bring the service resource declaration inside the provider action.

I was under the impression that this is bad, because you end up creating multiple versions of the resource... using my example from above, you end up with service 'foo' being created once per invocation of the resource/provider.  Since these are in the inline resource, they will collide... right?  I don't get any warnings about cloning resources like I normally do.
Trying this in a Heavy Weight provider, I'm not getting the notifies to trigger at all...
      def action_create
        file_text = diamond_collector_config
        config_file = Resource::File.new(file_path, run_context)
        config_file.mode 0644
        config_file.content file_text
        config_file.action :nothing

        # Try 1
        config_file.notifies :restart, 'runit_service[diamond]'

        # Try 2
        runit_service_diamond = run_context.resource_collection.find(runit_service: 'diamond')
        runit_service_diamond.subscribes :restart, config_file

        config_file.run_action(:create)

        new_resource.updated_by_last_action(config_file.updated_by_last_action?)
      end

Neither one is triggering a restart for runit_service[diamond].

Huh... okay, to make it work in the heavy-weight provider, I had to do this:
      def action_create
        # It didn't work with the string. I got the error:
        # NoMethodError: undefined method `run_action' for "runit_service[diamond]":String
        new_resource.notifies :restart, run_context.resource_collection.find(runit_service: 'diamond')

        file_text = diamond_collector_config
        config_file = Resource::File.new(file_path, run_context)
        config_file.mode 0644
        config_file.content file_text
        config_file.action :nothing
        config_file.run_action(:create)

        new_resource.updated_by_last_action(config_file.updated_by_last_action?)
      end

Something is weird here.  notifies isn't working the same in different places.  Obviously my try 1 and 2 above weren't sending things correctly (or sending them into the queue too late?).

So the stock answer to this is either you need to move more resources into your LWRP or make it the responsibility of the user to setup the notifies.  There's also the common case where what what you really want to do is use a definition to setup an accumulator on a template resource which is in the parent run context (because its a definition there is no child run context) and then use that to signal some service restart or whatever when the template updates (e.g.
https://github.com/lamont-cookbooks/sk_sysctl/blob/master/definitions/sysctl.rb)
If you've got a more compelling use case you need to spell it out completely, otherwise this is a FAQ and needs to be closed.

im closing this. its as design. we are trying to combine the recipe DSL features within the LWRP/HWRP, this is possible but you have to use low level chef api, and its likely to be error prone. Both me and @lamont-granquist given some ideas that can be worked on (like moving the service resource declaration inside lwrp , or not using inline resources). @docwhat we can continue the discussion, and come up with some workaround or a better solution, but theres nothing actionable on chef client end, hence im closing this.

I ended up doing this in my heavy provider:
      def action_create
        new_resource.notifies :restart, run_context.resource_collection.find(runit_service: 'diamond')

        file_text = diamond_collector_config
        config_file = Resource::File.new(file_path, run_context)
        config_file.mode 0644
        config_file.content file_text
        config_file.action :nothing
        config_file.run_action(:create)

        new_resource.updated_by_last_action(config_file.updated_by_last_action?)
     end

Adding the notifies to new_resource seems to work since I ensure that new_resource.updated_by_last_action() is set correctly.
Is this acceptable? or is this prone to break?  I wouldn't be able to do this in a LW provider because I wouldn't have access to the correct run_context.

i dont think its prone to break, as you are mostly using the public api. but i see you are not using converge_by blocks,, so it might not be whyrun safe.

It won't break, but its fairly bad practice and tight coupling.  Now your HWRP can't be used with any other kind of service resource other than the runit_service, while you still have the external requirement to add the runit_service[diamond] to the run list.

@lamont-granquist True.  I don't care about that (yet).  I'm trying to get this work in our system.  Then I'll break it out and open source it.  I'll try breaking out the service at that time.
@ranjib I didn't think I needed converge_by blocks if I used another resource.  Is that not true?  This way I'll see a message about creating/not-creating the config file.  Otherwise I just see a message about the diamond_collector resource.

BTW: Both of you, thanks for the help.

Worth noting that the Poise notifying_block does not have this issue.

@coderanger You mean this? https://github.com/poise/poise#notifying-block

I'm still unclear of why a well-written set of cookbooks would need to use this.  Without the compelling use case being explained it seems like a way to enable writing bad cookbooks tightly coupled to the internals of other resources.

@lamont-granquist
I'm open to the argument that I'm writing a bad cookbook, but I'm not seeing a replacement pattern or strategy to use instead.
The use case is:

I have a bit of code that sets things up with a configuration (e.g. a complicated runit_service block).  This code makes sense (to me) to just put in a default recipe.
I have incremental configuration additions (e.g. a bunch of files dropped into a directory that the service will use for configuration.)  These additions make sense to be an RP of some kind due to translation (in the above case, ruby -> python).  But each change should do a delayed notification to the first bit.

Every time I tried to make the service part of the RP, I'd get all these warnings about cloning resources, etc. I've tried using the resources() block to make sure I'm using the same resource but that never works.
So how would you do this?  What's a "good" way to do this then?

what is wrong with hanging the delayed notification off of the RP call rather than internal to RP?  if you just don't like typing the notification line all the time, wrap it with a definition to avoid having to type it all the time.  that keeps the runit_service in the main run_context along with the RPs and all the notifications.  then internal to the RPs you don't worry about notifications.
and if there's problems caused by using definitions to do compile-time "macro preprocessing" then we should fix that use case, or maybe create some way to inject a default notification into an RP that you write just like default resource property values.

I did actually take the time to read notifying_block now and I think I understand it, and we could simply write an RFC to make use_inline_resources type providers behave that way (optionally, or possibly by default).   I can squint my eyes and sort of see that what you're doing is similar to variable scope -- as long as there's no change the syntax and notifies bubble up to the main run_context like that.

The use case is generally notifying a service that something related to it has changed (config file, service def, etc). This doesn't belong on the LWRP invocation because it needs to be present 100% of the time for correct operation and even suggesting that level of silently-failing boilerplate code is a non-starter for my cookbooks. For example, httpd_service and httpd_config. Definitions need to die, so they are not a solution, and even then that would mean having httpd_config be both a resource and definition and that sounds even more confusing.
Parent-based lookups between resource collections has had no ill effects in Poise, so I'm unclear why people are so resistant to it. It follows the normal Ruby (and every other language) rules of you can see out of a closure but not back in. If you want to not have external lookups, that still an option, just make sure your code does that.

FYI: I ran into this again today... I wrote a provider that bundles docker_image and a custom replacement for docker_container together: custom_docker_service
If I try to run multiples (for scaling and redundancy) then the second and higher docker_containers won't reload when the docker_image changes.
It's  quite possible I'm bundling the wrong stuff. I wrote this a while ago.  I could add a way to scale this automagically, but that seems overly difficult and makes container naming pre-determined.
Pseudo code:
action(:create) do
  docker_image resource.full_image_name do
     ..
  end

  service resource.name do
    ...
    subscribes :restart, "docker_image[#{resource.full_image_name}]"
  end
end

This is because each docker_image is actually separate, which is unexpected.
I hope this use-case is helpful.

@mconigliaro That is already the default behavior if you put 'service[foo]'. Parent contexts are searched outward until a match is found.

@coderanger Damn, you're right (at least as of 12.12.15). I'm not sure when this changed, but it definitely didn't used to work this way. Glad this is fixed!


Sunsetting notifications server

I've been running the servers that serve notifications for neo-PubSub for over half a year now, but as a college student with no income I don't have the funds available to continue running them (most of the cost comes from having to maintain neo nodes for both mainnet and testnet). Due to this I'll have to sunset the service, but given that it's integrated into neon-js (the neo2 version) I think it's best to coordinate with you in order to ensure the best transition.
How do you believe it's best to proceed?

We can turn it down and remove the code or potentially ask if there is any org that wishes to take over. Do you have some rough numbers?

Amount of activity on the endpoints (eg. Amount of usage on mainnet/testnet per day or per month)
Cost of maintaining the full stack per month.

If we can do a simple cost benefit analysis, the decision might be clearer.

I don't run any analytics on it but I'll add some and report after some data has been collected

Actually it turns out that the logs hold the number of subscribed clients, so I looked into it and right now that number is 8. So, overall:

At the moment, there's 8 clients subscribed to events
The cost of maintaining the whole thing is ~200€/mo

Websockets: 14$/mo. These are two heroku "hobby" dynos ($7/mo each) that distribute the events on mainnet and testnet
NEO nodes: ~200$/mo. These are two instances (mainnet & testnet) of the neo client running on AWS EC2 containers.

Do you have any numbers that this could be compared against?

We can turn it down and remove the code

I see, so just remove that part of the code and release a new version on npm? Could projects that are stuck with an old version of neon-js run into problems?

Paying 200 for 8 clients seems a bit too much hahaha.
Yes projects utilizing it will run into issues but the code is still there so they can host it themselves. I doubt there will be since your initial data seems to indicate little usage.
Yea we just have to remove the code. However, since the source code is available, we can leave it there and people can just host it themselves. I dont think its a big issue.

What are your thoughts on replacing the current notification code with one compatible with neo-go's notifications? This would be a breaking change since the same information is not provided by their API. Furthermore, you mentioned earlier this year that you don't expect to release any new major versions of neon-js for neo2, so I was wondering if you believe this is a change that is worth working on and releasing or if it's better to just wait for neo3.

I think it would be great if the community converges on a single spec across all languages. However, I wouldn't be rushing to implement it if there is no demand for it. I would prefer not to implement it for now unless we get sufficient asks for it.
On a side note, neo2 will not release any new major versions since neo3 will take over in terms of major versions. For neo2, we will simply abandon semantic versioning but version in a reasonable manner.

Got it :+1:, I will then close this since #634 has already been merged.


[OCP3] Fix issues reported by the Fedora 34 flake8 version

Ports #1666
Maintainers will complete the following section

[ ] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Also changed the osbs-client branch installed by default in test.sh, should heopefully fix some of the unit test and linter failures


ColOps: Format of the calculated number doesn't respect locale

Describe the bug
The ColOps extension ignores the options of the TableFilter options. All operations result in a US American format, even if the locale was to de for example. I also set the thousands_separator and decimal_separator, those those seemed to be ignored by ColOps
Reproduction steps:
Steps to reproduce the behavior:

Create a table using and additionally use these options:

locale: 'de',
thousands_separator: '.',
decimal_separator: ',',

Use ColOps to calculate some sums/means

Expected behavior
The number format of the sums should match the locale's format that was defined in the options.
Observed behavior:
The number format of the sums are always US American format, using comma as thousand separator and point as a decimal separator.
Screenshots
If applicable, add screenshots to help explain your problem.

TableFilter version: 0.7.3
Browser and version: Firefox 78 ESR and 80
OS and version: Fedora 32
Device: HP EliteBook G2
Additional information/context:
Currently this is the workaround I use:
[...]
on_after_operation: function() {
    column.innerHTML = Number.parseFloat(column.innerHTML.replace(",", "")).toLocaleString("de-DE");
}

Problem started happening recently, didn't happen in an older version of TableFilter: No, It has been like htat for years.
Problem can be reliably reproduced, doesn't happen randomly: Yes

Hi @rimace,
Please have a look to this demo: http://www.tablefilter.com/data-types.html for formatting numbers.
Cheers

Hello @koalyptus ,
thanks for your help, this works!
While surfing the code, I found that the thousandsSeperator in tablefilter.js:818 is never used anywhere in the code.
Still I close this issue as I now have the answer thanks to you :)

Tx for spotting that confusing left-over reference to thousandsSeperator, I will remove it in next version(s).
Cheers


Question: How the same metadata is inserted into each other's signals.

Hi, bro, thanks very much for these excellent products, but I have some troubles about using them.
I used the following tools:

otel-java-agent  v1.17.0
pyroscope-java v0.10.1
otel-profiling-java v<IP_ADDRESS>.jar
my-java-service-app ignore version.

I'm trying to understand what's going on internally, I can see that spans is being processed, put in the span id named profile_id, and a few others as seen in the Root Span in Jaeger UI, for example: pyroscope.profile.baseline.url, pyroscope.profile.url and many more in the otel-profiling-java.
But when I tried to use pyroscope ui, I found additional search conditions, such as span name in select tag, profile_id can be searched directly in the search box, but I didn't find how to combine span_name and profiler_id and maybe some other metadata in the profile signal, which puzzles me quite a bit.
To sum up, there are two points:

How to put span info into the current root span. (I already know how it works)
How to put span info into the current profile signal (still confused).

I'm trying to figure out how to put span info inside profile signal, but I can't find any entry. I can see how the prometheus exemplars are placed inside the metrics labels. Maybe I'm doing it wrong and I'd like some help. thank you very much.♥

I will close this issue after getting an official answer.

I will close this issue after getting an official answer.

I am confused too. Do you get official answer?


Cuid is deprecated due to security. The same security issues apply to all k-sortable ids and all UUIDs.

Please upgrade to Cuid2.
Cuid has been deprecated due to security concerns. Likewise, UUID V4 may be insecure due to its reliance on the web crypto APIs, whose random number generators have historically gone years with known bugs that break cryptographic security (details in the Cuid2 documentation). All other UUIDs leak information which may be exploited.
Other ids that share these security concerns include Ulid, Snowflake, ShardingId, pushId, ObjectId, and KSUID. NanoId shares the same dependence on the web crypto API as UUID V4.

Hi @ericelliott,
Thanks for raising, we've added this to our backlog. We would like to move to cuid2 but backward compatibility would be the the concern and will require some additional thought and effort on our part. We will update here as soon we have any more information to share.


[AI Agent idea] Cybersecurity-focused AI agent

Description
Monitor network traffic, detect and mitigate security threats in real-time, and provide detailed reports to help organizations protect their digital assets.
Additional Information
No response

/assign @manmohanhunjan


from_wkt errors with StringArray

Originally reported in https://github.com/geopandas/geopandas/issues/1879.
from_wkt works as expected on a numpy array of strings.
>>> np.array(["POINT (0 0)"])
array(['POINT (0 0)'], dtype='<U11')
>>> pygeos.from_wkt(np.array(["POINT (0 0)"]))
array([<pygeos.Geometry POINT (0 0)>], dtype=object)

But if I use a pandas StringArray, from_wkt produces an error.
>>> pd.array(["POINT (0 0)"])
<StringArray>
['POINT (0 0)']
Length: 1, dtype: string
>>> pygeos.from_wkt(pd.array(["POINT (0 0)"]))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pygeos/io.py", line 181, in from_wkt
    return lib.from_wkt(geometry, **kwargs)
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pandas/core/arrays/numpy_.py", line 254, in __array_ufunc__
    result = type(self)(result)
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pandas/core/arrays/string_.py", line 195, in __init__
    self._validate()
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pandas/core/arrays/string_.py", line 200, in _validate
    raise ValueError("StringArray requires a sequence of strings or pandas.NA")
ValueError: StringArray requires a sequence of strings or pandas.NA

The error is being raised from the _validate() method on the StringArray, but when I call that on my StringArray I don't get an error.
>>> pd.array(["POINT (0 0)"])._validate()
>>>

I guess somewhere in between me calling pygeos.from_wkt and the StringArray._validate() a new invalid StringArray is being created? I don't know enough about the internals of pygeos to know where to go from there.
The question I have is: is pandas StringArray a supported input type? I would understand if not; it is still considered "experimental".

I looked up the ufunc kwargs and thought maybe out could help since it would avoid creating a new StringArray which seems to be the root of the issue. But it didn't help.
>>> a = pd.array(["POINT (0 0)"])
>>> pygeos.from_wkt(a, out=a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pygeos/io.py", line 181, in from_wkt
    return lib.from_wkt(geometry, **kwargs)
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pandas/core/arrays/numpy_.py", line 254, in __array_ufunc__
    result = type(self)(result)
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pandas/core/arrays/string_.py", line 195, in __init__
    self._validate()
  File "/usr/local/Caskroom/miniconda/base/envs/geopandas-dev/lib/python3.9/site-packages/pandas/core/arrays/string_.py", line 200, in _validate
    raise ValueError("StringArray requires a sequence of strings or pandas.NA")
ValueError: StringArray requires a sequence of strings or pandas.NA

Looking at the traceback, I think this is actually a bug in the StringArray.__array_ufunc__ implementation, as it should not assume that the result is again a string dtype.
@johnflavin do you want to open an issue for it on the pandas issue tracker?

@jorisvandenbossche Sure, I'll give it a shot.

Closing it here in favor of the pandas issue (https://github.com/pandas-dev/pandas/issues/40800)


100% CPU Usage

Hi,
I was planning to build up a mining pool. So I compiled zcoind from source on my VPS (Ubuntu 14.04 64bit).
The zcoind keep running at 100% CPU utilization while syncing. After 3 days it finally finished synchronization, but the CPU usage remains 100%.
I've checked the .conf file, and confirmed it was not mining.
Then I tried the windows Qt wallet on another VPS which has a Windows Server 2012 system. The situation was the same: slow synchronization and 1 CPU core always full-loaded.
On therse 2 servers I've tried 0.2.0, 0.2.1, <IP_ADDRESS>, all has this problem.
But on another vm which has Windows 7 SP1 64bit OS, the CPU usage is fine, always below 5%.
What may be the problem? Any suggestions?

My pool is running now, found 1 block but the CPU usage is still 100%.

my pool has mined 70 blocks. but the wallet's cpu usage remains 100%
http://xzc.newpool.top/index.php?page=statistics&action=blocks

My network has a problem. Is there a manual or instruction to build POOL?

Could you test this with the new core?
https://github.com/zcoinofficial/zcoin/tree/core_upgrade.

OK. I'll try the new version and report back.

Upgrading to the new version <IP_ADDRESS> did fixed this issue. Thanks!

In some cases (unfortunately many), the processors in Windows 10 show 100% usage.
From what I understand the problem grows according to the number of GPUs.
Windows 10 overloads processors that have few flames when GPUs are more than the threads.
I found some tweaks for windows 10 and achieve more than 50% less CPU usage.
New CPU Usage: 45%
Windows10MiningTweaksDmW
Just let me know about your results.
Have a nice mining!


When adding cookie to cookie container, domain is invalid

Hi,
When adding a cookie to a CookieContainer the VerifySetDefaults method will throw a CookieException with message "The 'Domain'='https://somedomain.com' part of the cookie is invalid." when using the example given because the protocol is included.
The correct format for domain seems to be "somedomain.com"
See this fiddle for reference
https://dotnetfiddle.net/KaT5DQ

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

ID: a9d079bc-d7bb-393e-9ec8-78245396bdf9
Version Independent ID: 4483aed9-7325-bffb-d190-0cccbdadda3e
Content: Cookie Constructor (System.Net)
Content Source: xml/System.Net/Cookie.xml
Product: dotnet-api
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Good catch @mahspiir. I put up a PR to fix it: https://github.com/dotnet/dotnet-api-docs/pull/650


message: Check wildcard mention restrictions while editing message.

This PR adds code to check whether a user is allowed to use
wildcard mention in a large stream or not while editing a message
based on the realm settings.
Previously this was only checked while sending message, thus user
was easily able to use wildcard mention by first sending a normal
message and then using a wildcard mention by editing it.
Observed the bug on CZO today and discussed in https://chat.zulip.org/#narrow/stream/9-issues/topic/wildcard.20mentions

Merged, thanks @sahil839!


Bots don't have weapon preferences

Sometimes bots throw away their powerful weapons for a weaker one, like this time that I noticed one of the bots to throw away his sig552 for a famas.

Somewhat duplicate.
In general.cfg bots have three types. And they have own preferences. So the sniper bot prefer scout for ak47.


Speed up ClojureScript implementation

I haven't benchmarked it yet, but there are two glaring parts of the code likely to cause performance problems:

Field access using "aget": One way to solve this would be to have two separate "field" macros in two separate files and switch in the namespace which one to refer to depending on target platform.
structure-path-impl/etc. functions in CLJS just make a protocol invocation instead of looking up the function a priori. While I was able to find the appropriate function by digging into the prototype, I was unable to execute it in ClojureScript land. I'm not sure why and that's why it relies on doing protocol invocation at the moment.

Those two improvements are now implemented in 0.6.1, giving massive speedup to the precompiled code path. The non-precompiled code path is still pretty slow though because of the hacky obj-extends? implementation in CLJS. I don't see any way around that now though without improvements to ClojureScript itself.

With the help of @swannodette these issues are now fixed and the CLJS implementation is fast. It turns out CLJS has a macro called satisfies? which does exactly what obj-extends? was doing (except quickly), and there's a way to invoke methods more directly by using the "not-native" type hint.


Integration Test - Release - 2019/06/17 23:57:45

Auto create for integration test. IssueCommandFlow

@PRMergerTest3 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Add support for gateway status messages

New public.gateway_status table for the timescale service
New POST /gateway_status route on the API
Adds some sample data for validating
Adds a table of gateway status messages to the Grafana dashboard

Looks great thanks.


Add support for octal integers starting with 0o

Tiny nitpick, add -> Add in the commit message. Code LGTM :)

Just noticed this also needs a change here: https://github.com/SerenityOS/jakt/blob/795b6c5cd0ccea7740940bebd3ed78c51b6d6658/editors/vscode/syntaxes/jakt.tmLanguage#L895-L928

Just noticed this also needs a change here:
https://github.com/SerenityOS/jakt/blob/795b6c5cd0ccea7740940bebd3ed78c51b6d6658/editors/vscode/syntaxes/jakt.tmLanguage#L895-L928

This also need updated to allow _ in the middle of bin/hex/oct/normal numeric literals.

Fixed!


ConstraintLayout Performance varying with different Android versions

The ConstraintLayout used in the items shown by the RecyclerView of the ViewPager is showing a variance in the performance of Measure-Layout-Draw. We can observe that the RecyclerView is pretty janky when the app is used on Android 5 OS. It appears very smooth when the app is used on Android 7 OS.
Performance in Android 7

As seen in the above GIF, there is a smooth flow in the scrolling and also when transitioning to the other tab in the ViewPager. Below are the details of Measure-Layout-Draw performance retrieved through the Android Monitor.
Layout performance of the complete view

Grid View Performance

List View Performance

ViewPager Performance

Performance in Android 5

As seen in the above GIF, when user scrolls some frames are lost or it starts to jank. Below are the details of Measure-Layout-Draw performance retrieved through the Android Monitor.
Layout performance of the complete view

Grid View Performance

List View Performance

ViewPager Performance

From the above performance evaluation, it can be observed that the Draw time in Android 5 is double the Draw time taken in Android 7.
When testing this (in Android 5), the below Info log line from Android system appears during scrolling at times -
10-26 20:48:35.899 5512-5512/com.example.kaushiknsanji.bookslibrary I/Choreographer: Skipped 38 frames!  The application may be doing too much work on its main thread.

These are the test results obtained through Android Emulation of Nexus 5X with Android 7 and Android 5. Emulation was accelerated with Hardware acceleration. The janky problem was also observed on a device (Sony Xperia Z1) runnning on Android 5.1.1.
Couple of things I would like to know on this -

Why there is a difference in ConstraintLayout Performance on different Android versions?
How to fix this issue for Android versions having the said problem?

I have this problem on my current project. I tried constraint-layout: 1.1.0-beta6 with the optimizations app: layout_optimizationLevel = "direct | barrier | chains". It did not help.
Did you find a solution to the problem?

I am trying to improve the performance of my recycler view too. Am using diff utils, databinding, never use notifyDatasetChanged()... But I cannot help if constraint layout draw performance is poor with these optimisations.
I am deparately looking for better solutions.

Thank you all for the help and support. RecyclerView and Constraint Layout have improved a lot since the time this issue was created. Hence closing this issue for now.


Fix for setting default ID namespace?

As per http://stix.readthedocs.io/en/stable/overview/id_namespaces.html, setting a new default ID namespace appears to be broken in <IP_ADDRESS>.  The error is "ImportError: cannot import name set_id_namespace"
Using python 2.7.12 on Win7 64-bit.

Yes, this is a bug in the documentation. This changed between <IP_ADDRESS> and <IP_ADDRESS>, and the documentation wasn't updated.

Yes, things got moved around a little. Please see the updated example at http://stix.readthedocs.io/en/latest/overview/id_namespaces.html which involves importing set_id_namespace from mixbox.

Thanks, @clenk


Support functional setFunctionBreakpoints command

Currently, DAP server responds to setFunctionBreakpoints command but it doesn't really do anything. This PR makes it to add/remove method breakpoints.
And regarding condition support: once https://github.com/ruby/debug/pull/621 is merged, I will do some refactor and I'll add that with setBreakpoints command's condition together.

I couldn't determine the specification about what is "function" breakpoints on DAP.
For example, what happens on "foo.bar" is given.
What happens?

Also do you receive the requests about this feature?

You can set a function breakpoint like this:

And it can work just like b f.baz in the console:
#35103:[>] {"command":"setFunctionBreakpoints","arguments":{"breakpoints":[{"enabled":true,"id":"6642c99a-54b8-4bff-88eb-72647127d9cf","sessionData":{},"name":"f.baz"}]},"type":"request","seq":19}
#35103:[<] {"type":"response","command":"setFunctionBreakpoints","request_seq":19,"success":true,"message":"Success","body":{"breakpoints":[{"verified":true,"message":"#<DEBUGGER__::MethodBreakpoint:0x00007fc807868388 @sig_klass_name=\"f\", @sig_op=\".\", @sig_method_name=\"baz\", @klass_eval_binding=nil, @override_method=false, @klass=#<Foo:0x00007fc80787ab28>, @method=#<Method: Foo#baz() target.rb:6>, @cond_class=#<Class:#<Foo:0x00007fc80787ab28>>, @key=\"f.baz\", @deleted=false, @cond=nil, @command=nil, @path=nil, @tp=#<TracePoint:enabled>>"}]},"seq":22}
#35103:[>] {"command":"continue","arguments":{"threadId":1},"type":"request","seq":20}
#35103:[<] {"type":"response","command":"continue","request_seq":20,"success":true,"message":"Success","body":{"allThreadsContinued":true},"seq":23}
#35103:[<] {"type":"event","event":"stopped","body":{"reason":"breakpoint","description":" BP - Method  f.baz at target.rb:6","text":" BP - Method  f.baz at target.rb:6","threadId":1,"allThreadsStopped":true},"seq":24}

Also do you receive the requests about this feature?

I want this feature myself. And since it's marked as supported, I think we should make it work anyway.

I see.

b foo.bar should be rejected on VSCode because it doesn't make sense.
b foo.bar should be rejected on REPL if foo is not on the environment. (TODO)
b foo#bar should be rejected on REPL too. (TODO)
b Foo.bar can be allowed on VSCode and REPL (for singleton method which can be defined in future).

I'll rewrite them for 1.6.

should be rejected on VSCode because it doesn't make sense.

I don't understand why it needs to be rejected. If foo is presented in the scope, why not just create the breakpoint?
I know with VSCode it's not the same as b foo.bar. But the user can attach to the debugger with foo.bar selected, move the frame to where foo is defined, and toggle the foo.bar to create the breakpoint.

I don't understand why it needs to be rejected.

Please stop the program and re-start the debugging.

Sorry I'm not sure if I get the point. foo.bar is possible to achieve so I'm not sure why we need to reject it. And I also don't know how restart can solve it...?

@ko1 regarding that case, I don't mean we should support it. But since it works, I don't think it's a high priority to prohibit it. I do mark it as unintentional supported in the description though.
I also have added condition supports for it and uploaded 2 demos videos. I think it's ready for review now.

cc @ono-max

At the breakpoint, it is possible to set a BP for foo.bar. However

VSCode can set BPs before running the program. foo.bar is sent at the start, and it will be ignored. Furthermore, it can affect unintentional point. Also it runs any Ruby expression, so it should be limited.

When set this BP for the current scope at breakpoint, the configuration remains and after the termination of the debugger, restarting the debugger will use this information and cause same issue of 1.


Create video.json.md

Proposed first version of documentation for video.json

So in creating this:

I avoided whatever was deprecated.
I did not document id because I did not understand where it came from.
I could not find videos with size provided so I did not show those examples.
I probably should have added a few completed examples ... maybe for next version if this is approved.

I am also not sure if this is the correct place to have this but waiting for your guidance,

Hi,
I think I have responded to all the notes given in this review. I expect/welcome several more rounds of reviews/improvements before the final version is ready e.g.

Should we provide an empty json chunk that someone can just copy paste and fill to make their own?
Should I document the information from external sites better/more e.g. ISO639-3 and reStructuredText?
etc

Anyway - looking forward to your next round of review.

Ah, I didn't realize that most of this was already documented in the contributing doc.
Can you add/update that doc with anything from yours that you think needs changing?
The schema is the source of truth here, so if it's not required in the schema, the doc needs updating.

Ok I will look at it and propose changes if I can find them.
In the mean time in one day I will close this pull request.


Incompatible with Fargo's Mutant Mod

When I was playing the 64-bit version of Tmod Loader, I built first demonite upgrade for my heart system and storage system. I also built an interface for crafting and storage access for upgrading my first buffing chest (that should be the crafting one). But i've also  crafted an item who joined all of basic craftings of early game at once and pulled it next to my heart system. But, when craftings shoulds be occur, nothing was showed for me (whereas itens who should be crafted from workbench should be showed, of anvils too, etc..), and I believe what the reason is for incompatibilities.
Thanks for comprehension.

Did you place the combined crafting item or did you put it into the crafting interface?

No response

joined all of basic craftings of early game at once and pulled it next to my heart system.
My guess is "pulled" is supposed to be placed. In which case, yer don't think it is your issue, unless that a feature I was completely unaware of.


Fix seafdav not working

Pin sqlalchemy<2 as the latest major release introduced changes not backward compatible with the Python modules included with Seafile. This enables seafdav to work correctly. The official docker image employed a similar fix for the v10 beta release but this change hasn't been backported to images for older releases.
Relevant issue upstream: https://github.com/haiwen/seafile/issues/2645

Thanks!


Missing documentation for SchemaTool events

Looking through the code of SchemaTool, I found out that there are undocumented events called postGenerateSchema and postGenerateSchemaTable. I want to add those events into the documentation of events.rst. Or should it be put into a new file?

Same file is 👌
On 14 Dec 2017 21:54, "Claudio Zizza"<EMAIL_ADDRESS>wrote:

Looking through the code of SchemaTool, I found out that there are
undocumented events called postGenerateSchema and postGenerateSchemaTable.
I want to add those events into the documentation of events.rst. Or should
it be put into a new file?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/doctrine/doctrine2/issues/6891, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakOukYljNIHdHEHXRdM75sRNM2WKbks5tAYr2gaJpZM4RCple
.


Configuration with Azure Blob Storage doesn't work with images

With a Kentico 12.0.53 MVC website, the insert image dialog is only selecting a location in the local servers file system.  It does not load content from the Azure Blob Storage.
Repro steps

Configure Kentico to store media files in Azure Blob Storage
Install the package, register the widget.
Navigate to a page builder page and add the Rich Text widget to the page.
Click the Insert Image button in the dialog.
Displays the "Select media file" dialog with an error in it "Media files could not be loaded. Contact your system administrator."
Inspecting the page it displays an error of "Could not find a part of the path 'C:\Websites<MVCwebsiteRoot><websitename><websitecodename>\media\content'."

Expected behavior
Be able to configure or connect to Azure Blob storage with the widget.
Test environment

Chrome v83
Kentico v12.0.53
The latest version of this widget is installed (v1.2.1)

Hello, Brenden!
I've just tried to reproduce your issue, but in my case it worked as expected. I followed documentation you linked in Repro step n.1 (Configuring Kentico to store only media files on Azure storage), my project is Kentico v12.0.67
Is there any chance, your Azure Blob Storage for media files is configured incorrectly? It is essential to have both keys  &  configured in both web.config files - administration project and MVC live site application. Also for proper registration of custom module make sure, you have [assembly: AssemblyDiscoverable] in your AssemblyInfo.cs file.
With correct configuration, you should be able to see, that newly uploaded media files in Media libraries app are linked to your azure blob location (Direct path) and you should be able to select them in Media files selector in page builder.

Hi Pavel,
My project is a 2 site project (1 Kentico install, 2 MVC sites).  I have [assembly: AssemblyDiscoverable] on all 3 AssemblyInfo.cs files.
I can verify the configuration is correct and working for a few reasons:

the Media Library app displays the files I expect to see.
I'm able to use CloudBerry and verify the files are in blob storage.
I can use the URL selector on a page type to navigate to the Media Library items and properly select a URL.

This specific problem is showing me the widget is trying to get the LOCAL path of the project vs. the Blob storage.  When I manually add the local path to the project, the widget allows the widget to continue but displays broken thumbnails of the images in the media library because it's looking at the LOCAL path and not the blob storage path.

Hi!
I guess I was able to reproduce described behaviour - I assume you are using the Media libraries folder  setting and when this setting does not match the StorageHelper.MapStoragePath("yourStoragePath", mediaProvider) mapping I got the same "Media files could not be loaded. Contact your system administrator." error.
This setting must comply with the storage mapping in a custom module (in my case I use also the site-specific subfolders setting) and then it should work as expected.

I hope this will help. Otherwise I would recommend to raise a ticket to our support team, the guys there will provide you with more recommendations or solution.

Thanks for the info Pavel.
My path is set up like so
mediaProvider.CustomRootPath = "/rootcontainer";
StorageHelper.MapStoragePath("/sitecodename", mediaProvider)
In Kentico settings I have left the Media libraries folder value empty and checked the Use site-specific subfolders for custom media libraries folder box.
Unfortunately, this still isn't getting data from the blob storage properly.  It shows the broken images.  When I upload in image, it shows the image preview there but it's storing the image locally and NOT in the blob storage.
I an upload an image through the UI and it stores the image locally.  I can upload an image directly in the media library and it stores it in blob storage but when I go to view that image I uploaded directly in the media library, the image has a broken link .
From what I can see the Image selector does not upload to the Azure blob storage, it uploads locally to the MVC site.  Then if I upload directly to the media library I get a broken image in the selector.

It sounds like the blob storage provider is not correctly configured for your site. The media library will use the blob storage when you set it up for the CMS project, which seems to be the case for you. However the widget functionality does not relate to that and requires the blob storage to be set up for the site that you are using it on.
If you try to upload a file within the widget and it gets stored on your local file system then that means that the blob storage provider is not working correctly on your MVC site. I recommend making sure that the custom module is being triggered when executing your MVC application and that it uses the exact same configurations as the CMS. Same account name, keys, any configuration.
Hope this helps :)

I was able to verify the issue I was experiencing and found out the custom dll for the blob storage provider (step #7 in the documentation) was not referenced in the MVC app.  A classic case of stepping away from it for a bit and re-evaluating the basics.  No issue to report.


fix odd alignment for filters in general

Description
Tried to find an approach to resolve the issue for all the filters, not only the ones on the Desired state page.  I would have personally removed the vertical spacers, but this is advised by the Patternfly guidelines when having multiple types of actions in your toolbar. This means that when the Compile button jumps on the second line, it won't be nicely aligned with the content above in some cases.

closes #4339
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Code is clear and sufficiently documented
[x] Correct, in line with design

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Pull request rejected by merge tool. Failed to parse change entry file: Change entry /tmp/tmppe6r3a7w/changelogs/unreleased/4339-odd-alignment-filter.yml does not match pydantic schema: 1 validation error for ChangeEntry
root
ChangeEntry expected dict not NoneType (type=type_error)

Processing this pull request

Merged into branches master, iso5 in 8d45f12f14848bd80149ae7932ac994da56f7100