text:
Unable to change language of Volto core

Describe the bug
I change the language setting to pt-br but the interface remains in English. I also tried with es and it didn't work.
To Reproduce
Steps to reproduce the behavior:

Change the settings in:

https://github.com/plone/volto/blob/38844e5e6470360f23705003f3e9a0bc85f54284/packages/volto/src/config/index.js#L122-L123
To:
 supportedLanguages: ['pt-br'],
 defaultLanguage: 'pt-br',

Access the login url:

http://localhost:3000/login
with an anonymous user.

Note that the login form is in English.

Expected behavior
The login form must be in Portuguese
Software (please complete the following information):
Volto 18.0.0-alpha.41
Plone 6.0.11
plone.restapi 9.7.0
CMF 3.5
Zope 5.9
Python 3.11.9 (main, May 14 2024, 08:32:26) [GCC 10.2.1 20210110]
PIL 9.5.0 (Pillow)

Did you follow Multilingual, specifically:

You need to install Multiligual support in Plone (plone.app.multilingual add-on), that comes available by default since Plone 5 and can be installed in Plone's control panel.

@stevepiercy but I don't want a multilingual website. I want the website to be in only one language different of English.
The steps in the issue description used to work. Something broke.
By the way, I don't know if this option I'm looking for is in the documentation.

@wesleybl OK, thanks for the explanation. However, would you please try installing that add-on to see if it resolves the issue? I suspect it is a backend dependency for translations in Volto.
This option is documented in the Multilingual docs to which I linked and which contain steps similar to what you followed. If I recall correctly, you need to install it even in Classic UI to get a non-English language. I could be wrong, though.
Finally Volto has the required pt-br messages at https://github.com/plone/volto/tree/main/packages/volto/locales/pt_BR/LC_MESSAGES, so we can rule that out as a possible cause.

@stevepiercy I installed plone.app.multilingual and set the isMultilingual setting to true. But that didn't solve the problem. Someone said that, the url http://localhost:3000/pt-br gave an error:
This page does not seem to exist…

I printed the intl.locale variable and the value was en. In other words, intl.locale is not receiving the value from the configuration.

However, would you please try installing that add-on to see if it resolves the issue? I suspect it is a backend dependency for translations in Volto.

@stevepiercy the pt-br folder was not created as I tested. That's why I was getting a content not found error. I created a new Plone site and the pt-br folder was created. From then on, with the installation of plone.app.multilingual, the translation worked at the url http://localhost:8080/Plone/pt-br. But there's something strange. In the past, it was not necessary to have a multilingual site, to have a portal in a language other than English.

In the past, it was not necessary to have a multilingual site, to have a portal in a language other than English.

It should still not be necessary, if you only need to support one language. Did you remember to also set the site language correctly in the backend?

Did you remember to also set the site language correctly in the backend?

Yes I set the backend language. I tried with Portuguese and Spanish but neither worked.

The problem originated in PR #6130 by @sneridagh. In it, the Languages.js file was renamed to Languages.cjs. It seems that Volto treats .cjs files as static resources. I printed the languages variable:
https://github.com/plone/volto/blob/3c56a14947cf99fdf55dcc91cd8bd94dacc2b403/packages/volto/src/server.jsx#L39
and the result was the string:
http://localhost:3001/static/media/Languages.ea358519.cjs

instead of the object like languages:
https://github.com/plone/volto/blob/502c0f766f1d6c3b0128ae228e6aaafa8da1e087/packages/volto/src/constants/Languages.cjs#L6-L22
The question is, can I rename it to Languages.js?
CC @ichim-david

The problem originated in PR #6130 by @sneridagh. In it, the Languages.js file was renamed to Languages.cjs. It seems that Volto treats .cjs files as static resources. I printed the languages variable:
https://github.com/plone/volto/blob/3c56a14947cf99fdf55dcc91cd8bd94dacc2b403/packages/volto/src/server.jsx#L39
and the result was the string:
http://localhost:3001/static/media/Languages.ea358519.cjs

instead of the object like languages:
https://github.com/plone/volto/blob/502c0f766f1d6c3b0128ae228e6aaafa8da1e087/packages/volto/src/constants/Languages.cjs#L6-L22
The question is, can I rename it to Languages.js?
CC @ichim-david

@wesleybl awesome debugging, this is what I like about your way of adding issues, you are thorough and it's great that you found where the issue came from.
It would be interesting to see if we can fix this treatment of language.cjs since @sneridagh has issues with the ESM bundlers (vite in this case).
If we can't make it work then perhaps we will need to revert this change but for now let's treat it as a bug needed to be fixed.

@ichim-david since we don't have a type in Volto's package.json, CommonJs modules can have the .js extension:
https://nodejs.org/api/modules.html#enabling
In other words, it is not mandatory for CommonJs modules to have the cjs extension.
I changed it to js and it worked. So I ask again if I can do this.

@wesleybl I am not sure you are on the right track. The following steps work for me:

Change supportedLanguages to ['pt-br'] and defaultLanguage to 'pt-br' in packages/volto/src/config/index.js
Start backend with make backend-docker-start
Start volto with make start
Go to http://localhost:8080/manage, log in and delete the Plone site that was created with its language set to en
Add a new Plone site with the language set to pt-br
Go to http://localhost:3000/login --> it's in Portuguese, as expected

So I think the problem is that the Docker backend creates an English site, and there isn't a way to configure that. (The docker image can be configured with the LANGUAGE environment variable, but volto's Makefile isn't setting that for the docker-backend-start command.)

@wesleybl with the tip from @davisagli, can you try editing the Makefile with this:
# Volto development
LANGUAGE      ?=en

...

.PHONY: backend-docker-start
backend-docker-start: ## Starts a Docker-based backend for development
	$(MAKE) -C "./packages/volto/" backend-docker-start -e $(LANGUAGE)

Then invoke it with:
make backend-docker-start LANGUAGE=pt-br

My syntax might be off, but maybe you can fiddle with it to get it right.
If it works, then should we add this feature and document it?

So I think the problem is that the Docker backend creates an English site

@davisagli that was the problem. It worked by recreating the site. Thanks!
But anyway, the Languages.cjs problem persists. And renaming it to Languages.js works even with the site in English. Maybe Volto is making "some extra effort" to get around the Languages.cjs problem.
I have a portal that is in Portuguese and after updating the Volto version, it stopped translating the strings. I thought that would be the problem, but apparently it isn't.

If it works, then should we add this feature and document it?

@stevepiercy @davisagli now that we have a volume for the backend, I don't know if it would make sense to have this configuration. We would have to remember to use it the first time we use the make command. After that, I don't think it would do anything else, since the portal would already be created.

@davisagli the strange thing is that recreating the portal works, but when we change the language in http://localhost:3000/controlpanel/language, all the content already created when the portal was in English is still shown in English, even with the portal in Portuguese. That's what confused me.

In other words, the content language takes precedence over the portal language. This might make sense, but when we test it, it seems like the language change doesn't work.

Yes, the content language takes precedence over the portal language. It doesn't make a lot of sense and there's been a fair amount of discussion of changing it, but that hasn't happened yet.

In classic Plone, the portal language takes precedence.

Can I close this issue and open a specific one for Languages.cjs?

@wesleybl Sure -- but I don't want to lose Steve's idea to provide a way to start the backend in Docker with a particular language. I think that would be good to support.

@davisagli I looked for LANGUAGE in https://6.docs.plone.org/install/containers/images/backend.html, but it doesn't exist. It exists at https://github.com/plone/plone-backend/blob/a875020cd5abf06c33ebf635a784c32314787889/skeleton/scripts/create_site.py#L38. Should those docs include these environment variables as well?

I created a PR in https://github.com/plone/volto/pull/6231 that captures https://github.com/plone/volto/issues/6219#issuecomment-2266129769. Feel free to do what you want with this issue.

