Fix empty metadata after message cloning

The purpose of this pull request

fixed cloning metadata
fixed unit test for cloning metadata

Checklist

[x] make test executed successfully
[x] unit test provided

Coverage increased (+0.06%) to 71.652% when pulling f6bc639f2b4297f8df54f7c4602f14267e1b6883 on bugfix/fix_empty_meta_data_after_cloning into 892ba2d40851b7d507fab33c212fbbef5207386f on master.

Coverage increased (+0.06%) to 71.652% when pulling f6bc639f2b4297f8df54f7c4602f14267e1b6883 on bugfix/fix_empty_meta_data_after_cloning into 892ba2d40851b7d507fab33c212fbbef5207386f on master.

Found and fixed an issue after merging.
The thing with CloneOriginal is that we create a copy of the current state first and then either need to clone the current metadata (to avoid changes "leaking" into the copy) or explicitly set it to nil as the original (as defined by the "freeze" operation) does not have metadata.
See commit: https://github.com/trivago/gollum/commit/7c14a24d471b75c5b1642f2a3a961b7028380c3c


wrong date pattern for ru-RU

Current date patterns for ru-RU culture looks like:
		patterns: {
			d: "dd.MM.yyyy",
			D: "d MMMM yyyy 'г.'",
			t: "H:mm",
			T: "H:mm:ss",
			f: "d MMMM yyyy 'г.' H:mm",
			F: "d MMMM yyyy 'г.' H:mm:ss",
			Y: "MMMM yyyy"
		}

but nobody in Russia is using this for entering dates. Should be just
		patterns: {
			d: "dd.MM.yyyy",
			D: "d MMMM yyyy",
			t: "H:mm",
			T: "H:mm:ss",
			f: "d MMMM yyyy H:mm",
			F: "d MMMM yyyy H:mm:ss",
			Y: "MMMM yyyy"
		}

This is extracted from the .NET 4 framework definition of that culture: http://msdn.microsoft.com/en-us/library/system.globalization.japanesecalendar(v=VS.100).aspx
You could override this in the generator or fix the culture script which defines the culture itself, but it seems like since this data is derived from the common .NET/Windows conventions for each culture, overriding that would be problematic since it would cause the globalize.js system to diverge from its original source system's behavior.
I searched http://connect.microsoft.com/ to see if anyone had reported a problem with the .NET framework's usage of this pattern and couldn't find anything.
While I can't speak towards ru-RU specifically, I do agree that some of the formats in DateTimeFormatInfo are not used in reality, and some that we commonly use do not have standard names: ddMMMyyyy (where MMM is restricted to standard English three-letter abbreviations in uppercase) is one we use a lot (I call it the airline ticket format, although they tend to use ddMMMyy in the itinerary/ticket) because it is canonical, highly unambiguous and cognitively easy for human parsing - slightly easier than yyyy-mm-dd.


docker-compose ps does not show the running containers

$ ./gradlew composeUp
:composeUp
mysql uses an image, skipping
default_mysql_1 is up-to-date
Will use localhost as host of mysql
Probing TCP socket on localhost:32776 of service 'mysql_1'
TCP socket on localhost:32776 of service 'mysql_1' is ready

BUILD SUCCESSFUL

Total time: 6.075 secs

$ docker-compose ps
Name   Command   State   Ports
------------------------------

I would expect to be able to see the default_mysql_1 listed in the ps output

We use internally the simplifies identifier, it's mysql_1 for default_mysql_1. So you request is about using the fullname if the waiting code, right?

I would expect docker-compose ps to show the the running config.

It depends on how your docker-compose.yml and build.gradle look like - you must execute the docker-compose with the same project name as the Gradle plugin use.
If you are not in default directory then according to the service name, you should execute docker-compose -p default ps.

Gotcha! Let me give that a try

Working as you described! Thanks for the quick feedback.


[Music] ...

Extension
https://www.raycast.com/fedevitaledev/music
Description
Could not load command
Error:

Steps To Reproduce

Click the hotkey
Can't work

Current Behaviour
No response
Expected Behaviour
No response

Sorry something must have changed in the last updates. I'm delivering a fix right now.


Chore: docs grammar fix

PR Info

Closes

Dependencies:

Dependents:

Adds

[ ]

Fixes

[ ]

Breaking Changes

[ ]

Changes

[ ]
[x] Fixed few grammatical errors

anyone
I am new to this
can someone guide how to it??

I was unable to find a better way
to kill my time other that this

Now, what should I do after u have assigned me this ??

I think Billy 'assigns' a PR to someone when it's not on his stack anymore.


Backblaze B2 errors

Attempting to use your latest release 1.2.5 using Backblaze B2 and getting the following errors:

ERROR
Failed to analyze sync requirements {"name":"SyncError","message":"Sync operation failed during file listing: Sync operation failed during remote file listing: Failed to fetch","stack":"SyncError: Sync operation failed during file listing: Sync operation failed during remote file listing: Failed to fetch\n at lr.analyze (plugin:cloudsync:24:7634)\n at async pr.syncProvider (plugin:cloudsync:42:7581)\n at async pr.runCloudSync (plugin:cloudsync:42:4815)\n at async He.executeSync (plugin:cloudsync:42:11027)\n at async eval (plugin:cloudsync:42:10330)"}
ERROR
aws sync failed {"name":"SyncError","message":"Sync operation failed during analysis: Sync operation failed during file listing: Sync operation failed during remote file listing: Failed to fetch","stack":"SyncError: Sync operation failed during analysis: Sync operation failed during file listing: Sync operation failed during remote file listing: Failed to fetch\n at lr.analyze (plugin:cloudsync:24:8195)\n at async pr.syncProvider (plugin:cloudsync:42:7581)\n at async pr.runCloudSync (plugin:cloudsync:42:4815)\n at async He.executeSync (plugin:cloudsync:42:11027)\n at async eval (plugin:cloudsync:42:10330)"}
ERROR
aws sync failed: Sync operation failed during analysis: Sync operation failed during file listing: Sync operation failed during remote file listing: Failed to fetch

I was able to successfully connect.
INFO S3 connection test successful
Please advise.
Thank you!

This is a CORS issue. Backblaze expects origin in a form of https://* - but Obsidian origin is app:/obsidian.md/
There is a possibility we can set this policy through Backblaze CLI tools: https://www.backblaze.com/docs/cloud-storage-enable-cors-with-the-cli
Let me play with it a bit to try to cut through this convolution that Backblaze created. :-)

@Backblaze I need your insight here - I cannot create a CORS policy that would allow my Electron app to access your S3 storage. Here is the CORS error I try to prevent:
Access to fetch at 'https://s3.us-west-004.backblazeb2.com/<bucket>' from origin 'app://obsidian.md' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

The CORS policy that works for AWS S3:
[{
   "AllowedHeaders": ["*"],
   "AllowedMethods": ["GET", "PUT", "DELETE"],
   "AllowedOrigins": ["*"],
   "ExposeHeaders": ["ETag"],
   "MaxAgeSeconds": 86400
}]

But when I set the same policy for BackBlae, I get:
Access-Control-Allow-Origin' header has a value 'null' that is not equal to the supplied origin

Also, when I try to be more targeted and insert correct origin (app://obsidian.md) I get:
> b2 bucket update obsidianbucket --cors-rules '[{
    "corsRuleName": "obsidian-sync",
    "allowedOrigins": ["app://obsidian.md"],
    "allowedOperations": [
        "s3_get",
        "s3_put",
        "s3_delete",
        "s3_head",
        "s3_post",
        "s3_options"
    ],
    "allowedHeaders": [
        "authorization",
        "content-type",
        "x-amz-content-sha256",
        "x-amz-date",
        "origin",
        "access-control-request-method",
        "access-control-request-headers"
    ],
    "exposeHeaders": [
        "etag",
        "x-amz-content-sha256",
        "x-amz-date",
        "x-amz-request-id",
        "x-amz-id-2",
        "x-amz-server-side-encryption",
        "x-amz-version-id"
    ],
    "maxAgeSeconds": 86400
}]'
ERROR: an allowedOrigin doesn't look like an origin (bad_request)

As my S3 fetch requests work fine with AWS S3, Linode storage, Wasabi and others, I am out of ideas what is wrong with BackBlaze storage access.

