feat:SPP-11297-correct-tac-links

Description
One of the TAC links is not pointing to the relevant python file.
This ticket is to address this error and write a test to check code links for method summary pages point to python files.
Type of change
Please delete options that are not relevant.

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

Checklist:
If any of these are not completed, please explain why in the notes.
Definition of Done
Code and merges

[x] Code to be commented on where applicable
[x] Documentation updated where required
[x] Have considered non-functional requirements such as Security, Performance, Scalability, and Fault Tolerance
[x] I have linted the code

Testing

[x] All levels of acceptance test are passing (automated, integration, manual, accessibility, etc.)
[x] I have run the behave command to check the selenium behaviour tests pass locally
[x] Acceptance criteria met

Other Checks

[x] I have performed a self-review of my own code
[x] I have checked for spelling errors
[x] I have commented on my code, particularly in hard-to-understand areas
[x] My changes don't break anything unexpected
[x] I have checked and updated the security.txt file where required
[x] Up to date with the main branch
[x] For a change that needs to be deployed in a release I have a commit with the fix:, feat: or BREAKING CHANGE:
tags and will copy this commit message to the squash
[ ] For a change that does not affect the deployed code I have added a commit with ci:, docs: or test:
depending upon which area of the solution was affected

Note when merging, squash commit must begin with one of the following tags:
"BREAKING CHANGE", "feat", "fix", "ci", "docs", "test"
Usage
BREAKING CHANGE: any change that breaks current functionality and may cause compatibility errors to users upgrading
E.G BREAKING CHANGE: refactored method x to take variable y as input (changed from variable z)
feat: A new feature
E.G feat: adding method x to future methods table
fix: A bug fix
E.G fix: amending page for method x to show correct release version
ci: Changes to our CI configuration files and scripts (Concourse)
docs: Documentation only changes
test: Adding missing tests or correcting existing tests

DEPLOY_URL=https://dafvpmrjjr64h.cloudfront.net/
cloudfront_id=E3GUDFW2NK1ZF3

DEPLOY_URL=https://dafvpmrjjr64h.cloudfront.net/
cloudfront_id=E3GUDFW2NK1ZF3

DEPLOY_URL=https://dafvpmrjjr64h.cloudfront.net/
cloudfront_id=E3GUDFW2NK1ZF3

DEPLOY_URL=https://dafvpmrjjr64h.cloudfront.net/
cloudfront_id=E3GUDFW2NK1ZF3

DEPLOY_URL=https://dafvpmrjjr64h.cloudfront.net/
cloudfront_id=E3GUDFW2NK1ZF3


Changed behaviour when retrieving empty ManyToMany relationship

When updating from version 0.26.4 to version 0.31.1 we encountered changed behaviour when retrieving empty ManyToMany relationships. I can't find this in change log so i might be bug.
Lets say we have model:
export default class Todo extends Model {
  static entity = 'todos'

  static fields () {
    return {
      id: this.increment(),
      assignees: this.belongsToMany(User, TodoUser, 'todo_id', 'user_id')
    }
  }
}

And we initialise data by:
const initialData = [
      {
        id: 1,
        assignees: []
      }
]
this.$store.dispatch('entities/todos/create', { data: initialData })

In version 0.26.4 Todo.query().withAll().find(1).assignees would return []
In version 0.31.1 Todo.query().withAll().find(1).assignees returns undefined
I created reproducible example here https://github.com/ChuckBorris33/vuex-orm-manytomany-bug
Try to run with version 0.26.4 then install 0.31.1 and try to run.

@ChuckBorris33 Hi! Thank you so much for the report! Well this sure looks like a bug... I'll look into it!

@kiaking Hi. It's fixed since version 0.31.5.
Thank you very much !

@ChuckBorris33 Thank you so much for the confirmation! Glad to hear that 👍


Use Collection on API Paginator presenter

This allows to decorate all model's attributes inside the Collection.
This is the difference with and without ->all():

The CollectionDecorator of AutoPresenter check that subject is a Collection and, if not, it doesn't decorate model's attributes:
https://github.com/laravel-auto-presenter/laravel-auto-presenter/blob/42c1dac02ac88a21cdd015cdf6d940898b4b7b97/src/PresenterDecorator.php#L44
https://github.com/laravel-auto-presenter/laravel-auto-presenter/blob/42c1dac02ac88a21cdd015cdf6d940898b4b7b97/src/Decorators/CollectionDecorator.php#L18

@GrahamCampbell this may actually be the cause of the issue for the Auto Presenter update?

Changed in autopresenter 4.x.

Only 3.x was broken like this.

@GrahamCampbell this may actually be the cause of the issue for the Auto Presenter update?

No, it's not. I tried changing that in an attempt to fix it.

@billmn Could you take a look at https://github.com/cachethq/Cachet/pull/1015 please. I can't remember everything I changed in autopresenter 4, and it's broken...

https://github.com/laravel-auto-presenter/laravel-auto-presenter/blob/master/src/Decorators/ArrayDecorator.php#L46

Sure @GrahamCampbell

@GrahamCampbell

Your app.php file is out of date.

Not only, was a problem of services cache, now I can take a look

This is the content of $response['data']

This is the response of /api/v1/incidents:

Frrr.

@GrahamCampbell
I think that I've found the problem:
https://github.com/laravel/framework/blob/5.1/src/Illuminate/Http/JsonResponse.php#L51
Application pass an array of IncidentPresenter classes and is not Jsonable so the method execute a json_encode.
This is the result:

Could you send a PR to the autopresenter branch please?

And what you prefer to do?
Pass a Collection instead of an array in the paginator method: https://github.com/cachethq/Cachet/blob/master/app/Http/Controllers/Api/AbstractApiController.php#L170
Or convert an array into a Collection here: https://github.com/cachethq/Cachet/blob/master/app/Http/Controllers/Api/AbstractApiController.php#L202

I guess, pass a collection first.

Done :+1:


protocol not found

E/IJKMEDIA: https://www.abc.com/sachin2131_video.mp4: Protocol not found
video is not playing and giving this error.

Shame issue

Shame issue


Support adding generic properties during SSP authoring

Issue description / feature objectives
When a custom YAML header is used with ssp generate it, would be helpful to be able to specify extra properties at the implemented requirement and statement level when authoring an SSP.
An example use case for this would be adding implementation-status and control-origination properties to meet FedRAMP OSCAL SSP requirement without having to edit the JSON.
Caveats / Assumptions

This would support generic properties and there would be no special handling per framework (i.e. this will not map to specific OSCAL fields)
The x-trestle-add-props logic for profile authoring could be leveraged

Completion Criteria

Similar to the profile markdown, add a comment section that can be uncommented to process custom properties.
This must support adding namespace information for each property or adding applicable properties under a higher level namespace key in a nested fashion.
This must support adding properties to implemented requirements and statements (not at the by-component level)

cc @vikas-agarwal76 @degenaro Please let me know if anything written here does not line up with what was agreed on


Tomcat parsing error since 2.3.x

Hi,
I know this issue is more related to Javassist 3.19, but I was wondering if this is an issue that could come from the fact that you are trying to keep both java6/8 version updated.
With Hikari 2.2.5 (javassist 3.18.1), starting in tomcat 8.0.9 java 7 works great.
With Hikari 2.3.x (javassist 3.19), starting in tomcat 8.0.9 java 7 produces n errors like the following, one for each file.
30-Jan-2015 12:46:46.055 SEVERE [http-nio-9080-exec-1]     org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [javassist/util/proxy/SerializedProxy.class] from Jar [jar:file:/D:/Tomcat8/xxxxxxx/javassist-3.19.0-GA.jar!/] for annotations

java.io.EOFException
Sometimes this brings to outofmemory exception.
Have you an idea of why this is happening? Did you experience the same somehow?
Thanks
Andrea

I wonder if this is somehow related to this

@Adhara3 I'm not sure what is up with Tomcat 8.0.9 + Java 8, but I do not think it is related to HikariCP.  This bug in their database Shows and almost identical error:
https://issues.apache.org/bugzilla/show_bug.cgi?id=57251
24-Nov-2014 13:37:44.119 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [com/google/cloud/sql/jdbc/internal/ConnectionProperty.class]
from Jar [jar:file:/C:/Programs/apache-tomcat-8.0.15/webapps/ROOT.war!/WEB-INF/lib/appengine-api-1.0-sdk-1.9.10.jar] for annotations
java.io.EOFException

This bug is actually more relevant https://issues.apache.org/bugzilla/show_bug.cgi?id=57173

Comment 16 seems to imply that the issue is fixed in Tomcat 8.0.16+
https://issues.apache.org/bugzilla/show_bug.cgi?id=57173#c16

Yes, as I suspected, it was a Tomcat/Javassist issue.
I was just wondering if you had any other feedback on this.
Thank you very much for your help.
Andrea

I used to have this problem. Switched to tomcat 8.0.18 and problem disappeared.

@aug828 thanks for the confirmation.


Hsearch 1987

building on #920 : added one more fix and saved a bit of memory

Removed the last commit. Still need to process the other remark..

@Sanne You still plan to follow-up on this? Or should I take it over again? Is there anything else missing for the release?

Hi Gunnar,
I could not follow up on that last issue with ids, I think it's ok to open
that as a separate issue to be looked at later on. Could you open the jira
and describe it please (I don't have my IDE now and don't remember the
details).
Shall we merge this then? Your fix looks good for the issue at hand.
On 14 September 2015 at 07:29, Gunnar Morling<EMAIL_ADDRESS>wrote:

@Sanne https://github.com/Sanne You still plan to follow-up on this? Or
should I take it over again? Is there anything else missing for the release?
—
Reply to this email directly or view it on GitHub
https://github.com/hibernate/hibernate-search/pull/921#issuecomment-139974017
.

Rebased and applied. I've added one more commit to fix the remaining issue about numeric embedded id fields. All should be good now. Cheers :)


3RVX: sounds at windows startup

I have been using 3RVX on my Toshiba laptop with Win7 for the last few weeks and I love it. There is only one minor issue, at least on my laptop: when I start windows, the 3RVX sound display pops up 3 or 4 times (at about 10 sec intervals) and it plays the "volume change" sound (2 beeps). After 3 or 4 times, it stops doing it automatically. Have you ever seen this? Is there a fix?
Thanks