@davisagli @wesleybl I have tried several solutions to get Languages.cjs object to import and work both in webpack and vite and I couldn't get it to work.
I left a comment to Victor here https://github.com/plone/volto/pull/6130#issuecomment-2266677746 where I suggest we revert the change unless someone with more knowledge can get this setup to work as right now we have a regression that we should deal with and worry about Vite compatibility when that solution matures to the point where we can drop the webpack and razzle setup we have.

@davisagli recreating the portal in Portuguese solves the problem on most pages. But on some pages we still have problems. For example, on the content not found page in SSR. If you access a page with no content, the message is in English. Rename Languages.cjs solves this problem.

recreating the portal in Portuguese solves the problem on most pages. But on some pages we still have problems. For example, on the content not found page in SSR.

@wesleybl I was able to reproduce that. I think this will help: https://github.com/plone/volto/pull/6237

authors: davisagli ichim-david stevepiercy wesleybl


text:
Allow search block variations to be restricted to internal use

Fix https://github.com/plone/volto/issues/3050
And it adds a first search block test!

@ksuess The addition of the test is really nice.
I wonder about the variations_internal. What is the use case? Is this something that's provided by Volto? Can it be formalized, in one way or another?

I wonder about the variations_internal. What is the use case? Is this something that's provided by Volto? Can it be formalized, in one way or another?

The use case is a search block in an administrative view for bulk editing.
Problem is, that a variation is always in the search block variation field options for the editor. To achieve that a variation is not listed in this options i need to patch / shadow the SearchBlockView component or propose a change for Volto like this PR.
Instead of introducing a new config.blocks.blocksConfig.listing.variations_internal, an alternative way to distinguish between variations would be to introduce a new option of the variation itself notforeditors.
        config.blocks.blocksConfig.listing.variations: [
          ...config.blocks.blocksConfig.listing.variations,
          {
            id: 'subsriptions',
            isDefault: true,
            title: 'Subscriptions',
            template: ListingSubscriptions,
            fullobjects: true,
            notforeditors: true,
          },
        ],

One way to do this would be something like this:

The end goal is for you to be able to write a custom schemaEnhancer for the search block which can enable/disable the variations in the select, based on the role of the user
I can see that here, if we switch the order of "apply schema enhancer" and "add the select field to the schema", you'll have the chance to tweak the variations select options, from your own custom schema enhancer. The only thing that's missing would be that variable or property that could be used, from the schema enhancer, to understand if the variations select options should be tweaked or not. I don't know how you discriminate between the "special editors" and "regular editors", maybe there's some easily accessible information in the system that can be grabbed by the HOC and passed to the schema enhancers?

Obsolete: Immitate "SearchBlockView" with component "ListingBody" with appropriate props. And compose with "withQueryString" and "withSearch". No registration of config.blocks.blocksConfig.listing.variations needed. See https://github.com/plone/volto/issues/3050#issuecomment-1146857684

source: gharchive/pull-request

authors: ksuess tiberiuichim

repo: plone/volto

license: MIT

license_type: permissive

license_source: github-api


text:
Fix user search by full name in users control panel

Follow up on https://github.com/plone/plone.restapi/commit/6760d55d5fd5ce10adae86b8c79612d5b5545910
This is actually already implemented in the actions but the calling place still missed the change
In short, we want containment search in full name (search parameter) and not in the id (query parameter, the old way kept for compatibility)

Please change the CHANGELOG and add my handle. You are using my impementation for the user group panel, offered but not used in user panel.

authors: ksuess reebalazs


text:
Update README.md add York College to List of sites

Update README.md add York College to List of sites