It appears (from some limited testing and B2 docs) that B2 only accepts origins with either "https" or "http"
https://www.backblaze.com/docs/cloud-storage-cross-origin-resource-sharing-rules#cors-rule-structure
However, another plugin (remotely-save) has an option to bypass CORS. See (# 10. Enable Bypass CORS) here:
https://github.com/remotely-save/remotely-save/blob/master/docs/remote_services/s3_backblaze_b2/README.md

Let me convert all of my fetch() calls to obsidian's own requestUrl() and let3see if this indeed circumvents CORS.


Annotate Synapse submission entities with Tool information

Is your proposal related to a problem?
I would like to choice the license of tools in the leaderboards. This will give an indication to the user before he/she attempts to pull the image. We could also use this information to pick a tool that we can feature with the PHI Deidentifier. We could also in the future create/filter leaderboards to only show tools with open licenses.
Describe the solution you'd like
During the evaluation workflow of a tool:

Call /tool to get information about the tool (potentially /tool/dependencies too)
Annotate the Synapse submission entity (consider using a prefix for all the properties of the Tool object)

@tschaffter, getting /tool/dependencies needs to be added to the client prior to being used.
The prefix would work except there are two fields in the Tool object that already have tool as the prefix (toolType, and toolApiVersion.  What did you have in mind for a prefix?

The prefix would work except there are two fields in the Tool object that already have tool as the prefix (toolType, and toolApiVersion. What did you have in mind for a prefix?

I remember that this scenario crossed my mind. What about the prefix tool__ (two underscores)?

You can see an example of this annotation being added if you scroll really to the right.

This looks great!

What did want to show in the leaderboard?

Tool name
Tool version
License
Description
Url

Thanks @tschaffter , so the two conflicting fields will be tool__tool_api_version, tool__tool_name?

I agree with renaming toolType to type and toolApiVersion to apiVersion. In general I avoided to use the keyword type in schemas for no strong reason other that "type" may be a reserved keyword in some programming languages, which I tried to avoid. I can find APIs that meet with both approach. Exploring the API of GitHub lead me to accept the use of the "type".

The proposed prefix "tool__" would be a way to structure the annotations of a Synapse entity and conserve the hierarchy of information. For example Tool: { plop: { a = 1 }} could be encoded as the annotation tool__plop__a = 1. Since these variable are not exposed directly to the frontend user, I think that it would be fine using double underscores.


Use redis inside docker for test

Feature Request
Is your feature request related to a problem? Please describe
It would be great if make use docker environment to build redis. It allow to achieve reproducible results and get rid of difficulties with environment setup.
I would like to investigate it in next weekend or about this time.
What do you think about it?
Describe the solution you'd like
A clear and concise description of what you want to happen. Add any considered drawbacks.
Describe alternatives you've considered

I'm not so keen on moving everything into Docker because that creates work on my side without actual benefits. Feel free to setup your own Dockerfile from the dependencies in our Makefile.


Feature/currencies

Adds a command (/currency   in ) for converting between currencies. Tested with the test module

Approved

Any Reason why this is not a kpm module?

Short answer: laziness
Long answer: Cause it seemed simpler just to move this at the same time as all the other modules rather than get another repo created. As with all the others it will become one in the near future so its not really a concern at the moment.


Lets modify getInstalledApplications() to provide option to get only those apps that have launch intent

I think it would be helpful for making android launcher, if we modify getInstalledApplications to also have option to get only those apps with launch intent, that is get only those apps that launcher needs to show, that can be launched.

This would be a nice  improvement as I am currently porting a launcher from Kotlin to Flutter. This is the code that I was using in Kotlin for getting only apps that have a launcher intent.
val pm: PackageManager = applicationContext.packageManager
            val launcherAppsIntent: Intent = Intent(Intent.ACTION_MAIN, null)
            launcherAppsIntent.addCategory(Intent.CATEGORY_LAUNCHER)
            val installedAppListRaw: List<ResolveInfo> = pm.queryIntentActivities(launcherAppsIntent, PackageManager.GET_META_DATA)
            val appsList: MutableList<CustomAppData> = mutableListOf<CustomAppData>()

            for (i in 0..(installedAppListRaw.size - 1)) {
                val app = installedAppListRaw[i]
                val packageName = app.activityInfo.applicationInfo.packageName
                val appName = app.activityInfo.applicationInfo.loadLabel(pm).toString()

                val customAppData = CustomAppData(appName, packageName)
                appsList.add(customAppData)
            }

            return appsList

I am still  figuring out how to work with Flutter and the  Native side so that's why I can't implement it and give a pull request.

Tested #7 and works like a charm

This can be closed right ?

yup


feature request: content encryption

Could you please add possibility to encrypt websocket messages.
Reasoning is that content of messages can be compromised by e.g. corporate proxy which requires own certificate to decrypt https content.
It can be achieved for example by TLS certificate that can be also useful for user authentication.

Hello,
The point of wstunnel is not to protect the content of your traffic (like a VPN) it is merely to allow you to create a tunnel/network path across the firewall.
If you want to protect your data, you should look into using ssh -D or wireguard above wstunnel

I know, but both of ssh or VPN have some disadvantages, OpenSSH uses an unencrypted initial magic (packet analyzer recognizes it) and VPN needs virtual network adapter (not possible on corporate computers).


How to reopen closed stream?

I'm trying to read from a pipe. If that closes, reopening the pipe should be attempted. I've tried to do this by subsclassing the Stream:
public function handleClose()
{
	parent::handleClose();

	$this->stream = fopen($file, 'r');
	$this->resume();
}

However, the loop terminates. Any hints would be appreciated.

You can't. Once a stream has been closed it's destroyed. If a user re-connects they're creating a new stream. You need a protocol on top of TCP to re-identify the user. If you're using HTTP (for example) cookies are often used to identify a user.

My intent was to reopen a pipe (file handle) when it closes for whatever reason. I need to read the pipe, tokenize and convert it and feed the results as REST service.
I was thinking about wrapping the file stream with a tokenizer stream and put the result somewhere, worst case global var. All async. I did not find a good way though to express this logic (build streams, feed to loop).
I have now instead built a specialized stream that uses the end event of the wrapped file stream to create ankher file stream and continue (end is swallowed). It doesn't feel very clean though.

when it closes for whatever reason

I'm not sure I follow, can you elaborate on this a bit?
A stream is usually considered an ordered series of bytes, so once the stream closes/ends, you have to take additional measures to resume to the exact position in the stream. As streams are often used to communicate between distributed systems (or components thereof), this is anything but trivial.
Depending on your problem domain, there may be additional protocol details or constraints which may make this possible. However, I'm not sure there's much we can do here in a generic way?


Update to Senzing v3.3

update docker images and release based on Senzing v3.3

PR merged, release published


Illegal instruction (core dumped)

OS: Ubuntu 20.04.5 LTS
CPU: Intel Xeon X5660
Step to reproduce:
git clone git@github.com:lemire/streamvbyte.git
mkdir build && cd build
cmake ..
cmake --build .

Output cmake ..
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No build type selected
-- Default to Release
-- CMAKE_SYSTEM_PROCESSOR: x86_64
-- CMAKE_BUILD_TYPE: Release
-- CMAKE_C_COMPILER: /usr/bin/cc
-- CMAKE_C_FLAGS:
-- CMAKE_C_FLAGS_DEBUG: -g
-- CMAKE_C_FLAGS_RELEASE: -O3 -DNDEBUG
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kataev/development/streamvbyte/build

Output ctest -V
UpdateCTestConfiguration  from :/home/kataev/development/streamvbyte/build/DartConfiguration.tcl
UpdateCTestConfiguration  from :/home/kataev/development/streamvbyte/build/DartConfiguration.tcl
Test project /home/kataev/development/streamvbyte/build
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 1
    Start 1: unit

1: Test command: /home/kataev/development/streamvbyte/build/unit
1: Test timeout computed to be: 10000000
1/1 Test #1: unit .............................***Exception: Illegal  0.28 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   0.29 sec

The following tests FAILED:
	  1 - unit (ILLEGAL)
Errors while running CTest

Output ./perf
Illegal instruction (core dumped)

Thanks for the report. Should be fixed, please check with our main branch again.

Thank you! Works for me.
I'm new in this area.
Is there any start guide to how to choose suitable lib? I know my data and hardware but don't know compressed algo terms.
I want to create tool for sparse matrix compression. Means list of uint32_t sorted/partially sorted  indices and list of floats. x86 and arm64 CPUs, crossplatform.
I checked not outdated libs from your list and found
streamvbyte and FastPFor. Last one is not support arm64. So only streamvbyte, right?
And I still searching for float lossy compression for floats. Could you advice?

The streamvbyte codec is a very good choice, I feel. If it does not meet your needs, we can chat further. But several systems had good luck with streamvbyte.
Closing this issue.


Cannot Code Review In Gerrit UI

I want to Code Review the Code someone commited , but the button is grey.
Could you tell me how to set up ?

You are most probably not logged in. Please check Gerrit plugin settings in Intellij if there is an username and a password set.

I did login in and it test successfull

These functions are still disabled, could you help me solve this problem? Thank you.

@yang837157632: When you restart IntelliJ, are these settings still present?

Yes, these settings are still present

I have the same problem. Waiting for instructions to be able to do code review. Thank you

I am able to do code review. The problem come from HTTP password. You may need to generate password and copy to the version control's gerrit to login properly.

Thank you, I am able to do code review, too.


doc: add start in the search mode

This is convenient, put it in the README so that users don't need to search around to find it out.
Based here

Hey @gutenye thanks for the PR! That is a good idea. I recommend doing this instead:
      require('kitty-scrollback').setup({
        search = {
          callbacks = {
            after_ready = function()
              vim.api.nvim_feedkeys('?', 'n', false)
            end,
          },
        },
      })

and in kitty.conf
map kitty_mod+f kitty_scrollback_nvim --config search

this way it lets kitty-scrollback.nvim completely load before entering the ? key. Could you let me know if this works for you?
I'd like to have a section on the Wiki with things like this. Either a FAQ, Tips and Tricks, or update the Advanced Configuration. I'll probably add an entry in the README and reference the Wiki once I have it there.

The search config worked, thanks.


Test Discovery not working in JetBrains Rider macOS

Test discovery have not been working with any TUnit version above 0.5.18 on Rider, on MacOS, even with Rider 2024.3.3

I'm having the same issue on Linux after upgrading from 0.5.18 to 0.5.22
So I believe this is caused by one of these two commits:
https://github.com/thomhurst/TUnit/commit/6bf73fd331df76d520669bdecc44e86d7c03cc26
https://github.com/thomhurst/TUnit/commit/668c1cfb57ac1598acff2fc897815f6a3c4a3045

I'm having the same issue on Linux after upgrading from 0.5.18 to 0.5.22 So I believe this is caused by one of these two commits: 6bf73fd 668c1cf

It's most likely upgrading the Microsoft.Testing.Platform to 1.5.0.
As to why that's broken things though... I don't know. Visual studio seems fine so seems isolated to Rider

I've had to downgrade the testing platform package for now to get this working again. But Rider discovery should be working in TUnit 0.6.14 and Rider 2024.3.3. I'll raise an issue with them about the latest testing platform package breaking discovery.

Alright, thanks!
People have already commented about this regression on the previous issue here: https://youtrack.jetbrains.com/issue/RIDER-117732/Enable-Testing-Platform-support-doesnt-display-any-unit-tests-from-TUnit-on-macOS-and-Linux

Cheers, I've raised a more specific issue: https://youtrack.jetbrains.com/issue/RIDER-121484/Package-Microsoft.Testing.Platform.MSBuild-1.5.0-breaks-test-discovery


feat(deployment): document new universal on kubernetes deployment option

Preview: https://deploy-preview-1280--kuma.netlify.app/docs/dev/production/cp-deployment/multi-zone/#set-up-the-global-control-plane
closes https://github.com/kumahq/kuma-website/issues/1231
Did you sign your commit? Instructions yes
Have you read Contributing guidelines? yes

LGTM from a content POV. But it might be worth introducing a little the point of this mode (getting the storage outside of k8s to be able to rely on postgres instead of etcd which can lead to better failover, HA, reliability).

(getting the storage outside of k8s to be able to rely on postgres instead of etcd which can lead to better failover, HA, reliability)

@lahabana can you point me to resources that highlight how is it better. IMO it's just different. It's https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ha-topology/ vs https://www.postgresql.org/docs/current/high-availability.html right? I guess cloud offerings is also make a difference here, if you can buy cheaper HA with postgres than with k8s then you could go with k8s.
Or do you mean it's completely different system with postgres so there is no risk of failure coupling?

I guess better is me overstating. It's indeed just different.


A11y keyboard control AutoComplete nonstandard filter selection

Bug, feature request, or proposal:
Request: Change filter list selection to the expected standard.
What is the expected behavior?
With focus in the text box, with an existing value, type additional letters. As the user types letters the list of choices is filtered so that only those that begin with the typed letters are displayed. Until the user presses the Down arrow keys to highlight a particular choice, only the typed letters are displayed in the text box.
What is the current behavior?
Currently the screen reader cannot see what has been typed in the Edit box, and the drop-down list appears to be random.
What are the steps to reproduce?
Use a screen reader and keyboard.
What is the use-case or motivation for changing an existing behavior?
To be more inclusive of keyboard users and those who have cognitive disabilities.
Is there anything else we should know?
Although screen reader focus never shows the Edit box, the user can type letters and the focus moves to the next list item with that letter. There is no way for the user to see what has been typed in the Edit box. Focus does not stay in the Edit box until an arrow key is pressed. Aria-alert could be used to announce the list item without moving the focus from the Edit box.

@DaveBest99 To clarify, on a screenreader, you'd want the experience to be:

Type "a" -->  hear "A" announced, then "3 dropdown items in list"
Type "r" --> hear "R" announced, then "1  dropdown item in list"
Type DOWN arrow -> hear "Arizona"

Is that right?   We do currently keep the focus on the text field as you're typing, even if you hit an arrow key. What we're switching is the aria-activedescendant element. Clearly this isn't doing what we expect, so I want to make sure that we have the expected experience right for testing.

I have tested, using JAWS17, several web pages with the Edit Combo box element using Firefox, Internet Explorer 11, and Google Chrome, with all
having a very different user experience. The best user experience was with Firefox. Since the WCAG best practice guidelines are unclear with regard to AutoComplete keyboard behaviour, I recommend the following:

Pressing Tab or Shift+Tab key into the AutoComplete component, the focus lands on the Edit Combo box input field. Upon the first time the input field should be blank (or show a default value), or if the user has previously selected a list item and is returning to the input field, then the selected item should appear in the Edit input field.

While the user types text the focus does not move from the Edit input box. Typed characters should appear on the braille display as they are entered, and the screen reader will echo the typed characters according to the user screen reader settings.

As each character is pressed, an aria-alert could announce List box results. Example: press "a" and the screen reader announces "4 items found" or "4 items in list", but the focus does not move away from the Edit field so that the user can still see the "a" on the braille display or press Left and Right arrow keys to get verbal feedback as to what is currently in the Edit input field.

Pressing Down arrow or Alt+Down_arrow should open the List box with the focus placed on the first item in the list "Alabama" (the Edit input field is no longer visible on the braille display, but instead "Alabama 1 of 4" and the speech output "Alabama 1 of 4").

Pressing the Down arrow the screen reader speech/braille should announce "Alaska".

Pressing Down arrow again the user should hear/see "Arizona".
Pressing Down arrow again the user should hear/see "Arkansas".
Pressing Down arrow again the user should hear/see "Alabama" (focus moves from last item to the first item).
Pressing Up arrow the user should hear/see "Arkansas" (focus moves from first item to the last item).
6A. Pressing the Enter key on any list item should close the List box, move focus to the Edit input field, and place the selected item in the Edit input field. The Edit input field should have focus and the screen reader will speak the content of the field and show it on the braille display.
Pressing Tab key moves focus to the next page element. Note, if an invalid entry has been typed into the Edit input field, or is left blank, an error message should alert the user, and the Edit input field cleared to blank or to the default value. However, if the AutoComplete component is an Editable element, then the text field is left as is and no error message is necessary.
6B. Or, if the user presses the Escape or Alt+Up_arrow key, then the List box is closed and the focus is moved back to the Edit input field with the originally typed characters. No List item is selected, and the speech out reads the typed characters and shows them on the braille display with the cursor at the end of the character string.
Pressing Tab key moves focus to the next page element. Note, if an invalid entry has been typed into the Edit input field, or is left blank, an error message should alert the user, and the Edit input field cleared to blank or to the default value. However, if the AutoComplete component is an Editable element, then the text field is left as is and no error message is necessary.

With the focus on the Edit input field, and the cursor after the "a", the user types "r", then the braille display will show "ar" and the aria-alert will speak "2 items found" or "2 items in the list", but the focus does not move away from the Edit field so that the user can still see the "ar" on the braille display or press Left and Right arrow keys to get verbal feedback as to what is currently in the Edit input field.

Pressing Down arrow or Alt+Down_arrow should open the List box with the focus placed on the first item in the list "Arizona" (the Edit input field is no longer visible on the braille display, but instead "Arizona 1 of 2" and the speech output "Arizona 1 of 2").

Pressing the Down arrow the screen reader speech/braille should announce "Arkansas".

Pressing Down arrow again the user should hear/see "Arizona". (focus moves from last item to the first item).
Pressing Up arrow the user should hear/see "Arkansas" (focus moves from first item to the last item).
10A. Pressing the Enter key on any list item should close the List box, move focus to the Edit input field, and place the selected item in the Edit input field. The Edit input field should have focus and the screen reader will speak the content of the field and show it on the braille display.
Pressing Tab key moves focus to the next page element. Note, if an invalid entry has been typed into the Edit input field, or is left blank, an error message should alert the user, and the Edit input field cleared to blank or to the default value. However, if the AutoComplete component is an Editable element, then the text field is left as is and no error message is necessary.
10B. Or, if the user presses the Escape or Alt+Up_arrow key, then the List box is closed and the focus is moved back to the Edit input field with the originally typed characters. No List item is selected, and the speech out reads the typed characters and shows them on the braille display with the cursor at the end of the character string.
Pressing Tab key moves focus to the next page element. Note, if an invalid entry has been typed into the Edit input field, or is left blank, an error message should alert the user, and the Edit input field cleared to blank or to the default value. However, if the AutoComplete component is an Editable element, then the text field is left as is and no error message is necessary.
11A. With the focus on the Edit input field, and the cursor after the "a", the user presses the Left arrow key and then types "r", then the braille display will show "ra" and the aria-alert will speak "0 items found" or "0 items in the list".
Note, in an Editable Combo box this is a valid text input, but in a NonEditable Combo box this input is invalid and an user error message may appear or the filter may automatically remove the "a" and report one item in the list ("1 item found" or "1 item in the list").
Pressing Down arrow or Alt+Down_arrow the List box opens and the focus placed on "Rhode Island" and the screen reader/braille display reports "Rhode Island 1 of 1".
David
From: Kara<EMAIL_ADDRESS>Sent: March 2, 2017 09:16 PM
To: angular/material2
Cc: David Best; Mention
Subject: Re: [angular/material2] A11y keyboard control AutoComplete nonstandard filter selection (#3374)
@DaveBest99 https://github.com/DaveBest99  To clarify, on a screenreader, you'd want the experience to be:

Type "a" --> hear "A" announced, then "3 dropdown items in list"
Type "r" --> hear "R" announced, then "1 dropdown item in list"
Type DOWN arrow -> hear "Arizona"

Is that right? We do currently keep the focus on the text field as you're typing, even if you hit an arrow key. What we're switching is the aria-activedescendant element. Clearly this isn't doing what we expect, so I want to make sure that we have the expected experience right for testing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/angular/material2/issues/3374#issuecomment-283845362 , or mute the thread https://github.com/notifications/unsubscribe-auth/AVPBNp-Yv2ShCa485a9eEBCaZvugc0roks5rh3fXgaJpZM4MQhnq .  https://github.com/notifications/beacon/AVPBNgpDYFnxumDW4xX_9WzR3KNubQJ0ks5rh3fXgaJpZM4MQhnq.gif

Related: https://github.com/angular/material2/issues/3416

@DaveBest99 Thanks for all the detail! I tested steps #1-5 again on JAWS on Firefox (leaving other steps for the scope of other existing issues) to break down what I think is still broken. Here's what I'm finding:
Step 1:  This seems to work. Tabbing to the autocomplete announces "State edit combo expanded. To set the value...". Or if there is a value already set, I hear "State edit combo expanded. California. To set the value..."
Step 2: This seems to work. Typing a letter does announce that letter in the screenreader.
Step 3: This is broken.  Currently we don't announce "4 items found" or "4 items in list" as the user types. Also hitting the LEFT or RIGHT arrow keys does not read the input, but rather reads something that sounds like "length". Both those things should be fixed.
Step 4: This seems to work. Hitting DOWN arrow or ALT-DOWN arrow both announce "List box: Alabama, 1 of x".
Step 5: This seems to work. Subsequent DOWN keypresses result in "Arizona", then "Arkansas", etc.
So it seems the two things in the scope of thisGithub issue are:

Fix missing announcement of total list items
Fix LEFT and RIGHT arrow key announcements

Let me know if I'm misunderstanding anything from above. Will tackle steps 6 - 10 in other issues.


Add files via upload

365.txt

@Doms077 365.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


Added theme text styles

Added textStyles to the theme, included in <Text /> component header, and set default value in <Heading /> component.

Codecov Report

:exclamation: No coverage uploaded for pull request base (next@43a8f96). Click here to learn what that means.
The diff coverage is 100%.

@@          Coverage Diff          @@
##             next   #316   +/-   ##
=====================================
  Coverage        ?   100%
=====================================
  Files           ?     39
  Lines           ?    439
  Branches        ?      0
=====================================
  Hits            ?    439
  Misses          ?      0
  Partials        ?      0

Impacted Files
Coverage Δ

src/Heading.js
100% <ø> (ø)

src/Text.js
100% <ø> (ø)

src/theme.js
100% <100%> (ø)

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 43a8f96...6c9d41f. Read the comment docs.


Command line/terminal open

Is your feature request related to a problem? Please describe.
This is a FEATURE REQUEST and is not a bug or direct problem with the current software.
Describe the solution you'd like
In terminal/cmd you can open files in file explorer by running "start ." which opens the current directory in Explorer. It would be great to run "files ." in a terminal and have it open the Files App in the current working directory. IN-DETAIL: Open command prompt or a terminal app in win 10. Then cd into any directory such as user/username/downloads. Then run "files ." inside the said terminal app. Files App should open to user/username/downloads. Tada! It is the same as running "start ." except the files app opens and is more beautiful and awesome.
Describe alternatives you've considered
"files filename" or "files foldername"
Additional context
The files app does indeed open when you run "files ." but it does not open the current cmd directory. This would be a feature in 0.20 or 0.21

Yup, currently Files supports a command like files c:\users\someone\documents (absolute paths only)

That's great! Thanks!

For what it is worth if anybody else has trouble I was able to go to Settings>Preferences>terminal Applications and edit the json file there. Here is my code: {   "version": 1,   "defaultTerminalPath": "cmd.exe",   "terminals": [     {       "name": "CMD",       "path": "cmd.exe",       "arguments": "",       "icon": ""     },     {       "name": "WT",       "path": "wt",       "arguments": "",       "icon": ""     }   ] }
Hopefully, this can help others.


CORS error when creating a blobServiceClient with InteractiveBrowserCredential

I had a read of this: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/interactive-browser-credential.md
Setting the correct redirection URL as type SPA didn't make any difference for me. I am trying to use interactiveBrowserCredential, which I guess works, but where it fails is when I try to interact with a storage account. I get the CORS error listed on the docs link above.
Could this be a bug with this package?
I am on my phone for now so can't paste in my code and app registration configuration but I will do so later or tomorrow.

So my code (Next.js) looks like this:
const signInOptions = {
    clientId: "redacted",
    tenantId: "redacted",
    redirectUri: "http://localhost:3000",
  }

  const uploadFile = async () => {
    const file = fileInput.current.files[0];
    const blobClient = containerClient.getBlockBlobClient(file.name);
    await blobClient.uploadBrowserData(file);
  };

  const test = async () => {
    const credential = new InteractiveBrowserCredential(signInOptions);
    const blobStorageClient = new BlobServiceClient(
      "https://redacted.blob.core.windows.net/",
      credential
    )
    const containerClient = blobStorageClient.getContainerClient("images");
    // print test.txt
    const blobClient = containerClient.getBlockBlobClient("test.txt");
    const downloadBlockBlobResponse = await blobClient.download(0);
    const downloaded = await downloadBlockBlobResponse.blobBody;
    console.log(downloaded);
  }

My app registration is configured with the Azure Storage user_impersonation permission. I am also using this app registration with next-auth for simple authentication to my web app so the Web Redirect URI is set to http://localhost:3000/api/auth/callback/azure-ad and the SPA Redirect URI is set to http://localhost:3000. The page I am testing on is at localhost:3000. I have tried with Allow public client flows: yes and also ticking both boxes under Supported account types.
What am I doing wrong?

Hi @nickshanks347 - happy to help!
The error shows that while you were able to authenticate, you may have misconfigured CORS rules on the Storage blob configuration.
At a high level, CORS must be configured separately for Azure services to access resources from the browser. It looks like, at least from the error message you pasted, the CORS error is coming from Azure storage. That likely indicates you configured your app registration correctly but may not have configred CORS rules on the storage container.
For reference, please see this article
There are many ways to configure CORS on Azure Storage and if you run into issues or unsure how to set it up feel free to reach out here for help! I'll just need to know how you are configuring and provisioning Azure resources - via the portal (web UI)? az cli? Azure PowerShell? That information will help me point you in the right direction.


Repository for generating folder of contents

Hello,
My name is Farid Zare and I am one of the maintainers of the COBRA toolbox : https://github.com/opencobra/cobratoolbox
We are happy to use MatGPT as a submodule in the COBRA toolbox, however, the "content" folder which is generated for each script may cause conflicts when a user works with the toolbox and then wants to make a commit to the COBRA toolbox.
It would be greatly valued if the root for saving the "content" folder was an option to be chosen in the settings tab (ideally with a different default root).
Thanks for your attention.
Best

Thanks for your suggestion. I will add it to my to-do list.

Thanks for your response and consideration.


Fixed deployment issues

Closes #333

:white_check_mark: Build ExtendedXmlSerializer <IP_ADDRESS>-qhqmuqtb completed (commit https://github.com/ExtendedXmlSerializer/home/commit/382d4a65cf by @Mike-EEE)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version <IP_ADDRESS>-qhqmuqtb -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview


[stable/nginx-ingress] Add env variables to defaultBackend deployment

Signed-off-by: Iain Walmsley<EMAIL_ADDRESS>>

What this PR does / why we need it:
We deploy a default back-end image that is parameterized using environmental variables - this change allows this.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/ok-to-test

Thanks for the PR!
/lgtm


feat: logger accepts object

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


Data between curly brackets unable to be displayed

Hello,
I am aware that curly brackets are used within blade on Laravel, however, when trying to parse pages that contain curly brackets { }, the curly brackets and the data between them disappear.
Is this purely a limitation of using the PHP HTML Parser with Laravel, or am I doing something wrong?
Thanks,
Jake

Just a little more to this, I am using Guzzle to retrieve the page, when I print the contents from Guzzle I can see the data between { }, it's only when I load it in to DOM that they disappear it seems.

Turns out I needed to setCleanupInput to false - all trusted sources.


Adding dark mode and improved UI

I can add dark mode and improve the overall UI with the help of CSS and Javascript.

I would like to contribute towards the issue. Changes including addition of dark mode and updating overall user experience will be my aim.

Hi there. I would like to contribute to the overall UI of the water.css site for better user interaction and aesthetics.

I would like to work on this. Please kindly assign this task to me.

I would like to work on this issue and can enhance your UI to a great extent

Hey can you assign me this issue. i can enhance your UI by using CSS.

@kognise I have a strong foundation on front-End and UI/UX .. can you please assign me this project
Thank you:)


Add architecture record on versioning in the govuk index

Explain why we are adding external versioning to the new Elasticsearch indexing and which edge cases it will handle.
https://trello.com/c/LatZVRg8/213-make-versioning-work-for-all-publishing-events

This looks good, and is in line with what rough discussions about this I was involved in a couple of years ago.
One point about the case of items being potentially left in the index after being unpublished due to the race condition; I think it would be worth including a note on considering the potential impact of leaving a document in the search index in this situation.
In particular, can you include consideration of what a support team should do if this happens to a high profile sensitive document, that the search index is still returning despite it having been removed? I experienced situations like this (though with different causes) in my time on the team. I believe currently there is a way to manually delete a document from the index using the search-admin application - is this mechanism or something going to continue to exist?  Or is re-indexing expected to be quick enough that that could be kicked off to resolve the situation within a few minutes if needed?

Just to say, also, it's really good to see clear documentation of decisions like this being made for the future.

@rboulton I've expanded the Consequences section explaining what a user would see and how the support team could fix it. They can continue using Search Admin to remove links, but we think we should also add a publishing API rake task to resend the unpublishing message to rummager.
We don't yet know how long reindexing would take, but I'm guessing it could be an hour or so (once every page has been migrated to the new index). That's how long it takes to run the current reindexing task which updates the popularity data.


Small changes that make the process more fluid

Menuhax_manager v3.0 changed the text a bit.

After pressing A on the Install option, it asks if you want to skip ropbin-payload setup. The option selected should be B. At the end, instead of "Success", it says "Install finished successfully."

At the end of Part 1, the last point should be outside of the list as mere information and not a part of the steps

At the start of all Parts after 1, it should instruct the user to remove the SD card from the 3DS and put it on the computer to transfer the files in the beginning

New guide is up and all currently open issues are being closed. If you feel your issue still applies to the new guide, you can request for it to be re-opened by replying to it.


Fix incompatibilities with kfp-tekton python package

Attempting to pip install both codeflare-sdk and kfp-tekton results in pip conflicts. We should resolve these conflicts so that the stacks can be run alongside each other.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
codeflare-sdk 0.4.3 requires kubernetes==26.1.0, but you have kubernetes 25.3.0 which is incompatible.
openshift 0.11.0 requires kubernetes~=11.0, but you have kubernetes 25.3.0 which is incompatible.
thoth-common 0.36.6 requires kubernetes~=11.0.0, but you have kubernetes 25.3.0 which is incompatible.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
kfp 1.8.21 requires kubernetes<26,>=8.0.0, but you have kubernetes 26.1.0 which is incompatible.
openshift 0.11.0 requires kubernetes~=11.0, but you have kubernetes 26.1.0 which is incompatible.
thoth-common 0.36.6 requires kubernetes~=11.0.0, but you have kubernetes 26.1.0 which is incompatible.
Successfully installed kubernetes-26.1.0

Slack thread: https://project-codeflare.slack.com/archives/C04LK0G441F/p1684936673880639

Our team can contribute to the upstream project to bump up the k8s client version. Can you open the issue at https://github.com/kubeflow/kfp-tekton/issues so we can track which team needs this fix?
Also which version you want us to upgrade to? is kubernetes<28,>=8.0.0 good enough for now?

Okay seems like the python client is only up to 1.26.1 right now. So the best we can do now is upgrade to kubernetes<27,>=8.0.0 as the end to end test won't able to tell what critical changes will come in the k8s 1.27 python client.

cc @MichaelClifford @rimolive @Maxusmusti
@Tomcli Thanks for connecting -- we will reach out shortly.

Sorry for the delay, we are releasing a new version of the SDK with kubernetes>=25.3.0,<27 if that works

@Tomcli any update on when the next release on the KFP side will be (if your change isn't already in at this point)? Hopefully this SDK release will be by EOD today

@Tomcli any update on when the next release on the KFP side will be (if your change isn't already in at this point)? Hopefully this SDK release will be by EOD today

My PR is merged already. I will ping the community to see when they will release the SDK for the kfp v1 release>
https://github.com/kubeflow/pipelines/commit/1d2e26cb1e642c2ac62e746799a24fcef6da91ae
The same commit already in the kfp v2 sdk release today, so going forward this issue should be resolved when we have kfp-tekton v2 in the next kubeflow 1.8 release.


Support for subkeys

Someone suggested support for subkeys without namespacing, that would mean supporting this structure:
{
    "primary_key": {
        "sub_key_1": "this is a subkey",
        "sub_key_2": "this is another subkey",
    }
}

with
t!(i18n, primary_key.sub_key_1)

This won't be that much difficult to implement but would break the current structure for plurals
My proposal would be to migrate plurals from a map to a sequence, which would make also more sense as plurals are order dependents and rely on serde_json being a "lazy" parser and keeping the order.
So plurals would go from
{
  "click_count": {
    "0": "You have not clicked yet",
    "1": "You clicked once",
    "_": "You clicked {{ count }} times"
  }
}

to
{
  "click_count": [
      ["0", "You have not clicked yet"],
      ["1", "You clicked once"],
      ["_", "You clicked {{ count }} times"]
   ]
}

This would be one way to do it, any suggestions are welcome.
As this is a breaking change it would come with v0.2.0 (if ready by then).

An other possible structure would be to go from:
{
  "click_count": {
    "type": "u32",
    "0 | 5": "You clicked 0 or 5 times",
    "1": "You clicked once",
    "2..=10 | 20": "You clicked {{ count }} times",
    "11..": "You clicked a lot"
  }
}

to
{
  "click_count": [
    "u32",
    {
      "count": [0, 5],
      "value": "You clicked 0 or 5 times"
    },
    {
      "count": 1,
      "value": "You clicked once"
    },
    {
      "count": ["2..=10", 20],
      "value": "You clicked {{ count }} times"
    },
    {
      "count": "11..",
      "value": "You clicked a lot"
    }
  ]
}

But this would make plurals big really fast.

So I implemented both, you can do
{
  "click_count": [
    "u32",
    {
      "count": "0 | 5",
      "value": "You clicked 0 or 5 times"
    },
    ["You clicked once", "1"],
    {
      "count": ["2..=10", "20"],
      "value": "You clicked {{ count }} times"
    },
    ["You clicked 30 or 40 times", "30", "40"],
    {
      "value": "You clicked a lot"
    }
  ]
}

When using sequences the first elment is the value, the other are the count.


[keystone] Fix static build with dynamic CRT on Windows

Describe the pull request

What does your PR fix?
Fixes #19473
Fix build error on x64-windows-static-md
Remove unused codes
Add vcpkg_fixup_pkgconfig()
Update the deprecated functions
Add supports field

Note: No feature needs to test.

Thanks for your contribution!


Possibly relax package_info_plus requirement?

package_info_plus released 5.0. If it works with this package, please relax the requirement.

You can check the following Pull Request for progress on this: #13

 If it works with this package, please relax the requirement.
Have you seen the changelogs for package_info_plus?
Package is not compatible at the moment because of min Dart version.
Why not check release notes and requirements before opening such issues?

Fixed by #17


Adds funcs to return strings w/ prefixes and suffixes

Previously, the only string function returned a typical mlab hostname. This commit adds additional string functions to return various combinations of the hostname with or without prefixes and suffixes.
Additionally, this commit modifies the v2 regexp to capture and return any prefix. Previously the prefix match was a non-capturing group.

This change is

Pull Request Test Coverage Report for Build 1219

13 of 22 (59.09%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 94.069%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

host/host.go
13
22
59.09%

Totals

Change from base Build 1214:
-0.4%

Covered Lines:
2157

Relevant Lines:
2293

💛  - Coveralls


"Error: ENOENT: no such file or directory ... " issue inside docker container

When I'm trying to run this
npx directus-template-cli@latest apply

in Dokploy service, I got this error:
Loading 76 collections and 700 fields... done
Loading 176 relations... done
Loading 4 roles... done
 ›   Warning: Unknown error: "File not found:
 ›   /home/node/.npm/_npx/623fa71c079d6ec8/node_modules/directus-template-cli/d
 ›   ist/lib/downloads/official/agencyos/src/policies.json"
    Error: ENOENT: no such file or directory, open
    '/home/node/.npm/_npx/623fa71c079d6ec8/node_modules/directus-template-cli/
    dist/lib/downloads/official/agencyos/src/policies.json'
    Code: ENOENT

More info:

Using Dokploy (similar to EasyPanel, Coolify)
Setup the Directus successfully, using this guide (step 1 and 2)
When I tried to follow step 3, I got this issue.

same error,
using npx directus-template-cli@latest apply

та же ошибка, используяnpx directus-template-cli@latest apply

🚀
🍅

After digging the github issues, I found out the CLI latest does not support the AgencyOS v.11 yet. So we have to use the previous version
This could work at this time:
npx<EMAIL_ADDRESS>apply

Closing in favor of tracking this in #68


内置终端性能问题

所需的数据太大，无法直接发送。我们已经将其写入剪贴板，请粘贴。

打开内置终端
当命令输出大量信息后，拖拽滚轴会有卡顿现象，vscode运行不流畅

感谢您创建此问题！
然而，由于您没有使用英语，我们很难进行处理。如果可能，请您将此问题描述修改为英文。请您直接编辑此问题，不要提交回复或新问题。
请注意，机器翻译服务通常无法处理用于讨论软件问题所需的技术性语言，所以我们推荐您寻找一位熟悉相关技术的人来协助翻译。
如果您无法做到，没有关系。此问题已经被标记为需要翻译，等待社区成员志愿进行翻译。

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

Open built-in terminal
When a command outputs a large amount of information, dragging the roller will cause stagnation and the vscode will not run smoothly

In ubuntu


Optional MDC theme and style packages

Reference : https://github.com/trimox/angular-mdc-web/issues/67#issuecomment-324234226

[ ] Create optional MDC theme/styles package. Guaranteeing theme css is compatible with installed Angular MDC version
[ ] Create CSS styles for common use cases of Material Design components (e.g. absolutely positioned FAB, bordered lists etc.)
[ ] Create documentation/examples for overriding theme css variables

Closing. Will resolve in #112


Remove useless method

@SylvainCorlay related to #207

You beat me to it but i also removed the same function in Textarea.

#210

Closing in favor of #210


Updated ADMA_pub_Ethernet.launch functionality

Added IP-adress to ADMA_pub_Ethernet.launch
Updated README.md

Thank you for the contribution


Support ALICLOUD_SECURITY_TOKEN in environment variables

Hi, there
Thanks for sharing this project, this is great and very useful!
It would be nice to support ALICLOUD_SECURITY_TOKEN in environment variables, this will be used in aliyun terraform provider, thanks!!!
Ref:
https://registry.terraform.io/providers/aliyun/alicloud/latest/docs#security_token

The latest version already supports it.


texture.c:25:8: error: 'GPU_A4' undeclared  case GPU_A4

it does this every time i use make install, where do i put the citro3d-master folder/put the files that compile citro3d?

Currently you have stable libctru installed, which should only be used with stable citro3d. Using bleeding edge citro3d requires using bleeding edge libctru.


[File Explorer] Add a warning that previously generated thumbnails won't disappear when disabled

Description of the new feature / enhancement
When one of the thumbnail plugins is disabled, the generated thumbnails won't get deleted, since Windows keeps a cache of these.
This is surprising for users, so an informational text near the enabling/disabling zone for Thumbnails in settings might be useful.
Scenario when this would be used?
Extra Information when enabling/disabling thumbnail generators.
Supporting information
https://github.com/microsoft/PowerToys/issues/13549#issuecomment-932614168

Related to https://github.com/microsoft/PowerToys/issues/7213
As discussed in the issue there is no official API to clear thumbnails for an extension: the warning could be the right choice.
We still have the reboot warning with https://github.com/microsoft/PowerToys/pull/12996 merged. It's not clear if under some circumstances a reboot is still required even if SHChangeNotify is called.

Sounds like something that needs to be mentioned in the Docs too. Current info (on the explorer page) is minimal by itself and PDF hasn't even been included yet.


How to reset rotor initial position in the simulation

Hello,
After modeling my PMSM in Pyleecan, I simulate this machine with FEMM. Normally, the torque should reach the maximum,  if I impose Id =0 and Iq=Imax, but in fact, it is always around zero. If I inverse Id and Iq, Id=Imax, Iq =0, the torque can attain the maximum. After the reflection, I think Pyleecan requires the current vector is aligned with the rotor d axis at the initial condition (t=0). But in my case, the current vector is aligned with the q axis. To solve this problem, I have to rotate my rotor of  22.5 degrees. Could you tell me how to reset the rotor position in the simulation or rebuild this model?

Hello Sijie,
I think this may be because d-axis angle is not accounted for for spoked rotor topology. In spoked rotor the pole is in between two magnets due to flux concentration yielding a d-axis in between two NS magnets and a q-axis in front of magnets.  The current convention for IPMSM and SIPMSM (independently of spoked magnets) is exactly the opposite:  d-axis in front of magnet, q axis in between magnets.
Therefore it is reassuring that you get physical torque results if you swap Id and Iq :) You'll probably have to add this specific rotor spoked case in comp_d_axis_angle method of LamSlotMag lamination to get proper torque for Id and Iq.
Best regards,
Emile

Thanks, Emile,
You are right. I check the actual comp_d_axis_angle that sets always the d-axis angle as pi/p/2. That is the reason why Pyleecan confuses the d-axis and q-axis. I can add this case in LamSlotMag by creating an "if" statement for example. But could you tell me with which condition (argument in the "if" statement) I can use to distinguish the normal IPMSM and this special IPMSM?
Best regards
Sijie

Hello Sijie,
isn't there a specifc 'Hole' for that type of geometrie? So what's your actual hole and how do you manage the magnetization direction?
Best regards, Sebastian

Hello Sebastian,
Yes I create a specfic Hole "HoleMLSRPM" in Pyleecan. Because of the radial magnets. The magnetic field is special. The north pole and south pole are in the middle of magnets

Best regards,
Sijie

Hello,
So the needed modification would be:
LamSlotMag.comp_angle_d_axis:
if self.magnet.type_magnetization == 3:
     return 0
else:
    return pi/p/2

Is it correct ?
Best regards,
Pierre

Hello, Pierre,
Yes correct, with the help of Emile, I have programed the similaire code in LamHole.comp_angle_d_axis:
p = self.get_pole_pair_number()
if self.has_magnet() and self.hole[0].magnet_0.type_magnetization!=3: #Normale rotor with magnets
    return pi / p / 2
else: #Without magnet or spoke rotor with magnets
    return 0

In your opinion, should I change LamSlotMag also?
Best regards,
Sijie

Hello Sijie,
Yes I forgot that you were working on an IPMSM. So we should correct both.
Best regards,
Pierre

Hello, I have pushed my modification about LamHole and LamSlotMag in the branch LSRPM.
Thanks for your help,
Best regards
Sijie


Create an implementation plan for SaaS workstream

Problem Statement:
In order to better understand the feasibility, timelines, and skills needed to create and maintain a hosted version of CiviForm, we’ll map out a high-level implementation plan.
Solution:
Link to doc:
https://docs.google.com/document/d/1HImS3hd0sQZQi__0QwvwmP471pzbCqjUeNfnnLd3Ckg/edit?resourcekey=0-AWodU-KNraHlUc4WtsYOqw&tab=t.0#heading=h.bknox3ib8wpb
Checklist (remove this section after completion)

[x] Link the PRD or TDD above. For TDDs, link the associated PRD as well.
[x] Remove the PRD label if this is a TDD, vice versa if this is a PRD.
[ ] In the project, set Epics to the epic label for this feature
[ ] In the project, set Initiative to the correct initiative label for the overarching initiative this feature belongs to
[ ] In the project, set Status to the current status of the PRD / TDD. In progress if you're drafting, Needs review if it is ready for review or in the process of review, Done if the document is finalized.
[ ] In the project, set Quarter to the quarter this PRD / TDD is being worked on

Additional Context:
Any additional context to be added here.

Most current discussions are being tracked in https://docs.google.com/document/d/1N-O16CwMd9_BOMU66dAF8iOs1Dxs0BMLOpIF6_7b8co/edit?tab=t.0#heading=h.ljaod82scq9m


🐞[bug]: Social media links not working on clicking of cart page

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Social media links not working on clicking in footer section of cart page.
Expected behavior
If we click on facebook icon then it should be redirected to facebook page and so on.
Add ScreenShots

What browsers are you seeing the problem on?
No response
Record

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

I want to work on this issue please assign me.

@Anjaliavv51  I have already fixed this issue and made a PR please check


Scheduler giving timeout errors

Not sure if this is something with my config, but I get timeout errors in the scheduler log after it runs for a few days straight. It happened today, and beforehand it was running fine for about a week.
Today the log showed this:
2014-11-30_21:02:23.84590 2014-11-30T21:02:23.845Z 29383 TID-dr6wc INFO: queueing JobName1 ()
2014-11-30_21:02:23.84762 2014-11-30T21:02:23.846Z 29383 TID-dq2ng INFO: queueing JobName2 ()
2014-11-30_21:02:23.84803 2014-11-30T21:02:23.846Z 29383 TID-dq7ao INFO: queueing JobName3 ()
2014-11-30_21:02:23.84858 2014-11-30T21:02:23.846Z 29383 TID-dq5ew INFO: queueing JobName4 ()
2014-11-30_21:02:23.84860 2014-11-30T21:02:23.846Z 29383 TID-dq41g INFO: queueing JobName5 ()
2014-11-30_21:02:23.84884 2014-11-30T21:02:23.846Z 29383 TID-dq3bw INFO: queueing JobName6 ()
2014-11-30_21:02:23.84887 2014-11-30T21:02:23.847Z 29383 TID-dq80s INFO: queueing JobName7 ()
2014-11-30_21:02:25.84791 2014-11-30T21:02:25.847Z 29383 TID-dr6wc INFO: Timeout::Error: Waited 2 sec
2014-11-30_21:02:25.84812 2014-11-30T21:02:25.848Z 29383 TID-dq2ng INFO: Timeout::Error: Waited 2 sec
2014-11-30_21:02:25.84830 2014-11-30T21:02:25.848Z 29383 TID-dq7ao INFO: Timeout::Error: Waited 2 sec
2014-11-30_21:02:25.84884 2014-11-30T21:02:25.848Z 29383 TID-dq41g INFO: Timeout::Error: Waited 2 sec
2014-11-30_21:02:25.84885 2014-11-30T21:02:25.848Z 29383 TID-dq5ew INFO: Timeout::Error: Waited 2 sec
2014-11-30_21:02:25.84898 2014-11-30T21:02:25.848Z 29383 TID-dq3bw INFO: Timeout::Error: Waited 2 sec
2014-11-30_21:02:25.84921 2014-11-30T21:02:25.849Z 29383 TID-dq80s INFO: Timeout::Error: Waited 2 sec

I've set my sidekiq client/server connection pool size to 27, timeout to 2 seconds. Not sure what else it could be. Jobs that are manually kicked off are queueing and processed fine.

Is this still happening?

Mark as resolved, please open it again if is still happening to you.


Feature request: restore from backup available from installer UI

I sometimes start a new Pocketbase instance with the intention of duplicating an existing instance.
I currently run the installer with a dummy admin user and pass and then restore from the backup menu. I think this might be a common flow for some folks.
It'd be more convenient to be able to upload and restore from a backup file directly from the installer UI, to avoid having to create this dummy admin user first.
Thanks for this great piece of software!

Maybe even go as far as specifying a backup to load initially (i.e. pocketbase serve --initial-backup=init.zip). This way, no manual steps have to be done.

Maybe even go as far as specifying a backup to load initially (i.e. pocketbase serve --initial-backup=init.zip). This way, no manual steps have to be done.

I love the idea of having a CLI option to do this. Would help greatly with automated integration tests for me.

@kbruegge There are no plans to add a CLI option for this and I don't understand what do you mean by "Would help greatly with automated integration tests for me". For automated tests usually you want the test database to be part of your repo and not as archive in order to be able to easily init/change the tests data (eg. ./pocketbase serve --dir="test_pb_data").
In any case option to load a backup from the installer UI is already implemented as part of the ongoing refactoring and will be available with the next release.

For automated tests usually you want the test database to be part of your repo and not as archive in order to be able to easily init/change the tests data (eg. ./pocketbase serve --dir="test_pb_data").

Thanks! That's how I currently do it. Just that the I use and empty database with a single predefined user which feels a little weird but works fine :+1:
Thanks for your great work in general. Love Pocketbase ❤


Fixes on table

Fix to preserve order when changing data (eventually we can come up with a boolean).
Fix to make checked items reactive (with prop)

I just accepted another PR on this Table file, I think you should clone the repo again and make your changes, since the last PR changed a lot of things.
Also, no need to build, I'll do this before publishing :)

I'm adding the updatingData right now to the Table myself, didn' realise it before, thanks :)

Closing this since next release will cover all the last thing it was proposed here.


PR not auto merged when auto-merge enabled on PR in repository with no presubmit checks.

I've seen one instance in when a PR wasn't auto-merged and the logs indicated the auto-merge was enabled on the PR.
{"level":"info","ts":1669949667.2490182,"caller":"github/prs.go:259","msg":"Created PR","url":"https://github.com/acme/manifests/pull/25"}
{"level":"info","ts":1669949667.612808,"caller":"github/merge.go:114","msg":"PR auto-merge will be enabled and the PR will be merged when ready; this will fail if auto-merge is not allowed for the branch.","prNumber":25}
{"level":"info","ts":1669949670.546344,"caller":"github/merge.go:125","msg":"Pull request was added to merge queue and will be automatically merged when all requirements are met","prNumber":25}
{"level":"info","ts":1669949670.5465899,"caller":"gitops/syncer.go:553","msg":"Sync succeeded","ManifestSync.Name":"gcp","run":"c0cef"}

The repository in this case doesn't have any status checks. So this might be due to the potential for a race condition between getting the PR status and then trying to merge.
One way to fix this would be when running reconcile, if a PR already exists try to merge it.
https://github.com/jlewi/hydros/blob/a2b233f03a0dddf0a579585bb892862b775f00d1/pkg/gitops/syncer.go#L296
This way in the event of race conditions the PR would still get merged assuming there are no failing status checks blocking merging.

Further compounding the problem is that right now the code returns after it merges an existing PR rather than continuing with the sync.
https://github.com/jlewi/hydros/blob/8927cb4167bac513af302c90d9300be263555e03/pkg/gitops/syncer.go#L311
This is why with dev takeover I find myself having to run hydrate multiple times in order to get the latest results to be applied.


WinUI 3 - The attachable property 'SourceUri' was not found in type 'AnimationBehavior'

Describe the bug
Installed NuGet package, added xmlns as specified in documentation, and added Image control as specified.  The following error occurs:
Severity	Code	Description	Project	File	Line	Suppression State
Error	XLS0415	The attachable property 'SourceUri' was not found in type 'AnimationBehavior'.	TimeClock	C:\Source\TimeClock\TimeClock\MainWindow.xaml	34
To Reproduce
Steps to reproduce the behavior:
Install the NuGet package in a .NET 6.0 Windows Application using WinUI 3
Follow the example and see the error
Expected behavior
Install the NuGet package and follow example and watch it work
Screenshots

Please complete the following information:

.NET version: .NET 6.0
Operating system version: Windows 10 Pro
If you're having issues with a specific GIF file, please attach or link the file

Additional context
Add any other context about the problem here.

Hi @sethconyers,
This project doesn't support WinUI 3. As per the README, it now only supports WPF. It used to support Windows 8.1 (WinRT) apps, and apparently that was enough to mostly work on UWP, but I dropped support for those platforms (see this section of the README for details). In any case, WinUI 3 has never been a supported platform. Older versions (1.x) might work, if you're lucky...


user that is restricted or read-only mode gets a 404 page when trying to go Host page

Version - v1.0.0-rc4
Steps to Reproduce:

Authenticate using Active Directory or Github
Create a environment and add another user in restricted or read-only role
Log in as that user and try to go to host page

Results: 404 page comes up
Expected: No 404 page, maybe the Host page should not be available at all.

Version - master 6/15
This was fixed at some point - host page comes up


[WIP] Export project to Gist

Adds functionality for saving a project to Gist. This includes #97 content, so that should get merged first.
To try it out, click on "Export" and then there's a button "Export to GitHub Gist". It will walk you through the steps and provide instructions on providing an access token with proper scope.
In a separate PR we can figure out what to do about updating an existing gist.
To summarize:

Export
Export to GitHub Gist
Read instructions on getting the PAT
Enter the PAT
Click "Export to GitHub Gist"
Retrieve the url to the gist AND the shareable SP url that loads the gist

I think there should be an distinction between "export" and "save". Export to a zip, save to a gist. So I'm going to make this two separate buttons on the left panel and we'll see how this looks.

I think there should be an distinction between "export" and "save". Export to a zip, save to a gist. So I'm going to make this two separate buttons on the left panel and we'll see how this looks.

I think I agree, but I would personally swap the names, with save meaning to the local file system, and export meaning to another service (gist)

Replaced by #114


Hide floating panel

I have a use case where in some cases I need to hide the floating panel entirely, preferrably with a slide-to-bottom animation.
What would the most appropriate way to do this?

I think this might be what you're looking for, to hide the panel:
floatingPanelController.removePanelFromParent(animated: true)
Then when you need to present it again...
floatingPanelController.addPanel(toParent: viewController, belowView: nil, animated: true)

I just need to hide it though, not remove it. Removing it comes with the cost of having to recreate everything again when I need it back.
In my use case I want to hide the panel when the user scrolls downwards but show it again (the tip of it) when scrolling upwards.

I was also looking for a way to simply hide/show the panel with animation, however, after browsing the floating panel controller source the best I could find was the add/remove panel methods.
Since the floating panel controller is not responsible for instantiation of your content view controller, it won't destroy it when you remove the panel and so your content view wouldn't be recreated when you add the panel again. I can't imagine it would be that costly but I stand corrected, my use case is somewhat more forgiving and so I haven't really done any profiling.
Sorry I couldn't be of more help :)

Thanks, @scandiumza.
Hello, @attheodo,
The @scandiumza's solution is an expected way to show and hide it by this library now. As he said, floatingPanelController.removePanelFromParent(animated: true) doesn't recreating everything and just remove the views from the parent view controller, but it would have a cost to render everything again on re-added.
Another option is, if you don't avoid the rerendering, that you can use FloatingPanelController.updateLayou() to switch to offscreen layout.
class MainViewController: UIViewController, FloatingPanelControllerDelegate {
    var fpc: FloatingPanelController!
    var isHidden: Bool = false

   ...
   // Invoke on tip position
   func updateLayout(_ sender: Any) {
        isHidden = !isHidden

        UIView.animate(withDuration: 0.5) {
            self.fpc.updateLayout()
        }
    }

    func floatingPanel(_ vc: FloatingPanelController, layoutFor newCollection: UITraitCollection) -> FloatingPanelLayout? {
        return (isHidden) ? HiddenLayout() : nil
    }
}

class HiddenLayout: FloatingPanelLayout {
    var initialPosition: FloatingPanelPosition {
        return .half
    }

    func insetFor(position: FloatingPanelPosition) -> CGFloat? {
        switch position {
        case .full: return 18.0
        case .half: return 262.0
        case .tip: return -34.0
        }
    }
}

Finally, I'm developing FloatingPanelController.{show,hide}(animated:completion) APIs in this PR #63. They could be expected by you.

I'm looking forward to the update, thanks for the great library @SCENEE

@SCENEE thanks for the update.
Since you're at it, I think that for added flexibility it might be useful to add a FloatingPanelPosition.custom case instead of utilizing, the otherwise pretty standard and useful, .tip.
Thoughts?

I'd say I'm more in favor of the explicit show/hide that @SCENEE is currently developing, I think adding a .custom position may complicate matters and also result in a case where, for example, folks try to define a position between .half and .full which would kind of break this reasonably well established UI pattern.
The upside going with an explicit hide approach is that the library could ensure that regardless of orientation and device interface type, the panel would end up off screen. I guess one could have a .hidden position that would achieve the same goal?
Just my opinion :)
I do like @attheodo's suggestion of having a delegate method for tapping on the panel, perhaps also one for the backdrop view (i.e. one could then have the panel collapse/move to the .tip position when tapping on the backdrop view).

Thanks for your options, @attheodo and @scandiumza 👍
First, I agree with @scandiumza about FloatingPanelPosition improvement.
I think .custom will introduce complication into this library and I don't know how to implement it correctly.But .hidden position makes sense for me after implementing {show,hide}(animated:completion) because It's so natural that  a user expects the position is .hidden after calling hide(animated:completion).
Then I will try to add .hidden position on PR #63.
Second, I don't know why you need tap delegate.
Because you can add tap gestures as below easily and customize the area and condition to handle these gestures as your design spec.
        let surfaceTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleSurface(tapGesture:)))
        fpc.surfaceView.addGestureRecognizer(surfaceTapGesture)

        let backdropTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleBackdrop(tapGesture:)))
        fpc.backdropView.addGestureRecognizer(backdropTapGesture)

