python3{11,12}Packages.uncompyle6: use pyproject, relax spark-parser dependency, remove nose dependency

Upstream tests don’t use nose and we can’t run them anyway.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 348013 run on aarch64-linux 1

4 packages built:

python311Packages.uncompyle6
python311Packages.uncompyle6.dist
python312Packages.uncompyle6
python312Packages.uncompyle6.dist


broken URL

The original URL 404'd found this off the main pricing page

Hi @jeffpatton1971, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;


no longer download CommonVoice directly

CommonVoice requests a user agreement before downloading, see here.

raise a warning if url is not None
raise a warning if download is not False
version must not be specified
language option is added and must be specified

I suggest we follow the conventions for imagenet.

cc @seemethere for 0.7.1 release


Bug : The hamburger goes behind the status bar on Android

Attaching the image.

If you'd like to open a PR to fix it, we'd greatly appreciate it :)

I might have a fix for you @ritz078. We should have the next patch version out in the next day or two, please let us know if that fixes this.

3.2.15 released. Closing this--let us know if you're still having this issue!


Remove the shadowViewer used with Page scrolling

The only reason for using a DocumentFragment in the first place, originally added in PR #8724, was to prevent errors in the PDFPageView-constructor. However, we should be able to simply make its container-option optional instead, since it's not being used for anything else in the class.
Note that pre-rendering still works correctly in my testing, and given that the BaseViewer keeps references to all PDFPageView-instances (via its _pages Array) it also shouldn't be possible to "lose" any pages/canvases this way.

Looks good; thanks!


Create AWS Batch Pipeline for loading new files

Problem
The process for loading a voter file is manual and requires a linux VM to run. AWS offers a batch system to run containerized jobs on a cluster from a job queue.
Migrate our process to this environment and trigger it from the upload of a file to S3.
Subtasks

[x] Create process to build stand-alone docker image when code changes
[x] Engineer AWS Batch compute environment
[x] Engineer AWS Batch jobs
[x] Externalize database connection information for pentao so it can be set inside each job container
[x] Create Lambda trigger
[ ] Assemble steps into job

References
Progress on: #
#210

Just about have this done. Need to complete the individual jobs for each step, but the basic engineering is done.


Set Up SAP Business Application Studio for CAP Java

Tutorials: https://developers.sap.com/tutorials/cp-cap-java-app-studio.html
Step 2: Create application skeleton
Point 4- Initializing application using maven archetype.
Please update the cds-services-archetype version. 1.17.1 is not a valid version.
See Link: https://mvnrepository.com/artifact/com.sap.cds/cds-services-archetype

We will have a look and update the tutorial accordingly. Thanks for reporting it.

Hi @priyankagupta0194,
We have updated the tutorial using version 1.17.0.
Best regards,
Iwona


Ability to discard results

If the results of a job are not of any concern, then we should have a Discard() method as a sibling to Then() which will read the result and do nothing, so we don't keep any memory or goroutines around.

Done


When i clear terminal via command cls, terminal is not clear all

When i write in terminal cls or clear command he clear only last command (but must clear all) and if i scroll up, i'll see past messages.
This is very interferes

cls and clear do not remove command history or scroll back if you want use the context menu -> clear else theres nothing else to be done.


Base application fails with error: cannot find protocol declaration for 'CAAnimationDelegate'; did you mean 'UIApplicationDelegate'

Hiya! So you think it's broken or missing a feature eh?
Welllllll, it just might be. Do me a favor and check the following.
[x ] Issue does not already exist
[x ] Identify exactly what aspect your issue is about
ignite base application
[ ] ignite the cli
ignite generated code
Also, for the quickest assistance please run ignite doctor and paste in
everything (including the lines with 3 backticks).
ignite doctor

Computer
  Platform: darwin

Ignite
  Version: 1.12.0
  Path: /usr/local/bin/ignite

Node
  Version: v4.2.4
  Path: /usr/local/bin/node

NPM
  Version: 4.0.3
  Path: /usr/local/bin/npm

Yeoman
  Version: 1.8.5

React Native CLI
  Version: 1.3.0

App
  React Native Version: 0.37.0

Error that I am getting when i run react-native run-ios
cannot find protocol declaration for 'CAAnimationDelegate'; did you mean 'UIApplicationDelegate'? @interface SMCalloutView : UIView <CAAnimationDelegate>
The following build commands failed:

  CompileC /Users/Projects/personal/MyApplication3/ios/build/Build/Intermediates/AirMaps.build/Debug-iphonesimulator/AirMaps.build/Objects-normal/x86_64/AIRMapPolygon.o AirMaps/AIRMapPolygon.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Installing build/Build/Products/Debug-iphonesimulator/MyApplication3.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/MyApplication3.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Solved this issue. I was running Xcode 7.3.1.
I upgraded to 8.1 and it worked.


Automator: update proxy@master in istio/istio@master

Generated by Automator - 2023-09-08T16:52:17+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot_istio
abe524872dabe2e06ce35b3377b54384fb1514f8
link
true
/test integ-pilot

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-pilot


Navigation bug fixes to CheatSheets

Change Summary
I was just navigating through all the. MD files and realised some bugs which can be annoying to the readers, so I fixed them.
Checklist
General