Hmm, this is strange. Are you able to run the latest beta version here:
http://matthew.malensek.net/projects/3RVX/3RVX3-B3.zip
If you can test it, does it exhibit the same behavior? The reason I'm assuming you're on v2 is that the volume change sound doesn't work in v3 yet.

Thanks for the fast answer.
Yes, I am using v 2.5
I downloaded the latest beta version but for some reason I can't install it. I get the windows warning window, click ok, and then nothing happens.

@seb3343 I agree the white icon is a bit of an issue with the default Classic skin, however changing skins to pix fixes it.

Thank you but I am not sure we're talking about the same icons. I am talking about the very small notification icons that are to the right of the task bar, next to the clock. There are a bunch of them when we click on the arrow pointing upwards. 3RVX is one of them but it is invisible.
Anyway, this is not a major issue - my first question is more important.

I don't think the old version (2.5) is supported anymore. You'll have to wait until the Beta fixes any issues it has.

Hey @seb3343 , could you try out the latest beta (B4) and see if this version will launch correctly? As for the icon thing, I'll definitely get it fixed soon.
http://matthew.malensek.net/projects/3RVX/3RVX3-B4.zip

Same issue - I get the windows warning and then nothing.

Ok, I have one more version for you to test, but there's a decent chance this'll do the same thing...
http://matthew.malensek.net/projects/3RVX/3RVX3-B5.zip
(B5 adds some new error messages instead of dying silently)
One of my priorities for the next beta is to add an option to dump a detailed debug log, and that should help pinpoint what's going on.

Yes, exact same thing, and no error message.
Another thing that you might want to look into is to make sure 3RVX restarts after the computer goes to sleep. I noticed that with v 2.5, I need to restart it manually.

Are you sure you're allowing it through the windows warning?

Yes, I am ... this is pretty basic!

Hey @seb3343 , sorry for taking so long to get back to you on this. I've created an executable that will log a bunch of diagnostic information to a file (3RVX_Log.txt in the same directory as the executable).
If you get some time, would you mind running this executable and then attach the log it produces? This'll give me an idea of where the program is crashing.
http://matthew.malensek.net/projects/3RVX/3RVX3-B7-pre2.zip
Thanks, and sorry again for the long delay. To answer your question about the sleep bug, I believe that is fixed in the new version.

With this version, I get error message 258. See attached

Try deleting your Settings.xml, it's format may have changed.

Deleting setting.xml from where? I don't see this file anywhere.
This is the log I get:
Starting up...
[wWinMain:72]
App directory: C:\Users\User\Desktop\3rvx
[init:110]
Initializing...
[Settings::Load:55]
Loading settings: C:\Users\User\Desktop\3rvx\Settings.xml

You'll need to get a copy of Settings.xml from somewhere else. Looks like the version @malensek uploaded doesn't include one. Download this file and save it in the same directory as the exe file. You'll need the SettingsUI program from a previous release too.

Whoops, I should've clarified... Jack is right, you will need the other files from the latest beta:
http://matthew.malensek.net/projects/3RVX/3RVX3-B6.zip
For the next release, I won't require a valid settings file anymore.

No error message anymore but I don't think it does a full installation. It works, but it is not listed in Control Panel\Programs\Programs and Features. Not in windows - all programs either.

Ah yeah, this version is "portable" -- just unzip and run. Once I start doing final releases I'll make sure there's an installer version as well.

OK, this one installs fine but the original issue remains (when I start windows, the 3RVX sound display pops up 3 or 4 times (at about 10 sec intervals) and it plays the "volume change" sound (2 beeps). After 3 or 4 times, it stops doing it automatically). This of course only occurs if I select "run on windows startup".
Also, with this new version, there doesn't seem to be an option to select the volume increment.

Ah, so the new version has the same issue. Would you mind posting the log file it produces when this bug occurs? I'd like to see if the volume is actually changing or if the program is just receiving events from Windows that make it think there was a change.
Thanks a lot for all your help with debugging this!!

I just tried but (1) the log enabled version above doesn't install because there is no settings.xml file. (2) the other version with the settings.xml file installs fine but doesn't save a log ... so I tried combining them (log enabled exe file and settings.xml file from your latest post) but it doesn't automatically launch when I start windows. I would need a log-enabled version with the corresponding settings.xml file. Hope this helps.

Just an update on this: I have installed the latest version 3.0 B8 and I still have this sound at startup issue with win7. Am I the only one?

I'll get a log-enabled installer version whipped up for the next beta (this should be way easier than jumping through all those hoops to get a log like before).
This seems like it could be an issue with the device being switched or toggled, or maybe something else is setting/resetting the volume... Something has to be creating these sound events. You mentioned that it doesn't happen when the program doesn't start with windows, but what happens if you immediately launch 3RVX manually (within that 30-40 sec interval)?
I hope to be focused more on bug fixes rather than new features for these next few versions.


maintainers: Add redhawk as a maintainer to Plexamp

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I know there are whitespace changes, Its automatic by my editor.

supersedes #313499

I know there are whitespace changes, Its automatic by my editor.

Please learn to control this behaviour. There is a lot of manual formatting going on in nixpkgs currently, and if you really can not convince your editor to not introduce unrelated changes, please temporarily switch to nano.


Add "done editing?" step before sending for list approval

Overview
This ticket includes requirements to adjust the list/facility approval workflow so that users are in control of the timeframe that they have to edit their data after it's been uploaded.
This ticket needs to be built with the editing functionality described in #2071 (requirement 6).
Included Requirements

After a list is uploaded, the contribution workflow needs to assign the list's "responsibility" to the contributor. This allows them to control the amount of time that they have to edit their list details.
A message communicates the list status to the user. When the list is uploaded and in "ready for approval" status a button is displayed at the top of the list detail page. This button has the text: "Submit for approval"

Additional Context
This functionality has a visual design component as well:

Blocked pending decision on #2071


Provisioning fails when the initially provisioned user is deleted.

Steps to reproduce

Create a SP application
Create a Google connection and enable JIT provisioning.
Try the first attempt and when the Gmail user is provisioned, delete that provisioned user.
Then try again to log in to the same application with Google.

Expected behaviour

The user needs to be provisioned again.
But the following error can be seen and the user is not provisioning again.
[2024-01-17 17:33:53,471] [554f7f45-4563-410e-a7b1-c217c2bbf6a0] ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.JITProvisioningPostAuthenticationHandler} - 80018 - Provided username already exists.

It seems like when deleting some tables are not clearing properly.

This issue is not reproducible in the latest pack taken on 18th Jan. Hence, closing this issue.
https://github.com/wso2/product-is/assets/50801227/91bb32ba-502f-43e1-b8e7-3b978e8169da


Voice over reads some parts of the content twice

This might be a voice over bug:

[ ] FRO Cards: the text for FRO type and sector is read twice by voice over
[ ] Project Card: the line for "project by ...." is read twice by voice over

This is a VoiceOver bug.


Integration with Airtable (read desc)

Increasing demand for now code solutions - check this link - airbnb clone build with airtable https://twitter.com/bentossell/status/1093921136419713026 (238 likes, 5000 views).
Airtable is the biggest player in no code https://www.g2crowd.com/categories/no-code-development-platforms
Huge demand for GraphQL Endpoint in Airtable. https://community.airtable.com/t/api-idea-graphql-endpoint/3639

Impossible to do - we checked it out with @Dennor we need to seek for another candidate. Any ideas?
Syncano, Architect etc. or other direction

@maciejkorsan Are you interested in writing syncano integration ?


automated testing: adapt local testing into terratest

Currently tests are being run locally using the app stack from this blog post. The configs should be adapted into terratest for automated functionality testing.
Proposed Tests:

[ ] basic deployment with ARC module resources

closed by #12


fix: it should be possible to config MultipartConfig for formParam retrieval

Hi @tipsy
I've noticed that there were some changes regarding MultipartConfig in https://github.com/tipsy/javalin/issues/1045 but I've still found something problematic (described in more detail what's going on in that linked issue).
This MR shows the change that I think could fix what I'm facing now.
As to how to reproduce it, one can expose Javalin API to which he sends 2 parts as a multipart/form-data, one as a small simple text and second a 150mb file , set XmX lower to 50mb and then retrieve the simple text through ctx.formParam. It will fail with OoM since all form params are eagerly evaluated.

Now that I think of it, it won't work either, simply because all form parameters are eagerly read into a String each time one uses ctx.formParam, making ctx.formParam to actually eagerly read only a specifically named form param seem to be the only option.
What do you think?

I'm okay with another PR to make ctx.formParam not create the whole map of form params, if you want to submit a PR for that!

I'm okay with another PR to make ctx.formParam not create the whole map of form params, if you want to submit a PR for that!


error installing jx3 in azure

Hi I am trying to install jx3 on azure.

This is a case sensitivity issue. I work around it by updating get set delete to Get Set Delete


refactor: Prep for Wasm

This PR refactors the code to extract all of the FFI specific stuff into the flipt-engine-ffi lib and try to make flipt-evaluation a more general purpose library that defines some contracts (traits) and has the core evaluation logic as public functions.
The reasoning behind this is to get all the stuff that wont work in WASM (concurrency) out of the flipt-evaluation code so that it can (hopefully) be used by a new flipt-engine-wasm lib that will be compiled down to WASM. Wasm Wasm.
The flipt-engine-ffi lib is now responsible for:

Implementing a thread safe evaluator
Implementing an HTTP Parser (might rename this in the future) to query Flipt Data API for flag state

The fliptevaluation lib is now only responsible for:

Defining common data structures
Building a Snapshot from a document (JSON)
Implementing Store for Snapshot
Performing the actual evaluation given data passed into it

cc @erka

Codecov Report
Attention: Patch coverage is 69.80057% with 212 lines in your changes are missing coverage. Please review.

:exclamation: No coverage uploaded for pull request base (main@c870463). Click here to learn what that means.

Files
Patch %
Lines

flipt-evaluation/src/lib.rs
77.80%
109 Missing :warning:

flipt-engine-ffi/src/evaluator/mod.rs
0.00%
59 Missing :warning:

flipt-engine-ffi/src/parser/http.rs
70.74%
43 Missing :warning:

flipt-engine-ffi/src/lib.rs
0.00%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #175   +/-   ##
=======================================
  Coverage        ?   84.26%
=======================================
  Files           ?       10
  Lines           ?     3050
  Branches        ?        0
=======================================
  Hits            ?     2570
  Misses          ?      480
  Partials        ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Summarize YouTube Videos with AI] input a YouTube url，nothing happened