Why do you need the delegate on the library side?

Thanks for considering the .hidden panel position @SCENEE, apart from then being able to check against that to determine if the panel is hidden, one could also call move(to:animated:completion) passing in .hidden which I imagine would have the same effect as hide(animated:completion)
Admittedly I hadn't looked too closely at either surfaceView or backdropView and was somehow under the impression that they weren't directly accessible, given that they are, it is indeed easy enough to just add a tap gesture, so please ignore my suggestion :)

@SCENEE in my case I have the following problem with tap gesture:
When the floating panel is in the default .tip position, I want to "tease" via a quick-n-short upwards spring animation it if the user taps on it so he can understand he has to swipe it up. So whenever I create the panel I add the gesture recognizer on the surface view. However, when the floating panel is in half or full positions, the tap gesture recognizer intercepts all other gestures on the floating panel so I have to remove it.  I have found this to be a PITA since the willBegingDragging and didEndDragging are not sufficient to capture all possible events and positions.
I found the didMove delegate method to be more granular but there I am getting different, almost random, values for surfaceView.frame.minY thus again making it harder to derive whether gesture recognizer should be active or not.

To @scandiumza,
Thanks for your additional insight.  I could improve PR#63 with it. Thanks again.
To @attheodo,

I want to "tease" via a quick-n-short upwards spring animation it if the user taps on it so he can understand he has to swipe it up.