[x] This Pull Request is all my own work. (You'll be blacklisted if you are caught for plagiarism.)
[x] I've read CONTRIBUTING.md
[x] I've made some valid changes to the CheatSheet, and they are not just minor changes.

Changes

[x] I've read and followed the Solution Template

Thanks that surely saved a lot of time 🍁


Fix for issue #2809

Describe your PR, what does it fix/add?
It fixes https://github.com/hyprwm/Hyprland/issues/2809 and from what I can tell when the priority is the default of 0 (so not modified externally) it seems to work as intended still.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Worth someone else double checking it still works as intended when not running ananicy-cpp
Is it ready for merging, or does it need work?
Ready pending the double check

As per the issue closing this as looks to be an issue with ananicy-cpp/linux kernel


GMT format question

Maybe a silly question, but why are the results different?
moment("2015-01-29 04:00").subtract(60, "m").format("YYYY-MM-DD HH:mm");
"2015-01-29 03:00"

moment("2015-01-29T04:00Z").subtract(60, "m").format("YYYY-MM-DD HH:mm");
"2015-01-29 04:00"

In the first example, you didn't provide any indicator of time zone - so it is assumed to be in local time.  That is, the time zone of the machine that the code is running on.
In the second example, you included the Z, which indicated that the value provided is in UTC.  Since you just passed it to the moment function, it was then converted to local time.
So while in both cases the output is local, the input has varied by time zone.
I assume you are in a time zone where it is currently UTC+01:00, such as Central European Time.

Thank you!


SA1503: CurlyBracketsMustNotBeOmitted

http://www.stylecop.com/docs/SA1503.html

I made an implementation for this and submitted a pull request.
#500


Role for 'New Messages' control or any other buttons in the chat messages are not narrated in narrator scan mode.

New Messages is not read as new messages button.
For any other button such as Yes/No/Signin, narrator doesn't read the role (button) and only reads the name of the button.

Same applies to download controls

Please update your post by following our bug template that provides the format to questions for us to be able to assist with your bug.

@maggi1129 we need more information about the bug, could you answer those questions in the bug template?


Optimize merkle trie

We should minimize costly trie lookups by introducing some cache

https://substrate.dev/docs/en/knowledgebase/advanced/storage


update submission-to-monilith flow without pulling too many shared packages from monolith into shared library

User Story
As a RS submitter
When the RS Azure Function Application has an issue with availability or performance,
I want to continue to be able to submit reports to RS
Description/Use Case
When RS monolith goes down it takes with it the ability for senders to submit new reports. We've done some work to create micro-services for the authentication and submission features of RS so as to decouple them from the monolith. The idea is to make it so when the monolith goes down senders don't need to know or care because from their perspective they can submit reports as they always have without issue. The idea is to handle this in a way that doesn't involve co-locating dependencies from the monolith in both the monolith and the submissions service because package references in the monolith are highly coupled with other package references and things got messy when we tried that path. See Dev Notes for more detail.
Risks/Impacts/Considerations
If monolith is down when submissions come in it's important that the monolith is triggered to process the data that was submitted while it was offline.
Dev Notes
We've decided to use a queue message trigger to have submission service communicate new work to the receive function in the Azure Function App. Instead of what we tried to do previously by migrating QueueMessage classes to a shared library we're instead going back to an earlier approach of creating a submission-service-only QueueMessage that can be used for this flow only and will not require pulling out a lot of exogenous QueueMessage adjacent code from the monolith and into the shared library. The shape of the Submission QueueMessage should be the same shape as what is expected by the receive function.
for more information see
this ticket
this draft pr
and the attached SRDs for more information as to previous approaches to solving this problem.
ReceiverEnrichment SRD ReceiverEnrichmentSRD.pdf
Microservice SRD rs-as-microservices.pdf
Acceptance Criteria

submission-only queue message is put back into submission service and shared lib
monolith is set to respond to queue message azure function trigger tied to that submission-only queue message class
trigger works in a way to where if monolith is down when new reports are submitted, those reports are submitted once monolith is back online.

This ticket has been merged with https://app.zenhub.com/workspaces/platform-6182b02547c1130010f459db/issues/gh/cdcgov/prime-reportstream/16239. Closing this one as duplicate.


metadata: update speakers metadata

Update the speakers' metadata for files that contain speakers in the body content but were not included in the metadata

Thank you @kouloumos for the warm welcome.

Would you be open to collaborate on this?

Yes, absolutely.

introduce those changes to a new branch

Alright, can you create the branch so I can open the PR there?

having one commit per transcript category

Alright, noted. I will do so going forward

What do you think?

I will follow the outlined plan https://github.com/bitcointranscripts/bitcointranscripts/issues/171#issuecomment-1242058905 as you have stated for the date metadata.

@kouloumos closing this PR so I can open another in a new branch.


Adding a pull request for Challenge 4 & 5

Please ThinkArray-challenge-4.md for challenge 4 and ThinkArray-challenge-5.md for challenge 5.


Encryption in QPDF - usage of external library?

Hi Jay,
I'm Zdenek Dohnal and I'm a maintainer of QPDF in Fedora and RHEL. I would like to ask you about encryption feature of QPDF.
IIUC QPDF implements several encryption algorithms  (RC4-40, RC4-128, RC4-256 and AES-256) by itself. Why doesn't QPDF use a cryptographic library (f.e. gnutls) instead?
Would you mind considering an usage of cryptographic library? I can cooperate with you, if you are interested.

@zdohnal : Recently, @jberkenbilt commented on another issue:

I have purposely aimed to keep external dependencies and operating system-specific code to a minimum, and I have also stayed away from C++11 or newer features, which is appreciated by some of my users who build qpdf on embedded platforms or other environments for which more modern tools are less available.

I'm not sure how widespread gnutls is and to what extend it would limit the systems QPDF could run on, but this might have been a reason to go down the road taken so far.

@mschilli87 Gnutls was the first one came on my mind, if the widespreading is critical factor, then OpenSSL can be better in the aspect.
It could have been done by a ifdef preprocessor macro (so when you want crypto from external library, compile qpdf with -D_XY).

I think it's a reasonable request since there's inherent security risk with embedding any crypto or other potentially security sensitive logic inline. I also wear a package maintainer hat, so I fully appreciate the issue. I would also be concerned about license compatibility. qpdf uses the Apache license (and/or the Artistic license). I'm not fully up to speed on the current state, but I know there are historically issues with openssl's license being incompatible with other things, I don't know what license gnutls uses.
If I would support external libraries for this, I would want it to be enabled with a ./configure option, such as --with-gnutls or --with-openssl, and the choice of underlying implementation would be hidden behind some abstraction. I don't want #ifdefs litering the main code. There is already support for replacing the random number generation piece, so that might establish somewhat of a pattern. It's been a few years, so I don't remember exactly how I set that up.
For what it's worth, there are outstanding requests for qpdf to support digitally signed PDF, which would definitely require one of those libraries or some other one I'm not aware of. Implemeting the hashing functions inline is one thing, but full digital signature support is something entirely different. If I were to do that, it would probably require adding a new external depedency, though doing so is a decision I don't take lightly at all.

Just FYI.
Newest OpenSSL (3.0 up) switches to the Apache License 2.0:
https://github.com/openssl/openssl/blob/master/LICENSE
This should help allay any licensing issues.

@simo5 This is excellent, and I was not aware. Thanks for pointing it out.

@jberkenbilt Hi Jay!
I was thinking about using gnutls - it has LGPLv2+ license for library and Apache License 2.0 is compatible with GPLv3, so according this table https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#GPLCompatibilityMatrix LGPLv2+ is compatible with GPLv3, so ASL2.0 is compatible with LGPLv2+.
Currently I was digging into code, hash+cipher algorithms and crypto algorithms defined by PDF standard, but I'm not sure if I understood purpose of some classes:

I managed to point out files where encryptions are defined - MD5.cc, sha2.c, sha2big.c, RC4.cc, rijndael.cc
I'm not sure about purpose of Pl_AES_PDF, Pl_MD5, Pl_RC4, Pl_SHA2 - they are just interface to encryptions for pipeline usage?
algorithms defined by PDF standard are in QPDF_encryption.cc and they instantiate objects from previous files and call their methods

Are my findings correct? Or are they more tangled into themselves?

Just to add to the list: I am happily running LibreSSL on most of my systems (though I'm a consumer only, I've never developed against it) and Wikipedia claims the following license(s):

Apache License 1.0, 4-clause BSD License, ISC License, and some are public domain

Since @zdohnal has done the bulk of the heavy lifting in #357, I'm willing to do some work to get this over the finish line during the next time I put a significant surge of effort into qpdf hopefully sometime in the next several months.

@zdohnal Reading the gnutls docs, they recommend using the nettle library for encryption. The nettle library is itself a dependency of gnutls. Can you think of any good reason not to use nettle directly? Adding a dependency on gnutls adds a lot of additional dependencies to qpdf. I may still be able to conditionally support it, since you have done the work, but using nettle for symmetric encryption adds only nettle as an additional dependency. Also, openssl brings with it no additional external dependencies and has a compatible license.

@jberkenbilt just FYI
In RHEL we prefer to use GnuTLS because this library provides API and ABI guarantees nettle doesn't.
Nettle will break ABI liberally on new releases due to the way it exposes internal structures to callers. We also FIPS validate through the GNuTLS interfaces so using Nettle directly would cause us also certification hurdles.

@simo5 This is very helpful. Thanks.
What I have decided to do is to refactor the crypto in qpdf so that the things that do crypto call through a crypto provider interface that I will create for the specific things that qpdf uses. Then we can provide multiple implementations of that. For now, I will start with the internal one and a gnutls one, since the work has already been done to provide the crypto based on gnutls. I will make it possible to turn them on and off at compile time so that you can build packages for RHEL/Fedora that don't include the native implementations. For Linux distributions that live in good packaging ecosystems where a dependency on gnutls is easy, that can be used. For other cases, people can use other things. In time, either I may add additional crypto implementations or someone else may contribute them. For example, sometime I might add digital signature to qpdf, which would certainly require either gnutls or openssl, and having a good pattern for pluggable crypto providers would be very useful in that event.

Thank you for working on it, Jay! Please let me know if you need to help with anything.

Nice plan!

I have completed the work but have a little more documentation to do before I am ready to merge.
The implementation uses C++-11 features in a non-trivial way, so whatever version of qpdf includes this will require a C++-11 compiler. I already announced the announce list that I was planning on doing this soon, and I got no pushback. I have determined that the changes are binary compatible with qpdf 9.0, so this doesn't require an soname bump and can therefore be included in qpdf 9.1.0.
Here's a summary of how it works.
qpdf now has the concept of crypto providers. There are two fully working providers: native and gnutls. When ./configure is run without any special options, the native crypto provider is built, and if gnutls is present (via pkg-config), then the gnutls provider is also build and is made the default.
This can be tweaked in several ways:

You can explicitly enable or disable crypto providers, and you can also explicitly disable ./configure's automatic enabling of crypto providers that happen to work.
If you explicitly enable the gnutls provider, then configure will fail if gnutls is not present
You can explicitly configure which crypto provider will be the default provider if multiple are supported. If you don't configure, then gnutls takes precedence over native. That means that, by default, if qpdf is built with gnutls present, the gnutls provider will be used, but the native provider could be selected at runtime.
As such, if you configure with --enable-crypto-gnutls --disable-implicit-crypto, then qpdf will be built without inclusion of the native crypto provider. The native implementations will not be compiled or linked into the qpdf library. This gives you a hard guarantee that the gnutls implementation is being used.

Additional relevant information:

The CLI option --show-crypto has been added, which lists the crypto providers available, showing the default provider first.
In CI, for the Linux build, the entire test suite is run with every provider with both a normal build and the build with all the memory sanitizers enabled. This ensures that both providers work and are free of memory issues.
The environment variable QPDF_CRYPTO_PROVIDER can be set to the name of a crypto provider, which will cause qpdf to use that provider. This feature will greatly assist in debugging of any weird issues that we may encounter as it will make it possible for users to try situations with multiple providers when trying to reproduce or report bugs. Of course, there aren't any bugs, so it is purely academic, but still. :-)
It is also possible for a developer to call QPDFCrytpoProvider::setDefaultProvider to set the default provider. Developers can also register their own crypto providers. Implementing a crypto provider is as simple as creating a class that implements all the methods in QPDFCryptoImpl, ensuring the class can be constructed by a default constructor with no arguments, and calling QPDFCryptoProvider::registerImpl and QPDFCryptoProvider::setDefaultImpl. This makes it possible for an end user to implement a completely new crypto provider without modifying the qpdf library at all. This is great for people who want to do their own thing, but it would also help a future contributor who wanted to contribute a provider based on nettle or openssl to do so easily.

It took me about a day to do the refactoring, and then it took only a couple of hours to create the gnutls crypto provider using @zdohnal's PR as a guide for how to do the actual method implementations. Then it took about another half a day to get all the build and test integration working properly. This also sets a precedent for how to make certain things pluggable. This might make it possible to eventually allow users to add their own stream filtering algorithms, replace Flate compression's zlib-based implementation with one that generates better compression (an often requested feature), or other things I haven't even imagined.
This code uses C++-11 in both trivial and non-trivial ways. I enjoyed using std::uniqe_ptr and std::shared_ptr instead of PointerHolder, and I enjoyed being able to use auto, constexpr, and nullptr. Those were all just nice to have perks. However I also used <functional> to greatly simplify the registration of new crypto providers and relied on the C++-11 guarantees of thread safety of block-scoped static initializers to enable qpdf to automatically register built-in providers safely using the same interfaces that an end user would use. QPDFCryptoProvider uses a singleton pattern hidden behind static methods to give a hard guarantee that setup and registration of crypto providers is deterministic in the default case and also in the case where a developer should supply their own providers. All in all, I'm quite pleased with how this turned out.

The above comment will be the basis for what I will include in the qpdf manual for this change, though it will be split out for different audiences including some notes about the design, material targeted toward someone who wants to add a new provider, the package maintainer, or someone who is trying to troubleshoot or measure performance.

Nice work, Jay! Thank you for making this possible!

@zdohnal @simo5 How do you feel about libgcrypt? I notice that other PDF readers in debian (okular, atril) use gcrypt for their crypto. It is much lighter weight than gnutls.

@zdohnal @simo5 My question about libgcrypt is academic as 9.1.0 will definitely go out with gnutls. I am going to disable native crypto and enable gnutls for the debian packages and AppImage as well. For 9.1.rc1 at least, the Windows builds will still use the native crypto, but maybe I can fix that for 9.1.0 or later.

@jberkenbilt we strongly prefer GnuTLS over libgcrypt on various grounds.


After Updating to SQLITE problems changing settings.

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
Updated from the mariadb to sqlite using the provided tutorial. All looks ok, but when trying to add an entry it says "internal error". Looks like an issue with SQLITE: SQLITE_CONSTRAINT: NOT NULL constraint failed: proxy_host.id
Nginx Proxy Manager Version
v2.9.12
** Docker Compose
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
      - '5900:5900'
    environment:
      - DB_SQLITE_FILE=/data/database.sqlite
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    restart: unless-stopped

*** Logs
https://pastebin.com/zeAbPriY

Could you please link to the tutorial you used when you updated from MariaDB to SQLite?

I used this one.
https://github.com/jc21/nginx-proxy-manager/discussions/1529

I'm encountering the same issue. I deployed a fresh instance, stopped it, migrated the MariaDB to SQLITE via the tutorial posted above. Then I copied the data and ssl volumes over. Everything is working fine but I can't make any changes as they will result in an SQLITE error:
{… data to be written …} SQLITE_CONSTRAINT: NOT NULL constraint failed: proxy_host.id
database.sqlite has permissions 644. Location unaltered.
I used the default compose.yml and only altered the volumes to persistent ones and added my network.


Bump tokio to 1.17.0

The newest version of tokio apparently has some potentially significant performance improvements. (changelog here)

Looks like you also need to update it for Polkadot since the versions are incompatible?

Just mentioning here that libp2p still uses tokio 1.15

Just mentioning here that libp2p still uses tokio 1.15

This is not true? 1.17.0 is used everywhere in Substrate. 1.15.0 is also semver compatible to 1.17.0.

Yeah, right. I think I still cached 0.17 that was in the issue title in my head, sorry. :smiling_face_with_tear:

Oops, sorry, yeah, I brainfarted and put 0.17.0 in the commit message since I'm so used to everything in the ecosystem being on the 0th version. (:

It now seems to also need a PR to cumulus as well, bumping tokio to version 1.17.

@koute this requires some master merge


proposal: Go 2: builtin add func resize(v Type, size)

The make builtin allow you to specify a capacity for maps,slices and channels, but once you specify you cannot currently change that.
With slices you could make a new slice, copy over and assign to the current slice, but with maps/channels it is harder.
Maps will auto-scale with inserts but sometimes you know you're going to add X elements to the map so you can tell it to reallocate/resize beforehand.
Channels are even worse, you currently are stuck with the buffer you choose when you created the channel, sometimes a single channel is used to communicate with multiple go routines, and you want to resize the buffer if you launch more routines s.t. no routine will block on the channel.
I think a way to resize/realloc a type can be very useful, both for performance and usability,
an alternative for a new builtin can be to add this support to the make builtin

Thank you for raising this proposal.
I don’t think there is much value in resizing slices as they grow geometrical when appended to. If this is not good enough making a new slice and copying the contents is two lines.
Maps grow by doubling (I think) and provide a size hint. Perhaps this is good enough, if not, some benchmarks showing that map rehashing is dominating insert performance would be valuable for this proposal.
I cannot see how a slice could be resized safely without additional locking. There are probably some unanswered questions when a channel is resized from unbuffered to buffered.

"With slices you could make a new slice, copy over and assign to the current slice, but with maps/channels it is harder."
Is it really that much harder for maps?
new := make(map[X]Y, capacity) for key, value := range old {     new[key] = value }
If performance is a concern that can solved without a language change:
https://github.com/golang/go/issues/26951

For language change proposals, please fill out the template at https://go.googlesource.com/proposal/+/refs/heads/master/go2-language-changes.md .
When you are done, please reply to the issue with @gopherbot please remove label WaitingForInfo.
Thanks!

Heh, @martisch, your instructions to tell the bot to remove the label just removed the label. I don't think it knows how to tell that your comment came before the label was added.

Heh, @martisch, your instructions to tell the bot to remove the label just removed the label. I don't think it knows how to tell that your comment came before the label was added.

Ack. ordering error on my part ...

I don’t think there is much value in resizing slices as they grow geometrical when appended to. If this is not good enough making a new slice and copying the contents is two lines.

I agree that slices have the least value in this proposal

Maps grow by doubling (I think) and provide a size hint. Perhaps this is good enough, if not, some benchmarks showing that map rehashing is dominating insert performance would be valuable for this proposal.

I can redo the benchmarks but I did see runtime.mapassign very high in my app's benchmarks.

I cannot see how a slice could be resized safely without additional locking. There are probably some unanswered questions when a channel is resized from unbuffered to buffered.

well no slice operation is thread safe.
about channels, I really don't know how their internals are implemented, so I can't quite comment on how to resize them safely

new := make(map[X]Y, capacity)
for key, value := range old {
    new[key] = value
}
old = new

If performance is a concern that can solved without a language change:
#26951

A. I did not know this is possible :).
B. the performance of this is definitely a concern.