Extension
https://www.raycast.com/iKasch/summarize-youtube-video-with-ai
Description
input a YouTube url，nothing happened
https://www.youtube.com/watch?v=vqrIC02OhnQ

Steps To Reproduce
input https://www.youtube.com/watch?v=vqrIC02OhnQ
Current Behaviour
No response
Expected Behaviour
No response

It was a network problem. I couldn't directly visit youtube.
open web proxy and it worked

I think there will be better to add a timeout tip when invoke some api.

@raycastbot close this issue


chore: add projects to what people are building section

@diasdavid, I think I've added all the projects that I was in cc. I'll ask you to check it out, please.
Some notes:

IPFS Companion - is missing the description/blurb and the svg logo;
FileNation - is missing the svg logo;
PeerPad - is missing the description/blurb;
Dweb Archive - is missing the description/blurb and the svg logo;
Orbit chat - is missing the svg logo.

You can also add markdown to projects description.
I've linked every project to its corresponding GitHub page. I'll also ask you to confirm if this is what you expect.

@PedroMiguelSS can you follow up on each email thread asking for what is missing?

PeerPad
"PeerPad is a collaborative real-time editor that works on the decentralised web, built on top of IPFS and Y.js. It uses no second or third-party: all participating nodes talk directly to each other without a central service."
Logos here: https://github.com/ipfs-shipyard/peer-pad/tree/master/public/images


Create comorbidity variable/group

[ ] create variable comorbidity count: sum the number of diagnoses and subtract 1

[ ] create total disorder count: sum the number of diagnoses

[ ] create a comorbid anxiety and depression group - have depression only, anxiety only and anxiety+depression

[ ] Cut the variable comorbidity count into categories.

I have created total disorder count, total comorbidity count, and also a categorical version (as Gerome suggested) of the comorbidity count


Add tests

I have not yet tried this plugin, but I was planning to eventually make something similar once I cleaned up ember-deploy-ssh-index some.  ember-deploy-ssh-index now has tests now, so you might consider adding tests to this project too.
I may eventually open some pull requests adding tests, code coverage, and a number of other additions.

Wow, that would be great. Thanks @treyhunner


PartitionKeyExtractorStrategy is not called for a dynamic message channel

While trying to send a message to a dynamic message channel the PartitionKeyExtractorStrategy Bean is not called in order to determine the partition that this message should be sent to.
The relevant code snippet:
@Value("${messaging.dynamic-destinations.partitionCount}")
private int partitionCount;

@Autowired
private BinderAwareChannelResolver binderAwareChannelResolver;

@RequestMapping(value = "/send_to_topic/{topic_name}", method = RequestMethod.POST)
@ResponseStatus(HttpStatus.OK)
public void sendToTopic(@RequestBody String payload, @PathVariable("topic_name") String topicName,
                        @RequestHeader(HttpHeaders.CONTENT_TYPE) Object contentType) {
    binderAwareChannelResolver.resolveDestination(topicName).send(MessageBuilder.withPayload(payload)
            .copyHeaders(Collections.singletonMap(MessageHeaders.CONTENT_TYPE, contentType)).build());
}

A possible pointer (I may be wrong) : It seems that the MessageConverterConfigurer is not registering a PartitioningInterceptor to this message channel and the the reason for this is that the ProducerProperties.isPartitioned() returns false.

Have you configured spring.cloud.stream.bindings.output.producer.partitionCount property?

No I haven't. But adding this property didn't help

Actually part of the issue is that output in the property name corresponds to the actual destination name. In your case the destination name is dynamic and I am afraid we are not currently supporting this.
We will try to address it as an enhancement for 2.1

Also, I presume you are using Kafka. If so please see this response from @garyrussell on SO. https://stackoverflow.com/questions/50947699/spring-cloud-stream-dynamic-destination-partitioncount-property


Plone Training Documentation still as 2022

I was going the docs for the training and saw that Plone Training documentation still is on 2022 ,
If this issue is alreaady fixed pls do close it @stevepiercy

Which URL?
How did you find the URL?
I suspect your went to an archived URL at /5/.
See https://github.com/plone/training/issues/672

I suspect your went to an archived URL at /5/.

I guess to the URL with the /5/ , i visited this Link
If /5/ is the older version and with the 202 version why isnt it remove from as the domain?
Are the curate things which is mentioned above are the things to be done?

How did you find the URL https://training.plone.org/5/index.html? Search engine? Link on another page? Sacrificing a small furry animal to Cthulu?

Are the curate things which is mentioned above are the things to be done?

Yes.

Search engine? Link on another page?

I was using this URL 2 month ago when i was going through the training documentation.And also recently i searched Google for the latest training for plone Plone training and the 2 link which redirects you to this link.

@stevepiercy should i close this issue ??

Yes, thank you. That confirms our suspicions. We are finding lots of links throughout our repos to the old training. Closing.

Yes, thank you. That confirms our suspicions. We are finding lots of links throughout our repos to the old training. Closing.

@stevepiercy how could this be fixed?? changing the whole 2022 documentation to 2023 might work??

No, please see the plan in https://github.com/plone/training/issues/672
The only thing for people who are neither trainers nor sysadmins to do is find and replace any links in any repo that point to https://training.plone.org/5/* and change them to https://training.plone.org/*.


Eric.gomez branch rebased

Description
Please include a summary of the change and a link to which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Really awesome refactoring on those endpoints man


hostname error check for fetch-ec2 job

If a hostname generated from EC2 exceeds 64 characters, the job fails
obscurely and ssh keys aren't installed, leaving the instance unusable.
If setting hostname fails, carry on and log a message that you can
inspect when instance is running.

That hostname code also doesn't seem to apply very often, unless you build custom EC2 images, since hostname defaults to nixos. Not sure if it should...

@copumpkin wouldn't it always apply when using the EC2 image and hostname is not set? (eg. when not using nixops).

@rbvermaa when I was just building an image (run that VM test in my PR) it wasn't getting run because nothing building the image was explicitly setting hostname to be empty, so it defaulted to nixos and skipped the hostname code.

The issue I ran into was that if you had a very long domain-name (potentially misconfigured due to another admin thinking it is a search domain list) in the dhcp option set, it would fail and the instance wouldn't properly initialize.  It's not common, but not being able to log in to debug caused pain.

@copumpkin @rbvermaa any input?

It definitely seems worth fixing if it breaks for people, but I'd also probably amend the surrounding code to not be conditional on hostname == "", which I believe almost never happens in practice.

Hey sorry, I just lost track of this. I'm happy to merge if you reopen it.

I was looking back over this and ec2-data.nix changed so this doesn't apply right now.  I'll retest with the reworked file, it may not be an issue now.
But to address your earlier comment about hostname == "", thats the pattern that I see set in all of the image creation for amazon/azure/google (eg https://github.com/NixOS/nixpkgs/blob/27016659046a8f8e7b4fd61ecbceaf9f5e306258/nixos/modules/virtualisation/amazon-image.nix#L139) and some others.  But if you were to bake your own AMI and set a hostname, this wouldn't kick in.


🌟Feature request: Introduce closeOnSelection prop for Datepicker

Is your feature request related to a problem? Please describe.
Currently the Datepicker doesn't close after selecting a date.
There was a bit of previous discussion about it on https://discord.com/channels/1116682155809067049/1117779396992979024/1182799916821643295
Describe the solution you'd like
Introduce closeOnSelection prop as opt-in which can be false by default for backwards compatibility which closes the calendar after a selection was made.

You can add an on:click to add this behaviour. it's quite trivial, I'd say!
Nonetheless, the default native behaviour is to close it on selection, so I see your point. @huntabyte thoughts?

Yes, it's more about following HTML specs closely.
What we did as workaround since opening this issue is:
onValueChange: (event) => {
      onValueChange?.({
        curr: event.curr,
        next: event.next,
      })

      // INFO: The datepicker doesn't close on value change, so we need to manually close it
      open.set(false)

      return event.next
    },

I think closing on select should be the default behavior tbh, but only if multiple is false and they don't select a date that is already selected (would be annoying).


[DKIM] Invalid character in DNS name

As far I can understand, for DomainKeys Identified Mail (DKIM) to work you need domains like <something>._domainkey.<domain>, like mta._domainkey.website.com. But if I use LETSENCRYPT_HOST=mta._domainkey.website.com (e.g. in docker-compose) I get the Invalid character in DNS name error:
letsencrypt-nginx-proxy-companion_1  | ACME server returned an error: urn:acme:error:malformed :: The request message was malformed :: Error creating new authz :: Invalid character in DNS name

Is there any way I can use _domainkey with the companion? Thank you very much.
Note: An online ACE converter like this reports that the _domainkey is identical in ACE format.

This may be useful: https://community.letsencrypt.org/t/underscore-in-subdomain-fails/31431/6. Lets'encrypt doesn't support underscore in DNS names.

The DKIM public key and its selector are a DNS TXT record you set up at your domain name registrar or DNS provider.
It is unrelated to SSL certificates, Lets Encrypt or proxying.


Robust handling of worker and subworker crashes

Currently a crash of a subworker may crash a worker, and a crash of a worker may crash the server. We need to improve this. However, we are not aiming for infrastructure resiliency now. Subworker crash may still fail the task (and so also the session) and worker crash may still lose all the objects and fail all involved sessions. The main goal is to keep the server running and deliver a graceful error.
A robust failure handling will open up the road to retrying tasks (possibly on different workers) and later to worker crash resiliency.

Executor (=subworker) crashing is now handled with a graceful error with logs. Governor (=worker) crash still results into overall panic.


I have a flutter problem. Somebody help me? thank

Steps to Reproduce

...
...
...

Logs

Logs

Here's how I fixed mine:

Go to your SDK manager in Android Studio.
Inside the SDK Tools tab.
Select and download the SDK Command line tools.
Launch a new cmd and try flutter doctor again.

@trungcoderz
Please check above solution and see if it resolves your issue. You'll need to install Android SDK Command-line tools from Android Studio.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Move some actions to notification/action

This PR remove uncessary action related methods and move renameaction to notification/action.

Codecov Report

Merging #8779 into master will increase coverage by 0.01%.
The diff coverage is 81.81%.

@@            Coverage Diff             @@
##           master    #8779      +/-   ##
==========================================
+ Coverage   41.36%   41.37%   +0.01%
==========================================
  Files         541      542       +1
  Lines       69482    69476       -6
==========================================
+ Hits        28739    28749      +10
+ Misses      37065    37051      -14
+ Partials     3678     3676       -2

Impacted Files
Coverage Δ

models/action.go
61.29% <ø> (-1.56%)
:arrow_down:

routers/repo/setting.go
13.32% <0%> (+0.01%)
:arrow_up:

modules/notification/base/null.go
73.91% <100%> (+10.27%)
:arrow_up:

routers/api/v1/repo/repo.go
69.41% <100%> (+0.53%)
:arrow_up:

modules/notification/notification.go
75.75% <100%> (+1.28%)
:arrow_up:

models/repo.go
48.81% <77.77%> (+0.18%)
:arrow_up:

modules/notification/action/action.go
81.25% <81.25%> (ø)

modules/log/event.go
65.64% <0%> (+1.02%)
:arrow_up:

modules/process/manager.go
82.43% <0%> (+4.05%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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

@guillep2k can you look at https://github.com/go-gitea/gitea/pull/8573 because i think this is blocked by it (this PR share a lot of)!
would sugest to do #8573 first and then rebase #8779 and go on with it ...

@6543 I will rebase one after another merged.

ping LG-TM bot


Update Shapeless to 2.3.1 release candidate

See release notes.

[Current coverage][cc-pull] is 81.76%

Merging [#285][cc-pull] into [master][cc-base-branch] will increase coverage by +0.18%

Powered by Codecov. Last updated by [615862f...93b9e00][cc-compare]
[cc-base-branch]: https://codecov.io/gh/travisbrown/circe/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/travisbrown/circe/compare/615862f8ebefb0a3d406fcc3ed6a5b48c1f14a1f...93b9e009e8eb62c4bf2808eb8973e6b5b7854396
[cc-pull]: https://codecov.io/gh/travisbrown/circe/pull/285?src=pr

Superseded by #287.


Update elastic-san-create.md

Adding missing $ signs to object references

Learn Build status updates of commit d91fa9d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/storage/elastic-san/elastic-san-create.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off

Learn Build status updates of commit dcded30:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/storage/elastic-san/elastic-san-create.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off

#hold-off

#sign-off


ESLint --output-file option not supported in @vue/cli-plugin-eslint

Version
4.0.5
Reproduction link
https://github.com/ataylorme/vue-cli-lint-output-file-issue
Environment info
System:
    OS: macOS Mojave 10.14.6
    CPU: (8) x64 Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz
  Binaries:
    Node: 12.13.0 - /usr/local/bin/node
    Yarn: Not Found
    npm: 6.13.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 78.0.3904.97
    Firefox: Not Found
    Safari: 13.0.3
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.1.2
    @vue/babel-preset-app:  4.0.5
    @vue/babel-preset-jsx:  1.1.2
    @vue/babel-sugar-functional-vue:  1.1.2
    @vue/babel-sugar-inject-h:  1.1.2
    @vue/babel-sugar-v-model:  1.1.2
    @vue/babel-sugar-v-on:  1.1.2
    @vue/cli-overlay:  4.0.5
    @vue/cli-plugin-babel: ^4.0.0 => 4.0.5
    @vue/cli-plugin-eslint: ^4.0.0 => 4.0.5
    @vue/cli-plugin-router:  4.0.5
    @vue/cli-plugin-vuex:  4.0.5
    @vue/cli-service: ^4.0.0 => 4.0.5
    @vue/cli-shared-utils:  4.0.5
    @vue/component-compiler-utils:  3.0.2
    @vue/preload-webpack-plugin:  1.1.1
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^5.0.0 => 5.2.3
    vue: ^2.6.10 => 2.6.10
    vue-eslint-parser:  5.0.0
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.7.2
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.10 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: 4.0.5

Steps to reproduce
Clone the ataylorme/vue-cli-lint-output-file-issue repository
Run npm install to download dependencies
Run npm run lint, which is an npm script alias for vue-cli-service lint --format json --output-file lint_results.json
What is expected?
The results of vue-cli-service lint are saved to the file lint_results.json in JSON format
What is actually happening?
The results of vue-cli-service lint are displayed as terminal output and the lint_results.json is not created

The Vue CLI ESLint plugin documentation says "Other ESLint CLI options are also supported."
--output-file is a valid ESLint CLI option.
My end goal is to save the Vue lint results in JSON format to a file, which can then be analyzed.

We shouldake clear in the docs that CLI-only options are not supported since we don't run the eslint CLI, we import and run the CLIEngine in our node process which doesn't support CLI-only flags.

@LinusBorg I opened #4850 which adds the output-file option. It also changes the documentation to say:

Other ESLint CLI options are not supported.

so that it is clear options not listed in the README aren't supported

Also ran into this problem and have a bit of a hacky method of piping the output to a file, however when it's successful then the format is invalid (in my case XML)

@mttmccb can you test my work in #4850? It should work with XML if you specify --format


unavailable availability zone

bbl assumes that the account being used has access to specific availability zones -- us-east-1b. My account is actually not able to produce things on that AZ.
The Cloud Formation template errors:

Value (us-east-1b) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-east-1a, us-east-1c, us-east-1d, us-east-1e.

This happened while trying to create the subnets across AZs.

Hey @jtarchie
What command were you running?  Can you see CloudFormation events in the AWS console that say which subnet it was creating when it failed?

Ran the bbl create command.
The events show InternalSubnet2 could not be created.

@jtarchie bbl isn't assuming anything about us-east-1b.  It's using the intrinsic CloudFormation function Fn::GetAZs which is supposed to do the right thing based on the linked doc.  It produces a template that looks like this:
        "InternalSubnet2": {
            "Properties": {
                "AvailabilityZone": {
                    "Fn::Select": ["1", {"Fn::GetAZs": {"Ref": "AWS::Region"}}]
                },
                "CidrBlock": {"Ref": "InternalSubnet2CIDR"},
                "Tags": [{"Key": "Name", "Value": "Internal2"}],
                "VpcId": {"Ref": "VPC"}
            },
            "Type": "AWS::EC2::Subnet"
        },

To clarify, do you have no access to us-east-1b in your account at all, or do you simply not have access to it for VPC/subnet purposes?

Based on other VPCs I created in us-east-1, it would appear I don't have access to us-east-1b at all.

@jtarchie are you using a very old account, possible one that predated the existence of VPCs?

http://stackoverflow.com/questions/22744467/vpc-capable-availability-zones-in-amazon/22812138#22812138
http://stackoverflow.com/questions/21390444/is-there-a-way-for-cloudformation-to-query-available-zones-for-subnet-creation
https://github.com/deis/deis/issues/1601

It would appear to be that. I've created a new account.

Cool, hope that wasn't a huge inconvenience.

Is there some unambiguous way to tell if I'm in the pre/post VPC-is-OK world?

Never mind, found an access key from 2009. Sooooooo I'm gunna guess it predates the VPC-is-OK world.


Update German translation on payment method

What does this PR do?
This PR will update German translation on Payment method
What are the relevant issues this PR belongs to

resolves #326

:tada: This PR is included in version 4.0.8 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix python style issues

What
This PR fixes two issues that slipped through PR review on the pattern library PR; namely that the master branch wasn't protected and the tests were failing firstly on the style linting of the python and secondly the dependencies were missing around markdown.
How to test
Check the tests pass and review the same acceptance of https://github.com/ONSdigital/eq-survey-runner/pull/9
Who can review?
@hamishtaplin  or anyone else apart from @dhilton

Mergin'


[v4 beta] incorrect formatting of destructured object

Describe the bug

with this code:

const {
  SERVICE_NAME_API_BASE_URL,
  SERVICE_NAME_API_PORT,
  SERVICE_NAME_TOKEN,
} = process.env;

previously it was left in this multi-line destructure
after using the v4 beta it is now fixing to:
const { SERVICE_NAME_API_BASE_URL, SERVICE_NAME_API_PORT, SERVICE_NAME_TOKEN } =
  process.env;

for comparison here is how it looks unformatted (runs to column 94)

const { SERVICE_NAME_API_BASE_URL, SERVICE_NAME_API_PORT, SERVICE_NAME_TOKEN } = process.env;

Expected behavior
expected to preserve previous multi-line destructure format
Versions (please complete the following information):

Visual Studio Code: 1.64.2
Node: 17.3.1
Package Manager: npm 8.3.0
prettier-eslint: ^13.0.0 (previously was using 10.1.0 but issue happens in both)
prettier: ^2.4.1
eslint: ^7.32.0

System Specifications (please complete the following information):

OS: macOS Monterey 12.1
Processor: Apple M1 Max
RAM Size: 64GB

Additional context

i installed the deps defined in the v4 beta readme prerequisites
there was no info about prettier-eslint so i kept 10.1.0. however, after seeing this issue i tried upgrading to latest (13.0.0) and the issue persists
in another file with a similar destructure (pulling out env vars from process.env) it does preserve the multi-line. in that file it un-formatted it runs to column 100

here are my configs for reference

.prettierrc

{
  "singleQuote": false,
  "trailingComma": "all",
  "bracketSpacing": true,
  "arrowParens": "always"
}

.eslintrc.js

module.exports = {
  "root": true,
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "tsconfigRootDir": __dirname,
    "project": "./tsconfig.json"
  },
  "env": {
    "es6": true,
    "jest": true
  },
  "ignorePatterns": [
    "node_modules",
    "build",
    "coverage"
  ],
  "plugins": [
    "import",
    "eslint-comments",
    "jest"
  ],
  "extends": [
    "eslint:recommended",
    "plugin:eslint-comments/recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:import/typescript",
    "prettier",
    "prettier/@typescript-eslint",
    "plugin:jest/recommended",
    "plugin:jest/style"
  ],
  "globals": {
    "BigInt": true,
    "console": true,
    "WebAssembly": true
  },
  "rules": {
    "padding-line-between-statements": ["error", { "blankLine": "always", "prev": "*", "next": "return" }],
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "eslint-comments/disable-enable-pair": [
      "error",
      {
        "allowWholeFile": true
      }
    ],
    "import/order": [
      "error",
      { "newlines-between": "always", "alphabetize": { "order": "asc" } }
    ],
    "eslint-comments/no-unused-disable": "warn",
    "jest/valid-title": "off",
  }
}

@the-vampiire I've attached a project with the fixed settings. archive.zip
8-f9e49d4b8748.png">
The issue was that 'max-len' was set as "off" by one of the configs. I other issue was that "prettier/@typescript-eslint", is no longer valid in v8 of eslint-config-prettier see https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21
<img width="1032" alt="image" src="https://user-images.githubusercontent.com/10620169/153794482-f4bb3efa-ed71-472f-a27

@the-vampiire I ran your code through the CLI Engine of prettier-eslint and got the same effect. The issue is not with the extension. It's only doing what the prettier is telling it to do. See https://github.com/prettier/prettier/issues/2550
I did find this plugin that may get you closer to what you desire. https://www.npmjs.com/package/eslint-plugin-newline-destructuring or you could write your own plugin.
Second, I was able to get the rules you mentioned in https://github.com/idahogurl/vs-code-prettier-eslint/issues/27#issuecomment-1035565086 to work. The value you set was invalid for ESLint. By running eslint --print-config .eslintrc.js I was able to figure this out.
Third, I removed prettier:@typescript/eslint from plugins. That option is not longer supported in v8 of eslint-config-prettier (see https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md#version-800-2021-02-21)
Here is the fixed ESLint config.
.eslintrc.js
module.exports = {
  root: true,
  parser: "@typescript-eslint/parser",
  parserOptions: {
    tsconfigRootDir: __dirname,
    project: "./tsconfig.json",
  },
  env: {
    es6: true,
    jest: true,
  },
  ignorePatterns: ["node_modules", "build", "coverage"],
  plugins: ["import", "eslint-comments", "jest"],
  extends: [
    "eslint:recommended",
    "plugin:eslint-comments/recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:import/typescript",
    "prettier",
    "plugin:jest/recommended",
    "plugin:jest/style",
  ],
  globals: {
    BigInt: true,
    console: true,
    WebAssembly: true,
  },
  rules: {
    "padding-line-between-statements": [
      "error",
      { blankLine: "always", prev: "*", next: "return" },
    ],
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "eslint-comments/disable-enable-pair": [
      "error",
      {
        allowWholeFile: true,
      },
    ],
    "import/order": [
      "error",
      { "newlines-between": "always", alphabetize: { order: "asc" } },
    ],
    "eslint-comments/no-unused-disable": "warn",
    "jest/valid-title": "off",
    "import/order": [
      "error",
      {
        "newlines-between": "always",
        alphabetize: {
          order:
            "asc" /* sort in ascending order. Options: ['ignore', 'asc', 'desc'] */,
          caseInsensitive: false /* ignore case. Options: [true, false] */,
        },
      },
    ],
    "sort-imports": [
      "error",
      {
        memberSyntaxSortOrder: ["none", "all", "single", "multiple"],
      },
    ],
  },
};

wow @idahogurl thank you so much for this. it had been driving me nuts. you are a wizard!

i tried out the plugin and its almost exactly what i needed. unfortunately it does some funky stuff with indentation that i cant figure out:

goes from this

const {
  SERVICE_NAME_API_BASE_URL,
  SERVICE_NAME_API_PORT,
  SERVICE_NAME_TOKEN,
} = process.env;

to this ?

const {
SERVICE_NAME_API_BASE_URL,
SERVICE_NAME_API_PORT,
SERVICE_NAME_TOKEN
} =
  process.env;

what a bummer. i created an issue in the plugin repo to see if they can help me sort it out. thank you again for your help

@idahogurl thank you for that plugin suggestion. after working with the maintainer i was able to get the perfect (imo) settings! in case anyone else needs this
issue thread

final .eslintrc.js

module.exports = {
  root: true,
  parser: "@typescript-eslint/parser",
  parserOptions: {
    tsconfigRootDir: __dirname,
    project: "./tsconfig.json",
  },
  env: {
    es6: true,
    jest: true,
  },
  ignorePatterns: ["node_modules", "build", "coverage", ".eslintrc.js", "jest.config.js"],
  plugins: ["import", "eslint-comments", "eslint-plugin-newline-destructuring"],
  extends: [
    "eslint:recommended",
    "plugin:eslint-comments/recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:import/typescript",
    "prettier",
  ],
  globals: {
    BigInt: true,
    console: true,
    WebAssembly: true,
  },
  rules: {
    "padding-line-between-statements": [
      "error",
      { blankLine: "always", prev: "*", next: "return" },
    ],
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "eslint-comments/disable-enable-pair": [
      "error",
      {
        allowWholeFile: true,
      },
    ],
    "eslint-comments/no-unused-disable": "warn",
    "jest/valid-title": "off",
    "import/order": [
      "error",
      {
        "newlines-between": "always",
        groups: ["builtin", "external", "internal", "parent", "sibling", "index", "object", "type"],
        alphabetize: {
          order: "ignore",
          caseInsensitive: false
        },
      },
    ],
    "newline-destructuring/newline": [
      "error",
      {
        items: 2,
      }
    ],
    "operator-linebreak": [
      "error",
      "after",
      { overrides: { "=": "none" } }
    ],
    "no-multi-spaces": "error",
    "indent": "off",
    "@typescript-eslint/indent": ["error", 2]
  },
};

@the-vampiire did you get this to work with fixing on save in vscode?
Once I add 'prettier/prettier': ['error'], to my eslint rules destructured objects are changed from inline to multiline and vice versa on every save and there's always an error, no matter the styling.

@davidmondok yes i did

.eslintrc.js

module.exports = {
  root: true,
  parser: "@typescript-eslint/parser",
  parserOptions: {
    tsconfigRootDir: __dirname,
    project: "./tsconfig.json",
  },
  env: {
    es6: true,
    jest: true,
  },
  ignorePatterns: ["node_modules", "build", "coverage", ".eslintrc.js", "jest.config.js"],
  plugins: ["import", "eslint-comments", "eslint-plugin-newline-destructuring"],
  extends: [
    "eslint:recommended",
    "plugin:eslint-comments/recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:import/typescript",
    "prettier",
  ],
  globals: {
    BigInt: true,
    console: true,
    WebAssembly: true,
  },
  rules: {
    "@typescript-eslint/no-explicit-any": "off",
    "@typescript-eslint/no-unused-vars": "off",
    "no-unused-vars": "off",
    "@typescript-eslint/no-explicit-any": "off",
    "padding-line-between-statements": [
      "error",
      { blankLine: "always", prev: "*", next: "return" },
    ],
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "eslint-comments/disable-enable-pair": [
      "error",
      {
        allowWholeFile: true,
      },
    ],
    "eslint-comments/no-unused-disable": "warn",
    "jest/valid-title": "off",
    "import/order": [
      "error",
      {
        "newlines-between": "always",
        groups: ["builtin", "external", "internal", "parent", "sibling", "index", "object", "type"],
        alphabetize: {
          order: "ignore",
          caseInsensitive: false
        },
      },
    ],
    "newline-destructuring/newline": [
      "error",
      {
        items: 2,
      }
    ],
    "operator-linebreak": [
      "error",
      "after",
      { overrides: { "=": "none" } }
    ],
    "no-multi-spaces": "error",
    "indent": "off",
    "@typescript-eslint/indent": ["error", 2]
  },
};

.prettierrc

{
  "singleQuote": false,
  "trailingComma": "all",
  "bracketSpacing": true,
  "arrowParens": "always"
}

dev deps

  "devDependencies": {
    "@types/node": "^16.11.7",
    "@typescript-eslint/eslint-plugin": "^5.0.1",
    "@typescript-eslint/parser": "^5.0.1",
    "eslint": "^7.3.2",
    "eslint-config-prettier": "^8.0.0",
    "eslint-plugin-eslint-comments": "^3.2.0",
    "eslint-plugin-import": "^2.22.0",
    "eslint-plugin-jest": "^25.2.4",
    "eslint-plugin-newline-destructuring": "^1.0.1",
    "prettier": "^2.4.1",
    "prettier-eslint": "^13.0.0",
    "prettier-eslint-cli": "^5.0.1",
    "ts-jest": "^27.0.7",
    "typescript": "^4.4.4"
  },

@davidmondok No problem. Yes it's delicate but I always bring those exact devdeps over to new projects.
Silly question but as a sanity check you are using the beta version of the extension right? And this is undocumented but I've found if you make any changes to packages (wrt linting) if I close out of vscode completely and reopen then they are activated.
What is your prettier/eslint extension output when you save?

@the-vampiire Exactly, I tried using the 5.0.1 Pre-Release version of Prettier ESLint but receive this output on every save Error: r is not a constructor which will pretty much mean the same as CLIEngine is not a constructor which I receive when running pretter-eslint in the terminal.

@davidmondok Not sure what you mean by the prerelease version. Are we talking about the extension version? I just checked and the one I have installed is 4.0.0-beta

hmm now i am not sure i even got this beta version lol. it is no longer in the beta instructions doc.
but anyways i tried switching to the "pre-release" version (v5.0.1) and i am still having it working:

i am using the eslint/prettier configs shown above
i am using the dev deps shown above
i am using ESLint v2.2.2 extension
i am (now) using Pretter ESLint v5.0.1
VSCode v1.66.2 on macOS

some thoughts:

wipe out the node_modules
replace all eslint/ts/prettier devdeps with the ones i showed above
install
quit VSC and reopen

if it still doesnt work then maybe @idahogurl can help.


Update UMP.agda, NaturalModels/, Syntax/ to build again

In 325c84bd0d6d8aa73f529e6efb9753046f8da84c, files under NaturalModels, Syntax, and UMP.agda were removed because they didn't build anymore.
Fix-up UMP.agda and the other files.
https://github.com/maxsnew/cubical-categorical-logic/pull/90#issuecomment-2119326787

For convenience, I've attached the git revert patch to 325c84bd0d6d8aa73f529e6efb9753046f8da84c.
Although, owing to

Note: If you use Linux and try to upload a .patch file, you will receive an error message. This is a known issue.

https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files
I've attached it as a .md. It's really a git format-patch -n HEAD^1.
0001-Revert-remove-everything-that-doesn-t-build-and-make.md

I'm working on reformulating some of this stuff to use elimination principles etc to see if we can more directly apply our gluing techniques to lambda calculi viewed as free simple categories with families rather than free CCCs


MissingAudienceMember event is hit rather often

Latest ODSP TAP20 scalability run has almost 8K fluid:telemetry:Container:MissingAudienceMember events
I also easily rerpo'd it by running shared-text example. This is for 17K container sessions (so every other container session experiences an event on average).
This is newly added event that tells us that Audience is not consistent because signals were coming out of order. Given these big numbers, we should assess what do do next.

Worth adding that only interactive clients hit 99% of these errors (i.e. not summarizer clients), there were only 12K interactive container sessions. There were only 84 hits for summarizer client.
@GaryWilber - FYI, please take a look at this issue (and thread in Teams).
What is really suspicious is that these errors are not randomly spaced out in time, they are grouped at the end of the run.

@vladsud When you say I also easily rerpo'd it by running shared-text example does that mean it repros easily in routerlicious too? I want to know if this is a common issue between ODSP & R11s

I have not tries, @heliocliu - any chance you can poke around and see how easy it is to repro?
@GaryWilber - FRS also runs their own tests. Not sure how often, but we can get stats RE how often they see these events in their runs.

The number of events being logged here is also very very high, i would consider that in itself a release blocker for the next version of the fluid framework. @heliocliu what are the next steps here, looks like there are bugs in the area, and the new event is way too chatty

Execute: [Web] [Desktop] [Web (Lens)] [Desktop (SAW)] https://kusto.aria.microsoft.com/742fa5a288b045e5beab1a2b8e445a71office_fluid_ffautomation_error| where Data_eventName == "fluid:telemetry:Container:MissingAudienceMember"| extend version = iff(isnotempty(Data_runtimeVersion), Data_runtimeVersion, Data_loaderVersion)| extend minorVersion = substring(version,0, strlen(version)-indexof(reverse(version),".")-1)| summarize count() by minorVersion

minorVersion
count_

0.45
84157

looks like we have a bunch of end to end tests that hit this reliably

office_fluid_ffautomation_error
| extend version = iff(isnotempty(Data_runtimeVersion), Data_runtimeVersion, Data_loaderVersion)
| extend minorVersion = substring(version,0, strlen(version)-indexof(reverse(version),".")-1)
| summarize countif(Data_eventName == "fluid:telemetry:Container:MissingAudienceMember"), make_set(Data_driverType), count() by minorVersion, Data_testName
| where countif_ >= count_
| sort by countif_ desc

i think there is a bug here where we don't wait util we are connected before logging this error, so inital clients may not have even been populated yet

I've looked at couple sessions, and this problem always happens 1ms after connection is established.
I also reliably repro this problem with a single client on a new document using start:spo-df workflow with any sample - whenever first op (edit) happens, connection transitions to "write" and error is hit. I.e. we observe it with same container instance, but it complains about old clientID (verified that).
That looks to be due to initial signals processing right after firing "connect" event in setupNewSuccessfulConnection, and thus some kind of race between initialSignals & initialClients (as initialSignals may contain signals that are delivered while we are waiting for connection handshake, and thus may come out of order relative to connect_document_success message).
I can confirm that if I remove processing of initialSignals, I no longer see it.
I tried to move processing of initialSignals above where "connect" event is raised and constrain logging to not happen in disconnected state (i.e. ignore errors from initialSignals). This does not help as queues always process events on clean stack, so it's async relative to setupNewSuccessfulConnection, and thus moving it around does not help (unless we convert it to processing synchronously, which is not good direction to pursue). Or, we keep some metadata to ignore such signals that came through initial path

I don't fully know the flow here, but this also looks like it could be part of it
https://github.com/microsoft/FluidFramework/blob/f80bccdb377a3a304c1b055ae5e268653ec51ce2/packages/loader/container-loader/src/container.ts#L1569-L1582

I've confirmed that the conflict (or reordering) happens due to early handler. I.e. initialClients & initialSignals are in sync with each other, and all signals that come after that are Ok too (that's not 100% guaranteed, but at least that's the case in all my experiments).
But early signal handler is the one who is causing trouble - it observe events out of order relative to above, and thus things go in wrong direction. We have same problem with ops, but there at least we can detect such cases and self-correct, but not here.
Capturing signals before connection is fully established does not buy us anything, so dropping them - this also simplified code :)

Still seeing quite a few hits here. reopening as i think this still need further investigation

I can take a look at this further tonight/tomorrow, then remove the event later this week before the release if we're not in a good spot at that point

it may be ok to release now, but i'd like someone to look at it, as we may get questions from partners about this event given its frequency.

Took a look and it seems to be essentially what @vladsud described earlier with establishing the initial connection, with the race condition between signal processing and connecting (and clearing the audience).  I suspect waiting until we're fully connected (instead of just connecting) before logging any errors would resolve the vast majority of hits, but doesn't actually fix the race condition.  Gonna go ahead with that change and continue monitoring.

I guess i still don't understand if the race condition matters, like what is the impact for consumers? is the audience incorrect? do we emit spurious events?

Race condition likely does not matter, so we can even remove the logging statement.
But it also would be nice to understand if outside of connectivity we have some out of order events. That would influence our confidence in Audience itself, as well as any other workflows we might want to build using signals (for example, probabilistic leader election for "read" clients).

That makes sense, just wanted to double check. Anecdotally there does seem to be issues around audience based on feedback. Whether these issues are real or perceived is unclear, and possibly unimportant, as if the issues are perceived then there is likely too much non-obvious complexity leading to bad user assumptions. This seems likely to be the case given that the behavior of this log event wasn't even obvious to us.
I'm trying to understand what the next step here are. @heliocliu i see you are changing the log to only log once connected. Is there a hypothesis you are trying validate? Will you be monitoring this log event and come up with next steps based on observed behavior? My guess regardless of what we discover with this event there may still be need for further investigation here. Are there specific scenarios we are trying to validate? Can we write tests for those scenarios?

@anthony-murphy I'm going to remove the log event instead of only logging while connected, per Vlad's feedback and the actual severity of the error case.  The specific scenarios I was targeting were out of order signals and dropped signals, but aside from what Vlad found and fixed around initialSignals all the logging we've seen has not been indicative of anything wrong (and has been an issue with the logging statement itself).  Checking connected was to try to reduce the error there, but it's inherently tied to a (valid) race condition with client disconnects/reconnects so it wasn't clear the resultant telemetry wouldn't still be all noise.
From the feedback I've seen about audience, it mostly revolves around how what it provides is very raw and unintuitive, and as a result requires a lot of supporting code to be really useful, which the ServiceAudience classes attempt to address (such as by ignoring summarizer clients, maintaining more descriptive IMember objects instead of just clientIds, self-identification, etc).  The other reason I felt it was okay to remove the logging is because the scenario is ultimately unimportant to the user because it needs to be accounted for anyway.  I think our follow up here is to acknowledge that there are legitimate scenarios with signals where you can get these sorts of de-syncs, and to provide good guidance/examples on how to handle them.  In the audience's case, that would mean things like using the audience's current member list as the source of truth (vs app-accumulated metadata on members) to guard against member desync as a result of lost signals or member changes during disconnects.

Thanks for taking a look @heliocliu. that all seems reasonable to me.


Inconsistent Event/Team pages?

I check out this event:
https://theorangealliance.org/events/1819-NY-CNY1
I see that team 8500 competed at said event (ranked #20).
I click on team 8500 to see their season summary.
https://theorangealliance.org/teams/8500
Their season summary doesn't show the NY-CNY1 event, even though the event shows up on TOA and the team is shown on the event page as competing in the event. ?????  Is there a way to ensure that all events and teampages stay in sync with one another?

Here's another odd example of a team page with the same event listed twice on it.
https://theorangealliance.org/teams/7357

Both issues seemed to be one-offs, and have been fixed.


Dark Mode

Swish Desktop currently supports light mode only. Add a dark theme.

UI reacts to light or dark mode
Config set from the UI, which persists in the .swishrc file

UI is able to update and modify the .swishrc file
External modifications of the .swishrc file are not picked up

SCSS files are organised so colours are defined separately inside the specific theme
Config should allow for (but not actually build - until #46) automatic theme based on OS theme - e.g. don't build it in a way which prevents adding an auto option later, alongside the current light and dark.

For HTML output:
Consider making the app inject a swish-dark or swish-light class to the  element of the page (if it contains one - maybe wrap the content if it doesn't have one? - possibly with a basic style sheet)
This way the plugin author can know which mode the app is in, and define styles for both light and dark mode.
Looking at using swish- as a prefix, as we don't want to directly set a light/dark class which could collide and confuse anyone developing a HTML-outputting plugin. Maybe use swish-theme-dark to be more obvious?

Setting a default stylesheet if no  is found may be bad idea.
If someone outputs My output and they get a nicely themed output for both light and dark mode, then they decide they need more so they output
<!DOCTYPE html>

My more advanced output

and now they lose all the theming and auto light/dark mode support? Seems weird.
At least would make sense to allow them to keep the theming and styles somehow.
HTML is explicitly the most advanced plugin output format - if you want formatted output ideally you would use Markdown - so sticking with that, it makes sense to not theme it automatically (but keep the body theme class to allow the author to style the page based on the theme).

Resolved other than HTML output.
That is trickier as Angular messes with the DOM if I try to manipulate it.
Could do a replace of $theme$ with either swish-light or swish-dark and make the plugin author decide where it should go.


Jobs and runs stalled

It seems that the last activity was on 2022-11-11:

https://batch.openaddresses.io/run (last run 2022-11-11)
https://batch.openaddresses.io/job (logs expired?)
https://batch.openaddresses.io/data (clicking on random sources on map reveals latest date 2022-11-11)

Should be fixed! So sorry this took longer than I had hoped, between work and Search & Rescue I've been stretched very thin.

Thanks, it seems to be working now!


PIL/Pillow problem on Python 3

Prerequisites

[x] Did you read FAQ section?
[X] Did you test with the latest releases or commit ?

Description
I have had problems since the PixivUtil switched from Python 2.7 to Python 3.8, and now this has gotten a bit more problematic than before. I am now experiencing errors with PIL and Pillow, while Pillow is prefered since PIL is deprecated, the tool requests that i install PIL for good working, however, upon doing so, PIL returns errors to which i tried different methods, cleaning, reinstalling, of each PIL and Pillow, but to no avail, i still come across the same problem, which is:
ImportError: cannot import name '_imaging' from 'PIL' (/usr/lib/python3/dist-packages/PIL/init.py)
pixivutil.log
I have no ideas what to do at this point, it seems as if whatever i attempt to do, i still get this problem, and if i do attempt to uninstall PIL as well as Pillow then install Pillow only, i get told that that PIL module cannot be found and therefore the PixivUtil does not work in the first place.
Steps to Reproduce

Run python PixivUtil2.py
Try to download an image
Wait

Expected behavior: The image should have downloaded as intended
Actual behavior: Error returned, described above
Versions
v20191221

weird, I don't have PIL anymore in my package list
Package             Version
------------------- ----------
apng                0.3.3
astroid             2.3.3
atomicwrites        1.3.0
attrs               19.3.0
beautifulsoup4      4.8.1
cachetools          4.0.0
certifi             2019.11.28
chardet             3.0.4
colorama            0.4.3
demjson             2.2.4
entrypoints         0.3
flake8              3.7.9
future              0.18.2
html5lib            1.0.1
idna                2.8
imageio             2.6.1
isort               4.3.21
lazy-object-proxy   1.4.3
mccabe              0.6.1
mechanize           0.4.4
more-itertools      8.0.2
numpy               1.17.4
packaging           19.2
pefile              2019.4.18
Pillow              6.2.1
pip                 19.3.1
pluggy              0.13.1
py                  1.8.0
py2exe              <IP_ADDRESS>
pycodestyle         2.5.0
pyflakes            2.1.1
pylint              2.4.4
pyparsing           2.4.5
pytest              5.3.2
requests            2.22.0
setuptools          41.2.0
six                 1.13.0
SocksiPy-branch     1.1
soupsieve           1.9.5
urllib3             1.25.7
wcwidth             0.1.7
webencodings        0.5.1
wheel               0.33.6
win-unicode-console 0.5
wrapt               1.11.2

Yeah i know that, which is why i am confused, if PixivUtil2 does not rely on PIL to work, why does it says PIL module not found in the first place when i do try to run PixivUtil2, so i am stuck here

Okay, here's the problem i have found, in theory, it's because of it that things are breaking.
PIL short for Pillow, while PIL is old and deprecated, Pillow is a fork of it that is still being maintained.
Now what happens here, is that my environment is Cinnamon, this relies on PIL to work, no matter what, i will always be forced to reinstall python-pil using the software manager because when i try to install python-pillow, it defaults back to python-pil instead. the other problem is that if i try to install pillow using pip, the link will not be created, while Pillow contains the libs that PIL offers, PixivUtil2 fails to find those links and tnerefore cannot access the libs offered by Pillow
I am not sure how to fix that, but if i want this to work, i would need to teach PixivUtil that Pillow is there somewhere on the system and use it, because by default, it tries to use my system's current python-pil package

I'm not sure, but usually I install the required packages using pip bundled with python following the instruction: https://pillow.readthedocs.io/en/stable/installation.html#linux-installation
other option is to disable the image verification setting in config.ini by setting verifyImage = False

I see, so chances are that this issue has been there for me this entire time, just that it never got brought up because i never enabled verification until now


[Fluent UX] Color Picker

Description of the new feature / enhancement
Windows 11 introduces a new direction of Fluent Design - it would be great if all PowerToys features would look and feel native to the OS. WinUI 3 should make this an easy transition. Some things that come to mind:
General

[ ] Adopting WinUI 3 (and it's default styling for Windows 11)
[ ] Resolve common accessibility issues by adopting standard UI elements and colors
[ ] Modern input (touch / pen)

Issues we can address with this UI redesign: #13350, #12931, #12850, #12095, #12093, #11994, #11987, #11986, #11383, #10854, #9858, #8336,
Mock-up

WinUI 2.6 (UWP) source code: https://github.com/niels9001/colorpickerux
Let's use this issue to track UI related concerns, feature requests and other feedback!

Couldn't this app be right now a WinUI3 app?  It doesn't need elevation. @stefansjfw correct?
Couldn't PowerRename do the same?

Couldn't this app be right now a WinUI3 app?  It doesn't need elevation. @stefansjfw correct?
Couldn't PowerRename do the same?

PowerRename is easier I guess. Color Picker might use two windows (for the picker and editor). Not entirely sure, and support for that in WinUI3 should land soon according to the repo roadmap. @stefansjfw would know better :)

Color Picker might use two windows

True. I see 3 windows defined there. Also when PT is running elevated, ColorPicker is running elevated as well, which is not the case with PowerRename. So in both cases PowerRename would be a better candidate for WinUI3 atm

lemme track down timeline for multi-window support

#8635

This has been worked on during the 0.79.0 release cycle.
Please update to the latest: https://github.com/microsoft/PowerToys/releases


QA tests: metadata.json file is optional, but must be valid if present.

Fixed by 404962729b1068705c526ffdce4900a6ae541ba9


(3) Live reloading system which will restart builds for individual modules.

Fixed with #1002

Fixed with #1028


Server-side logging per reflex action

Type of PR (feature, enhancement, bug fix, etc.)
Feature
Description
Server-side logging per reflex action.
This PR adds:

logger class responsible for printing a colorized log per reflex action (green - success / yellow - halted / red - error)
stimulus reflex config initializer template
generator for that template :point_up (usage: rails generate stimulus_reflex::config)
config class handling specific user's configuration found in config/initializer/stimulus_reflex.rb (this class is initializing debugging and logging and defining accessors for them)
logger attribute to reflex class
finally invoking of logger after commiting session

Log message does not include a round-trip duration. Indeed, I am not sure how to know the exact exuction time.  Any suggestions would be appreciated. Other than that, I covered all columns mentioned in the description of the issue.
Fixes #264
Why should this be added
Currently there is no server-side logging per reflex action. It would be nice to have one 👍
Checklist

[x] My code follows the style guidelines of this project
[x] Checks (StandardRB & Prettier-Standard) are passing

Regarding the issue of initializers, I've asked @RolandStuder if he'd be willing to address this: https://discordapp.com/channels/629472241427415060/733725826411135107/770050840111087659

Do we have an option to manipulate that output and/or the order of them?

@marcoroth The output of [ActionCable] Broadcasting can be manipulated. I am not sure about the output of StimulusReflex::Channel transmitting though.
Re changing the order: it just does not seem right to me. There are several operations happening on a reflex before its action is being logged. I would prefer not to change their order. In fact, some of these operations build reflex action log.
Personally, what I find verbose is the output of StimulusReflex::Channel#receive but I do not think it is a scope of this PR.

@marcoroth On a second thought, all these long messages appearing around my reflex action log are verbose ☝ Their output gets duplicated.
@leastbad What is your opinion on that? I would prefer improving these ActionCable messages in a separate PR.

Hey @piotrwodz, I'm a bit fuzzy on the context in which you're referring to changing the order.
You could be talking about:

which debug elements are displayed, in which order
when the debug message is emitted, in relationship to the ActionCable message
at what stage of the server-side Reflex processing do you want to emit the message

Help me drill down and I'll give you a better answer. :)

@leastbad This is the context I was referring to. In particular whether it is possible to manipulate the output and/or the order of ActionCable messages.

Hi @piotrwodz, I appreciate you allowing me the opportunity to express myself more clearly.
While I might not always have time/capacity to act (or even respond) to every conversation, the one thing I do do here is read everything that transpires, as carefully as I am able. The intention of my question, then, is that I'm feeling a bit lost when the topic of "order" comes up. Thanks to the ambiguity of technical language, the intentions expressed in this thread simply aren't as nakedly obvious as you believe that they are... hence me asking for clarification and why I suggested three possible interpretations. Unfortunately, pointing me to a message I'd already read doesn't fix this for me; it's like speaking slowly and loudly to someone who doesn't speak the same language. 😁
When I wrote the original issue, I had a vision for a solution where developers could craft their own debug message based on the information that they wanted to see. Front and center in this hope was that you could change the order in which the information was displayed by changing the the order in which the keys were specified. In the example cited:
[215a1c85] Example#hello in 8ms (selector: #notification) for "leastbad" at 2020-07-07 15:04:13
might be generated by:
config.logging = [:session, :reflex, :benchmark, :operation, :identifier, :timestamp]
while
2020-07-07 15:04:13 Example#hello for "leastbad"
would be generated by:
config.logging = [:timestamp, :reflex, :identifier]
Now, the subtle difference here is that in this example, there's no "at " before the timestamp... so that means we can adapt our little DSL to understand strings as well as symbols, perhaps:
config.logging = [:session, :reflex, :benchmark, :operation, :identifier, "at ", :timestamp]
or perhaps it makes more sense to express this as a string? I honestly don't know, but I was excited to have the conversation:
config.logging = ->(context) { "#{context.session} for #{context.identifier}" }
Awesome! Now, I also brought up the notion of using color. I see that you've run with setting a color for the whole line, which is a good start, but the main reason I'm excited for color is to break up the individual elements of a log line, making it far easier to parse in a log analyzer.
I can imagine defining color using both the array and lambda approaches:
config.logging = ->(context) { "#{context.session} for \e[1;32m#{context.identifier}" }
config.logging = [:timestamp, :reflex, "\e[1;32m", :identifier]
As for the relationship to the standard Rails ActionCable broadcast log line... it's [currently] my view that once you have AC/SR/CR setup and working properly in your application, you really don't need the noise of seeing a huge multi-line blob of text showing all of the attributes coming in OR the huge multi-line blob of text showing the CableReady operation hash data being sent back to the client. It was my hope that the single line debug we're discussing in this PR would become the preferred log output that you run with in production, and in development when nothing is going horribly wrong. That if you were actively debugging a problem with data not arriving as expected, you'd turn on the full debug and go over every detail.
So, with the above all said, the order in which this debug line appears in relationship to the standard ActionCable log blobs seems somewhat moot because they are really designed for different phases of the application development lifecycle.
Does that make sense?
Curious for your reaction to any/all of this.

@piotrwodz #339 is merged, so you can now use the StimulusReflex.config, maybe you want rebase or merge and handle the conflicts, so @leastbad does not have to do it.

💆♂

Hey @leastbad 👋 Thank you for your feedback. I find it valuable and I can see clearly where you are going with it. Let me attack mentioned aspects one by one:

Crafting debug message:
Seems reasonable to me. Your examples provide more flexibility of a printed output. Indeed, developers might have different needs when it comes to what and how they want to see that output 👍
I prefer to aim at:
config.logging = %w[reflex session for identifier operation at timestamp]
This is a mix of reflex-related strings (e.g. session, operation etc.) and custom strings in between them that can formulate a sentence together.
Colors:
Indeed, I took a different approach here. My intention was to emphasize whether a reflex was successful, halted or with some errors. Hence, three colors used.
Your suggestion of having a different color per log element (e.g. green for reflex, yellow for operation etc.) is achievable 👍 I like that array-based approach.
Relationship to the standard Rails ActionCable broadcast log line:
Now you are talking! Muting standard verbose messaging completely and printing only the reflex log is an improvement. It can be controlled through debug configurable variable. I would like to give it a go 👍

Awesome! I love it when a plan comes together.
Pretty much the only thing I'm a bit fuzzy on is your use of %w... what if I want to include the word "reflex" in my output? What if I want to insert non-alphanumeric characters like - or [braces]? I figured that an array of symbols and strings would immediately remove any ambiguity.
Can you think of a different approach that is similarly flexible?

Hey @piotrwodz, I had originally hoped to get this into v3.4.0 but from my perspective, it makes more sense to spend some time on this over the next weeks and get it perfect. Do you agree?

Hi @leastbad Sure thing! I am working towards the completion as we outlined above. It should be released once we are happy with the final implementation 👍

@leastbad @marcoroth I addressed your remarks 👍
More control over customizing reflex log message (using brackets, spaces, words etc.) ✅
Colorizing log elements depending on developer's taste ✅
Opting out of ActionCable verbose log messages on debug: false ✅

Hey, what's the practical difference between puts and Kernel.print?

Alright, now I think we're cooking with gas! :fire:
I removed the ActionCable logger stuff as I said I would, and then kept going... I've added a fair number of additional symbols which can be passed, including the colors themselves. One thing I am quite proud of is that if you pass a symbol, it will attempt to access that attribute on your connection's identifiers. For example, I use Devise and my User table has a login attribute. Since my connection is identified_by current_user, I can put :login in my debugger array and it will pull out "leastbad" if I'm logged in, "-" if I'm not.
To get this working, I had to wire up the broadcaster classes to track their own CableReady operations in an array of arrays that takes the form [["body", :inner_html], ["#user", :morph]].
In my application, I use
StimulusReflex.configure do |config|
  config.logging = ["[", :session_id, "] ", :cyan, :login, " ", :magenta, :operation_counter, " ", :green, :reflex_info, " -> ", :white, :selector, " ", :yellow, :operation, :white, " via ", :red, :mode]
end

and this gives me

while the template included in the PR is:
StimulusReflex.configure do |config|
  config.logging = [:timestamp, :red, " [", :session_id, "] ", :magenta, :operation_counter, " ", :green, :reflex_info, " -> ", :white, :selector, " ", :yellow, :operation, :white, " via ", :blue, :mode, " Morph", :cyan, " to ", :connection_id]
end

So you see it is super flexible.
Now, my major outstanding gripe is that the configuration array format I suggested is way ugly! I wonder if we could adapt it to take a lambda where we pass in the Reflex and parse it somehow. Just thinking out loud...
Anyhow, what do you think!?

So you see it is super flexible.
Now, my major outstanding gripe is that the configuration array format I suggested is way ugly! I wonder if we could adapt it to take a lambda where we pass in the Reflex and parse it somehow. Just thinking out loud...
Anyhow, what do you think!?

Of course it is flexible 🎸 That's what we are aiming for.
I aprreciate your contribution.
Let me see how it could work out with the lambda. If it turns out to be the right way to go, then I would get rid of an array by all means.

https://www.ruby3.dev/string-theory/2020/11/05/gsub-blocks-partitions-string-scanners-oh-my/
Hey @piotrwodz, @jaredcwhite wrote a great post on different clever ways to parse a string. I wonder if we could come up with our own micro-markup interpolation syntax.

https://www.ruby3.dev/string-theory/2020/11/05/gsub-blocks-partitions-string-scanners-oh-my/
Hey @piotrwodz, @jaredcwhite wrote a great post on different clever ways to parse a string. I wonder if we could come up with our own micro-markup interpolation syntax.

Hey, an interesting one. In the beginning I had a similar idea but eventually I found a smarter solution. I am on it now!

Done 🎉 I am really proud of the final result!

I am super excited to check it out!
Can you throw some examples in the description? No need to go crazy :)

For now, one example is already included in our config template: 1a90e33

BOOM! I love it.
I suspect we'll s/context/r|reflex but this makes me super happy. Great work, Piotr.

BOOM! I love it.
I suspect we'll s/context/r|reflex but this makes me super happy. Great work, Piotr.

Thank you. I love it too 💯

I made a force push, if you want to work on this branch you should reset to the remote repo state:
https://www.scivision.dev/git-pull-after-force-push/

I have just run git reset piotrwodz/logger-server-side --hard and nothing is on fire.
What is the status of the config_logger stuff you guys were discussing? I have had my eyes and brain elsewhere, but I'd like to be able to tell Nate that this branch could be merged...

@leastbad I am going to incorporate what Roland and me discussed yesterday but I am out half a day today. Will take care of it in later hours. Hope you can wait for it!

@leastbad @RolandStuder I think it is ready to go! 🚗 🚀

I am doing some further learning. Im at my depths here. But I think we could get the API even down do
{"session_id".red}by using instance_eval we could then actually get rid of the method_missing stuff, and allow the lambda or prod to just access whatever is available in the Logger instance.
So I would propose to wait still a couple of days. I'll try to get it working today.

I am doing some further learning. Im at my depths here. But I think we could get the API even down do
{"session_id".red}by using instance_eval we could then actually get rid of the method_missing stuff, and allow the lambda or prod to just access whatever is available in the Logger instance.
So I would propose to wait still a couple of days. I'll try to get it working today.

Getting rid of the method_missing would undermine why I wrote it, wouldn't it? That is, I want to be able to access AR attributes on objects in the connection's identifiers.

Also, just a meta observation: you guys might be taking something that was as good as done and thinking about it too much. I am going to re-read all of the comments again, but it's not at all clear to me what is being improved right now. I say this with kindness, not frustration; i just know it all seemed done on Friday, but now it somehow isn't anymore.

@leastbad I agree.
FYI: the current state of this PR is the same as what we had on Friday. I am good to call it: done!

Great work, @piotrwodz and @RolandStuder. I just tested it again and all looks good. I also added some words to the PR description. Hopefully @hopsoft will have some time to check it out soon.

Looks like we have a conflict. Happy to approve once resolved.


sh.exe changes path separator for some environment variables from \ to /

sh.exe when launching kudu.exe changes the path separator in HOME, TEMP, TMP from D:\home and C:\DWASFiles\Sites\{siteName}\Temp to D:/home and C:/DWASFiles/Sites/{siteName}/Temp
some commands like del, rd, dir don't work with /

Hi
Kudu will continue to run in Azure App Service. However, this repo will no longer be maintained.
If the problem persists and is related to running on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request
This way we can better track and assist you on this case
Thanks,
Joaquin Vano
Azure App Service


Marker is not showing in the map

Hi,
I would like to see the marker on the map where the lat and lng  are pointing.
How to do it ?
Thanks.

Are you actually using this custom element? It was created with Polymer 0.2 and the current version is 2.1.
I can only maintain this element to a minimum extent. If you'd like to contribute a PR, I will be happy to accept. A marker can be added by providing additional parameters in the http://staticmap.openstreetmap.de/ URL API.


Hierarchical injector

Hi,
in order to make more reusable code, I would like to create a module which use a component which is not a part of this module, nor include in an imported module. The component will be inject by the ApplicationModule (main module). It seems that this is not supported?
Example:
AuthenticationModule has different controllers which use a UserService dependency.
UserModule also has different controllers which use a UserService dependency.
Depending on application, the UserService may be implemented in different way. What I want is defining this in the ApplicationModule for all modules, once for all.
@Module({
    modules: [ AuthenticationModule, UserModule ]
    components: [
        { provide: UserService, useClass: MyCustomUserService }
    ]
})
class ApplicationModule {}

@Module({
    controllers: [],
    components: [ AuthenticationService ],
    exports: [
        AuthenticationService
    ]
})
class AuthenticationModule {}

export class AuthenticationService {
    constructor(private userService: UserService) {}
}

I was expecting below code to work (similar to angular), but the userService dependency is not found.

@AurelieV try:
@Module({
    modules: [ApplicationModule],
    controllers: [],
    components: [ AuthenticationService ],
    exports: [
        AuthenticationService
    ]
})
class AuthenticationModule {}

as it's described here: https://kamilmysliwiec.gitbooks.io/nest/content/advanced/shared-module.html

The problem is I do not want my two module to be dependant on each others.
AuthenticationService can be use without UserModule.
UserService is not part of UserModule

An other example will be to inject Configuration class, and re-use your modules accross different applications. You inject the app-specific configuration on app module decorator, you import the different modules and everything will be working for this app.

Hi @AurelieV,
The problem is that modules in Nest are a singletons, so it is possible to share same instances between them using some kind of shared module. Hierarchical injection in this case makes impossible to share components across e.g. two modules. What you show is definitely needed and I'll make it supported as soon as possible, but it could reflect on shared modules mechanism. It seems we need another feature, which allows to mark modules as shared / singletons. Scope also should be possible to set.

Yep.
Will also be greet to import module into other with only components, and not controllers (equivalent to forRoot and forChild in angular)

Hi @AurelieV,
I made a set of improvements for a dependency injector, so now your example should works fine. Please, update your packages (since ~2.* version @nestjs/core, @nestjs/common etc.) into latest versions.


extract version from Dockerfile

I'm a little bit tired of changing version number in two files and it's error prone. Let's store the version only in Dockerfile, and make setup.py parse it from there. Adding a little bit more logic into setup.py might not be a good idea, but having just one version number across the code looks like a good idea to me.

@lukesneeringer what do you think?


Panomax webcams not loading

Description
The extension does not load our webcams. Only the grey background is visible.
Steps to Reproduce

activate the extension DuckDuckGo Privacy Essentials
load the page https://rio.panomax.com/sugarloaf
only a grey background is visible

deactivate the extension
the whole content of the page is visible

Expected behavior:
The whole content of the page should be visible.
Actual behavior:
Only the gey background is visible.
Versions

Extension: 2023.5.9
Browser: Firefox
OS: Windows

Additional Information
The issue is repeatable for every of our 700 cameras. So none of them is visible when the extension is activated.
We have 5 millions view a month. So there are quite a lot of users reporting these problems to us.

Looks like this is caused by the runtimeChecks protection. cc @jonathanKingston
We'll get a mitigation for this out to fix this for your users.