Yeah, it looks a great UX for hinting 👍

However, when the floating panel is in half or full positions, the tap gesture recognizer intercepts all other gestures on the floating panel so I have to remove it.

That's strange 🤔 it doesn't block tap/long gestures.

it harder to derive whether gesture recognizer should be active or not.

What about floatingPanelDidChangePosition delegate supported on v1.2.1?  You can enable/disable your surface tap gesture in the delegate method.

I supported this feature at v1.3.0 👍 Thanks for your proposal!


Promote the SecretBindingProviderValidation feature gate to beta

/kind enhancement
Which issue(s) this PR fixes:
Part of https://github.com/gardener/gardener/issues/4888
Release note:

The `SecretBindingProviderValidation` feature gate of `gardener-apiserver` is now promoted to beta and enabled by default. This enables the following validations:
- requires the provider type of a `SecretBinding` to be set (on `SecretBinding` creation)
- requires the `SecretBinding` provider type to match the `Shoot` provider type (on `Shoot` creation)
- enforces immutability on the provider type of a `SecretBinding`

/hold
looks like the integration tests need adaptation

/skip


Error: Building package curl:x64-windows failed with: BUILD_FAILED

Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: curl:x64-windows
Vcpkg version: 2020.06.15-nohash

Thanks for posting this issue. Could you please provide the error log?

Thanks for posting this issue. Could you please provide the error log?
Error: Building package curl:x64-windows failed with: BUILD_FAILED

But that's ok
vcpkg install curl[*]:x64-windows => vcpkg install curl:x64-windows


Speech

Great work!
Planning to run ff transformer network in speech domain overnight with madgrad.
Any heads up?

@adefazio It worked really well during pretraining. After discriminator was enabled, it didn't show the progress with same rates as pure Adam. I have to mention - during pretraining the madgrad actually did better job than Adam - helped to model pitch, energy and duration really well.
It's obvious GAN-based training would need better tuning of madgrad, but it looks promising!

Thanks for the info! Interesting result.


Adding Openframeworks v0.9.4

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[ x] brew cask audit --download {{cask_file}} is error-free.
[ x] brew cask style --fix {{cask_file}} reports no offenses.
[x ] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[ x] Named the cask according to the token reference.
[ x] brew cask install {{cask_file}} worked successfully.
[ ] brew cask uninstall {{cask_file}} worked successfully.
[ x] Checked there are no open pull requests for the same cask.
[x ] Checked that the cask was not already refused in closed issues.

Adding the stable OSX version of Openframeworks to homebrew.
Will update with the upgrading path as well as the beta and nightly paths.

Hope I solved most of the problems here.

I also want to add the appcast of the openframeworks through github
https://github.com/openframeworks/openFrameworks
How can I ensure that it only pulls from stable?

No worries, done in 67e203863a109f137d0b046ec260fbae91a9fc83.


Implement the new hcsshim API using the new HCS RPC API

This includes the changes necessary for the new API to work on both TP5 and RS1. The associated Docker changes are located at https://github.com/Microsoft/docker/tree/hcs_rpc (currently needs cleanup)
There is some slight cleanup to be done on this change, but the core logic is ready to be reviewed.
Signed-off-by: Darren Stahl<EMAIL_ADDRESS>

Hi @darrenstahlmsft, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Darren Stahl). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@jstarks @jhowardmsft @swernli

@jstarks Update pushed. It combines a lot of the common async handling and wait code between processes and containers.

LGTM

I pushed another change to the commit that added some better error handling to provide more info, but github is being slow to update.


docker: Error response from daemon: manifest for dustynv/jetbot_ros:foxy-r32.7.4 not found: manifest unknown: manifest unknown.

When first running docker/run.sh command following error shows.
docker: Error response from daemon: manifest for dustynv/jetbot_ros:foxy-r32.7.4 not found: manifest unknown: manifest unknown.

Needed to change tag.sh file to match L4T version


Use FontAwesome for menu entries

Glyphicon is not compatible with Apple's Lockdown Mode resulting in broken icons on iOS. This PR switches the Firewall menu entry's icon over to Font Awesome, as is the case for the other menu entries.


Optimization PR#2 - Submissions and Participants Count

@ mention of reviewers
@Didayolo
A brief description of the purpose of the changes contained in this PR.
This is a first PR in the optimization effort to load codabench quickly. The following are done in this PR:

Adde new fields to competition modal participants_count and submissions_count
Used these fields in the competition detail page
Used participants_count field in public competitions page
Used participants_count field in the popular competitions section in home page

On the backend, serializers are changed to use this new filed instead of the annotated values from the queries.
NOTE

when you upload a new submission, submissions_count will be updated (+1)
When you delete a submission, submissions_count will be updated (-1)
When a new participant joins the competition (even not approved yet) the participants_count will update (+1)
participants_count is never decremented because we do not delete a participant we only revoke the status

Manual update
docker compose exec django ./manage.py migrate

NEXT
We need a script that will update all the competitions with the right submissions and participants counts
Issues this PR resolves

#1327 -> Part of Submissions and Participants

Checklist

[x] Code review by me
[x] Hand tested by me
[x] I'm proud of my work
[x] Code review by reviewer
[x] Hand tested by reviewer
[ ] CircleCi tests are passing
[ ] Ready to merge

Very nice work. I'll review it asap.

@ihsaan-ullah Any idea why your change triggers the following error?
=================================== FAILURES ===================================
____________ SubmissionMixinTests.test_invalid_submission_not_sent _____________

self = <chahub.tests.test_chahub_mixin.SubmissionMixinTests testMethod=test_invalid_submission_not_sent>

    def test_invalid_submission_not_sent(self):
        self.submission.status = "Running"
        self.submission.is_public = False
        resp1 = self.mock_chahub_save(self.submission)
>       assert not resp1.called
E       AssertionError: assert not True
E        +  where True = <MagicMock name='_send' id='139945117507488'>.called

src/apps/chahub/tests/test_chahub_mixin.py:49: AssertionError
----------------------------- Captured stderr call -----------------------------
ChaHub :: Submission(224) is_valid = False
ChaHub :: Competition(161) is_valid = True
ChaHub :: Received response 201
Task chahub.tasks.send_to_chahub[2ffe7de6-212d-47c6-b4c1-fc6971c5ab19] succeeded in 0.004535872000019481s: None
------------------------------ Captured log call -------------------------------
INFO     chahub.models:models.py:122 ChaHub :: Submission(224) is_valid = False
INFO     chahub.models:models.py:122 ChaHub :: Competition(161) is_valid = True
INFO     chahub.tasks:tasks.py:56 ChaHub :: Received response 201
INFO     celery.app.trace:trace.py:125 Task chahub.tasks.send_to_chahub[2ffe7de6-212d-47c6-b4c1-fc6971c5ab19] succeeded in 0.004535872000019481s: None
____ SubmissionMixinTests.test_retrying_invalid_submission_wont_retry_again ____

self = <chahub.tests.test_chahub_mixin.SubmissionMixinTests testMethod=test_retrying_invalid_submission_wont_retry_again>

    def test_retrying_invalid_submission_wont_retry_again(self):
        self.submission.status = "Running"
        self.submission.chahub_needs_retry = True
        resp = self.mock_chahub_save(self.submission)
>       assert not resp.called
E       AssertionError: assert not True
E        +  where True = <MagicMock name='_send' id='139945080014256'>.called

src/apps/chahub/tests/test_chahub_mixin.py:59: AssertionError

@Didayolo I think these tests are useless because they are supposed to send submissions to ChaHub but there is not ChaHub right?

@Didayolo I think these tests are useless because they are supposed to send submissions to ChaHub but there is not ChaHub right?

@ihsaan-ullah That is a good remark, however we may want to understand why these tests started to fail with this PR specifically.

Maybe the problem is occurs because https://chahub.org/? does get the number of participants of the competitions? The renaming of participants_count may lead to a bug.

Maybe the problem is occurs because https://chahub.org/ does get the number of participants of the competitions? The renaming of participants_count may lead to a bug.

The problem is in sending submissions to chahub but in the test there is a dummy chahub (no real URL is used) so that should not be a problem

The tests are failing because of these lines of code added in the Submission modal's save function
if is_new:
            # Increment the submissions_count for the competition
            self.phase.competition.submissions_count += 1
            self.phase.competition.save()

Removing this code fixes the problem. The real issue here is the test itself. If we don't have any chahub then why do we have tests for it and why do we have chahub fields in the submission?
I think we should do the following:

remove the tests (in this PR)
remove any mention of chahub from the whole project (in a new PR as part of project cleaning)

Added tests for submisisons count and participants count

@ihsaan-ullah

remove the tests (in this PR)

OK for removing the test. Do you have a way to disable them, or do you want to simply erase them?

OK for removing the test. Do you have a way to disable them, or do you want to simply erase them?

I can comment them for now instead of removing them. And later on remove them permanently in another PR

OK for removing the test. Do you have a way to disable them, or do you want to simply erase them?

For now I have commented the problematic tests. I am going to prepare a script to update all the competitions and then we can merge this PR

@Didayolo
Update counts for all competitions
Bash into django console
docker compose exec django ./manage.py shell_plus

Import and call the function
from competitions.submission_participant_counts import compute_submissions_p
articipants_counts
compute_submissions_participants_counts()


Log and Flags rework

Only need to import liblog for logging
Rename liblog as log package
Split log file vs log console functions
Functions to dynamically add flags for log file/console
Setup returns error instead of directly exiting

This change is

Reviewed 6 of 90 files at r2.
Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

go/lib/log/log.go, line 32 at r2 (raw file):

)

var logDir string

This can be put into one var () block.

Comments from Reviewable

Review status: 3 of 5 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

go/lib/log/log.go, line 32 at r2 (raw file):
Previously, shitz wrote…
This can be put into one var () block.

Done.

Comments from Reviewable

Reviewed 1 of 90 files at r1, 3 of 90 files at r2, 2 of 11 files at r3.
Review status: all files reviewed at latest revision, 1 unresolved discussion, some commit checks failed.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


Feature - Start activity with intent

Will be cool to start an activity with the image somehow and receive it somehow after crop without adding ml views.

Already on it (on develop branch) :wink:

done


⚠ Quirk Club Argentina (API endpoint) has degraded performance

In 45424fd, Quirk Club Argentina (API endpoint) (https://us-central1-quirkclub-dev.cloudfunctions.net/api/check/api) experienced degraded performance:

HTTP code: 200
Response time: 8402 ms

Resolved: Quirk Club Argentina (API endpoint) performance has improved in 03d8317.


Docker support for server

Hey @lisiur,
Thank you for this project.
I have created a Dockerfile and docker-compose.yml for the server-version so that this can be deployed easily on a server.
Running docker compose build or docker compose up --build will build the server from source in a container where all dependencies are installed (will take a while) and then discard the build container and run it in a lightweight alpine container (total sized 30.7MB).
You may want to build it and upload it to dockerhub to be able to offer an image which can be executed with docker run -p 23333:23333 -v /path/to/persistence:/root/.local/share/chat-wizard --restart unless-stopped <image name>.
The configuration also makes sure data is persistent.
Keep up the good work!
Best,
THF

Thanks！


refactor: make some internal functions virtual

Looks good to me, but not sure if _generateSalt should be mark as virtual as seems to be quite an important function for the logic of the UniversalFactory.
Let's see with @YamenMerhi

I think it is fine to override this function as well

#443


update readme me and add mkdir to script

Goal
The goal of this PR is to update readme and script to be upto date with structure
Checklist

[x] Readme updated
[x] Scripts updated

The script change is not needed but some facing issues with rebasing so this will just create directory


Don't hide errors.

We are still (after the fixing of issues #459 and #454) having problems with the NIO-mode of http4s servletIo. This time we don't know where the problem is, but the symptom is that things just hang.
To help us debug it, we need http4s to stop hiding errors. For example https://github.com/http4s/http4s/blob/master/servlet/src/main/scala/org/http4s/servlet/ServletIo.scala#L153 will loose data without a trace if out.isReady is false. I think the implementor has meant to say that it will never be false (since writeChunk is called only when the OutputStream should be ready), but this is not reflected in the code. It should throw an exception or at least alog the failure of the "assertion" in an else block.

I'll make a pull request if you agree with my analysis.

I agree with your analysis: if out.isReady should never evaluate to false we should not need the if statement.
I suspect you're using servlet intentionally but if not, maybe the blaze backend would work better for you.

BTW in the past I've noticed that the behavior of different servlet implementations (specifically jetty and tomcat) tend to have subtle differences. It might be helpful to know which implementation you're using.

We're using jetty... and the problem might well be in our code, but since I'm not sure, I'm shooting everything that moves.


get_completion_scheduler is not a forwarding sender query?

In my understanding it should be one, but I don't see any wording specifying that it is a forwarding query. Is there some blanket wording that makes it a forwarding query that I've missed? The default for forwarding_scheduler_query is false.

It should not be a forwarding sender query. It wouldn't be safe to inherit completion schedulers by default because so many senders change where they will complete.

Fair enough, that makes sense. Thanks! My follow-up question is then: are there really no adapters (of the ones defined in P2300, not in general) other than transfer, schedule_from, when_all, and transfer_when_all that should advertize completion schedulers in the uncustomized implementations? Is even get_completion_scheduler<set_value_t> for then unsafe to forward in the default implementation? Sorry if I'm missing something obvious.

Hang on. The intent of the initial design was that sender adaptors propagate this query unless otherwise specified, and that's what the wording I originally wrote for sender adaptors did. If this isn't forwarded, then the entire customization scheme of only specializing some of the algorithms entirely falls apart.

This presumably only works for senders that adapt exactly one input sender and only where the operation completes on the same execution context as the one that you are composing. i.e. if you are then()-like.
An algorithm that composes multiple input senders would need to decide which of the input senders to forward queries to.
e.g. a when_all(a, b) algorithm might complete on completion context of either a or b.
I am skeptical that the goal of only trying to customise some algorithms while still dispatching to custom implementations is achievable.

We've explicitly specified when_all to not forward the query. I'm not sure what your concern here is.

Maybe you mean that for the default implementation of sender adaptors in the standard library the returned senders propagate it? Rather than a requirement for all sender adaptors that might ever be created (which is how I originally read your comment)?


Add support for creating 7zipped wordlists

Add support for creating 7zipped wordlist archives.

The 7za command only seems to support streaming output or streaming input, but not both. Also not clear whether 7za supports appending to a file within an existing .7zip file; correct me if I'm wrong here.

Implemented by 04f5dbb.


fetch.lua:79:  attempt to index local 'file' (a nil value)

I've gotten the same result on two machines: The above error message is the result any time I try to invoke any of the keybinds/commands. These commands are invoked in a rather typical .clj file in a just-as-typical leiningen project. These were encountered on the latest nightly releases of Neovim.
I was trying to parse through some of the source myself, which draws me to the json-parse function, and I'm guessing for some reason the io.open call isn't happy with getting a URL.
I will admit (and this is slightly unrelated), there's a few things in the source here I don't understand, for ex:

fetch.fnl line 43, the call to download-fail should be notify.download-fail AFAICT
init.fnl line 24, the call to preview confuses me, as I don't know where or how that func is defined?

I'm relatively small-brain still with Aniseed/Neovim-plugin-dev, so I'm not totally sure how to replicate or try to fix things myself, and can't say with total 100% confidence that I'm not just braindead.

Got same issue. I'm looking into it

I'm guessing for some reason the io.open call isn't happy with getting a URL.


Introduce a new wrapper for running commands that redirects output to the logging framework

Right now, we have little control over the output of subprocesses. It would be really useful to be able to easily redirect stderr and stdout to the logging framework so that it behaves consistently with the top-level verbosity flags.

There's some interesting discussion of this here: https://codereview.stackexchange.com/questions/6567/redirecting-subprocesses-output-stdout-and-stderr-to-the-logging-module.