Can you pleas spell out in more detail what resize does and where it is useful and how often that comes up?

the map scenerio comes a lot in functions like
it comes a lot in code like:
func (c myCollection) AddMultiple(objs []Objects) {
    for _, obj := range objs {
        c[obj.key()] = obj.value()
    }
}

or even:
func (c myCollection) Merge(other myCollection) {
    for key, value := range other {
        c[key] = value
    }
}

e.g. Does it an inplace replace of a slice header like a = append(a, ...)? Are existing pointers/references to the old backing array of the slice effected? Is a size lower then the current size allowed? What happens if the size is smaller then the number of elements the map currently holds?...

obviously just like with make the size is just a hint that the compiler can ignore, about the sizes we can either ignore, or decide that the caller provides the additional capacity not the resulting capacity. (that's how rust's Vec/HashMap works, on the contrary C++'s std::vector/map is given the resulting capacity, and it is ignore if equal or less than the current capacity)
about pointers/references it should work just like a natural resizing caused by appending/inserting (so yeah it's kinda weird in slices)

The map examples given just show adding elements. There would need to be an additional resize call that is trying to more then double the capacity. If its not more than doubling the internal resize mechanism of maps would do the same as the resize on the fly already. A resize will need to also copy all elements to a new map allocation in the current design of maps to grow the map.
Spending alot of time in mapassign is not necessarily a sign of map growth but can entirely be generated by just adding elements to a big enough map.
More details can be added in an extra comment or in the top comment.

This seems difficult to implement for channels.  And I find the rationale unconvincing.  Does any code ever really adjust the amount of workers on the fly while in the middle of processing?  If not in the middle of processing, it's easy to simply create a new channel.
As noted, it's not that useful for slices.
Even more maps, changing the map size means rehashing all the elements, so although it may look simpler than a loop assigning to elements to a new map, it won't actually run any faster.
So I'm not seeing a significant benefit here.

The need to resize channel buffers is real, IMO, and previously discussed in #20868 and #20352.
An elastic channel can be approximated with a goroutine, a buffer, and two channels for inbound and outbound msgs.

The map examples given just show adding elements. There would need to be an additional resize call that is trying to more then double the capacity. How would that look like in the code above and what capacity would it target?

1: (hint to increase by X)
func (c myCollection) Merge(other myCollection) {
    resize(c, len(other))
    for key, value := range other {
        c[key] = value
    }
}

2: (hint the max cap we want)
func (c myCollection) Merge(other myCollection) {
    resize(c, len(c)+len(other))
    for key, value := range other {
        c[key] = value
    }
}

it could also act similar to append (c = resize(c, len(other))) but I personally don't enjoy the ergonomics of that (and I'm not even sure they'll have the same affect, ie by-ref/value etc)

This seems difficult to implement for channels. And I find the rationale unconvincing. Does any code ever really adjust the amount of workers on the fly while in the middle of processing? If not in the middle of processing, it's easy to simply create a new channel.

The use case is for example a server that can accept arbitrary connections, and a few routines at the side processing data from those connections via a channel, and every X new connections i'd like to increase the channel capacity so the connections won't block too much on the channel, but I don't want to start with a 2GB channel even if I only have 1 connection.

Even more maps, changing the map size means rehashing all the elements, so although it may look simpler than a loop assigning to elements to a new map, it won't actually run any faster.

If a map has 4 capacity and I'm going to push 5K elements it will reallocate + copy 11 times instead if I resize before it will check if the cap is enough for that and if not will reallocate+copy beforehand, thus avoiding doing it over and over

A few questions as the semantics of resize havent been spelled out completly yet:
Assuming: "2: (hint the max cap we want)"
What happens when the hinted at capacity is smaller than the existing capacity: Does the builtin downsize the map?
Does the resize happen for the whole map immediatly or is it done by having each write and delete do a bit of the resize like current map growth?
What happens if the hint provided is larger than a map is allowed to be (exceeding memory limits)?

What happens when the hinted at capacity is smaller than the existing capacity: Does resize downsize the map?

This question is why I prefer passing the additional capacity, not the max, but if not I see multiple possible semantics:

Being exact, ie if new_cap<len it will truncate the buffer, this works for slice+channels but makes no sense for maps.
Max capacity hint, if new_cap<cap resize the buffer to cap=max(new_cap, len).
IMO It doesn't make sense to pass a full capacity but not to resize when smaller.

Does the resize happen for the whole map immediatly or is it done by having each write and delete do a bit of the resize like current map growth?

whole map immediately, I don't see any benefits to resizing "slowly", this is counter-productive to the proposal.

What happens if the hint provided is larger than a map is allowed to be (exceeding memory limits)?

the same behavior that will happen with the make builtin.

Does resize require an exact capacity or is it only a hint e.g. for map it is allowed to have next power of 2 capacity like the current make on a map allocates?

it can just pass the next power of 2 but as you said the user will gain nothing from doing that, but of course the compiler doesn't have to increase, it might use heuristics to increase even more / a little less to allow better performance (ie allocate a whole page if the specified capacity is close enough to a full page)
AFAIU this is the exact same semantics as make(map[Key]Value, cap)

"I prefer passing the additional capacity"
So when discussing further should it be assumed the proposal means the hint is to be used for additional capacity?
Can you elaborate what that means for the current hash map implementation. e.g. is the hint making sure there is at least that much open slots somewhere in the map buckets including overflow buckets? Note that depending on hash collisions that does not mean adding that much elements doesnt cause a map growth to happen.

If a map has 4 capacity and I'm going to push 5K elements it will reallocate + copy 11 times instead if I resize before it will check if the cap is enough for that and if not will reallocate+copy beforehand, thus avoiding doing it over and over

I'm suggesting using make to create a map at the desired size, then copying the elements.
My point is that that is exactly what the suggested resize operation is going to do anyhow.

The use case is for example a server that can accept arbitrary connections, and a few routines at the side processing data from those connections via a channel, and every X new connections i'd like to increase the channel capacity so the connections won't block too much on the channel, but I don't want to start with a 2GB channel even if I only have 1 connection.

As @networkimprov said earlier, this can be done by interposing another goroutine that manages the buffer space.
I would be less concerned about this if there were an easy way to safely change the buffer size of a channel.  But since I don't see an easy way, I think we need a very compelling benefit to pay the cost of writing and maintaining an implementation.

Ian, what's complicated about changing a channel's buffer size?

My point is that that is exactly what the suggested resize operation is going to do anyhow.

No, it is currently not possible to check the capacity of map meaning that it won't be possible to implement this exactly the same in the user side (even putting aside the perf of #26951).
I know that capacity for maps doesn't always make perfect sense, but it still make some, and that depends on the map implementation (ie capacity makes a lot of sense in a SwissTable implementation),
and because of that we might not want to expose the "capacity" of the map to the user, but the compiler can definitely check some heuristics to estimate if it will need to resize for a new X items, even for linked list type hashmaps (unlike SwissTable)

@networkimprov The issue with changing channel buffer size is what I mentioned above: changing between a buffered and an unbuffered channel requires waking every goroutine currently sleeping on the channel and letting those goroutines requeue themselves with changes appropriate for the difference between buffered and unbuffered channels.
@elichai If the only issue is supporting cap on a map, then lets talk about that rather than talking about resize.

Why not only allow channel buffer resize for channels with non-zero buffer? If you have a channel that may need to resize, I don't know why you'd ever start with no buffer.

It's confusing to have capabilities with mysterious restrictions.  We would need to have a really big benefit to be worth paying that cost.

Why not only allow channel buffer resize for channels with non-zero buffer? If you have a channel that may need to resize, I don't know why you'd ever start with no buffer.

How would this be reported at runtime?
Would it be permitted to resize a channel capacity downwards?

It's expensive to require a 4K goroutine for each channel that normally needs 64 bytes of buffer and sees occasional traffic spikes requiring larger buffers. It's a 50% increase in goroutines beyond the producer and consumer using the channel.
Maybe the overhead of GC swamps this in practice?

Seems like the easiest solution would be to forgo resizing in favor of dynamically sizing the buffer up to the requested capacity.  The make() function already has a 3 parameter variant for doing exactly that if channels were to obey it.  If I could allocate a channel that could grow to 10 million entries, but start with 4000, then I wouldn't need to resize, secure in the knowledge that any channel that exceeds the current capacity will grow up to my specified maximum.  Even better if it will also shrink back down over time.  What I don't want, in my app which has very many channels feeding a large number of goroutine workers, is for every channel to start out with a very large buffer when the vast majority don't need it.  There is no way to safely resize a channel, since wrapping channel access in a mutex, so that the old channel might be replaced with a new channel while holding the lock, means that any goroutine which blocks on channel access would do so while holding the mutex, thereby causing a deadlock.  If resize happens internally to the channel, it can also ensure that blocking on the channel never happens while holding any kind of exclusive access.


Some text is too dark

there's some elements that are too darkly colored which makes them next to (if not entirely) impossible to read. i dunno if anyone else has this issue or if it's something on my end? i couldn't find anyone else talking about it
i'm using Vencord, with https://refact0r.github.io/system24/theme/system24.theme.css (nothing else) in the "online themes" section

^ this last one has some text that's entirely invisible, above the "show all participants" button

I believe --txt-dark is responsible for this text color and a very odd choice of first background color (--bg-0) was made. I just put --txt-dark: oklch(100% 0 0) in there, which is basically white. If you can't find it it's 40th line in the CSS file.

thanks for the suggestion! that seems to have fixed most things (all of my previous examples, i think), but made some others a bit worse? it's not too bad with white, which i'll be using for now (though it's overpowering in some other places), but some shades of light gray are pretty bad:
oklch(100% 0 0)

var(--text-1)

original:

i think the issue is that the color's being applied to the wrong elements, right? the css file says it's for dark text on colored backgrounds, like the 'new messages' banner, but it's also finding its way onto text on dark backgrounds (and some buttons in the call ui?)
unrelated to --text-dark, the color used for the 'hang up' icon doesn't go well with the pink background, and the play/pause and volume icons on the video player are really dark:

Yea, I think the creator of this theme has messed up something, as it clearly not only text this color is being applied to. I believe it would be possible to find the color with good contrast for all the above-mentioned examples, it just needs a bit of experimentation. If I will find free time I will also probably look into the main CSS file.

The problem seems to already have been found, but for completeness' sake I reckon I'd mention that this also appears if you move the user volume slider after right clicking someone in VC.


I've tried it in the instance settings (hideIndex:false), and also as a callback feature (which throws an error hideIndex is not a function) eg:
var loaded = function(instance) {
    console.log('New data is loaded');
    instance.hideIndex();
}

It's probably something obvious but I'm going around in circles here.
Thanks in advance for any pointers.

This is to hide the Autonumerical index column. This is a demo how to use it.
https://jsfiddle.net/2zyL3utf/1/

<link rel="stylesheet" href="https://bossanova.uk/jexcel/v3/jexcel.css" type="text/css" />

<link rel="stylesheet" href="https://bossanova.uk/jsuites/v2/jsuites.css" type="text/css" />

<input type='button' onclick='table.hideIndex()' value='Hide index column'>
<input type='button' onclick='table.showIndex()' value='Show index column'>

Thanks Paul - makes perfect sense now. This would be great as a config option.
For reference if anybody needs it in the future, and following the examples on https://bossanova.uk/jexcel/v3/ I used the onload: loaded parameter to call this function:
var loaded = function(instance) {
    console.log('New data is loaded');
    maintool.hideIndex();
}

Also works fine with nestedHeaders.

Just as reference:
var loaded = function(instance) {
console.log('New data is loaded');
instance.jexcel.hideIndex();
}
In the next version, you also can do that:
var loaded = function(instance, obj) {
console.log('New data is loaded');
obj.hideIndex();
}


integrate into nixos.org website and remove existing packages/options search

This is now tracked on NixOS/nixos-homepage#454


Issue: Tags aren't properly sanitized

Issue you'd like to raise.
We have tags ['<name>','openai-functions']
this should be rendered as two tags:

but if there is a ' in the name tag, for example, it is rendered as a single tag

Another example in monitor actually breaking functionaity:

the last tag concats O'Connor with other users and is unclickable
Suggestion:
Sanitize/escape characters like ' properly

We've identified an issue with our DB and are working on a fix: https://github.com/maximdanilchenko/aiochclient/issues/112.

Should be fixed now. Let me know if you are still seeing issues!


fix: puggo image suffix from jpeg to jpg

Updates the puggo logo image suffix from .jpeg to .jpg to match the correct suffix of the puggo.jpg file.

Will republish the packages today

Successfully published:
 -<EMAIL_ADDRESS> -<EMAIL_ADDRESS> -<EMAIL_ADDRESS> -<EMAIL_ADDRESS> -<EMAIL_ADDRESS>


float graphics painting !

this is random and rare but here a screen , sometime i getting weirds graphics elements floating in my workspace.

i have no more info sorry, is happen randomly and rarely
i put this here to see if am the only one.
It disappear after ~2 min by toggle focus activity window many time!!!

Version : 1.54.2 (user setup)
Commit : fd6f3bce6709b121a895d042d343d71f317d74e7
Date : 2021-03-11T00:56:19.848Z
Electron : 11.3.0
Chrome : 87.0.4280.141
Node.js : 12.18.3
V8 : <IP_ADDRESS>-electron.0
OS : Windows_NT x64 10.0.19042

Can you check if the issue happens after disabling hw acceleration https://code.visualstudio.com/updates/v1_40#_disable-gpu-acceleration

Can you check if the issue happens after disabling hw acceleration https://code.visualstudio.com/updates/v1_40#_disable-gpu-acceleration
i will wait some days to see if it happening against, am trying understand why this can happen ! sometime by switching monitors , i get weird behavior from electron app, not only vscode.

cant reproduce with explaination


Find closests match?

What algoritm should I use to find the closest match from a string to a set of strings.
Example of known inputs:
I would like a cheese pizza
I would like a cheese pizza with onions
I would like a cheese pizza without onions

Input I wanna match up and find most similiar, in case there are any similar (in this example there are just spelling mistakes):
I would like a ceese pizza with out onnions.

It depends.
a) If your strings are not too long, then Edit Distance can be used
b) If your strings are long, then you may consider parting these strings to n-grams (like 5-grams) and compare each n-grams to each others to get the ratio of similarity.
c) If your strings are long again and they are too many (e.g. tens of thousands of them), then comparing n-grams may be slow. So, you'd probably like to compare them roughly as a first step and then continue the comparison with the ones selected as highly similar by using n-grams. In the first step, the selection may be done via a similarity hashing algorithm such as SimHash or MinHash.
I hope this helps.