Thanks Steve,
Try now
I was in the middle of upgrading Volto to 17.15.6, every time I need to rebuild Volto even though it failover to the other Volto server, I have to manually clear the cache on the server or I get this error.
Any deployment suggestions to fail over from one Volto server to another with out having to purge the cache manually?
Also if you want you can add this other plone site https://www.epicsunpuntacana.com/
From: Steve Piercy @.>
Date: Tuesday, April 30, 2024 at 3:46 PM
To: plone/volto @.>
Cc: Rafael Nunez @.>, Author @.>
Subject: Re: [plone/volto] Update README.md add York College to List of sites (PR #5996)

This email originates from a sender outside of CUNY. Verify the sender before replying or clicking on links and attachments. *
This email originated from @., a sender outside of CUNY. Never send login credentials, financial information, or sensitive information by email. Report suspicious email to @.

@stevepiercy requested changes on this pull request.

In README.mdhttps://urldefense.com/v3/__https://github.com/plone/volto/pull/5996*discussion_r1585447258__;Iw!!NFZiyfBF5EK0!k4yLldH8nhN6BKkOCH_Tz5i_CMc9XtyViVJgtGyY2LWR4YKANsTupB_3TcxIEUrdnIPNl660qrK1A6rPbMyE69ozrVaY$:

@@ -141,6 +141,7 @@ To ensure your website gets the greatest exposure, add it both to [Awesome Volto

VHS Ehrenamtsportal (Website to help volunteers that help refugees for the German Adult Education Association, developed by kitconcept GmbH, 2018)

VisitModena (Tourist website of the Municipality of Modena, developed by RedTurtle, 2020)

WISE-Freshwater (WISE-Freshwater, the Freshwater Information System for Europe. Developed by Eau de web for the European Environmental Agency, 2021)

+- [York College / CUNY] (https://www.york.cuny.edu/) (York College is part of The City University of New York (CUNY), one of the largest university systems in the United States, developed in-house, 2023)
⬇ Suggested change
-- [York College / CUNY] (https://www.york.cuny.edu/) (York College is part of The City University of New York (CUNY), one of the largest university systems in the United States, developed in-house, 2023)
+- [York College / CUNY] (https://www.york.cuny.edu/) (York College is part of The City University of New York (CUNY), one of the largest university systems in the United States. Developed in-house, 2023)
This is not a good look. It appears to affect only the home page, though.
Screenshot.2024-04-30.at.12.39.13.PM.png (view on web)https://urldefense.com/v3/__https://github.com/plone/volto/assets/102112/4049ce97-5052-491d-a669-6ac04394dc16__;!!NFZiyfBF5EK0!k4yLldH8nhN6BKkOCH_Tz5i_CMc9XtyViVJgtGyY2LWR4YKANsTupB_3TcxIEUrdnIPNl660qrK1A6rPbMyE6zV98284$
GET https://www.york.cuny.edu/static/css/client.0cf6c3d5.css net::ERR_ABORTED 404 (Not Found)   http://www.york.cuny.edu/:2
GET https://www.york.cuny.edu/static/js/runtime~client.9713af2a.js net::ERR_ABORTED 404 (Not Found)    http://www.york.cuny.edu/:2
GET https://www.york.cuny.edu/static/js/client.980b59bf.js net::ERR_ABORTED 404 (Not Found)   http://www.york.cuny.edu/:2
Can you check your deployment and verify it loads the missing CSS and JS files, and ping us back?
Also consider adding this to https://github.com/collective/awesome-voltohttps://urldefense.com/v3/__https://github.com/collective/awesome-volto__;!!NFZiyfBF5EK0!k4yLldH8nhN6BKkOCH_Tz5i_CMc9XtyViVJgtGyY2LWR4YKANsTupB_3TcxIEUrdnIPNl660qrK1A6rPbMyE6x6diwaG$
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/plone/volto/pull/5996*pullrequestreview-2032390556__;Iw!!NFZiyfBF5EK0!k4yLldH8nhN6BKkOCH_Tz5i_CMc9XtyViVJgtGyY2LWR4YKANsTupB_3TcxIEUrdnIPNl660qrK1A6rPbMyE6_qg2Iet$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AAZ7UGHF2JQ2UF4UF4P447DY77YKBAVCNFSM6AAAAABHAUT3U2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDAMZSGM4TANJVGY__;!!NFZiyfBF5EK0!k4yLldH8nhN6BKkOCH_Tz5i_CMc9XtyViVJgtGyY2LWR4YKANsTupB_3TcxIEUrdnIPNl660qrK1A6rPbMyE6zu9P97p$.
You are receiving this because you authored the thread.Message ID: @.***>

@rnunez80 it looks OK now.
This PR needs a change log entry. You can add the other website when you add that entry.
I don't have any advice for your cache situation. I'd suggest asking on https://community.plone.org/.

@rnunez80 please could you add the changelog entry?

@sneridagh I would not merge this until @rnunez80 adds it to https://github.com/collective/awesome-volto?tab=readme-ov-file#websites-built-with-volto, as we often copy-paste from that section to our README.md, which overwrites whatever was added here. Also @rnunez80 wanted to add a second site.

In fact, where the contributor promotes their own site in the README, I would prefer to close the PR unless they can follow contributing guidelines. Why should we do their work for them?

@stevepiercy Only trying to close stale PRs in here. @rnunez80 can you take care of @stevepiercy suggestions?

@sneridagh sure, but why do their work for them? I would just close this PR. If and when they do things completely, then we can merge it.
If it were a feature or bugfix that benefits the project, then that's a different matter.

authors: rnunez80 sneridagh stevepiercy


text:
🛑 Grafana is down

In cea5493, Grafana (https://grafana.dickpluim.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Grafana is back up in 5e28c9b.

source: gharchive/issue


text:
🛑 KCG is down

In fd0ba4c, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in 2684192 after 10 minutes.


text:
🛑 KCG is down

In 11a2e9e, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in 92a2c1d after 20 minutes.


text:
🛑 Pierced Arrows is down

In 0e1ec32, Pierced Arrows (https://www.piercedarrows.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pierced Arrows is back up in c7ce25e after 11 minutes.


text:
🛑 KCG is down

In 921e8ca, KCG (https://kunstrijclubgroningen.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KCG is back up in 55a8946 after 15 minutes.


text:
🛑 Dick Pluim.com is down

In 85cdf7a, Dick Pluim.com (https://dickpluim.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dick Pluim.com is back up in 9e5b7fd after 23 minutes.


text:
🛑 Pierced Arrows is down

In bc19917, Pierced Arrows (https://www.piercedarrows.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pierced Arrows is back up in 9e4eddf after 11 minutes.


text:
🛑 Pierced Arrows is down

In 8f89e77, Pierced Arrows (https://www.piercedarrows.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pierced Arrows is back up in ea70e04 after 9 minutes.


text:
Expected Graph Structure for Field assignment

Currently, Plume makes a graph for field assignment like as following.
someField = value
CALL(<op>.assignment)
      -AST->FieldIdentifier ("someField")
      -AST->Identifier("value")

But Joern expects the graph as following for such code .
Call(<op>.assignment)
  -AST->Call(<op>.fieldAccess) -AST-> Identifier("this")
                          |-AST-> FieldIdentifier("someField")
  -AST->Identifier("value")

In case of Static Member assignment, maybe have to figure out which one is ... for left.
SomeClass.staticField = "A"
Call(<op>.assignment)
  -AST->Call(<op>.fieldAccess) -AST-> Identifier("SomeClass") or  Type_Ref("SomeClass")?
                                |-AST-> FieldIdentifier("staticField")
  -AST->Literal("A")

In case of instance Member assignment,
v1.instancePubField = "A"
Call(<op>.assignment)
  -AST->Call(<op>.fieldAccess) -AST-> Identifier("v1")
                                |-AST-> FieldIdentifier("staticField")
  -AST->Literal("A")

sub-issue of #93

@popthink Can this issue be closed by #115?

Sure. Closed.

authors: DavidBakerEffendi popthink

repo: plume-oss/plume


text:
Issuing credits to Omo

Issue 10000 credits to @Omoaholo.

 Follow up
On Tuesday, 12-Mar-24 09:25:16 UTC by Gov4Git dev
Issued 10000 credits to member @omoaholo.

authors: GlenWeyl pluralitybook-dao

repo: pluralitybook/plurality


text:
Plurals of acronyms

I have an acronym that needs pluralized; ATM is a good proxy:
p('ATM')
'ATMS'

Unfortunately, I think the plural should be ATMs, since the "word" is uppercase not for reasons of formatting, but because it's an acronym. This is a reasonable thing for the library to do, but I can't seem to force the behavior I'm expecting, even with the various rules options:
p.addIrregularRule('ATM', 'ATMs')
p('ATM')
'ATMS'

p.addPluralRule(/^ATM$/, 'ATMs')
p('ATM')
'ATMS'

Is the "all uppercase" rule too high in precedence? Is there a way to override it with the version of the library currently released?

Would be great to handle this case

I'm also looking for this, maybe there could be some flag to pass or something.. We have the PIN word and it's getting converted into PINS, but should be PINs

function pluralize_wrap(s, n) {
  let ret = pluralize(s, n)
  if (n === undefined || n > 1 && s !== ret) {
    const last = ret[ret.length - 1]
    if (last === 'S') {
      ret = ret.substring(0, ret.length - 1) + last.toLowerCase()
    }
  }
  return ret
}

authors: Black-Stork Trial-In-Error cirosantilli dfeinzeig

repo: plurals/pluralize


text:
dropdown: add ability to override selectedLabel

What You're Solving
When you're using a dropdown outside a form it's useful to be able to give more context about the field and selected value inside the dropdown itself. I've come across a few cases where I've been unable to use the Dropdown component without the ability to do this. Right now I'm trying to build this:

In order to prefix the selected value with Sort: I need to be able to override the selected label.
Design Decisions
We should get Dmitry's approval on this design. I understand that most of the times, when you're using a dropdown inside a form, you're going to want to use the regular field label and sublabel to communicate, but when you're outside a form it's useful to be able to provide more context without a label.
How to Verify
The dropdown storybook is updated with a new story. Make sure that when a selectedLabel is provided it is always show even after selecting an item from the menu.

Thank you @KaidenR! You mentioned multiple cases this may address. Would you please point us to another one for reference? We try to consider DS for wide, or multiple team, applications (https://whimsical.co/GncwqZbmGjHBKT9srDYBSj), so there are may be a trade off here in adding a prop vs. alternate solutions like A) an external Sort label on the left of the dropdown, or B) appending Sort: to each menu item. Those alternates are certainly not as elegant, but worth discussing around how the solution may pertain to other use cases.

@dborodyansky Another case is the "Add content" dropdown on a channel details page:

This is another situation where the user is taking an action rather than selecting a value from a list to populate a form.
One more case is the "Role" dropdown in a channel's members modal:

We need to be able to be more succinct with the label on the button ("Can edit") but more descriptive inside the menu ("Can edit (Contributor)")

Thank you, @KaidenR. This does help explain wider application. Much appreciated. In reviewing, I think this enhancement does seem suitable. Jake and I will touch base and follow up.

Hey @KaidenR , sorry to be equivocating a bit and not making this higher priority.  We have had other items that have come first.
To at least give you an update...
Dmitry and I have followed up and talked about this as a feature.  We're still not super clear on what the best course of action is.  It's easy to add things.  It's hard to take them away.  Since there are ways to accomplish your specific use case (get a label inside the DS component by using it in the options label as well), we feel like there's a path forward, perhaps not ideal, for the time being.
The other variants that you have shown of a dropdown in our app have been eye opening.  Thank you for including that survey of those usages.  They raise another question that makes the way forward not any clearer: that is, each of these other dropdowns use very different looks/UIs, and should we support this?  The one is a button with a dropdown drawer beneath.  The other is a button(?) with a very different dropdown drawer beneath.
Thus far, the DS has provided the looks for the UI of Pluralsight.  The focus has been on visual consistency.  Obviously, there are other things that have come with that: one is a dropdown component with a certain amount of visual state and interactivity patterns.  That obviously has value.  And we could publish that as a general thing, allowing a developer to customize the look of the thing while it still retaining the properties of a dropdown.  Think the patterns from Kent Dodd's talk from React Rally this year https://www.youtube.com/watch?v=AiJ8tRRH0f8  But this jump is a big one for the Design System from a purpose and a "where are we going to play" standpoint.
So, the team is going to look at this again next week when we are all together again, but unfortunately for your present need, this PR is still in a holding pattern.  I hope you'll understand.  I also welcome your input on the further questions raised and mentioned above.  Thanks, Kaiden your constant support.

Triage: We looked at this as a team.  We were really torn with this one.  We want to support you in your dev work on this page.  We also looked at what the DS enables today, and we at least think there's a workaround here without adding to the DS.  You could use a Button with an ActionMenu in combo (as shown in the other example above).  The button style does not quite match the "flat" appearance of Button today, so you could override the style.  But Dmitry reports that this is an emerging button style amongst the designs of late, so it's possible that it'll make its way into Button in the future.  Closing for now.  But open, as always, to more discussion about what you're seeing and what would be helpful.

authors: KaidenR dborodyansky jaketrent

repo: pluralsight/design-system


text:
Update kind-projector to 0.13.1

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

Files still referring to the old version number
The following files still refer to the old version number (0.11.3).
You might want to review and update them manually.
build.sbt

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

labels: library-update, semver-minor, old-version-remains

Superseded by #720.

repo: pluralsight/hydra


text:
Update akka-actor, akka-persistence, ... to 2.6.17

Updates

com.typesafe.akka:akka-actor
com.typesafe.akka:akka-persistence
com.typesafe.akka:akka-slf4j
com.typesafe.akka:akka-stream-testkit
com.typesafe.akka:akka-testkit

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.akka" } ]

labels: library-update, semver-patch

Superseded by #771.


text:
Adds option to control which services to enable

New versions of ec2-instance-connect do not provide a systemd service, so amigen was failing when trying to enable it. This PR provides an option for the user to specify which services to enable, so they can override the default behavior.
This patch also improves re-running this script, by avoiding directory collisions when the awscli zip archives are extracted, and by allowing the awscli v2 installer to update an existing installation.

Successful run using the current spel: https://console.aws.amazon.com/codesuite/codebuild/701759196663/projects/spel-ci/build/spel-ci%3A28027c56-2389-4a82-9258-c1aa1b59c84b?region=us-east-1

And a successful run using the new spel updates that install amzn rpms from the spel-packages repo... https://console.aws.amazon.com/codesuite/codebuild/701759196663/projects/spel-ci/build/spel-ci%3A6fe3e39b-910a-4ff3-bf03-06b75c0946fb?region=us-east-1


text:
Fixed path error.

Fixed 'ERROR `/assets/themes/bootstrap/css/bootstrap.min.css' not found'.

Also fixed style.css error.

repo: plusjade/jekyll-bootstrap

license: mit

license_source: bigquery


text:
支持又拍云的插件找不到了

哪个是又拍云的上传扩展呀，找了半天没找到

内置的。

配置文件里也没有找到又拍云的相关配置呢

可以参考 https://github.com/pluveto/upgit/blob/main/lib/upyun/uploader.go

不记得为啥没有配置了，可能是没写完或者有 bug，也可能不是。等有时间再看看

嗯呢，我先看看能不能配置出来

authors: ZhangXQA pluveto

repo: pluveto/upgit


text:
Flow step id labels are obscured by runtime border

Step labels should be moved up slightly for Stop/Start/Pause steps. This is a fix in flowbee.

Using Manoj's spacing for all activity id labels now in flowbee.

repo: ply-ct/vscode-ply


text:
"pizzly: Not enough arguments were provided"

Hello - not sure what I am doing wrong to get this error despite providing all necessary files in correct format with correct arguments.
After running pizzly, I get "pizzly: Not enough arguments were provided". The fusion.txt was generated in kallisto quant step (did not get a fusion.json).

Hi,
I know this issue is 4months old but I had the same "problem" and I found the solution, so if it can helps someone with the same error..
Based on the README (https://github.com/pmelsted/pizzly) :
So, kallisto quant creates an "output" directory and some files like fusion.txt with :
kallisto quant -i index.idx --fusion -o output r1.fastq.gz r2.fastq.gz
and then this directory is used by pizzly with
pizzly -k 31 --gtf transcripts.gtf --cache index.cache.txt --align-score 2 \         --insert-size 400 --fasta transcripts.fa.gz --output test output/fusion.txt <-- here
What I didn't understand was the role of "test" in --output argument, which is just a prefix for output files, and must be written by the user.
So don't forget to write this prefix AND to specify the kallisto quant output directory.

repo: pmelsted/pizzly


text:
🛑 Hardy Law is down

In 39631af, Hardy Law (https://hardylaws.com) was down:

HTTP code: 503
Response time: 139 ms

Resolved: Hardy Law is back up in 0a694ad after 5 minutes.

repo: pmjustin/pmuptime


text:
🛑 JMS Law is down

In 3d9a01a, JMS Law (https://jmslawltd.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: JMS Law is back up in 4985ec8 after 8 minutes.


text:
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'read-pkg-up' imported from /Users/theholygrail/.npm/_npx/16b3f312213fced0/node_modules/gltfjsx/cli.js

theholygrail@Amrits-MacBook-Pro resources % npx gltfjsx amrit.glb
node:internal/errors:496
    ErrorCaptureStackTrace(err);
    ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'read-pkg-up' imported from /Users/theholygrail/.npm/_npx/16b3f312213fced0/node_modules/gltfjsx/cli.js
    at new NodeError (node:internal/errors:405:5)
    at packageResolve (node:internal/modules/esm/resolve:887:9)
    at moduleResolve (node:internal/modules/esm/resolve:936:20)
    at defaultResolve (node:internal/modules/esm/resolve:1129:11)
    at nextResolve (node:internal/modules/esm/loader:163:28)
    at ESMLoader.resolve (node:internal/modules/esm/loader:835:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:77:40)
    at link (node:internal/modules/esm/module_job:76:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Node.js v18.17.0

Here's the error
Can you help me with this

Found out this can be solve with
npm install -g gltfjsx
npm install -g read-pkg-up
then run ,
gltfjsx amrit.glb

Found out this can be solve with
npm install -g gltfjsx npm install -g read-pkg-up
then run , gltfjsx amrit.glb

I think read-pkg-up should be included in the dependencies

Yeah it should be but there other issues opened adressing this same thing but the maintainers aren't responding. Maybe they will respond soon.

authors: solo-daemon vannvan

repo: pmndrs/gltfjsx


text:
Warning React 18 ReactDOM.render

Hi,
I'm using release 18 of react (below short list of the dependencies using in the project):
    "leva": "^0.9.29",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "5.0.1",

I receive warning in the console after adding leva useControls in the component (below print from console):
Warning: ReactDOM.render is no longer supported in React 18.
Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17.
Learn more: https://reactjs.org/link/switch-to-createroot

Duplicate of #358

authors: Russo-creation dbismut

repo: pmndrs/leva


text:
Allow dashboard_url in response to update service instance

Validation through implementation of OSB 437.
This is to allow Dashboard URL to be returned in the response body to a PATCH /v2/service_instances/:service_id request.

Coverage decreased (-0.3%) to 91.571% when pulling c84e1f2ac399460bca68e77b9fb59562adfb5e2c on jberkhahn:update_dashboard into 2c5a685a8470e899dd32b9bd5de76ace98ab40bb on pmorie:master.

@pmorie
Took a look and fixed some stuff. I left the latest API version set to 2.13 as 2.14 technically isn't out yet.
Thanks!

Thanks @jberkhahn

authors: coveralls jberkhahn pmorie

repo: pmorie/go-open-service-broker-client


text:
Issue GPS autorisation

Version MIUI: 20.3.19 (Beta)
Nom de l'appareil: Mi CC9

Salut, j'ai installé un application qui demande l'autorisation de localisation GPS et j'ai trouvé un erreur de traduction. et aussi manque la fin du mot a propos de toutes les autres autorisations :

-Fixer


text:
Make Team Visibility Configurable with Parameters

For pnp:Team We can pass "GroupId", "DisplayName", "Description" values without issues.
We can not pass "Visibility" parameter because it cannot parse the String value coming from the Parameter as enum.

Hi,
The Visibility attribute does not support tokens (https://github.com/pnp/PnP-Provisioning-Schema/blob/master/OfficeDevPnP.ProvisioningSchema/ProvisioningSchema-2020-02.xsd#L8234). I'm sorry.

authors: PaoloPia mirkori

repo: pnp/PnP-Provisioning-Schema


text:
New command: 🔐 spo folder roleassignment remove

Usage
m365 spo folder roleassignment remove [options]
Description
removes a role assignment from file.
Options

Option
Description

-u, --webUrl <webUrl>
URL of the site where the folder is located

-f, --folderUrl <folderUrl>
The site-relative URL of the folder

--principalId [principalId]
The SharePoint Id of the principal. It may be either a user id or group id to remove a role assignment for. Specify either upn, groupName or principalId.

--upn [upn]
upn/email of user to assign role to. Specify either upn, groupName or principalId.

--groupName [groupName]
The group name of Azure AD or SharePoint group. Specify either upn, groupName or principalId.

--confirm [confirm]
Don't prompt for confirming removing the roleassignment.

Examples
remove roleassignment from folder based on group name
m365 spo folder roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --folderUrl "/Shared Documents"  --groupName "saleGroup"

remove roleassignment from folder based on principal Id
m365 spo folder roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --folderUrl "/Shared Documents"  --principalId 2

remove roleassignment from folder based on principal Id
m365 spo folder roleassignment remove --webUrl "https://contoso.sharepoint.com/sites/contoso-sales" --folderUrl "/Shared Documents" --principalId 2

Additional Info
a very similar command was already developed but on listitem level (which is actually the same as folder) so we may probably use that command code as reference to make it easier to create this one
https://pnp.github.io/cli-microsoft365/cmd/spo/listitem/listitem-roleassignment-remove/

@pnp/cli-for-microsoft-365-maintainers any comments on this one? I think this is a perfect case for "good first issue"

Looks great @Adam-it! 🚀
I have a few pointers.
Let's change --confirm [confirm] to--confirm.

Don't prompt for confirming removing the roleassignment.
I think the wording is a bit confusing. Maybe we could change it to e.g. Don't prompt for confirmation when removing the roleassignment.

The SharePoint Id of the principal. It may be either a user id or group id to remove a role assignment for. Specify either upn, groupName or principalId.

Maybe we could also rewrite this one because I can't really understand it 😅

@Jwaegebaert thanks for the review 👍
I updated the spec I hope it is clearer now 😉.
opening this up

A few extra typos we could fix 😄

removes a role assignment from file.

Removes a role assignment from the specified folder.

URL of the site where the folder is located

The URL of the site where the folder is located.

The site-relative URL of the folder

The server- or site-relative URL of the folder.

SharePoint principal Id. It may be either an user id or group id for which the role assignment will be removed. Specify either upn, groupName or principalId.

SharePoint Principal Id. It may be either an user id or group id for which the role assignment will be removed. Specify either upn, groupName or principalId.

upn/email of user to assign role to. Specify either upn, groupName or principalId.

The upn/email of the user. Specify either upn, groupName or principalId.

The group name of Azure AD or SharePoint group. Specify either upn, groupName or principalId.

The Azure AD or SharePoint group name. Specify either upn, groupName or principalId.

Don't prompt for confirmation when removing the roleassignment.

Don't prompt for confirmation when removing the role assignment.

remove roleassignment from folder based on group name

Remove a role assignment from the specified folder based on the group name.

remove roleassignment from folder based on principal Id

Remove a role assignment from the specified folder based on the principal id.

Also noticed the 2 last examples are basically the same.

thanks @Jwaegebaert for the double check 👍. I updated the spec 👍

Please assign to me so that I can make a start on it.

Certainly @reshmee011, thank you!

Thanks @milanholemans, it's been a while since last contributing to cli-m365, I am sure with the help of all of you as usual will be feasible.

Thanks @milanholemans, it's been a while since last contributing to cli-m365, I am sure with the help of all of you as usual will be feasible.

Certainly! It's great to have you back!

Awesome to have you with us @reshmee011 👏

Thanks @milanholemans, it's been a while since last contributing to cli-m365, I am sure with the help of all of you as usual will be feasible.

It's great your with us 🤩. Don't be afraid to open a PR in draft and share problems with us if you will be blocked on some level 👍

authors: Adam-it Jwaegebaert milanholemans reshmee011 waldekmastykarz


text:
How can I add a timer to Micrisoft Teams calls?

Sample
Timer
Author(s)
@Gezeitenbrand
Question
How can I add a timer to Micrisoft Teams calls? I was able to add it as an app to Teams without a hitch. But I can't add it to a call and everyone can see it.

Tks!

To make a Power App available as a Teams meeting app you have to modify the manifest file and set some properties to tell it to allow it to be a Teams meeting app.  I show a demo of how to do it in this community call: https://youtu.be/UeO2rEJeiNE

authors: aprildunnam gabycanepa

repo: pnp/powerapps-samples


text:
configuração inicial do po-ui: Could not resolve dependency

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: requi@0.0.0
npm ERR! Found: rxjs@7.5.5
npm ERR! node_modules/rxjs
npm ERR!   rxjs@"~7.5.0" from the root project
npm ERR!   peer rxjs@"^6.5.3 || ^7.4.0" from @angular/core@13.2.6
npm ERR!   node_modules/@angular/core
npm ERR!     @angular/core@"~13.2.0" from the root project
npm ERR!     peer @angular/core@"^13.0.2" from @po-ui/ng-components@6.5.1
npm ERR!     node_modules/@po-ui/ng-components
npm ERR!       @po-ui/ng-components@"6.5.1" from the root project
npm ERR!     6 more (@angular/animations, @angular/common, @angular/forms, ...)
npm ERR!   3 more (@angular/common, @angular/forms, @angular/router)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer rxjs@"~7.4.0" from @po-ui/ng-components@6.5.1
npm ERR! node_modules/@po-ui/ng-components
npm ERR!   @po-ui/ng-components@"6.5.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\Maiki\AppData\Local\npm-cache\eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Maiki\AppData\Local\npm-cache_logs\2022-03-15T12_31_51_195Z-debug-0.log
× Package install failed, see above.
Passos para reproduzir:

Execução do comando: ng add @po-ui/ng-components

Ambiente

Browser(s):

[X ] Chrome

Operating System:

[X ] Windows

Boa tarde @maikiperin, tudo bem?
Você está seguindo o nosso guia de primeiros passos?
Verifique a sua versão do npm, deve ser utilizada a v6.

Boa tarde @alinelariguet,
Utilizando o Node versão LTS e realizando o downgrade no NPM para v6, deu certo.
Obrigado.

authors: alinelariguet maikiperin

repo: po-ui/po-angular


text:
(Feature) auto-detect tokens for POA

Auto-detect tokens, owned by the currently unlocked account from the list of known tokens for POA core network (as it works for Mainnet)

@vbaranov
Auto-detection works only for network , where account was added. If account has tokens both in Mainnet and POA networks and such account has been added in POA then Mainnet's tokens won't be autodetected. And vise versa
Steps:

Set provider POA
Add account, that has owned some  tokens in Mainnet and POA networks
Observe the token's balance in POA network
Switch to Mainnet
Observe the token's balance in Mainnet

Expected result:

tokens, owned by account in Mainnet, should be shown

Actual result:

tokens weren't auto-detected

https://www.useloom.com/share/69969815fc32474db96c7d60b9ee1f9a

@vbaranov
Auto-detection works only for network , where account was added. If account has tokens both in Mainnet and POA networks and such account has been added in POA then Mainnet's tokens won't be autodetected. And vise versa
Steps:

Set provider POA
Add account, that has owned some  tokens in Mainnet and POA networks
Observe the token's balance in POA network
Switch to Mainnet
Observe the token's balance in Mainnet

Expected result:

tokens, owned by account in Mainnet, should be shown

Actual result:

tokens weren't auto-detected

https://www.useloom.com/share/69969815fc32474db96c7d60b9ee1f9a

@dennis00010011b basically, tokens auto-detection function executes every 3 minutes. Thereby, your tokens after switching to another chain should appear within 3 minutes. Nevertheless, I have added tokens auto-detection on chain change here https://github.com/poanetwork/metamask-extension/pull/175/commits/b6e84533465a645f4d31be5eaa1b929acab36006

repo: poanetwork/metamask-extension


text:
pushed pb_data

I accidentally pushed db_data to github, would it create problems? Should I  delete and re create my repo?

pb_data contains PocketBase env specific data - database, uploaded files (if local filesystem is used), etc.
It will not create problems but everyone who pull your project will have access to the uploaded database, which is usually not what you want with some exceptions (for example we have a test pb_data in the main repo that is deliberately committed so that everyone who pull/fork the project can have access to the same test database and can run the test without any upfront setup).
If you want to share just your db structure, you can commit your pb_migrations instead.
If it is a new GitHub repo, you can either prune your history or just recreate it (aka. delete your local .git folder and run git init, git remote add origin ... and git push origin master -f to replace the remote).

authors: ganigeorgiev serkan-bayram

repo: pocketbase/pocketbase


text:
Gists always displayed as "21478239839008923893... No description given."

Gists are named myusername, with a bunch of random numbers. I do specify filenames for my Gists; I'd like them to be displayed accordingly.

Gists are displayed correctly. The Action bar has the gist id but the header is the gist title.

authors: Meisolsson mcandre

repo: pockethub/PocketHub


text:
Notify users of updated versions

Users may not be using the awesome new functionality of the subscriber! let them know that a new version exists when applicable. Will require a user to grab the version with this capability before they get notified...
Assumptions
release tags will always use semantic versioning: 1.7.0, 1.7.1, 1.9.0, etc
Github releases API
curl   -H "Accept: application/vnd.github.v3+json"   https://api.github.com/repos/podaac/data-subscriber/releases
Semantic versioning comparison
as seen here: https://stackoverflow.com/questions/11887762/how-do-i-compare-version-numbers-in-python
>>> from packaging import version
>>> version.parse("2.3.1") < version.parse("10.1.2")

Merged into develop. Will be available with 1.13.0 release.

repo: podaac/data-subscriber


text:
CYGNSS_L1_V2.1 OPS and UAT failing in l2ss-py-autotest

OPS:
https://github.com/podaac/l2ss-py-autotest/pull/1316/checks?check_run_id=18719655195
UAT:
https://github.com/podaac/l2ss-py-autotest/pull/1213/checks

@davidcolemanjpl please test this collection in Hitide in UAT and OPS.  Thanks!

HiTIDE UI (UAT) - 4.16.1-RC.1
l2ss-py:2.7.0rc1
HiTIDE UI (OPS) - 4.16.1
l2ss-py:2.7.0
Test Complete

authors: davidcolemanjpl jamesfwood


text:
HMS-3429: fix realm name check

Relax the realm name check to better conform to the Kerberos definition (RFC 4120).  We now require it to consist of printable ASCII characters.  This still goes beyond the type in the spec (IA5String) but is a reasonable compromise between handling unusual but legitimate real world scenarios, and avoiding dealing with data that may be corrupt, malicious or otherwise indicative of a serious error.
Fixes: https://issues.redhat.com/browse/HMS-3429

sorry for the delay and thanks for your patient.
I will start tomorrow with this review.

authors: avisiedo frasertweedale

repo: podengo-project/idmsvc-backend


text:
Validate 'name' attributes already client side

Validate 'name' attributes already already in the CLI and in the client.

too generic

repo: podops/podops


text:
Using navigationDestination on a view with List running a task or onAppear doesn't trigger view update on state change

Description
What/Why
WithViewStore body is not re-triggered when Reducer changes the state
Screen Recording
https://user-images.githubusercontent.com/79094816/211607313-79754597-9b2c-4009-83d1-40ec8a0c5bee.mp4
As you can see in the video footage it works in case of using NavigationLink with (destination: label:) init but the state is not updated in case of (value: label:) initialiser.
Note
View will be updated if you add a button that sends the same action and tap it.
The same setup would work if you remove List
Checklist

[ ] I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
[ ] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue or discussion.

Expected behavior
Both - "Navigation link destination" and "Navigation destination" should be showing two texts when opened (Initial text & new text).
Actual behavior
Only "Navigation link destination" shows the correct view state (initial text & new text).
Steps to reproduce
Can be reproduced using this simple implementation.
import SwiftUI
import ComposableArchitecture

func getAsyncText() async -> String {
    return "new text"
}

struct Reducer: ReducerProtocol {
    struct State: Hashable {
        var texts: [String] = ["Initial text"]
    }

    enum Action {
        case changeText
        case changeTextResponse(TaskResult<String>)
    }

    var body: some ReducerProtocol<State, Action> {
        Reduce { state, action in
            switch action {
            case .changeText:
                return .task {
                    await .changeTextResponse(
                        TaskResult(catching: {
                            await getAsyncText()
                        })
                    )
                }
            case let .changeTextResponse(.success(newText)):
                state.texts.append(newText)
                return .none
            case .changeTextResponse(.failure):
                return .none
            }
        }
    }
}

struct NavigationDestinationIssueView: View {
    let store: StoreOf<Reducer>

    var body: some View {
        WithViewStore(store, observe: { $0 }) { viewStore in
            List(viewStore.texts, id: \.self) { text in
                Text(text)
            }
            .task {
                viewStore.send(.changeText)
            }
        }
    }
}

Then try adding NavigationStack in your ContentView and add two options of NavigationLink - One initialised with destination and the other with value.
struct ContentView: View {
    var body: some View {
        NavigationStack {
            List {
                NavigationLink {
                    NavigationDestinationIssueView(store: .init(
                        initialState: Reducer.State(),
                        reducer: Reducer()
                    ))
                } label: {
                    Text("Navigation link destination")
                }

                NavigationLink(value: Reducer.State()) {
                    Text("Navigation destination")
                }

            }
            .navigationTitle("Home")
            // FAIL: - Changing view state from .task or .onAppear doesn't trigger WithViewStore content closure
            .navigationDestination(for: Reducer.State.self) { initialState in
                NavigationDestinationIssueView(store: .init(
                    initialState: initialState,
                    reducer: Reducer()
                ))
            }
        }
    }
}

The Composable Architecture version information
0.48.1
Destination operating system
iOS 16
Xcode version information
Version 14.0.1 (14A400)
Swift Compiler version information
swift-driver version: 1.62.8 Apple Swift version 5.7 (swiftlang-5.7.0.127.4 clang-1400.0.29.50)
Target: arm64-apple-macosx13.0

Hi @kakhaberikiknadze, this is happening because you are constructing all new stores every time navigation happens (and there's another issue with data in the array having duplicate ids which is a no-no in ForEach).
Typically a store is constructed from scratch only a single time, at the root of the application. Then you use scope to derive stores for child domains to pass to child views.
In your example, you can just construct the store once in ContentView and then pass it around:
struct ContentView: View {
  let store = Store(
    initialState: Reducer.State(),
    reducer: Reducer()
  )
  var body: some View {
    NavigationStack {
      List {
        NavigationLink {
          NavigationDestinationIssueView(store: store)
        } label: {
          Text("Navigation link destination")
        }

        NavigationLink(value: Reducer.State()) {
          Text("Navigation destination")
        }

      }
      .navigationTitle("Home")
      // FAIL: - Changing view state from .task or .onAppear doesn't trigger WithViewStore content closure
      .navigationDestination(for: Reducer.State.self) { initialState in
        NavigationDestinationIssueView(store: store)
      }
    }
  }
}

I also recommend making sure that the elements in the array each have unique identity. This is one way to do that for your demo:
func getAsyncText() async -> String {
  return "new text \(Int.random(in: 1...1_000_000_000))"
}

But really you should make use of IdentifiedArray for that kind of stuff.
Also since this is not an issue with the library I am going to convert this to a discussion.

authors: kakhaberikiknadze mbrandonw


text:
Add FirstMatchOf parser

A parser that consumes elements of a collection one by one until a given parser parser succeeds.
In case of success, the prefix is discarded and the the output of parser is returned.
This parser is especially useful to extract some structured data inside an arbitrary collection, like a piece of source code for example.

Hey @tgrapperon! Thanks for taking the time to PR. This parser definitely is useful and we've played with similar functionality in the past. The one thing we're a little bit worried about is that use of such a parser could lead to performance issues. In particular:
Skip(FirstMatchOf(StartsWith("Hello".utf8)))

// vs.

Skip(PrefixUpThrough("Hello".utf8))

These should be functionally equivalent, but the former will run the parser against every byte, whereas the latter will do a direct search on the input. I haven't benchmarked it, but I believe this could be substantially slower. I'm wondering if you'd like to explore these performance issues a bit and think over the caveats. We could also put this PR on ice and open a discussion for now, to see if anyone else has thoughts on how to best accommodate the power of such a parser without accidentally introducing performance issues.

Yes @stephencelis, FirstMatchOf is indeed 9x slower in this specific example, benchmarked like you do for PrefixUpTo:
name                                         time          std        iterations
--------------------------------------------------------------------------------
PrefixThrough.Skip(PrefixThrough)             34381.000 ns ±  16.52 %      37342
PrefixThrough.Skip(FirstMatchOf(StartsWith)) 294248.000 ns ±   9.46 %       4649

Because the library is protocol-based, we can spot suboptimal configurations and I guess it's possible to automatically wrap PrefixThrough when this configuration is met. It is also very possible that other configurations are leading to other rules, including other parsers than FirstMatchOf. Please let me know if you're aware of such configurations.
Now that I've setup a benchmark suite, I'll investigate in this direction if you feel there's still life in it.
I initially implemented it to handle a collection which wasn't a String (or its derivative), and it was very difficult to instantiate a value for PrefixUpTo as I didn't owned the type. But as you said, it is definitely useful, and maybe faster than other solutions when it's the right tool, but it's not a silver bullet (yet).
I'll close the PR for now and reopen it if I'm achieving decent performance. I'll also open a discussion to gather optimization rules as may be a generalizable to other parsers.

authors: stephencelis tgrapperon

repo: pointfreeco/swift-parsing


text:
Add iPhone 13 devices

Closes #594
This PR adds the iPhone13, iPhone13Pro and iPhone13ProMax devices for snapshot testing and adds a missing iPhone12Pro configuration.
I took the numbers for device config from: https://useyourloaf.com/blog/iphone-13-screen-sizes
I believe the traits should be the same as iPhone 12

Thanks for confirming! Now, just need a review from a maintainer (:

Any chance this gets in soon?

Thanks for this PR @luispadron! Before maintainers approve this, is there a chance you also squeeze in the iPhone 14 line up? Thanks!

@armanarutiunov Looks like I didn't see the comment in time sorry about that! Id make a new PR to review those separately

authors: armanarutiunov djpearce luispadron

repo: pointfreeco/swift-snapshot-testing


text:
[On-chain, Relayminer] chore: add claim msg validation

Summary
Human Summary
Adds validation logic around the claim's session during claim creation. The session ID must match that as determined by an on-chain query of the session given the same inputs. Additionally, the supplier list for the session must contain the supplier whose address is referenced in the claim.
AI Summary

Summary generated by Reviewpad on 05 Dec 23 11:26 UTC
This pull request includes the following changes:

In the session_hydrator.go file, changes were made to the hydrateSessionSuppliers function to improve efficiency and correctness. This includes introducing a new variable s to iterate over the suppliers slice and appending new pointers to the candidateSuppliers slice. There is also a TODO comment suggesting the possibility of optimizing the code further.

The expected_keepers.go file now includes functionality related to handling sessions. This includes the addition of import statements and the definition of the SessionKeeper interface with a GetSession method.

The query_claim_test.go file has modifications where the keeper and ctx variables are initialized with an additional nil argument when calling the keeper function.

A new test file, msg_server_create_claim_test.go, has been added to test the msg_server_create_claim functionality in the keeper package of the supplier module. This file includes import statements and test functions for creating a claim.

The go.mod file includes updates to various module versions, including bug fixes, feature enhancements, and dependency upgrades.

Changes were made to the testclient/localnet.go file, including import statement additions and updates to function signatures.

Changes were made to the genesis_test.go file, specifically to the TestGenesis function, replacing SupplierKeeper(t) with SupplierKeeper(t, nil).

The msg_server_unstake_supplier_test.go file includes changes that add an additional nil argument to the SupplierKeeper function calls in two tests.

Changes were made to the keeper/supplier_test.go file, affecting the TestSupplierGet, TestSupplierRemove, and TestSupplierGetAll functions, where the initialization of keeper and ctx variables was modified.

Modifications were made to the claim_test.go file, adding an additional nil argument to the SupplierKeeper function calls in multiple places.

The msg_server_create_claim.go file in the x/supplier/keeper package was modified to update imports, function signatures, and claim creation logic.

A new file, fixtures.go, was added to the testutil/supplier package, providing session fixtures and test utilities for supplier testing.

The proof_test.go file in the x/supplier/keeper package was modified to import the github.com/stretchr/testify/require package and update the initialization of variables in specific test functions.

The app.go file includes changes related to the creation of the SupplierKeeper and SessionKeeper, as well as a comment explaining the circular dependency between the keepers.

The query_supplier_test.go file has modifications where the keeper and ctx variables are initialized with an additional nil argument in the TestSupplierQuerySingle and TestSupplierQueryPaginated functions.

Changes were made to the query_claim_test.go file in the x/supplier/client/cli package, including the removal of unused imports and functions, as well as updates to test logic.

These changes aim to improve efficiency, correctness, and functionality in the codebase.

Issue

#140
#237

On-chain claim message handling should validate that the claimed session matches the session at the given claimed sesison end height; i.e. given some session inputs, ensure that the ID matches and that the supplier is in the session.
Type of change
Select one or more:

[x] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing

[ ] Run all unit tests: make go_develop_and_test
[ ] Verify Localnet manually: See the instructions [here](TODO: add link to instructions)

Sanity Checklist

[ ] I have tested my changes using the available tooling
[x] I have performed a self-review of my own code
[ ] I have commented my code, updated documentation and left TODOs throughout the codebase

Note that the E2E tests are failing and wanted to make sure you remember the base branch here is not main (should it be?), but otherwise g2g!

Thanks for calling this out! I typically intentionally keep the github base of PR branches the same as the git (actual) base until after approval to avoid cluttering the commit list during review. I always take note of the +/- LOC diff before and after re-github-basing (not an actual rebase operation). In the event of discrepancies and/or merge conflict resolutions I double-check everything before merging and would ask for re-review if something unexpected arises or changes since approval.

repo: pokt-network/poktroll


text:
Make readme a bit prettier

Hi, I have taken the freedom to make the README a tad prettier :)
rendered

The markdown lint seems like it disagrees that having the logo first is a good idea, I think it does look nice. And Codecov is mad because of the rate limit being reached :eyes:

It might be due to the fact that the codecov action is not recent enough. I will bump from v3 to v5 and see if that works.

When I click on the Rerun jobs button it reruns the old configuration with the v3 action. The v5 action works on main, so maybe rebasing fixes that issue :)

Oh no, @timsueberkrueb  and I had a race condition ^^

authors: BinderDavid MangoIV

repo: polarity-lang/polarity


text:
Fix: cargo install

I got this while installing beancount-language-sever
error[E0308]: mismatched types
--> /home/valtrois/.cargo/registry/src/index.crates.io-6f17d22bba15001f/beancount-language-server-1.3.5/src/server.rs:288:74
if let Some((_method, start)) = self.req_queue.incoming.complete(response.id.clone()) {
                                                                 ^^^^^^^^^^^^^^^^^^^
expected `&RequestId`, found `RequestId`
arguments to this method are incorrect

fixed in #560

authors: andr-kuz polarmutex

repo: polarmutex/beancount-language-server


text:
Select centralized monitoring solution (assumes Azure Monitor)

As a project lead, I want to make a decision on which centralized monitoring solution to use, so that telemetry data can be aggregated and analyzed

Mentioned in #189

repo: polatengin/indiana


text:
Contribute ODE853 back to SciPy

https://mail.python.org/pipermail/scipy-dev/2018-September/023066.html

Ongoing PR, some tests failing, and possibly convergence errors:
https://github.com/scipy/scipy/pull/9290

The scipy.integrate contributors took care of this in https://github.com/scipy/scipy/pull/10173. Closing!

Tracking the testing in #667

And now we're using it in poliastro! #675

repo: poliastro/poliastro


text:
New consensus mechanism

Proposal: Proof-of-Consciousness Consensus Mechanism
Summary:
This proposal introduces a new consensus mechanism called Proof-of-Consciousness (PoC). Under PoC, only users who actively participate in both staking and governance receive rewards. This incentivizes community engagement and decision-making.
Key Features:

Reward Distribution: Rewards are distributed to users who delegate their tokens to the staking program and vote in OpenGov proposals.
Voting Mechanisms: Users can vote "yes," "no," "abstain," or delegate their voting power to a representative.
Security and Decentralization: Active participation helps deter malicious actors and ensures the network remains decentralized.

Potential Benefits:

Increased Network Security: Discourages malicious actors.
Stronger Community Governance: Encourages informed decision-making.
Fairer Reward Distribution: Rewards those who actively contribute.

Potential Drawbacks and Considerations:

Barriers to Entry: New users may find it challenging to participate in governance.
Centralization Risks: Large stakeholders could dominate voting power.
Technical Complexity: Requires careful implementation of secure voting systems and reward distribution.
Sybil Attack Vulnerability: Users could create multiple accounts to inflate voting power.

Mitigating Drawbacks:

Educational Resources: Provide clear guidance for new users.
Simplified Voting Mechanisms: Implement user-friendly voting interfaces.
Tokenomics Design: Discourage malicious behavior and incentivize long-term participation.
Robust Security Measures: Protect against Sybil attacks and other threats.

Next Steps:

Community Feedback: Gather feedback from the Polkadot community on the Polkadot forums and social media.
Technical Analysis: Conduct a detailed technical analysis to assess feasibility and potential challenges.
GitHub Contribution: Contribute to the Gray Paper repository with detailed specifications and rationale.
Direct Outreach: Engage with core developers and validators to build support.

Please provide feedback and suggestions to help refine this proposal.

How do you prevent that people just vote randomly, or always no or whatever, just to get the rewards?

How do you prevent that people just vote randomly, or always no or whatever, just to get the rewards?

On the one hand, since the voters themselves are the stakeholders. It is not beneficial for them to vote unconsciously.
On the other hand to prevent this to happen some actions can be done like:

Education and Outreach: Provide clear guidelines and educational resources to encourage informed and responsible voting.
User Experience: Improve OpenGov's UX to simplify the voting process and reduce barriers to entry.
Continuous Monitoring: Regularly monitor the voting behavior of users(AI and bots can help) flag the malicious voters and consider slashing or excluding them from participating in the next epoch.

I don’t really think it is possible to propose a new consensus with AI.

Continuous Monitoring: Regularly monitor the voting behavior of users(AI and bots can help) flag the malicious voters and consider slashing or excluding them from participating in the next epoch.

Maybe someone is just against all the proposals? IMO including some kind of AI to determine if some user is malicious, will backfire quite easily. Plus what @xlc said.

Continuous Monitoring: Regularly monitor the voting behavior of users(AI and bots can help) flag the malicious voters and consider slashing or excluding them from participating in the next epoch.

Maybe someone is just against all the proposals? IMO including some kind of AI to determine if some user is malicious, will backfire quite easily. Plus what @xlc said.

Being just against all proposals is not rational since the person is the stakeholder. But let's assume they would do it.  There were mechanisms in Polkadot like the Fisherman. What I mean by saying AI and bots could help is to automate the process of flagging the irrational voters. What we can do with the flagged voters can be arguable.
For instance, a random question designed to verify whether the voter is rational can be asked during the voting process. (Something like what Stackoverflow is doing to verify their moderators are rational)

For instance, a random question designed to verify whether the voter is rational can be asked during the voting process.

And how you do this on chain? All the things you are proposing here would be somehow be proved to on chain. Doing AI on chain is not really easy.

This has nothing to do with concensus.  It's just a rule on nominators.
As a practical matter, we lack the wallet infrastructure for anything like this:  We absolutely cannot make people have regular access to their DOTs, because they might store them in a bank vault, another country, etc.  We originally had free proxies called controller accounts, but we never really did enough outreach for them.  We've since removed controller so now proxies are no longer free, which makes their adoption even harder.  We'll add off-chain certificates eventually, but these sound technically more difficult, and thus require more outreach.  This cannot happen with current wallet technologies.  The operational security cosequences would be disasterous.  In particular, if this worked then polkadot users would become higher priority targets for criminates than other blockchain users.
All sane blockchains assume 2/3rd of their validators are not byzantine, which really means in independent, competent, and contentious.  This RFC does not improve any of those, and has a dramatic effect, which means this RFC worsens them.  In particular, dishonest nominators can easily game the system using scripts, while honest nominators get excluded.  This RFC makes polkadot less secure.

We definitely have harmful actors involved in governance now, who spend waste tresury money on useless advertising instead of new parachain product development.
If I were going to change anything here, I'd maybe make coretime spends create treasury-vote-DOTs with which the parachain team could vote on treasury proposals, or maybe only vote no.  These treasury-vote-DOTs would be non-transferable, but delegatable by the parachain governance, and expire after say 2 years.  I think parachain teams are fairly involved, so this gives them a chance to vote against the stupid using all the DOTs they spent.  At present, that's not much but it'll become larger if we attract more usage.

For instance, a random question designed to verify whether the voter is rational can be asked during the voting process.

And how you do this on chain? All the things you are proposing here would be somehow be proved to on chain. Doing AI on chain is not really easy.

What about projects like Bittensor which hit-or-miss is a substrate based chain

We definitely have harmful actors involved in governance now, who spend waste tresury money on useless advertising instead of new parachain product development.

Thank you for addressing that. Could you plesae shed some light for me why do you think involving the voting process into consensus reward distribution is compromisimg the security of the network.? I appretiate it

authors: AminMemariani bkchr burdges xlc

repo: polkadot-fellows/RFCs


text:
Relu layer bug

There is a bug in the max of the Relu layer here

The pixel value is negative, too small, I did n’t see it clearly

Thats a good point! (๑•̀ㅂ•́)و✧
Thank you for bringing this to our attention. We will fix it in later versions.

repo: poloclub/cnn-explainer