Thanks


Update README.md

add windows cmd cammand demo for Video Interpolation with FFmpeg Demo.

IIRC mkdir is also usable on Windows. And appending ./ is not necessarily required since the current working directory is implied anyway.


Add source for osbuild-deploy-container command

Partially replaces #5.
This PR adds the source code for the osbuild-deploy-container command, which up until now was only available in a branch on my fork of the images repository.
It depends on some open PRs in the osbuild/images repository for now.
Depends on:

[ ] osbuild/images#272
[x] osbuild/images#274

Since we have no intentions of pushing this to RHEL for now, what if we don't vendor? We can always start if we need to.

Noticed a couple of other issues here:

We need to get dnf-json from images or osbuild (we should actually start using the new packaged version from osbuild).
The Containerfile doesn't copy the sources into the builder.

Sure, we can drop the vendoring. I imagine that might make builds a bit slower (and annoying when rebuilding locally) since after cloning the repo and starting the container build, it will have to fetch all the dependencies inside the container.

That's true. :thinking: Not sure if this trade-off is worth it.

This is ready now.


[bug] [macOS] Selected tab title invisible when window is active

Bug Report
Current behavior:
Selected tab title is not always visible
Expected behavior
Selected tab title is always visible
Steps to reproduce:
Open any window that has a tab bar on the top, e.g. "Preferences", "Debug window".
When the window is active, the title of the selected tab is not be visible.
When the window is not active, the title of the selected tab is visible.
Screenshots

Dogecoin Core version
v1.14.4 (64-bit)
Machine specs
OS: macOS 11.6 (Big Sur)
Extra information
n/a

This is an issue with QT and macOS dark mode (iirc for Catalina and up). It will get fixed when we upgrade the QT dependency to a higher version. That's currently targeted for 1.14.6.


Outdated Query Tracking

First of all, thank you for creating this repo. I think it has great potential to help me with tracking basic information for my Hugging Face spaces. When I tried to deploy this though, I get a warning about an out of date function used in the code. Would you be able to update this so that it works correctly with the latest Streamlit integration without giving any warnings? Thank you!

@david-oplatka
This has been fixed in streamlit-analytics2


Python sample code is outdated

SecretClient class has no parameter named "vault_endpoint" : https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/keyvault/azure-keyvault-secrets/azure/keyvault/secrets/_client.py#L25
URL of the vault the client will access must be set using vault_url

Python does not require semi-colons to terminate statements

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

ID: 199166e9-b57e-bc01-c604-feaead678c72
Version Independent ID: 7186ccac-75fc-d8a8-3690-8359451d27bf
Content: Quickstart -  Azure Key Vault client library for Python
Content Source: articles/key-vault/quick-create-python.md
Service: key-vault
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@artsheiko Thanks for your feedback! We will investigate and update as appropriate.

for point 1 Reference : https://github.com/Azure/azure-sdk-for-python/pull/8128 for vault_url change,
and point 2 is correct, thank you for letting us know about this we're going to go ahead and make these changes now. Please let us know if you have anymore concerns or questions otherwise i will be closing out this git issue by end of day today.
@artsheiko


[Feature] Use Globwalker Builder to add --max-depth & --follow-links options

Is your feature request related to a problem? Please describe.
Currently, there is no fine control over the directory scanning process. Using the Globwalk Builder, we can add options like --max-depth & --follow-links to offer more control over the directory scanning process.
Describe the solution you'd like
https://docs.rs/globwalk/latest/globwalk/#advanced-globbing
cc: @beeb adding this issue here to discuss options

I will setup the builder first, without options, and then we can move to adding those as cli arguments

First step https://github.com/sreedevk/deduplicator/pull/41

#46 Adds --min-depth --max-depths & --follow-links


Git loading stuck

Sometimes when you open a project the git loading is getting stuck so you can't use the git features anymore.

Do we have an example for this?

Ask @WitoDelnat to see if we can reproduce it again

Didn't realise there was already an existing issue. This is a duplicate of unhandled git errors

closing since it's a duplicate


how can auto claim drops?

You're gonna need to give me more information than this lol

You're gonna need to give me more information than this lol

why i can't auto claim drops? need some setting ?

@akirayoo I got an email saying you replied but I don't see the reply. Did you delete it? Did you figure it out? It might be that you need to let the tool run a little while before it claims a drop. By default it checks every 5 minutes

@akirayoo I got an email saying you replied but I don't see the reply. Did you delete it? Did you figure it out? It might be that you need to let the tool run a little while before it claims a drop. By default it checks every 5 minutes

yes,  i use dev branches can auto claim now,but my friend use master branches no this problem
so i deleted

Alright, glad it worked!


After upgrading to 1.13.0, can no longer login

Gitea version (or commit ref): 1.13.0
Git version: 2.29.2
Operating system: Parabola GNU/Linux
I'm using Gitea via the Helm chart, on my server running k3s. This is the deploy file.
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No (n/a)

Log gist:

[Macaron] 2020-12-03 22:12:20: Started POST /user/login for <IP_ADDRESS>
2020/12/03 22:12:20 ...m.io/xorm/core/db.go:286:afterProcess() [I] [SQL] SELECT "id", "type", "name", "is_actived", "is_sync_enabled", "cfg", "created_unix", "updated_unix" FROM "login_source" WHERE (is_actived = $1 and type = $2) [true 6] - 795.229µs
2020/12/03 22:12:20 ...m.io/xorm/core/db.go:286:afterProcess() [I] [SQL] SELECT "id", "type", "name", "is_actived", "is_sync_enabled", "cfg", "created_unix", "updated_unix" FROM "login_source" WHERE (is_actived = $1 and type = $2) [true 7] - 579.519µs
2020/12/03 22:12:20 ...m.io/xorm/core/db.go:286:afterProcess() [I] [SQL] SELECT "id", "lower_name", "name", "full_name", "email", "keep_email_private", "email_notifications_preference", "passwd", "passwd_hash_algo", "must_change_password", "login_type", "login_source", "login_name", "type", "location", "website", "rands", "salt", "language", "description", "created_unix", "updated_unix", "last_login_unix", "last_repo_visibility", "max_repo_creation", "is_active", "is_admin", "is_restricted", "allow_git_hook", "allow_import_local", "allow_create_organization", "prohibit_login", "avatar", "avatar_email", "use_custom_avatar", "num_followers", "num_following", "num_stars", "num_repos", "num_teams", "num_members", "visibility", "repo_admin_change_team_access", "diff_view_style", "theme", "keep_activity_private" FROM "user" WHERE "lower_name"=$1 LIMIT 1 [sseneca] - 860.604µs
[Macaron] 2020-12-03 22:12:20: Completed POST /user/login 200 OK in 29.759793ms
2020/12/03 22:12:20 routers/user/auth.go:177:SignInPost() [I] Failed authentication attempt for sseneca from <IP_ADDRESS>

Description
After updating to v1.13.0, I can no longer login to to my account on my two-account Gitea instance. The account is the only admin account and also has 2FA enabled. The other account logs in fine, is not an admin, and does not have 2FA enabled.
Whilst it didn't appear in the above logs, other times when I've tried I've also seen this line:
Unable to negotiate with <IP_ADDRESS> port 62090: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1 [preauth]

Not sure if it's relevant though because like I said it didn't appear when I tried in the above logs.
Also note that I've read this thread but after checking the account in the database is_active is t. Forum post here.

Same for me. It only affects the local admin user. The LDAP users are working fine.

Does it help if you upgrade the Gitea Helm Chart to the latest version, 2.1.0? (at https://git.ssene.ca/sseneca/k8s-server/src/branch/master/gitea/release.yaml#L23)
I don't actually know Kubernetes, but I can see that there seems to be a version mismatch.

Just tried it but unfortunately version 2.0.7+ of the Chart is broken on Kubernetes 1.18, which I'm stuck on for now. I'll follow that issue and once it's resolved try to upgrade the Chart version again.

I use https://dl.gitea.io/gitea/1.13.0/gitea-1.13.0-linux-amd64 in my custom Dockerfile with Postgres 12.5 running in another container. Before the upgrade the login with the local admin user was working fine.

Same here for me
I'm using docker, last version of Gitea, and i'm running it with SQLite.

I am having the same issue! I just upgraded to 2.1.0 of the helm chart. Wish I saw this issue beforehand :(

Hi there i will have a look at this issue tomorrow

Thanks @luhahn you know where to reach me on Discord :D if you need any info. It looks like it might be more of an issue with Gitea 1.13.0 than the chart. But I dunno.

yeah, i dont know, the init container looks fine. But i can't spend any time today for looking at the chart

This appears related specifically to the helm chart, could you open an issue in the helm chart https://gitea.com/gitea/helm-chart so we can track it there?

@techknowlogick The problem also affects the downloaded gitea binary. Should we track that in a separate case?

Hi all, please see https://gitea.com/gitea/helm-chart/issues/79 for more information on this issue.

I'm confused. Both @birkb and @antoine2tt are facing this same bug, and neither use the Helm chart. Why is this bug being tracked there?

Well I'm sure I need to adjust some stuff on the init container for the helm chart. So I also created an issue there.
At least the admin creation changed.
However since this also affects the downloaded binary we should not close this issue here. If I find something useful I will also post it here.

Well, I deleted the admin user via the gitea cli inside my container and created it again. Which seems to work even after reinstalling the Chart.
However it is now required to set the following even for admin accounts, if you don't want to change the password after creation:
--must-change-password=false

For both the users on my instance, must_change_password is already false:
gitea=> SELECT "must_change_password" FROM "user";
 must_change_password
----------------------
 f
 f
(2 rows)

even though one can login and the other can't.

Yes I know, that's now for newly created admins.
I did not find a way to recover the faulty admins. But I have a workaround, posted in the helm chart issue.

I update the admin password from within the entrypoint.sh and it does not fix the problem.
${GITEA_BIN} ${GITEA_OPTS} admin change-password --username ${GITEA_ADMIN_USERNAME} --password ${GITEA_ADMIN_PASS}

I will try the delete/create workaround.

First of all so I've taken so long to look at or notice this - but let's go through this systematically.
@sseneca

After updating to v1.13.0, I can no longer login to to my account on my two-account Gitea instance. The account is the only admin account and also has 2FA enabled. The other account logs in fine, is not an admin, and does not have 2FA enabled.

I think the 2FA here is most likely the biggest hint as to what the issue is - and it would be good to know if you even get asked to provide a 2FA or if that doesn't occur. From your provided logs it looks like that doesn't happen - but it's helpful to know for definite.
@luhahn

I did not find a way to recover the faulty admins. But I have a workaround, posted in the helm chart issue.

It would be helpful to check what the difference is for these users in the user table as it might easily be something wrong with a default value.
In the next reply I'll walk through the provided log.

Yep, I don't get asked to provide the 2FA code. I get Username or password is incorrect. once I press Sign In.

OK, let's go through and find the ultimate place that calls and causes this log and think about what we can do to get some more information - or understanding.
[Macaron] 2020-12-03 22:12:20: Started POST /user/login for <IP_ADDRESS>

Comes from:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/routers/routes/routes.go#L106
and matches:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/routers/routes/routes.go#L366
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/routers/user/auth.go#L151-L232
Now let's check the SQL
2020/12/03 22:12:20 ...m.io/xorm/core/db.go:286:afterProcess() [I] [SQL] SELECT "id", "type", "name", "is_actived", "is_sync_enabled", "cfg", "created_unix", "updated_unix" FROM "login_source" WHERE (is_actived = $1 and type = $2) [true 6] - 795.229µs
2020/12/03 22:12:20 ...m.io/xorm/core/db.go:286:afterProcess() [I] [SQL] SELECT "id", "type", "name", "is_actived", "is_sync_enabled", "cfg", "created_unix", "updated_unix" FROM "login_source" WHERE (is_actived = $1 and type = $2) [true 7] - 579.519µs

are caused by:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/routers/user/auth.go#L155
So we get in to the meat of this function. Which is performed in:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/routers/user/auth.go#L173
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/login_source.go#L734-L819
The next SQL emitted :
2020/12/03 22:12:20 ...m.io/xorm/core/db.go:286:afterProcess() [I] [SQL] SELECT "id", "lower_name", "name", "full_name", "email", "keep_email_private", "email_notifications_preference", "passwd", "passwd_hash_algo", "must_change_password", "login_type", "login_source", "login_name", "type", "location", "website", "rands", "salt", "language", "description", "created_unix", "updated_unix", "last_login_unix", "last_repo_visibility", "max_repo_creation", "is_active", "is_admin", "is_restricted", "allow_git_hook", "allow_import_local", "allow_create_organization", "prohibit_login", "avatar", "avatar_email", "use_custom_avatar", "num_followers", "num_following", "num_stars", "num_repos", "num_teams", "num_members", "visibility", "repo_admin_change_team_access", "diff_view_style", "theme", "keep_activity_private" FROM "user" WHERE "lower_name"=$1 LIMIT 1 [sseneca] - 860.604µs

is caused by:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/login_source.go#L758
So what is the result of this query? (You may need to change it slightly to match postgreSQL variant.)
Then we get no logs but:
[Macaron] 2020-12-03 22:12:20: Completed POST /user/login 200 OK in 29.759793ms
2020/12/03 22:12:20 routers/user/auth.go:177:SignInPost() [I] Failed authentication attempt for sseneca from <IP_ADDRESS>

The first of which is:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/routers/routes/routes.go#L112
and the counterpart of the first log. But the second bit comes from:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/routers/user/auth.go#L177'
Now that implies that we have received a models.ErrUserNotExist{}
How do we get a models.ErrUserNotExist?
First of all. Let's assume that
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/login_source.go#L758
returned hasUser := true - You can check this and should have checked the result of the query that this is associated with already. What is the result of that query?
To obtain a models.ErrUserNotExist if hasUser == true we have two options:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/login_source.go#L764-L765
(this is the most likely path)
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/login_source.go#L766
The most likely problem is that this fails and interestingly if we look at the line below it we get a hint as to what might really be the problem:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/login_source.go#L769
I recall on 1.13 we changed the default hashing algorithm to argon2. Is it possible that hashing algorithm is detected incorrectly for postgres? The presumption was that the default would have been stored in the database at the time of insertion and was previously pbkdf2.
I'm gonna stop here because I bet that that is the issue.

I recall on 1.13 we changed the default hashing algorithm to argon2. Is it possible that hashing algorithm is detected incorrectly for postgres? The presumption was that the default would have been stored in the database at the time of insertion and was previously pbkdf2.

gitea=> SELECT "lower_name", "passwd_hash_algo" FROM "user";
 lower_name | passwd_hash_algo
------------+------------------
 jonnobrow  | argon2
 sseneca    | pbkdf2
(2 rows)

sseneca is the user that cannot login, jonnobrow is the user that can. So that makes sense.

err...:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/user.go#L412-L416

OK the other routes should definitely cause more SQL to be emitted so those are ruled out. The issue is definitely at:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/login_source.go#L766

https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/user.go#L431-L434
just tests that the user's password is not empty - and although there are a few changes here I think it should make no difference.
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/user.go#L418-L429
calls hashPassword to check the user's passwd:
https://github.com/go-gitea/gitea/blob/e39ed0b1d98b312c9986969f77acad404748e004/models/user.go#L392-L410
So the question is is u.PasswdHashAlgo being set correctly? I worry that it's being defaulted to argon2 all the time but I don't understand how or why that could happen. The other possibility is that the algo is incorrectly stored and the stored hash has been updated to argon2. One other possibility is that the salt has got renewed but I don't understand how that could happen.
I guess the only answer here is to add more debugging statements in to a locally built copy of gitea. I don't see how helm could be responsible for this - but neither do I understand how this could have become so broken.

I'll reopen since it looks not solved to me

@zeripath i don't know if it can helps you, but i have the same issue (only 1 user, local admin, can not login after 1.13 upgrade, error 500), and i'm not running Gitea with Helm (i don't even know what Helm is) i'm just running Gitea with Docker (database = SQLite)
i've been back to 1.12.4 and it's working again.
If you need anything, i'll be glad to help you.

The other possibility is that the algo is incorrectly stored and the stored hash has been updated to argon2. One other possibility is that the salt has got renewed but I don't understand how that could happen.

Yeah, both of these accounts were created before I upgraded Gitea to 1.13: I created sseneca on 2020-10-20, when I was running Gitea 1.12.5, and jonnobrow was created about a month later on 2020-11-13, when I was running the same version. So I doubt they were different before I upgraded Gitea to 1.13; it makes sense that something went wrong with the accounts in the upgrade to 1.13.
Like others have said I really doubt this is anything to do with Helm.

I think we need one of you to build a gitea with a some added logging to the ValidatePassword function.

So I can't replicate this on my testing system. I wonder is this possibly a schema issue?
from 1.13 we're a lot more strict with the schema - is it possible that the user table is in a different schema?

I don't have time to debug things but the workaround posted by @luhahn worked for me. Now I can login again after changing my password with the other admin account. I checked the DB and the password hash algorithm has also been updated:
gitea=> SELECT "lower_name", "passwd_hash_algo" FROM "user";
 lower_name | passwd_hash_algo
------------+------------------
 jonnobrow  | argon2
 sseneca    | argon2
(2 rows)

@sseneca did the passwd and/or salt change? Is it possible that the stored passwd hash is in the incorrect hash_algo?

I have a similar issue. Users that tried to reset their password using account recovery were unable to login using the new password. Setting the password from command line had the same effect.
Only when setting the password using the web interface, they could finally log in again. I checked the user table in the database and noticed, that passwd_hash_also was only updated when the password was set using the webui, so I have the feeling that the password is hashed using the new algorithm but the passwd_hash_algo is not updated in some cases.
I don't have the time to verify this, but might the issue be, that passwd_hash_algo is not updated in this function, which seems to be called to update the password on account recovery?
https://github.com/go-gitea/gitea/blob/f8e9a3df40e34945acb5c82ee9e4342b9d8f4aaf/models/user.go#L400-L403

Could the issue be, that passwd_hash_algo is not updated here when the password is changed?
https://github.com/go-gitea/gitea/blob/f8e9a3df40e34945acb5c82ee9e4342b9d8f4aaf/routers/user/setting/account.go#L71

Could the issue be, that passwd_hash_algo is not updated here when the password is changed?
https://github.com/go-gitea/gitea/blob/f8e9a3df40e34945acb5c82ee9e4342b9d8f4aaf/routers/user/setting/account.go#L71

That could very well be it.


Fix try/catch in commit "9af69efb46d49cd83e59f8f26f17a3f961e97716".

Not a good solution, just a fast fix.

Fixed in 2fc2e1800d45bb163aeaa3da725a2976f85ccabf


[all hosts] Remove unused redirects to reference

We were using these in the TOC so that the context would change to reference instead of staying in conceptual. With the move of reference content to the reference repo, we no longer use these in the TOC.

Docs Build status updates of commit 7a67d75:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

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


Real time puppet logging of docker::image build ?

Hi,
I was wondering if there is some way to ensure  a "real time" logging in puppet of Docker build output when using docker::image.
It could be useful to check how the build is running.
Thanks for your answers,

I'm not sure what you mean by 'real time' in this context. Could you provide some hypotheical output of what you had in mind?

Hmmm, sorry for not being precise enough.
I am mainly running puppet in standalone mode with the help of some BASH and SSH scripts. When the scripts are running, they are echoing the logs of puppet apply.
When I use docker::image to build a docker image on a remote host, I would love to see in "real time" the log updated as soon as a new line is outputed by the docker build command.
In the actual state, the log is only updated when the build failed.
Hope you better understood my request.

This will be a puppet limitation more than anything.
However, I do notice that none of the puppet execs in the docker module give us the option to logoutput.   https://docs.puppetlabs.com/references/latest/type.html#exec-attribute-logoutput
I think that can still be delayed though and not "real time", but it's closer.

@mickaelperrin ah, got you. As @lorijean44 mentioned Puppet doesn't stream the output from execs to the CLI so this isn't something I can do from the module end. Feel free to start a discussion on IRC, or by opening an issue against Puppet itself at https://tickets.puppetlabs.com/browse/PUP/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel.


Documentation for (ongoing) Developers

    I did not manage to run pytest without renaming parser.py to test_parser.py and reverting afterwards...

As for the readme I wrote this https://github.com/maxx4096/home-assistant-HomeWhiz/blob/Documentation/linux_dev.md .
Originally posted by @maxx4096 in https://github.com/rowysock/home-assistant-HomeWhiz/pull/35#discussion_r1039024715

Are you OK with the file location or do we create a documentation folder for it. If yes I'll do a pull request.

I am personally fine with it 😄

#47 is live.

Closed by #47, thank you so much!


Use BoolArrayAsKetState to print help messages in CheckOracleImplementsFunction

Currently CheckOracleImplementsFunction operation used to check that the marking oracle implements the given function prints states on which oracle behaves incorrectly as Boolean arrays. This is fine but a bit lengthy, especially if the inputs have 4 or more (qu)bits.
Migration of Measurements kata brought in a function that can help with that, BoolArrayAsKetState. We can move this function to KatasLibrary.qs and use it when printing "unexpected result" message.

@tcNickolas
I'd like to work on this issue.

Sounds great!

@tcNickolas
It might make sense to move another helper function IntArrayAsStateName to KatasLibrary.qs
At this case, Common.qs won't have dependency on KatasLibrary


Remove setting client-protocol for performance tests.

http1 is the default protocol used, so it is safe to remove as it will still be used by default.
cc. @saikat-royc

Please add details in the PR why we had to remove this, was there a test failure?


Update feedback slide

Remove feedback slide or replace with something available on corp network or ask people to use phones?

Closed #59


Rancher-created GKEs are missing essential scopes in default node-pool for GCR access

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
install rancher, spin up gke cluster (using rancher), upload random docker image to gcr (using gcloud cli),  pull that docker image from gcr (docker image is in the same gcloud project as the gke cluster)
Result:
access denied.
Environment information

Rancher version : 2.1.6
Installation option :single

Hi, seems that rancher-created gke clusters are missing some essential default node-pool scopes to run smoothly.
i.e. the "https://www.googleapis.com/auth/devstorage.read_only" is missing (it's there when you spin up a gke from the google cloud console) - resulting in the inability to pull docker images from the project's gcr container registry - usually this works without any authentication when gke and gcr is within the same project.
the old-fashioned way ( creating a service account and creating pull credentials which have to be placed in a k8s secret) still works.
For reference, here are the scopes from a rancher-create gke:
gcloud container node-pools describe default-pool --region europe-west1-d --cluster c-redacted
config:
  diskSizeGb: 20
  diskType: pd-standard
  imageType: COS
  machineType: n1-standard-2
  oauthScopes:
  - https://www.googleapis.com/auth/logging.write
  - https://www.googleapis.com/auth/monitoring
  serviceAccount: default
initialNodeCount: 2
instanceGroupUrls:
- https://www.googleapis.com/compute/v1/projects/it-redacted/zones/europe-west1-d/instanceGroupManagers/gke-c-redacted-default-pool-987e582b-grp
management: {}
name: default-pool
selfLink: https://container.googleapis.com/v1/projects/it-redacted/zones/europe-west1-d/clusters/c-redacted/nodePools/default-pool
status: RUNNING
version: 1.11.7-gke.6

gitlab-created gke's seem to have the same problem:
https://stackoverflow.com/questions/54043495/gke-cluster-cant-pull-errimagepull-from-gcr-registry-in-same-project-gitlab

Rancher 2.2 still has the same problem. No one interested in that? Currently GCR simply doesn't work out of the box in Rancher.


Are there any other mode?

Hi there, I have successfully trained the model. However, I found that there is only a mode of 'train'. Are there any direction on how to use the trained model? i.e. how can I apply this trained model on other datasets? Thanks a lot.

Hi there, I have successfully trained the model. However, I found that there is only a mode of 'train'. Are there any direction on how to use the trained model? i.e. how can I apply this trained model on other datasets? Thanks a lot.

Hi there, this repo seems to be ignored by the author, so i afford myself a bit of offtop. I fail to train the model due to my GPU memory issues. Could you please tell me how much GPU memory does the training take?


Configure html language code

Currently it seems to be hardcoded to english
<html lang="en">

Could overwrite it in hooks.js but would be nicer to have it as an elder config option.

Hey @meigo, thought about this a lot.
You'll need to add the relevant hook to the hooks.disable array in your elder.config.js.
And overwrite this hook:
  {
    hook: 'compileHtml',
    name: 'elderCompileHtml',
    description: 'Creates an HTML string out of the Svelte layout and stacks.',
    priority: 50,
    run: async ({ request, headString, footerString, layoutHtml }) => {
      return {
        htmlString: `<!DOCTYPE html><html lang="en"><head>${headString}</head><body class="${request.route}">${layoutHtml}${footerString}</body></html>`,
      };
    },
  },

There are lots of cases where the lang tag is dynamic so hooks are the right place to do this.

Handy, thanks Nick!


Add performance tests

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #38 (0b91352) into main (5c2d877) will increase coverage by 1.51%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   93.45%   94.96%   +1.51%
==========================================
  Files           8        8
  Lines         504      894     +390
  Branches      112      127      +15
==========================================
+ Hits          471      849     +378
- Misses         21       31      +10
- Partials       12       14       +2

Flag
Coverage Δ

unittests
94.96% <ø> (+1.51%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

Amazon.IonObjectMapper/TypeAnnotator.cs
90.00% <0.00%> (-3.11%)
:arrow_down:

Amazon.IonObjectMapper/Attributes.cs
100.00% <0.00%> (ø)

Amazon.IonObjectMapper/IonDictionarySerializer.cs
100.00% <0.00%> (ø)

Amazon.IonObjectMapper/IonPrimitiveSerializers.cs
97.11% <0.00%> (+0.44%)
:arrow_up:

Amazon.IonObjectMapper/IonSerializer.cs
92.41% <0.00%> (+1.50%)
:arrow_up:

Amazon.IonObjectMapper/IonObjectSerializer.cs
98.23% <0.00%> (+1.65%)
:arrow_up:

Amazon.IonObjectMapper/IonListSerializer.cs
96.15% <0.00%> (+2.03%)
:arrow_up:

Amazon.IonObjectMapper/NamingConvention.cs
88.57% <0.00%> (+3.72%)
:arrow_up:

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 5c2d877...0b91352. Read the comment docs.


fns.apply is not a function when using a filter

Hi,
I am getting this odd error when clicking on a filter (the actual filter works though):
app.js:42886 Uncaught TypeError: fns.apply is not a function
    at VueComponent.invoker (app.js:42886)
    at VueComponent.Vue.$emit (app.js:43355)
    at VueComponent.l (app.js:50847)
    at VueComponent.boundFn [as filter] (app.js:41313)
    at VueComponent.filter (app.js:1003)
    at Proxy.boundFn (app.js:41313)
    at click (app.js:41065)
    at HTMLAnchorElement.invoker (app.js:42886)

My filter is pretty straightforward:
Test 1
Test 2

methods: {
  filter: function (key) {
    this.$refs.cpt.filter(key);
  }
}
...

Latest versions of both libraries:
"vue": "^2.1.10"
"vueisotope": "^3.1.0"

If you have any idea as to why this is happening, I'd love to hear them.
Thanks.

Do you declare the ref attribute on the isotope component (for your example:  ref="cpt")?
If you do, please create a jsfiddle, if you don't, this explains the error.

I am creating a ref and the filter function works despite the error. I'll try to create a jsfiddle but given that I am using webpack and nesting components, it may be difficult to do.

I can't replicate this by separately including all libraries. I am using the fresh install of Laravel 5.4 with its default webpack configuration, so the problem could be specific to that setup. Thanks.


Remove dependency on com.vasileff.ceylon.xmath

Hi!
I like your random library and want to contribute some code to it...
But before I get to that, I hope you don't mind if I give some suggestions. For example, I think it's not a good idea to mix this library with your xmath library. The Random library has the potential to become the de-facto random library in Ceylon, but if you start demanding people who only need a silly random generator to get a few things a little less deterministic to download more than one library (and this case it would be a shared import) this may make it more troublesome than it should be.
My suggestion would be to create some random generators in the xmath library itself, or even make it fully modular and have a xmath.random module with random functions that work with xmath and integrates with random.

Thanks Renato!
I don't have a problem with non-shared dependencies in general as long as they're on Herd, but I do agree with you here.
It's currently required on next since I thought about using Long to make the JVM and JS implementations of LCGRandom identical. But instead, just using different parameters and accepting a shorter cycle length on JS is probably the better approach.

Fixed!


python312Packages.gipc: 1.4.0 -> 1.6.0

Changelog: https://github.com/jgehrcke/gipc/blob/1.6.0/CHANGELOG.rst
Description of changes
Fix build (https://hydra.nixos.org/build/256681883)

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 309002 run on x86_64-linux 1

4 packages built:

python311Packages.gipc
python311Packages.gipc.dist
python312Packages.gipc
python312Packages.gipc.dist


CG: Warning texts

Please change warning texts:
Homepage, global surveillance
"Inconsistent sampling in the underlying data can result in missing data and artefacts in this visualization. Increased prevalence of lineages does not, on its own, suggest an increase in transmissibility. Please interpret this data with care."
Change to:
"COVID-19 CG plots reflect data contributed to GISAID and are therefore impacted by the sequence coverage in each country. Increased prevalence of any lineage does not, on its own, suggest an increase in transmissibility."
Compare mutations tab, mutation frequencies
"Systematic errors are sometimes observed specific to particular labs or methods (https://virological.org/t/issues-with-sars-cov-2-sequencing-data/473/14, https://doi.org/10.1371/journal.pgen.1009175), users are advised to consider these errors in their high resolution analyses."
Change to:
"COVID-19 CG plots reflect data contributed to GISAID and are therefore impacted by the sequence coverage in each country. For example, systematic errors are sometimes observed specific to particular labs or methods (https://virological.org/t/issues-with-sars-cov-2-sequencing-data/473/14, https://doi.org/10.1371/journal.pgen.1009175). Users are advised to consider these errors in their high resolution analyses."
Compare mutations tab, mutation plot and
Compare lineages/clades tab, lineage or clade plots and
Compare locations tab, location-date plot
"Inconsistent sampling in the underlying data can result in missing data and artefacts in this visualization. Please interpret this data with care."
Change to:
"COVID-19 CG plots reflect data contributed to GISAID and are therefore impacted by the sequence coverage in each country."

Home page warning still not changed
Homepage, global surveillance
"Inconsistent sampling in the underlying data can result in missing data and artefacts in this visualization. Increased prevalence of lineages does not, on its own, suggest an increase in transmissibility. Please interpret this data with care."
Change to:
"COVID-19 CG plots reflect data contributed to GISAID and are therefore impacted by the sequence coverage in each country. Increased prevalence of any lineage does not, on its own, suggest an increase in transmissibility."

Apologies -- this is changed on a development branch but not pushed to production yet, I'll close the issue when the changes are live

Thanks!

Closing -- changes are live on https://alpha.covidcg.org


Custom Formatter for Duration Time Field

Hi everyone,
I've got a table with an integer field, which represents a duration time (in minutes).

I added in my XYZForm.cs and XYZRow.cs the TimeEditor(), so in the table I see the duration in minutes.

In my XYZGrid.ts I'd like to show it in this format (hour hours and minute minutes). At this scope, I've created a custom formatter and I register it in my XYZColumns.cs, but it doesn't work: it gives me a console error and I can't see the entire grid.
I show you my custom Formatter:
`
@Serenity.Decorators.registerFormatter()
export class DurationFormatter implements Slick.Formatter {
    format(ctx: Slick.FormatterContext) {
        let durata = ctx.value as number; /* Dovrebbe essere, ad esempio, "60" */
        console.log(durata);
        if (durata == null)
            return "";

        let output = ""; /* Il risultato finale */
        var quoziente = durata / 60;

        if (quoziente == 1)
            output = "1 ora";
        else
            output = quoziente.toString() + " ore";

        if (quoziente.toString().indexOf(".") != -1)
        {
            let minuti = quoziente.toString().split(".")[1];
            output += " e " + Number(minuti) * 0.6;
            if (minuti.length == 0)
                output += "0 minuti";
        }

        return output;
    }
}

`
My Console Error:

I compiled and transformed templates, so I see that my Formatter was registered in the scripts.
What's wrong ?
Thanks for your help.
Kind regards.

Check the link
https://github.com/volkanceylan/Serene/tree/master/Serene/Serene.Web/Modules/Northwind/Employee
https://github.com/volkanceylan/Serene/blob/master/Serene/Serene.Web/Modules/Northwind/Order/OrderColumns.cs

Make sure your formatter type is under your project namespace, e.g. MyProject. Namespace is important, at it has to be in PascalCase.

I solved that. Thanks @alexdaywid and @volkanceylan for your time :)


use correct label for spreading alertmanager

make sure not all three replicas run on single node

Signed-off-by: Leela Venkaiah G<EMAIL_ADDRESS>

the existing label combo app: alertmanager doesn't exist on the alertmanager pods
as a result, no extra effort is being put by the kube-scheduler to spread the pods even though it's possible
use app.kubernetes.io/name for label key as it's guaranteed to exist on alertmanager resource
due to resource constraints, it may so happen that after the spread other workloads in ODF Control Plane will go into pending and so a maxSkew: 2 is used to guarantee atleast one alertmanager will be not be grouped with other alertmanager pods with replica: 3


Add testing around cookie feature flipping

See #4

moved to https://github.com/FredKSchott/fflip-express


urls

I remember seeing a comment about there still being URLs in the text. I used the following on another project with some pretty good success: .apply(lambda x: re.sub('(http\S*|www\S*)', '', x)). There are probably ways to improve this. Could be useful if we want to filter those out.

Sounds good! Yes, some URLS like "youtube.com" come up pretty frequently. Could be useful though


Added lost unit tests after refactoring

Motivation and Context

After test project refactoring some tests got lost due to change of project name. This PR adds them back to increase code coverage.
Description

Added two missed unit-tests from this commit: https://github.com/microsoft/semantic-kernel/commit/d76de654f2533c16c1c32b31aa15c0bdbfba0c4f.
Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
[x] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

After test project refactoring some tests got lost due to change of
project name. This PR adds them back to increase code coverage.
Added two missed unit-tests from this commit:
https://github.com/microsoft/semantic-kernel/commit/d76de654f2533c16c1c32b31aa15c0bdbfba0c4f.


Ability to list deviations from style.

From @farmdawgnation on November 10, 2015 22:26
I'm not sure the best way to ask this question, so I'm going to create an issue and if that's the wrong thing to do then you folks can come at me with the pitchforks.
I'm interested in the ability to have scalariform list out issues that it finds without formatting the entire file. So, for example, I could have a post-commit hook on my local machine that invokes Scalariform in "pretend" mode and have it list out formatting issues it finds in the files in that commit. Then I have the option of manually executing format on them in a separate commit or punting altogether.
I scanned the issue titles that already exist, but is there any plan to add support for something like this?
Copied from original issue: daniel-trinh/scalariform#90

From @daniel-trinh on December 7, 2015 7:43
Couldn't you simply add code to the post-commit hook logic that discards changes in the case of not wanting the formatting, and exclude that step if you do want the formatting?

From @farmdawgnation on December 8, 2015 4:5
I could, but I'm arguing that a "pretend" mode is something that should be a first class feature of the library anyway. Perhaps you disagree... if so then I guess we're at an impasse. But trying to get a sense for how many changes scalariform would want to make to my code before it actually makes them seems desirable to me in its own right.

Closest I can think of is to use scalariform-cli with --stdout option to simulate a dry run.


v2.2.3.unitypackage cant build

v2.2.3.unitypackage cant build.
My unity version is 2021.3.21f1c1. Windows 11 sytem.

Btw.My system is chinse.

Sorry.I fix it.The default encoding of my system is gbk.I change it to utf8.

Solved


Extreme lag and "Not responding" in unified inbox with thousands of messages

Expected behavior
Smooth infinite scrolling, immediately opens tapped messages
Actual behavior
Lags, stutters, "not responding" prompt appears repeatedly when opening app, scrolling, or viewing any messages
Steps to reproduce

Set up 5 accounts with thousands of message in history each
Set fetch to "all mail" with "any size" for limit
Sync all messages
Try to use the app once they are all synced.

Environment
K-9 Mail version:
5.600
Android version:
9.0.1
Account type (IMAP, POP3, WebDAV/Exchange):
All IMAP
I have about 24,000 messages in my unified inbox. The app barely works. It worked fine when I set it to "25" fetch limit foe each account, but if I want all my emails, it is unusable.
Please take some time to retrieve logs and attach them here:

Duplicate of #3472


[Gally]: master <- dev

Automatically created by Git-Ally

:tada: This PR is included in version 2.6.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: