feat: change to batch processor

Related:

https://github.com/rocket-connect/graphql-debugger/issues/322

Related: https://github.com/open-telemetry/opentelemetry-js/issues/4741


Check if composer install has already been invoked

Original discussion is available here: https://github.com/astorm/pestle/pull/235

Need to roll this one back.
I have a pestle_dev shell script in ~/bin with the following contents
#!/usr/bin/env php
<?php
    require_once('/path/to/github/astorm/pestle/runner.php');

with path/to/github/astorm/pestle being a cloned repo.  With the above pull request enabled, if I run pestle_dev in the shell (invoking this script), everything runs ok, but the Did you forget to run 'composer install' error appears.  That shouldn't happen.

Here's an example running from a Magento system's app folder.

@QwertyZW still open to the idea of this, but the above scenario still need to work.

@astorm  No worries, I'll be taking a look at this in the foreseeable future


Print execution logs of a query using pyhs2

Is it possible to print the execution logs of a hive query using pyhs2?
Is there any configuration that needs to be set to enable python client to print hive query execution logs?

pyhs2 does not print the logs; however, you can get the operational logs from the machine on which HiveServer is running (/var/log/hive/hive-server2.*).


Broken link to XAML SwapChainPanel DirectX interop sample

The link about "XAML SwapChainPanel DirectX interop sample" to https://go.microsoft.com/fwlink/p/?LinkID=309155 redirects to https://docs.microsoft.com/en-us/samples/browse/ but without showing the correct sample.

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

ID: ee9a5a88-6893-33e4-3875-b7c9d3ab54f2
Version Independent ID: 56d8c4f4-c6b6-0369-f0aa-62a53117ae86
Content: SwapChainPanel Class (Windows.UI.Xaml.Controls) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.controls.swapchainpanel.yml&version=GBlive&_a=contents
Product: uwp
Technology: winui
Git Login: jwmsft
Microsoft Alias: jimwalk

This link has been fixed. Thanks.


Adding enhancement for high level datamover design

/cc @dymurray

Closing PR as other folks are moving this forward


Fix premium redeem does not filter banned vaults

Three basic changes:

getVaultsWithRedeemableTokens now also includes vaults with status "inactive" as well as "active" (ie. only excludes statuses "liquidated" or "committed theft")
getPremiumRedeemVaults now applies the same restrictions as getVaultsWithRedeemableTokens as well as the vault's collateral needing to be below the premium redeem threshold.
extracted shared method to check if vault is active or inactive, and has redeemable tokens.

Thanks for the fast fix! I don't suppose there is an easy way to have getPremiumRedeemVaults be just an additional filter over getVaultsWithRedeemableTokens? I.e. to do something like
fn getPremiumRedeemVaults() {
    return getVaultsWithRedeemableTokens.filter((x) => x.isVaultEligibleForRedeem())
}


Power Charges not calculated to Crit Chance % rate

Should add the default 3 power charges and then add up with each extra power charge from the tree or when equipping item like Hegemony's Era that gives +1 maximum power charges.

Have you enabled power charges in the Configuration tab? The program doesn't bother trying to guess if you're using them or not.

solved


Allow passing java properties after bootstraping

I can use -J option during the bootstrapping I would like to pass option Java after bootstrapping. This could be via environment variable for example.

I agree:

I don't really want to regenerate my own CLI when I want to tweak a JVM option.

(from https://github.com/scalameta/scalafmt/issues/813#issuecomment-285885825.)

That shouldn't be hard to add, this line should just have to be changed... PR? 🙂

https://github.com/coursier/coursier/pull/852 partially fixes that. One can know pass arguments like -Dfoo=b to a bootstrap to adjust Java properties.
For other kind of Java arguments, one can always do
$ java -Xmx2g -jar bootstrap [args]


Remove the tick event

Mitmproxy: the tickless wonder.

Hey, I use mitmproxy as an authenticaiton proxy and a request signer for server-to-server communications while doing some more complex testing. The scripting interfaces are excellent for re-signing POST payloads in whatever ways the developers came up with. In some cases authentication tokens need to be kept alive and the tick() event was perfect for that.
Now that tick is removed, is there another way of doing things at regular time intervals? Is the recommended option to use shced or some other library for scheluling tasks?

@cortesi I second Juha’s question. My use case is to programmatically inject delays into flows.
(By the way, it’d be great if breaking changes like this were mentioned in release notes. My script just silently stopped working after upgrading from 3.0 to 4.0.)


Successful compile command reported as erroneous

I was wondering why ctcache didn't cache any clang-tidy output for my header files and after some investigation it turned out that the compile command stored for my header files would emit warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated [-Wdeprecated] when executed, but still succeed. Your current logic for any compiler that isn't MSVC is that you don't look at the compile command exit code but rather whether stderr is empty (https://github.com/matus-chochlik/ctcache/blob/debfea68152c5221d8f409cbef85dc5d0f98071d/clang-tidy-cache#L1183).
Shouldn't a check for the exit code suffice for all compilers?

Hi, IIRC there were some examples where the return code was zero on Linux, but there were still some (arguably) errors printed to stderr. The decision was made to not cache the result with false positives, rather than to let false negative clang-tidy result to pass.

I see, makes sense. Thanks for clarifying!


WPF XAML designer broken when using RoutedViewHost

Do you want to request a feature or report a bug?
bug
What is the current behavior?
RoutedViewHost when in WPF design mode will have a error complaining about the lack of IActivationForViewFetcher
This is due to ModeDetector.InUnitTestRunner() is not detecting the design mode correctly.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

Check out https://github.com/ApexAutomation/BaseApp
Load the MainWindow in either the xaml designer or the blend designer inside visual studio.

What is the expected behavior?
That you can design using the xaml editor.
What is the motivation / use case for changing the behavior?
Fix previously working experiences for users.  Fix user experience first found in https://stackoverflow.com/questions/51525704/using-reactiveui-v8-routedviewhost-in-wpf
Which versions of ReactiveUI, and which platform / OS are affected by this issue? Did this work in previous versions of ReativeUI? Please also test with the latest stable and development snapshot
RxUI 8.3.1 WPF

👍

I do not think it's up to Mode.Detector.JUnitTestRunner().
Because the Designer works with the current ReativeUI master.
I think the cause was the same issue as Issue #1016 which I fixed with PR #1651.
@glennawatson Can you verify that?

This appears to be fixed with 8.4.1. Thanks


Some enhancements I think would be helpful.

Option for either chapters or single-file
Set a static AUTHCODE in the script so you don't have to remember it between uses

Here's a script I hacked to suit my preferences. Seems to be working fine. I also have it saving to ~/Audiobooks/Author - Book Title/ instead of a 2nd folder being nested under the author's name.

#!/usr/bin/env bash
AUTHCODE=1234567890
while [ $# -gt 0 ]; do
    FILE=$1
    echo "Decoding $FILE with AUTHCODE $AUTHCODE..."

    ffmpeg -i "$FILE" 2> tmp.txt
    TITLE=`grep -a -m1 -h -r "title" tmp.txt | head -1 | cut -d: -f2- | xargs -0`
    TITLE=`echo $TITLE | sed -e 's/(Unabridged)//' | xargs -0`
    ARTIST=`grep -a -m1 -h -r "artist" tmp.txt | head -1 | cut -d: -f2- | xargs`
    GENRE=`grep -a -m1 -h -r "genre" tmp.txt | head -1 | cut -d: -f2- | xargs`
    BITRATE=`grep -a -m1 -h -r "bitrate" tmp.txt | head -1 | rev | cut -d: -f 1 | rev | egrep -o [0-9]+ | xargs`
    BITRATE="${BITRATE}k"
    OUTPUT=`echo $TITLE | sed -e 's/\:/-/g' | xargs -0`
    OUTPUT_DIR="$HOME/Audiobooks/${ARTIST} - ${TITLE}"

    ffmpeg -v error -stats -activation_bytes $AUTHCODE -i "${FILE}" -vn -c:a libmp3lame -ab $BITRATE "${OUTPUT}.mp3"

    echo "Created ${OUTPUT}.mp3."

    mkdir -p "${OUTPUT_DIR}"
    while read -r first _ _ start _ end; do
        if [[ $first = Chapter ]]; then
            read
            read _ _ chapter
        fi
    done < tmp.txt
    mv "${OUTPUT}.mp3" "${OUTPUT_DIR}"

    rm tmp.txt

    echo "Extracting cover into ${OUTPUT_DIR}/cover.jpg..."
    ffmpeg -v error -activation_bytes $AUTHCODE -i "$FILE" -an -vcodec copy "${OUTPUT_DIR}/cover.jpg"
    echo "Done."

    shift
done

Thanks for making this. Very useful!

Well at some point in the past this script had both of enhancements, but I removed it because I wanted a chaptered format output. I keep a copy of the script on /usr/bin/local (which is on my path) with my AUTHCODE hard coded much like you have.
I don't particularly want to make this kind of toggle in this simple script. Ultimately it is just a front end for ffmpeg, so I don't think it needs to be that complex. If you want to fork the repo and make those changes though I will consider a pull request if you get it working the way you want.

Instead of a hardcoded AUTHCODE, it'd be preferable to have it in a sidecar file - so say if file .authcode is present then it's loaded from that, otherwise you have to use the CLI option.

Instead of a hardcoded AUTHCODE, it'd be preferable to have it in a sidecar file - so say if file .authcode is present then it's loaded from that, otherwise you have to use the CLI option.

Good idea. Seems like a nice compromise between the two.

@KrumpetPirate Just used this, thank you so much! The only suggestion I would make is making the single file vs multiple files an optional switch, with multiple being default.
It seems redundant to include both, you generally want one or the other. When I ran this I had to delete the single file mp3.

It was like that at one point. I just haven't gotten around to fixing it, been too busy lately.
You could always do something like find . -type f -iname "*.mp3" -not -iname "*Chapter*" -exec rm {} \; to remove them in a batch like way. That's generally what I do.

You can now do either Chaptered output (default) or single file output (by adding --single to the input). Additionally you can sideload a .authcode file if it is in the script directory.


Rename UtilityTokenAbstract to UtilityToken

The unimplemented functions that previously existed in UtilityTokenAbstract have been removed, so the contract should be renamed "UtilityToken" and importing contracts/tests updated accordingly.

Correction: unimplemented functions are inherited from UtilityTokenInterface.


Kafka partitions leaderless issue (during metadata refresh) with topics that have been deleted

Description
We are seeing an issue with Sarama kafka GO client where on topics deletion, kafka client gets stuck in a metadata  refresh loop (due to retry mechanism ) and keep flooding with following logs:
SARAMA-DEBUG 03:18:52 client/metadata fetching metadata for [list of topics] from broker
SARAMA-DEBUG 03:18:53 client/metadata found some partitions to be leaderless
SARAMA-DEBUG 03:18:53 client/metadata retrying after 2000ms... (40 attempts remaining)
It can be reproduced very easily when kafka topic is deleted while client is still running.
The only way to recover from this is to restart our client.
However, in production, we can't afford to restart our clients which are in the middle of working on some other messages.
Versions

Sarama
Kafka
Go

v1.41.2 , client: sk.V2_8_0_0
2.8
1.19

Configuration
Our Sarama client configuration snippet:
clientConfig.Version = sk.V2_8_0_0
clientConfig.Admin.Timeout = 30 * time.Second
clientConfig.Net.KeepAlive = 4 * time.Minute
clientConfig.Net.SASL.Enable = false
clientConfig.Net.SASL.Handshake = false
clientConfig.Consumer.Return.Errors = true
clientConfig.Producer.RequiredAcks = sk.WaitForLocal
clientConfig.Producer.Retry.Max = 20
clientConfig.Producer.Retry.Backoff = 200 * time.Millisecond
clientConfig.ClientID = msgBusConfig.ClientID
clientConfig.Metadata.Retry.Backoff = time.Millisecond * 2000
clientConfig.Metadata.Retry.Max = 50
clientConfig.Metadata.RefreshFrequency = 5 * time.Minute
clientConfig.Metadata.Full = false // prevents fetching the metadata of all topics
clientConfig.Consumer.Group.Rebalance.Retry.Max = 10
clientConfig.Consumer.Group.Rebalance.Retry.Backoff = 5 * time.Second

Additional Context
We looked at the source code and tried to understand the behavior of RefreshMetadata and retry mechanism and it appears that client maintains an array of topics using which it goes into refreshMetadata cycle. However, currently it doesn't seem to delete topic from its internal array if topic is not available on Broker.
We think that "func updateMetadata" needs to handle "ErrInvalidTopic" differently and apart from returning err, it also needs to remove that particular topic from its topics list.

I had a quick play around, and I think this behavior is straight-forward to re-produce. I used Kafka 3.6.0 (in ZK mode, with auto.create.topics.enable=false) and the consumer group example from Sarama v1.41.3. Steps:

Create two topics (topic1 and topic2)
Start the sample: ./consumegroup -brokers localhost:9092 -topics topic1,topic2 -group testgroup -verbose
Delete topic2

@mohilkhare21 - is this a reasonable approximation of what your application does?
From my initial investigation, I disagree with the proposal that Sarama should handle ErrInvalidTopic by removing the topic from the list of topics that the client makes metadata request for. I think this would prevent Sarama from starting to consume from the topic were it to be re-created, which is the current behavior.
While verbose, the detail in the debug logging that is generated does seem reasonable. Tracking when metadata requests are made, and their results is helpful in debugging other kinds of problems, although I appreciate unneeded in this particular case.
Do you need debug-level logging to be enabled all the time? If not this can be disabled  by defining your own implementation of StdLogger and assigning it to DebugLogger. For example:
type myDebugLogger struct {
	enabled bool
}

func (d *myDebugLogger) Print(v ...interface{}) {
	if d.enabled {
		sarama.Logger.Print(v...)
	}
}
func (d *myDebugLogger) Printf(format string, v ...interface{}) {
	if d.enabled {
		sarama.Logger.Printf(format, v...)
	}
}
func (d *myDebugLogger) Println(v ...interface{}) {
	if d.enabled {
		sarama.Logger.Println(v...)
	}
}

And then registering your debug logger near where you setup the overall Sarama logger. For example:
		sarama.Logger = log.New(os.Stdout, "[sarama] ", log.LstdFlags)
		sarama.DebugLogger = &myDebugLogger{
			enabled: os.Getenv("SARAMA_DEBUG") != "",
		}

Hello Prestona,
Thanks for looking into this issue. Yes, you are right with the use case that we have here in our environment.
I have a question regarding "I think this would prevent Sarama from starting to consume from the topic were it to be re-created" .
When a topic, whether the same or different, is created, will Sarama repopulate its list of topics?
Thanks

Thanks right @prestona . But in our case, after deleting topic, we don't recreate same topic due to which we keep getting those logs as you described.

@mohilkhare21 I'm not sure that there's much more we can do in Sarama for this.
As noted above, when you start a client and ask it to create/join a consumer group, calling Consume(...) you provide the list of topics that you want the consumer group to consume from. At startup it checks that those topics do indeed exist and then creates+joins the group. It implicitly expects that those topics will exist for the lifetime of the consumer group.
If you want to be able to delete topic(s) that you'll never re-create and which are part of active consumer groups, you'd really need those consumer groups to be restarted and only call Consume(...) with the topic(s) that are still going to exist


Just upgraded and I can't figure out how to run my operator locally anymore

Bug Report
What did you do?
In an attempt to make a minimum viable recreation to an external problem, I used the operator-sdk to create a new operator.  Following the docs to get my new operator running, I ended up having to upgrade operator-sdk, crc, and oc/kubectl to the latest versions.
When trying to go back to the operator I've been working on, I now can't seem to get it to run.
Previously I used to just be able to run operator-sdk up local --namespace aws-account-operator and I've now changed to the run local --watch-namespace which wasn't a huge problem, but now when I try to run my operator, I'm getting the following error:
> operator-sdk run local --watch-namespace aws-account-operator
INFO[0000] Running the operator locally; watching namespace "aws-account-operator"
build flag -mod=vendor only valid when using modules
FATA[0000] Failed to run operator: failed to exec []string{"go", "build", "-o", "build/_output/bin/aws-account-operator-local", "-mod=vendor", "github.com/openshift/aws-account-operator/cmd/manager"}: exit status 1

What did you expect to see?

What did you see instead? Under which circumstances?
After a bit of digging it looks like the error is related to the fact that our operator isn't using go modules, but dep as it's a bit older.  When I run the go build command that's being executed, I see the build flag error, but when I run the same command with the flag -mod= or without that flag entirely it works.
I've attempted to use the --operator-flags "-mod=''" flag, but it still outputs the same command on the FATA[0000] line above, even though it would appear that's how I should be passing in the vendor override.
Environment

operator-sdk version:

operator-sdk version: "v0.18.0", commit: "921c33982687d6e9219fe0a1a326515fb37ae040", kubernetes version: "v1.18.2", go version: "go1.14.3 darwin/amd64"

go version:

go version go1.14.3 darwin/amd64

Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0-4-g38212b5", GitCommit:"4a4cd759b616cdba344dd73386727c10d3d2dde1", GitTreeState:"clean", BuildDate:"2020-05-25T22:58:48Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17+", GitVersion:"v1.17.1", GitCommit:"b23e21a", GitTreeState:"clean", BuildDate:"2020-05-18T09:20:55Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:

Go
Let me know if there's any other information I can provide.
Thanks,
Kirk

Not sure if this is still an issue for y'all, because the --operator-flags flag seemed to not actually do anything, at least during the build (maybe a --build-flags flag is needed?) but I found out that our operator is too old to use the newer version of the operator-sdk and I have downgraded operator-sdk and it's working again.
I'll leave this open so you can decide if you want to investigate it further, but feel free to close.

Re-opening so we can discuss if we should try to support non Go-module projects still.
I think this particular issue could be solved by only setting -mod=vendor if the vendor directory is present AND Go modules are enabled. It seems like we don't consider the latter check right now.

This was discussed at the SDK community triage meeting. The outcome is that we would accept a PR that fixes operator-sdk build, operator-sdk run local, etc. to support projects that are not Go modules-enabled, but it is low priority.
If anyone is interested in working on this, I can point you in the right direction.

/close


MWPW-142699 allowing empty defined value for PH

problem and solution discussed in:
https://github.com/orgs/adobecom/discussions/1900
Resolves: MWPW-142699
Test URLs:

Before: https://main--milo--adobecom.hlx.page/drafts/npeltier/placeholder-tests?martech=off
After: https://mwpw-142699--milo--npeltier.hlx.page/drafts/npeltier/placeholder-tests?martech=off

@npeltier This branch seems to be braking all the pages with blocks. Could you please check on that?
CC: https://main--cc--adobecom.hlx.live/creativecloud/file-types/image/comparison?milolibs=mwpw-142699--milo--npeltier&martech=off
DC: https://main--dc--adobecom.hlx.live/acrobat/resources/how-to-write-an-ebook?milolibs=mwpw-142699--milo--npeltier&martech=off
bacom: https://main--bacom--adobecom.hlx.page/products/adobe-experience-cloud-products?milolibs=mwpw-142699--milo--npeltier&martech=off
kitchen-sink: https://mwpw-142699--milo--npeltier.hlx.page/docs/library/kitchen-sink/merch-card

@afmicka i fixed it i think (was codebus cache issue)

@npeltier Yes, it is fixed now. Will verify the PR.


Release v0.3.2

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/160
Originally created by @aaronsteers on 2021-07-02 08:42:42

SDK Release Checklist

[x] Indicate the vX.Y.Z version to be released here in the issue title and here: v0.3.2

SDK Release Flow

[x] Manual steps:

[x] Open this Issue
[x] Create a corresponding MR on a branch named <issue>-release-vX-Y-Z (the default name if your issue is titled correctly)
[x] The release-vX.Y.Z MR is ready when:

[x] Changelog includes all meaningful user-facing updates since the last release

[x] Compare against main branch commit history

[x] Version is bumped:

[x] pyproject.toml
[x] docs/conf.py
[x] cookiecutter/tap-template/pyproject.toml
[x] cookiecutter/target-template/pyproject.toml

[x] Changelog is flushed with the appropriate version number
[x] Changes above are committed as changelog and version bump
[x] Open the Changelog in preview mode, mouse over each link and ensure tooltip descriptions match the resolved issue. Check contributor profile links to make sure they are correct.
[x] Update .gitlab/issue_templates_/Release.md with any missing or changed steps in this checklist.

[x] Check this box when the CI pipeline status is green :white_check_mark:
[x] Merge to main with the merge commit message Release vX.Y.Z

[x] Release steps:

[x] Manual:

[x] Cut a tag from main named vX.Y.Z with Message=Release vX.Y.Z

Note: tag name must exactly match poetry version text

[x] Automated CD pipeline:

In response to new tag creation, these steps are performed automatically in Gitlab pipelines:

Abort if tag vX.Y.Z does not match output from poetry version --short
Publish to PyPi

[x] Check this box when confirmed

Create a Gitlab 'Release' from the specified tag

SDK Post-Release Flow

[ ] Post-release announcement steps:

[ ] Post announcement to Meltano slack: #announcements, cross-post (share) to #sdk
[ ] Copy-paste with minor contextual edits to Singer slack (with link to original Meltano slack)
[ ] Blog post
[ ] Tweet the blog post

View 22 previous comments from the original issue on GitLab


Mac build broken on master

Basically all languages are broken:
Undefined symbols for architecture x86_64:
  "_grpc_global_wakeup_fd", referenced from:
      _pollset_global_init in libgrpc_unsecure.a(ev_poll_posix.o)
      _pollset_work in libgrpc_unsecure.a(ev_poll_posix.o)
      _kick_poller in libgrpc_unsecure.a(ev_poll_posix.o)
      _pollset_global_shutdown in libgrpc_unsecure.a(ev_poll_posix.o)

Blocked on this issue as well.

closed by #8869


Update jQuery version to 3.3.1

None of the components in that are in the GOV.UK Design System rely on jQuery for functionality on both legacy and modern browser.
Considering there is an Ajax vulnerability in old versions, we have decided to update to the latest version.
If users require and old version of jQuery, they can downgrade it themselves.
For others that want to use jQuery for their custom code, can use the latest.
Fixes: #482
Trello ticket: https://trello.com/c/QhbzzIdw/1529-update-to-jquery-3-in-the-prototype-kit

closing PR as need to wait for v9 release


Investigate Aftertreatment ECU fault implant failure.

DB. reported that fault implants into two different modules failed.
One fault is implanted in the engine controller —- the other, in the aftertreatment module.  Both are reported as HD OBD modules. Log files have been requested.

To be resolved by #1004 and #1005


Move to an org

Coming from #35

@dblock I submitted issue #39 before i noticed this.  Did you move the repository to an organisation?  If not is there a working fork of this project?  Thanks.

I haven't been involved in this gem for a while, but I am happy to help. Nothing has moved, it's still very much here and we should be maintaining it. Happy to cut a release when I get to it if nobody else will cc: @drewtempelmeyer.

bump on this. happy to be a contributor if we're not letting this turn into abandonware :)

I'll prioritize this.

@drewtempelmeyer want to do it?

@dblock @ghepting done!

Nice – if you want to add me as a contributor of the org I'm happy to stay active on this for a while. I just got everything working this morning (with a temporary work-around on the tax rate not being exposed in any APIs currently) with Square APIs in the custom ecommerce application I'm working on, so got a pretty good overview on everything at this point.


Fix lost fragments when update object

fix #5342
Avoid copying from old info. If we have written the fragment table.

Cherry-picked to 8.1.x

Cherry-picked to v9.0.x branch.


Anki cards not showing the actual picture

This syntax gives me this:

Possible problem
Obsidian shows I have currently installed 0.2.21 version. Should be latest version because I installed the plugin on 1st January via community plugins. Imgur
I tried pressing Update that didnt change anything.
Could it be possible that I dont have latest version installed and thats why image is not being rendered in Anki?
I have Windows 11.
Anki version is 2.1.49

The latest version of AnkiBridge is 0.4.0. Images are not supported in the version you are using.
Please update the plugin.

I have 0.13.14 Obsidian. Should be fine.
Pressing update doesn't do anything it still says same "Version 0.4.0 (currently installed 0.2.21)". So how can I update?

Only 0.13.16+ versions of Obsidian are supported. These are only available to Obsidian Insiders for now. You will have to wait until the next non-insider version is released or alternatively purchase Obsidian Insider access.


Settings/Inspectors/Account to SwiftUI

Lots of changes related to #3738 & #3774:

All Inspectors are now SwiftUI and localised
All Add Account/Credentials controllers are now SwiftUI and localised
All Settings views are SwiftUI and localised

Everything is behaving pretty much as it did under UIKit.
New

Settings revamped with iconography and rejigged ordering.
The Account Management list (which is new) is split into Active/Inactive accounts and includes swipe actions to toggle the active and inactive states. Swipe actions are available on Extensions as well.
Localisation is handled via Text("", comment: "")
SwiftUI's fileExporter and fileImporter are being used for OPML files and .nnwtheme packages
Unused controllers and XIBs have been deleted.
The SwiftUI Timeline customiser uses a cheat view that is built to look like the UIKit cell.
The Article Themes list now credits the theme creator and separates Ranchero provided themes from third-party themes.
Several existing classes have been made ObservableObjects so that they can fire objectWillChange notifications to @StateObjects.

Fixes

Alerts/Action Sheets now consistently tint the destructive actions (e.g., remove account) in red
Account explainers are now consistently displayed as footers and not rows.
Timeline Customiser now works in landscape (it can be scrolled when the user has selected more rows than are visible)

Known Issue

Rarely, the inspector views will have a larger offset from the top than they should have (hence the .edgesIgnoreSafeArea(.bottom) modifier usage). Why this happens is not clear.

Some previews:

Why does adding an Extension push a navigation stack instead of showing a sheet like happens when adding an Account?
When you try to add a Feedbin account the sheet that appears just says "Feedbin" on it. How did you test that the Feedbin sheet works correctly? You did test all the different Add Sheets you created to make sure they work right?
We might want to name the *AddAccountView views something else. They are used both for Adding and Updating Credentials. It through me off for a bit when I saw them being used in AccountInspectorView.
When the Setting are opened in portrait on an iPad, there is a lot of whitespace at the bottom of the view. Is there anything we can do about this?
Any idea why some of these footer explainers are breaking the line too soon?

I'm getting an error when trying to add a Theme that didn't occur in the old code. This is for a Theme that is in my Documents folder on iCloud Drive.

The Timeline slider should revert back to the old design.

 Could you please amend it so that it describes what was changed?

Why does adding an Extension push a navigation stack instead of showing a sheet like happens when adding an Account?

Changed to .sheet in 1a1f86f

When you try to add a Feedbin account the sheet that appears just says "Feedbin" on it. How did you test that the Feedbin sheet works correctly? You did test all the different Add Sheets you created to make sure they work right?

There was a missing case for Feedbin, which has been added. The remainder, inc. Feedly were tested. Same for the Reddit extension. Fixed in 1a1f86f

We might want to name the *AddAccountView views something else. They are used both for Adding and Updating Credentials. It through me off for a bit when I saw them being used in AccountInspectorView.

*AccountManagementView ?

When the Setting are opened in portrait on an iPad, there is a lot of whitespace at the bottom of the view. Is there anything we can do about this?

Not that I am aware of.

Any idea why some of these footer explainers are breaking the line too soon?

It's the same in UIKit on iPhone 12 mini as far as I can tell from the simulator. I don't think there's much we can do.

 Could you please amend it so that it describes what was changed?

Not a mistake. The changes were in the commit description.

My mistake. I didn't see that it was a multi line commit.
But you are doing something that I had a hard time breaking myself of which is forgetting to always start your commit with a verb. https://github.com/Ranchero-Software/NetNewsWire/blob/main/Technotes/CodingGuidelines.md#version-control

The Timeline slider should revert back to the old design.

Restored in dee9461

@stuartbreckenridge Looks like there are some conflicts to resolve — let me know when those are resolved and I’ll review this PR.

@brentsimmons That should be it:

SettingsViewController is no longer present in this PR, so it's fair to remove.
The SwiftUI PR has @vincode-io's work related to Mark as Read on Scroll added.

@stuartbreckenridge would you also update this one to fix the conflict, so I can get it merged?

@brentsimmons Conflicts resolved. Note this should be merged before the internationalization commit.


Graph refactor

Changes Unknown when pulling 35acd202554e896eb7e9f4f0d391a7382a5a148e on graph_refactor into ** on master**.

Changes Unknown when pulling 78ca4e3823f8a79f6805ba9e3ff654197927639c on graph_refactor into ** on master**.


MSA authentication asking for permissions even with wl.offline_access enabled.

When the app is killed and restarted, the permission screen is shown even when offline access is mentioned in the scope. I see this happening when I log in using MSA account. I am using the app as is without modifying the gradle dependencies.
Is there any way to solve this ?

The bug is solved by using the new library: 'com.microsoft.services.msa:msa-auth:0.8.4' instead of 'com.microsoft.orc:live-auth:0.14.2' and using the branch 'msa-auth-fix'


Start of QEMU K3s based CI

One possible way to have CI with GPUs is to setup a VM with k3s and NVIDIA installed. Boot the VM with GPU
passthrough, run the tests, then rollback to a snapshot (delete the overlay we used).
It would be nice to script creating the VMs. Also in cases where VM is not QEMU or is not a VM we can just run
the generic portion of the tests. Copying the docker image into the container runtime is K3s specific, but it
could substituted for a repo.

[x] script creating the initial VM images and generate SSH keys
[x] script booting QEMU
[x] script uploading the image to K3s containerd
[ ] GPU passthrough (will nested virt make it difficult?)
[ ] Integrate into Makefile

#9

Even without nested virt I have run into a weird issue: https://www.reddit.com/r/VFIO/comments/1c1aynj/qemu_or_ovmf_efi_firmware_hangs_with_no_output/


MathChat blog post

A blog post introducing MathChat framework

Why are these changes needed?

Related issue number

Checks

[x] I've included any doc changes needed for https://microsoft.github.io/FLAML/. See https://microsoft.github.io/FLAML/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Thanks for making the change. Let's merge this PR after #1148


i18n(ko-KR): update images.mdx

Description (required)

update images.mdx
#10447

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

ko/guides/images.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


text tree more readable

https://github.com/t1anz0ng/iftree/commit/9118eac1f3e85fca917ccdc24b8402f92d681b62

https://github.com/t1anz0ng/iftree/commit/7148927087b49eb393026ce012672901f21a26c3

https://github.com/t1anz0ng/iftree/commit/9325fe7f90df7f88944e61f71d28c953722a5c23


Gerrit is broken

moved issue from: https://github.com/fabric8io/gofabric8/issues/304
I installed Gerrit using the one click deploy. Out of the box, it does not work because it is missing the "gerrit-admin-ssh" and "gerrit-users-ssh-keys". So it fails to start. But I think overall it is broken. I tried messing with the yml file as well, to tweak it as the namespace is wrong and I wanted different default credentials.
So I went and generated a priv/pub key pair and created the secrets manually for "gerrit-admin-ssh" and "gerrit-users-ssh-keys". I just used the same keys for both for testing purposes.
I removed the Gerrit app runtime and then ran my yml again to install it.
Still no luck. The container is crashing but the errors are not clear as why it might be happening.
kubectl -n app describe pods gerrit-1386751604-ld9wy
Name:		gerrit-1386751604-ld9wy
Namespace:	app
Node:		gke-forge-paas-default-pool-0b253c51-2yqj/<IP_ADDRESS>
Start Time:	Sat, 26 Nov 2016 05:59:50 -0700
Labels:		group=io.fabric8.devops.apps
		pod-template-hash=1386751604
		project=gerrit
		provider=fabric8
		version=2.2.297
Status:		Running
IP:		<IP_ADDRESS>
Controllers:	ReplicaSet/gerrit-1386751604
Containers:
  gerrit:
    Container ID:	docker://0903e458cfdb447ea512af466872587c9d5edffb987d183e571443ec251b891a
    Image:		fabric8/gerrit:2.2.297
    Image ID:		docker://sha256:11b359a11bc5e0510b49543bdee449b9c0581c96864fb6b59077a142a5774e7d
    Port:		8080/TCP
    Limits:
      cpu:	0
      memory:	0
    Requests:
      cpu:		0
      memory:		0
    State:		Waiting
      Reason:		CrashLoopBackOff
    Last State:		Terminated
      Reason:		Error
      Exit Code:	1
      Started:		Sat, 26 Nov 2016 06:02:07 -0700
      Finished:		Sat, 26 Nov 2016 06:02:15 -0700
    Ready:		False
    Restart Count:	4
    Volume Mounts:
      /home/gerrit/ssh-keys from gerrit-users-ssh-keys (rw)
      /root/.ssh from gerrit-admin-ssh-key (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from gerrit-token-ieunl (ro)
    Environment Variables:
      GERRIT_PUBLIC_KEYS_PATH:		/home/gerrit/ssh-keys
      GIT_SERVER_PASSWORD:		RedHat$1
      GERRIT_ADMIN_FULLNAME:		Administrator
      GERRIT_ACCOUNTS:			jenkins,jenkins,jenkins@fabric8.io,secret,Non-Interactive Users:Administrators;sonar,sonar,sonar@fabric8.io,secret,Non-Interactive Users
      GERRIT_ADMIN_USER:		<set to the key 'gerrit-admin-user' of config map 'gerrit'>
      GIT_SERVER_IP:			gogs.app.svc.cluster.local
      GERRIT_ADMIN_PRIVATE_KEY:		/root/.ssh/id_rsa
      GERRIT_REPO_DESCRIPTION:		<set to the key 'gerrit-repo-description' of config map 'gerrit'>
      GERRIT_SSH_PATH:			/root/.ssh
      GERRIT_ADMIN_EMAIL<EMAIL_ADDRESS>      GERRIT_GIT_REMOTEPATH:		ssh://admin@localhost:29418/All-Projects
      GIT_SERVER_PROJ_ROOT:		gogsadmin
      GERRIT_ADMIN_PWD:			<set to the key 'gerrit-admin-pwd' of config map 'gerrit'>
      GERRIT_GIT_PROJECT_CONFIG:	/home/gerrit/configs/project.config
      GIT_SERVER_PORT:			80
      GERRIT_INITIAL_COMMIT:		<set to the key 'gerrit-initial-commit' of config map 'gerrit'>
      GERRIT_USER_PUBLIC_KEY_SUFFIX:	-rsa.pub
      GIT_SERVER_USER:			gogsadmin
      GERRIT_GIT_LOCALPATH:		/home/gerrit/git
      GERRIT_USER_PUBLIC_KEY_PREFIX:	id-
      AUTH_TYPE:			DEVELOPMENT_BECOME_ANY_ACCOUNT
      KUBERNETES_NAMESPACE:		app (v1:metadata.namespace)
Conditions:
  Type		Status
  Initialized 	True
  Ready 	False
  PodScheduled 	True
Volumes:
  gerrit-admin-ssh-key:
    Type:	Secret (a volume populated by a Secret)
    SecretName:	gerrit-admin-ssh
  gerrit-users-ssh-keys:
    Type:	Secret (a volume populated by a Secret)
    SecretName:	gerrit-users-ssh-keys
  gerrit-token-ieunl:
    Type:	Secret (a volume populated by a Secret)
    SecretName:	gerrit-token-ieunl
QoS Class:	BestEffort
Tolerations:	<none>
Events:
  FirstSeen	LastSeen	Count	From							SubobjectPath		Type		Reason		Message
  ---------	--------	-----	----							-------------		--------	------		-------
  2m		2m		1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal		Pulling		pulling image "fabric8/gerrit:2.2.297"
  2m		2m		1	{default-scheduler }								Normal		Scheduled	Successfully assigned gerrit-1386751604-ld9wy to gke-forge-paas-default-pool-0b253c51-2yqj
  2m		2m		1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal		Pulled		Successfully pulled image "fabric8/gerrit:2.2.297"
  2m		2m		1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal		Created		Created container with docker id 4216ed0d1bd8; Security:[seccomp=unconfined]
  2m		2m		1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal		Started		Started container with docker id 4216ed0d1bd8
  2m		2m		1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal		Started		Started container with docker id 5d6468df51c9
  2m		2m		1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal		Created		Created container with docker id 5d6468df51c9; Security:[seccomp=unconfined]
  2m		2m		1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}				Warning		FailedSync	Error syncing pod, skipping: failed to "StartContainer" for "gerrit" with CrashLoopBackOff: "Back-off 10s restarting failed container=gerrit pod=gerrit-1386751604-ld9wy_app(37500b26-b3d8-11e6-bf41-42010a8000de)"

  2m	2m	1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal	Created		Created container with docker id 7074e385b8ac; Security:[seccomp=unconfined]
  2m	2m	1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal	Started		Started container with docker id 7074e385b8ac
  1m	1m	2	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}				Warning	FailedSync	Error syncing pod, skipping: failed to "StartContainer" for "gerrit" with CrashLoopBackOff: "Back-off 20s restarting failed container=gerrit pod=gerrit-1386751604-ld9wy_app(37500b26-b3d8-11e6-bf41-42010a8000de)"

  1m	1m	1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal	Started		Started container with docker id 530d5fd4c789
  1m	1m	1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal	Created		Created container with docker id 530d5fd4c789; Security:[seccomp=unconfined]
  1m	50s	3	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}				Warning	FailedSync	Error syncing pod, skipping: failed to "StartContainer" for "gerrit" with CrashLoopBackOff: "Back-off 40s restarting failed container=gerrit pod=gerrit-1386751604-ld9wy_app(37500b26-b3d8-11e6-bf41-42010a8000de)"

  2m	37s	4	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal	Pulled		Container image "fabric8/gerrit:2.2.297" already present on machine
  37s	37s	1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal	Created		Created container with docker id 0903e458cfdb; Security:[seccomp=unconfined]
  37s	37s	1	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Normal	Started		Started container with docker id 0903e458cfdb
  2m	13s	8	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}	spec.containers{gerrit}	Warning	BackOff		Back-off restarting failed docker container
  28s	13s	2	{kubelet gke-forge-paas-default-pool-0b253c51-2yqj}				Warning	FailedSync	Error syncing pod, skipping: failed to "StartContainer" for "gerrit" with CrashLoopBackOff: "Back-off 1m20s restarting failed container=gerrit pod=gerrit-1386751604-ld9wy_app(37500b26-b3d8-11e6-bf41-42010a8000de)"

Here is my yml:
---
apiVersion: "v1"
kind: "List"
items:
- apiVersion: "v1"
  kind: "ServiceAccount"
  metadata:
    annotations:
      fabric8.io/iconUrl: "https://cdn.rawgit.com/fabric8io/fabric8-devops/master/gerrit/src/main/fabric8/icon.png"
    finalizers: []
    labels:
      provider: "fabric8"
      project: "gerrit"
      version: "2.2.297"
      group: "io.fabric8.devops.apps"
    name: "gerrit"
    ownerReferences: []
  imagePullSecrets: []
  secrets:
  - name: "gerrit-admin-ssh"
  - name: "gerrit-users-ssh-keys"
- apiVersion: "v1"
  kind: "Service"
  metadata:
    annotations:
      fabric8.io/app-menu: "development"
      fabric8.io/iconUrl: "https://cdn.rawgit.com/fabric8io/fabric8-devops/master/gerrit/src/main/fabric8/icon.png"
      fabric8.io/git-commit: "0958d61020835b9707536cc0525344fc30a764dd"
      fabric8.io/git-branch: "release-v2.2.297"
      fabric8.io/build-id: "4"
      fabric8.io/git-url: "http://gogs.ux.fabric8.io/gogsadmin/oss-parent/commit/0958d61020835b9707536cc0525344fc30a764dd"
      fabric8.io/build-url: "http://jenkins.ux.fabric8.io/job/oss-parent/4"
    finalizers: []
    labels:
      project: "gerrit"
      provider: "fabric8"
      expose: "true"
      version: "2.2.297"
      group: "io.fabric8.devops.apps"
    name: "gerrit"
    ownerReferences: []
  spec:
    deprecatedPublicIPs: []
    externalIPs: []
    loadBalancerSourceRanges: []
    ports:
    - port: 80
      protocol: "TCP"
      targetPort: 8080
    selector:
      project: "gerrit"
      provider: "fabric8"
      group: "io.fabric8.devops.apps"
- apiVersion: "v1"
  kind: "Service"
  metadata:
    annotations:
      fabric8.io/git-commit: "0958d61020835b9707536cc0525344fc30a764dd"
      fabric8.io/iconUrl: "https://cdn.rawgit.com/fabric8io/fabric8-devops/master/gerrit/src/main/fabric8/icon.png"
      fabric8.io/git-branch: "release-v2.2.297"
      fabric8.io/build-id: "4"
      fabric8.io/git-url: "http://gogs.ux.fabric8.io/gogsadmin/oss-parent/commit/0958d61020835b9707536cc0525344fc30a764dd"
      fabric8.io/build-url: "http://jenkins.ux.fabric8.io/job/oss-parent/4"
    finalizers: []
    labels:
      project: "gerrit"
      provider: "fabric8"
      expose: "true"
      version: "2.2.297"
      group: "io.fabric8.devops.apps"
    name: "gerrit-ssh"
    ownerReferences: []
  spec:
    deprecatedPublicIPs: []
    externalIPs: []
    loadBalancerSourceRanges: []
    ports:
    - port: 29418
      protocol: "TCP"
      targetPort: 29418
    selector:
      project: "gerrit"
      provider: "fabric8"
      group: "io.fabric8.devops.apps"
- apiVersion: "v1"
  kind: "ConfigMap"
  metadata:
    annotations:
      fabric8.gerrit/summary: "[Gerrit](https://code.google.com/p/gerrit/) Web based\
        \ code review and project management for Git based projects"
      description: "Gerrit is a web based code review system, facilitating online\
        \ code reviews for projects using the Git version control system.\n\nGerrit\
        \ makes reviews easier by showing changes in a side-by-side display, and allowing\
        \ inline comments to be added by any reviewer.\n\nGerrit simplifies Git based\
        \ project maintainership by permitting any authorized user to submit changes\
        \ to the master Git repository, rather than requiring all approved changes\
        \ to be merged in by hand by the project maintainer. This functionality enables\
        \ a more centralized usage of Git.\n\n[https://www.gerritcodereview.com/](https://www.gerritcodereview.com/)"
      fabric8.gerrit/iconUrl: "https://cdn.rawgit.com/fabric8io/fabric8-devops/master/gerrit/src/main/fabric8/icon.png"
      fabric8.io/json-schema: "{\n  \"type\" : \"object\",\n  \"properties\" : {\n\
        \    \"GERRIT_ADMIN_PWD\" : {\n      \"type\" : \"string\",\n      \"description\"\
        \ : \"Admin password\",\n      \"default\" : \"secret\"\n    },\n    \"GERRIT_INITIAL_COMMIT\"\
        \ : {\n      \"type\" : \"string\",\n      \"description\" : \"Parameter used\
        \ when the Gerrit Git repo is created using the DevOpsConnector. By default,\
        \ it is false as commits have already been done within gogs repo\",\n    \
        \  \"default\" : \"false\"\n    },\n    \"GERRIT_ADMIN_USER\" : {\n      \"\
        type\" : \"string\",\n      \"description\" : \"Admin user used to perform\
        \ operations on gerrit\",\n      \"default\" : \"admin\"\n    },\n    \"GERRIT_REPO_DESCRIPTION\"\
        \ : {\n      \"type\" : \"string\",\n      \"description\" : \"Description\
        \ ot add to the Gerrit Git repo created when a CD Project is created\",\n\
        \      \"default\" : \"Description of the gerrit git repo\"\n    }\n  }\n}"
    finalizers: []
    labels:
      provider: "fabric8"
      project: "gerrit"
      version: "2.2.297"
      group: "io.fabric8.devops.apps"
    name: "gerrit"
    ownerReferences: []
  data:
    gerrit-initial-commit: "false"
    gerrit-admin-pwd: "RedHat$1"
    gerrit-admin-user: "gerritadmin"
    gerrit-repo-description: "Description of the gerrit git repo"
- apiVersion: "extensions/v1beta1"
  kind: "Deployment"
  metadata:
    annotations:
      fabric8.io/iconUrl: "https://cdn.rawgit.com/fabric8io/fabric8-devops/master/gerrit/src/main/fabric8/icon.png"
      fabric8.io/git-commit: "0958d61020835b9707536cc0525344fc30a764dd"
      fabric8.io/metrics-path: "dashboard/file/kubernetes-pods.json/?var-project=gerrit&var-version=2.2.297"
      fabric8.io/build-id: "4"
      fabric8.io/build-url: "http://jenkins.ux.fabric8.io/job/oss-parent/4"
      fabric8.io/git-branch: "release-v2.2.297"
      fabric8.io/git-url: "http://gogs.ux.fabric8.io/gogsadmin/oss-parent/commit/0958d61020835b9707536cc0525344fc30a764dd"
    finalizers: []
    labels:
      provider: "fabric8"
      project: "gerrit"
      version: "2.2.297"
      group: "io.fabric8.devops.apps"
    name: "gerrit"
    ownerReferences: []
  spec:
    replicas: 1
    selector:
      matchExpressions: []
      matchLabels:
        provider: "fabric8"
        project: "gerrit"
        group: "io.fabric8.devops.apps"
    template:
      metadata:
        annotations:
          fabric8.io/git-commit: "0958d61020835b9707536cc0525344fc30a764dd"
          fabric8.io/secret-ssh-key: "gerrit-admin-ssh"
          fabric8.io/metrics-path: "dashboard/file/kubernetes-pods.json/?var-project=gerrit&var-version=2.2.297"
          fabric8.io/build-id: "4"
          fabric8.io/build-url: "http://jenkins.ux.fabric8.io/job/oss-parent/4"
          fabric8.io/iconUrl: "https://cdn.rawgit.com/fabric8io/fabric8-devops/master/gerrit/src/main/fabric8/icon.png"
          fabric8.io/git-branch: "release-v2.2.297"
          fabric8.io/git-url: "http://gogs.ux.fabric8.io/gogsadmin/oss-parent/commit/0958d61020835b9707536cc0525344fc30a764dd"
          fabric8.io/secret-ssh-public-key: "gerrit-users-ssh-keys[id-jenkins-rsa.pub,id-sonar-rsa.pub]"
        finalizers: []
        labels:
          provider: "fabric8"
          project: "gerrit"
          version: "2.2.297"
          group: "io.fabric8.devops.apps"
        ownerReferences: []
      spec:
        containers:
        - args: []
          command: []
          env:
          - name: "GERRIT_PUBLIC_KEYS_PATH"
            value: "/home/gerrit/ssh-keys"
          - name: "GIT_SERVER_PASSWORD"
            value: "RedHat$1"
          - name: "GERRIT_ADMIN_FULLNAME"
            value: "Administrator"
          - name: "GERRIT_ACCOUNTS"
            value: "jenkins,jenkins,jenkins@fabric8.io,secret,Non-Interactive Users:Administrators;sonar,sonar,sonar@fabric8.io,secret,Non-Interactive\
              \ Users"
          - name: "GERRIT_ADMIN_USER"
            valueFrom:
              configMapKeyRef:
                key: "gerrit-admin-user"
                name: "gerrit"
          - name: "GIT_SERVER_IP"
            value: "gogs.${namespace}.svc.cluster.local"
          - name: "GERRIT_ADMIN_PRIVATE_KEY"
            value: "/root/.ssh/id_rsa"
          - name: "GERRIT_REPO_DESCRIPTION"
            valueFrom:
              configMapKeyRef:
                key: "gerrit-repo-description"
                name: "gerrit"
          - name: "GERRIT_SSH_PATH"
            value: "/root/.ssh"
          - name: "GERRIT_ADMIN_EMAIL"
            value<EMAIL_ADDRESS>          - name: "GERRIT_GIT_REMOTEPATH"
            value: "ssh://admin@localhost:29418/All-Projects"
          - name: "GIT_SERVER_PROJ_ROOT"
            value: "gogsadmin"
          - name: "GERRIT_ADMIN_PWD"
            valueFrom:
              configMapKeyRef:
                key: "gerrit-admin-pwd"
                name: "gerrit"
          - name: "GERRIT_GIT_PROJECT_CONFIG"
            value: "/home/gerrit/configs/project.config"
          - name: "GIT_SERVER_PORT"
            value: "80"
          - name: "GERRIT_INITIAL_COMMIT"
            valueFrom:
              configMapKeyRef:
                key: "gerrit-initial-commit"
                name: "gerrit"
          - name: "GERRIT_USER_PUBLIC_KEY_SUFFIX"
            value: "-rsa.pub"
          - name: "GIT_SERVER_USER"
            value: "gogsadmin"
          - name: "GERRIT_GIT_LOCALPATH"
            value: "/home/gerrit/git"
          - name: "GERRIT_USER_PUBLIC_KEY_PREFIX"
            value: "id-"
          - name: "AUTH_TYPE"
            value: "DEVELOPMENT_BECOME_ANY_ACCOUNT"
          - name: "KUBERNETES_NAMESPACE"
            valueFrom:
              fieldRef:
                fieldPath: "metadata.namespace"
          image: "fabric8/gerrit:2.2.297"
          imagePullPolicy: "IfNotPresent"
          name: "gerrit"
          ports:
          - containerPort: 8080
            name: "http"
          resources:
            limits:
              cpu: "0"
              memory: "0"
            requests:
              cpu: "0"
              memory: "0"
          volumeMounts:
          - mountPath: "/root/.ssh"
            name: "gerrit-admin-ssh-key"
            readOnly: false
          - mountPath: "/home/gerrit/ssh-keys"
            name: "gerrit-users-ssh-keys"
            readOnly: false
        imagePullSecrets: []
        nodeSelector: {}
        serviceAccountName: "gerrit"
        volumes:
        - name: "gerrit-admin-ssh-key"
          secret:
            items: []
            secretName: "gerrit-admin-ssh"
        - name: "gerrit-users-ssh-keys"
          secret:
            items: []
            secretName: "gerrit-users-ssh-keys"

The issue is that the gerrit ssh keys aren't being generated.  We have a gofabric8 secrets command that will generate these keys on OpenShift https://github.com/fabric8io/gofabric8/blob/master/cmds/secrets.go#L106
The command looks at the installed OpenShift templates and checks for an annotation as to whether it should generate the keys.  http://fabric8.io/guide/secretAnnotations.html#ssh-keys
I think we need to update gofabric8 secrets so that it runs on kubernetes and checks the installed catalog configmaps to see if we need to generate the secrets.

wonder if we should look at using gofabric8 secrets as an init container for gerrit?

yeah thats a much better idea.  I can have a go at that now.


Better Destructuring Syntax

There are many ways that destructuring syntax and semantics can be improved in YAMLScript.
Here's a start:
+{a b c} =: d
+[a b* c] =: d

we have this now which goes a long way...
a b c =: foo()


Clean up MapMatching.java

Cleaned up MapMatching.java and moved code from offline_map_matching branch-1.0 to separate package.

As many changes are also regarding code formatting, would you mind to check this. Or probably we should apply the new code formatting to the whole project at a later point?

As many changes are also regarding code formatting, would you mind to check this. Or probably we should apply the new code formatting to the whole project at a later point?

I didn't realize before that the Graphhopper code formatting rules were so recent. However, I think that the tabs I accidentally inserted in #66 should definitely be converted to spaces because mixing tabs and spaces is really bad.
If you prefer I can undo the line break changes. However, I only changed MapMatching.java, which should cause no trouble with pending pull requests and you can still apply the new code formatting to the whole project later.

Thanks!

However, I only changed MapMatching.java, which should cause no trouble with pending pull requests and you can still apply the new code formatting to the whole project later.

yes, ok


Cleanup format arguments

Inlined format args make code more readable, and code more compact. Also, in some cases when format is called with a reference instead of a value (i.e. internally it becomes double reference). These cases cause ~6% performance delay due to dynamic dispatch that Rust cannot currently handle properly.
I ran this clippy command to fix most cases, and then cleaned up a few trailing commas and uncaught edge cases.
cargo clippy --bins --examples  --benches --tests --lib --workspace --fix -- -A clippy::all -W clippy::uninlined_format_args

Much appreciated, thanks!


Adding aliases when registering index

Hello, I want to add a feature to include "Aliases" when creating index. By default when index is created alias is blank. Its needed to assign Index Lifecycle Policies to index (Its assignable only when index has an alias/aliases).
Targeting:

netstandard2.0
net461

Implemented


Exception thrown when parsing URI without "@"

Recently had some test failures caused by smart_open.smart_open. I'm pretty sure this is due to the pull requests that were accepted from Issue 94 and this line.
Here is the traceback from Jenkins:
        # Common URI template [secret:key@][host[:port]@]bucket/object
        try:
            uri = parsed_uri.netloc + parsed_uri.path
            # Separate authentication from URI if exist
            if ':' in uri.split('@')[0]:
>               auth, uri = uri.split('@', 1)
E               ValueError: not enough values to unpack (expected 2, got 1)

In my instance this variable:
uri = parsed_uri.netloc + parsed_uri.path
contains no @ symbol but does contain :
Thus there aren't enough values to unpack on the split:
uri = 'our-bucket/our/lengthy/file_path/with/a/date/in/it/2018:08:01'

if ":" in uri.split('@')[0]:
    auth, uri = uri.split('@', 1)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-58-fc3bf5a8bea2> in <module>()
      1 if ":" in uri.split('@')[0]:
----> 2     auth, uri = uri.split('@', 1)

ValueError: not enough values to unpack (expected 2, got 1)

Should I submit a PR?
I think all that might need to be done is:
if ":" in uri.split('@')[0]:  ---> if ":" in uri.split('@')[0] and '@' in uri:

@rileypeterson hello, submit PR are the pretty good idea :+1:

Don't forget to include a unit test (fails before, passes after), to avoid regressions.

Here is the PR

Fixed by #235


App window still visible on capture

When you click to either capture a screenshot or a GIF, the window is destroyed but doesn't disappear quick enough so it stays on the screenshot. Guessing the X screen needs to be refreshed somehow or something like that. Tried adding a delay before screen capture starts but didn't work.

Fixed with commit 69093c6abad00874f9e16b5dcc999813ec47cc11, have not tested if fixes #3 yet.


Cannot resolve from repository

Hello,
I used the following in my sbt file, but could not get them to resolve
resolvers += "Element Releases" at "http://repo.element.hr/nexus/content/repositories/releases/"

addSbtPlugin("hr.element.xsbt" % "xsbt-sh" % "0.1.0")

Checking at the website, I cannot find any xsbt-sh sub-directory at http://repo.element.hr/nexus/content/repositories/releases/hr/element/
Do I need to use a different syntax, e.g.
addSbtPlugin("hr.element.xsbt" % "xsbt" % "0.13")

Hey, just use "0.0.2" for now.
I'll publish "0.1.0" to Sonatype today so that we don't need to add the custom resolver

Yesterday was today, so I published to BinTray. You should now be able to resolve without adding any custom repositories:
addSbtPlugin("com.oradian.sbt" % "sbt-sh" % "0.1.0")


[dict.cc] feat: Play audio support

Description
Add an action menu option that allows to play the translation pronunciation audio.
Changes added to the source library https://github.com/natterstefan/dictcc/pull/44.
Thanks @natterstefan for your support in the previous PR :)
Screencast
(Please turn on audio)
https://user-images.githubusercontent.com/27580836/217369631-6da14336-38ba-43e1-b231-367efab9c3d5.mov
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

There is no such property called targetTranslationAudioUrl according to node_modules/dictcc/dist/cjs/types.d.ts - is there a newer version that contains that @sjdonado?

Hi @pernielsentikaer,
I still have to deploy an update of dictcc (see https://github.com/natterstefan/dictcc/pull/44). This PR depends on that, and I think @sjdonado used his local version that works compared to the one you see here.
I will let you know when it's published.

Awesome, thanks for the explanation 🔥

Hi @sjdonado @pernielsentikaer.
A new version of dictcc (https://www.npmjs.com/package/dictcc) was just published. Please, update it @sjdonado accordingly, and then you can review it again, @pernielsentikaer.
Have a nice day you two.

@pernielsentikaer package.json updated accordingly, and all checks green :)

@pernielsentikaer Do I have to review it as the author of the extension as well?

If you like, sure - if you deny it we might drop it 😉

Congrats and thank you @sjdonado!


(maint) Use Puppet 3.8 gems

Puppet 3.8 gems were released as Puppet 3.8.1. Use those for testing,
rather than git.

Looks like there's a file named -!


deploy svc genai2

Testing

Ran Plan for 2 projects:

dir: deployment/service/ols-svc-genai workspace: default
dir: deployment/service/ols-svc-genai2 workspace: default

1. dir: deployment/service/ols-svc-genai workspace: default
Plan Error
Show Output
running "/usr/bin/terraform plan -input=false -refresh -out \"/home/atlantis/.atlantis/repos/blastcoid/ols_iac/1/default/deployment/service/ols-svc-genai/default.tfplan\"" in "/home/atlantis/.atlantis/repos/blastcoid/ols_iac/1/default/deployment/service/ols-svc-genai": exit status 1
data.terraform_remote_state.kms_cryptokey: Reading...
data.terraform_remote_state.kms_cryptokey: Read complete after 0s
module.argocd_app.data.terraform_remote_state.dns_blast: Reading...
module.github_repository.github_repository.repository[0]: Refreshing state... [id=ols_svc_genai]
module.argocd_app.data.terraform_remote_state.dns_blast: Read complete after 0s
data.google_secret_manager_secret_version.ssh_key: Reading...
data.google_kms_secret.secrets["docker_password"]: Reading...
module.workload_identity.google_service_account.gsa: Refreshing state<EMAIL_ADDRESS>data.google_kms_secret.secrets["docker_username"]: Reading...
module.argocd_app.helm_release.helm: Refreshing state... [id=ols-genai]
module.artifact_repository.google_artifact_registry_repository.repository: Refreshing state... [id=projects/ols-platform-dev/locations/asia-southeast2/repositories/ols-dev-svc-genai]
data.google_kms_secret.secrets["docker_username"]: Read complete after 0s [id=projects/ols-platform-dev/locations/global/keyRings/ols-dev-security-kms-keyring/cryptoKeys/ols-dev-security-kms-cryptokey:CiQAyKnBR7+P3pkXtpi11XDmQcmho0J4gtUJx8amJdMjFBiLUPkSMwCfAnYWtbnTYYOt+fkQc3hGoBr/N0xLkzSSd4qzeaANVpXz9VJbTxg33NvP4Z9uzWem5w==]
module.workload_identity.google_project_iam_member.sa_iam: Refreshing state<EMAIL_ADDRESS>module.workload_identity.google_service_account_iam_binding.workload_identity_binding: Refreshing state<EMAIL_ADDRESS>data.google_kms_secret.secrets["docker_password"]: Read complete after 0s [id=projects/ols-platform-dev/locations/global/keyRings/ols-dev-security-kms-keyring/cryptoKeys/ols-dev-security-kms-cryptokey:CiQAyKnBRwF8Q2h8ujLXzsvY76oEVcHLae97K3cDR06566QAPXUSMgCfAnYWA8hibTWs+qq85WYNz8GVDz4YS1BHt29SG86ULxwVyOCsAlhmgNjIL41ngjEi]
data.google_secret_manager_secret_version.ssh_key: Read complete after 0s [id=projects/687148684055/secrets/ssh-key-main/versions/1]
module.github_repository.github_team_repository.team_repo["devops"]: Refreshing state... [id=8496811:ols_svc_genai]
module.github_repository.github_repository_environment.environment[0]: Refreshing state... [id=ols_svc_genai:ols_svc_genai_dev]
module.github_repository.github_branch.dev[0]: Refreshing state... [id=ols_svc_genai:dev]
module.github_repository.github_team_repository.team_repo["technology"]: Refreshing state... [id=8496808:ols_svc_genai]
module.github_repository.github_actions_environment_secret.test_secret["GIT_SSH_PRIVATE_KEY"]: Refreshing state... [id=ols_svc_genai:ols_svc_genai_dev:GIT_SSH_PRIVATE_KEY]
module.github_repository.github_actions_environment_secret.test_secret["docker_password"]: Refreshing state... [id=ols_svc_genai:ols_svc_genai_dev:docker_password]
module.github_repository.github_actions_environment_secret.test_secret["docker_username"]: Refreshing state... [id=ols_svc_genai:ols_svc_genai_dev:docker_username]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform planned the following actions, but then encountered a problem:

  # module.github_repository.github_branch.dev[0] will be created
  + resource "github_branch" "dev" {
      + branch        = "dev"
      + etag          = (known after apply)
      + id            = (known after apply)
      + ref           = (known after apply)
      + repository    = "ols_svc_genai"
      + sha           = (known after apply)
      + source_branch = "main"
      + source_sha    = (known after apply)
    }

  # module.github_repository.github_repository.repository[0] will be updated in-place
  ~ resource "github_repository" "repository" {
      ~ allow_merge_commit                      = false -> true
      ~ allow_rebase_merge                      = false -> true
      ~ allow_squash_merge                      = false -> true
        id                                      = "ols_svc_genai"
      + merge_commit_message                    = "PR_TITLE"
      + merge_commit_title                      = "MERGE_MESSAGE"
        name                                    = "ols_svc_genai"
      + squash_merge_commit_message             = "COMMIT_MESSAGES"
      + squash_merge_commit_title               = "COMMIT_OR_PR_TITLE"
      ~ vulnerability_alerts                    = false -> true
        # (29 unchanged attributes hidden)

      + security_and_analysis {
          + secret_scanning {
              + status = "enabled"
            }
          + secret_scanning_push_protection {
              + status = "enabled"
            }
        }
    }

  # module.github_repository.github_repository_environment.environment[0] will be created
  + resource "github_repository_environment" "environment" {
      + environment = "ols_svc_genai_dev"
      + id          = (known after apply)
      + repository  = "ols_svc_genai"
    }

Plan: 2 to add, 1 to change, 0 to destroy.
╷
│ Error: this resource can only be used in the context of an organization, "" is a user
│
│   with module.github_repository.github_team_repository.team_repo["technology"],
│   on ../../../modules/github/repository/repository.tf line 171, in resource "github_team_repository" "team_repo":
│  171: resource "github_team_repository" "team_repo" {
│
╵
╷
│ Error: this resource can only be used in the context of an organization, "" is a user
│
│   with module.github_repository.github_team_repository.team_repo["devops"],
│   on ../../../modules/github/repository/repository.tf line 171, in resource "github_team_repository" "team_repo":
│  171: resource "github_team_repository" "team_repo" {
│
╵
╷
│ Error: GET https://api.github.com/repos//ols_svc_genai: 404 Not Found []
│
│   with module.github_repository.github_actions_environment_secret.test_secret["docker_username"],
│   on ../../../modules/github/repository/repository.tf line 209, in resource "github_actions_environment_secret" "test_secret":
│  209: resource "github_actions_environment_secret" "test_secret" {
│
╵
╷
│ Error: GET https://api.github.com/repos//ols_svc_genai: 404 Not Found []
│
│   with module.github_repository.github_actions_environment_secret.test_secret["docker_password"],
│   on ../../../modules/github/repository/repository.tf line 209, in resource "github_actions_environment_secret" "test_secret":
│  209: resource "github_actions_environment_secret" "test_secret" {
│
╵
╷
│ Error: GET https://api.github.com/repos//ols_svc_genai: 404 Not Found []
│
│   with module.github_repository.github_actions_environment_secret.test_secret["GIT_SSH_PRIVATE_KEY"],
│   on ../../../modules/github/repository/repository.tf line 209, in resource "github_actions_environment_secret" "test_secret":
│  209: resource "github_actions_environment_secret" "test_secret" {
│
╵

2. dir: deployment/service/ols-svc-genai2 workspace: default
Plan Error
Show Output
running "/usr/bin/terraform plan -input=false -refresh -out \"/home/atlantis/.atlantis/repos/blastcoid/ols_iac/1/default/deployment/service/ols-svc-genai2/default.tfplan\"" in "/home/atlantis/.atlantis/repos/blastcoid/ols_iac/1/default/deployment/service/ols-svc-genai2": exit status 1
data.terraform_remote_state.kms_cryptokey: Reading...
data.terraform_remote_state.kms_cryptokey: Read complete after 0s
module.argocd_app.data.terraform_remote_state.dns_blast: Reading...
module.argocd_app.data.terraform_remote_state.dns_blast: Read complete after 0s
data.google_kms_secret.secrets["docker_username"]: Reading...
data.google_secret_manager_secret_version.ssh_key: Reading...
data.google_kms_secret.secrets["docker_password"]: Reading...
data.google_kms_secret.secrets["docker_username"]: Read complete after 1s [id=projects/ols-platform-dev/locations/global/keyRings/ols-dev-security-kms-keyring/cryptoKeys/ols-dev-security-kms-cryptokey:CiQAyKnBR7+P3pkXtpi11XDmQcmho0J4gtUJx8amJdMjFBiLUPkSMwCfAnYWtbnTYYOt+fkQc3hGoBr/N0xLkzSSd4qzeaANVpXz9VJbTxg33NvP4Z9uzWem5w==]
data.google_kms_secret.secrets["docker_password"]: Read complete after 1s [id=projects/ols-platform-dev/locations/global/keyRings/ols-dev-security-kms-keyring/cryptoKeys/ols-dev-security-kms-cryptokey:CiQAyKnBRwF8Q2h8ujLXzsvY76oEVcHLae97K3cDR06566QAPXUSMgCfAnYWA8hibTWs+qq85WYNz8GVDz4YS1BHt29SG86ULxwVyOCsAlhmgNjIL41ngjEi]
data.google_secret_manager_secret_version.ssh_key: Read complete after 1s [id=projects/687148684055/secrets/ssh-key-main/versions/1]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform planned the following actions, but then encountered a problem:

  # module.artifact_repository.google_artifact_registry_repository.repository will be created
  + resource "google_artifact_registry_repository" "repository" {
      + cleanup_policy_dry_run = false
      + create_time            = (known after apply)
      + description            = "This is the repository for ols-dev-svc-genai2 service"
      + format                 = "DOCKER"
      + id                     = (known after apply)
      + location               = "asia-southeast2"
      + mode                   = "STANDARD_REPOSITORY"
      + name                   = (known after apply)
      + project                = (known after apply)
      + repository_id          = "ols-dev-svc-genai2"
      + update_time            = (known after apply)

      + cleanup_policies {
          + action = "DELETE"
          + id     = "delete-prerelease"

          + condition {
              + older_than            = "2592000s"
              + package_name_prefixes = []
              + tag_prefixes          = []
              + tag_state             = "TAGGED"
              + version_name_prefixes = []
            }
        }
      + cleanup_policies {
          + action = "KEEP"
          + id     = "keep-tagged-release"

          + condition {
              + package_name_prefixes = [
                  + "ols-dev-svc-genai2",
                ]
              + tag_prefixes          = [
                  + "release",
                ]
              + tag_state             = "TAGGED"
              + version_name_prefixes = []
            }
        }
      + cleanup_policies {
          + action = "KEEP"
          + id     = "keep-minimum-versions"

          + most_recent_versions {
              + keep_count            = 5
              + package_name_prefixes = [
                  + "ols-dev-svc-genai2",
                ]
            }
        }
    }

  # module.github_repository.github_actions_environment_secret.test_secret["GIT_SSH_PRIVATE_KEY"] will be created
  + resource "github_actions_environment_secret" "test_secret" {
      + created_at      = (known after apply)
      + environment     = "ols_svc_genai2_dev"
      + id              = (known after apply)
      + plaintext_value = (sensitive value)
      + repository      = "ols_svc_genai2"
      + secret_name     = "GIT_SSH_PRIVATE_KEY"
      + updated_at      = (known after apply)
    }

  # module.github_repository.github_actions_environment_secret.test_secret["docker_password"] will be created
  + resource "github_actions_environment_secret" "test_secret" {
      + created_at      = (known after apply)
      + environment     = "ols_svc_genai2_dev"
      + id              = (known after apply)
      + plaintext_value = (sensitive value)
      + repository      = "ols_svc_genai2"
      + secret_name     = "docker_password"
      + updated_at      = (known after apply)
    }

  # module.github_repository.github_actions_environment_secret.test_secret["docker_username"] will be created
  + resource "github_actions_environment_secret" "test_secret" {
      + created_at      = (known after apply)
      + environment     = "ols_svc_genai2_dev"
      + id              = (known after apply)
      + plaintext_value = (sensitive value)
      + repository      = "ols_svc_genai2"
      + secret_name     = "docker_username"
      + updated_at      = (known after apply)
    }

  # module.github_repository.github_branch.dev[0] will be created
  + resource "github_branch" "dev" {
      + branch        = "dev"
      + etag          = (known after apply)
      + id            = (known after apply)
      + ref           = (known after apply)
      + repository    = "ols_svc_genai2"
      + sha           = (known after apply)
      + source_branch = "main"
      + source_sha    = (known after apply)
    }

  # module.github_repository.github_repository.repository[0] will be created
  + resource "github_repository" "repository" {
      + allow_auto_merge                        = false
      + allow_merge_commit                      = true
      + allow_rebase_merge                      = true
      + allow_squash_merge                      = true
      + allow_update_branch                     = false
      + archive_on_destroy                      = false
      + archived                                = false
      + auto_init                               = true
      + default_branch                          = (known after apply)
      + delete_branch_on_merge                  = false
      + description                             = "This is the repository for ols_genai2"
      + etag                                    = (known after apply)
      + full_name                               = (known after apply)
      + git_clone_url                           = (known after apply)
      + has_discussions                         = true
      + has_downloads                           = false
      + has_issues                              = true
      + has_projects                            = true
      + has_wiki                                = true
      + homepage_url                            = "false"
      + html_url                                = (known after apply)
      + http_clone_url                          = (known after apply)
      + id                                      = (known after apply)
      + ignore_vulnerability_alerts_during_read = false
      + is_template                             = false
      + license_template                        = "apache-2.0"
      + merge_commit_message                    = "PR_TITLE"
      + merge_commit_title                      = "MERGE_MESSAGE"
      + name                                    = "ols_svc_genai2"
      + node_id                                 = (known after apply)
      + primary_language                        = (known after apply)
      + private                                 = (known after apply)
      + repo_id                                 = (known after apply)
      + squash_merge_commit_message             = "COMMIT_MESSAGES"
      + squash_merge_commit_title               = "COMMIT_OR_PR_TITLE"
      + ssh_clone_url                           = (known after apply)
      + svn_url                                 = (known after apply)
      + topics                                  = [
          + "argocd",
          + "docker",
          + "fastapi",
          + "gcp",
          + "kubernetes",
          + "openai",
          + "python",
          + "service",
        ]
      + visibility                              = "public"
      + vulnerability_alerts                    = true

      + security_and_analysis {
          + secret_scanning {
              + status = "enabled"
            }
          + secret_scanning_push_protection {
              + status = "enabled"
            }
        }
    }

  # module.github_repository.github_repository_environment.environment[0] will be created
  + resource "github_repository_environment" "environment" {
      + environment = "ols_svc_genai2_dev"
      + id          = (known after apply)
      + repository  = "ols_svc_genai2"
    }

  # module.github_repository.github_team_repository.team_repo["devops"] will be created
  + resource "github_team_repository" "team_repo" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "triage"
      + repository = "ols_svc_genai2"
      + team_id    = "devops"
    }

  # module.github_repository.github_team_repository.team_repo["technology"] will be created
  + resource "github_team_repository" "team_repo" {
      + etag       = (known after apply)
      + id         = (known after apply)
      + permission = "pull"
      + repository = "ols_svc_genai2"
      + team_id    = "technology"
    }

  # module.workload_identity.google_project_iam_member.sa_iam will be created
  + resource "google_project_iam_member" "sa_iam" {
      + etag    = (known after apply)
      + id      = (known after apply)
      + member  = (known after apply)
      + project = "ols-platform-dev"
      + role    = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
    }

  # module.workload_identity.google_service_account.gsa will be created
  + resource "google_service_account" "gsa" {
      + account_id   = "ols-svc-genai2"
      + disabled     = false
      + display_name = "Service Account for ols-svc-genai2 service"
      + email        = (known after apply)
      + id           = (known after apply)
      + member       = (known after apply)
      + name         = (known after apply)
      + project      = "ols-platform-dev"
      + unique_id    = (known after apply)
    }

  # module.workload_identity.google_service_account_iam_binding.workload_identity_binding will be created
  + resource "google_service_account_iam_binding" "workload_identity_binding" {
      + etag               = (known after apply)
      + id                 = (known after apply)
      + members            = [
          + "serviceAccount:ols-platform-dev.svc.id.goog[dev/ols-svc-genai2]",
        ]
      + role               = "roles/iam.workloadIdentityUser"
      + service_account_id = (known after apply)
    }

Plan: 12 to add, 0 to change, 0 to destroy.
╷
│ Error: Invalid function argument
│
│   on ../../../modules/cicd/helm/helm.tf line 78, in resource "helm_release" "helm":
│   77:     "${templatefile(
│   78:       "${replace(local.feature, "-", "_")}/values.yaml",
│   79:       {
│   80:         service_account_name       = var.service_account_name
│   81:         unit                       = split("-", var.service_account_name)[0]
│   82:         code                       = split("-", var.service_account_name)[2]
│   83:         env                        = var.env
│   84:         feature                    = local.feature
│   85:         dns_name                   = var.dns_name
│   86:         service_account_annotation = var.create_service_account ? google_service_account.gsa[0].email : null
│   87:         extra_vars          = var.extra_vars
│   88:       }
│   89:       )
│     ├────────────────
│     │ while calling templatefile(path, vars)
│     │ local.feature is "genai2"
│
│ Invalid value for "path" parameter: no file exists at "genai2/values.yaml";
│ this function works only with files that are distributed as part of the
│ configuration source code, so if this file will be created by a resource in
│ this configuration you must instead obtain this result from an attribute of
│ that resource.
╵

:fast_forward: To apply all unapplied plans from this pull request, comment:

atlantis apply

:put_litter_in_its_place: To delete all plans and locks for the PR, comment:

atlantis unlock

atlantis plan


Update README.md

update link to our own actions

Content not updated to match our project. README has been updated with later PR.


Endpoint to update a todo item

Endpoint to update a todo item
Create an endpoint in FastAPI-TODO/app/routes.py to update the data in a given todo item.

Hey, I am interested in this issue :)

You've been assigned this issue @RaulFernandezNavarro


fix issue #26 - Do not show increased file size alert if compression percantage equals zero

@Connum
Thank you very much!
All the best and good work!


Creating Openssl 3.0  fips.dll renamed to some other custom name . ex- custom_fips.dll

I am creating static libs for libcrypto.lib and libssl.lib and dll for fips module as fips.dll . I am experimneting on how to create fips.dll with custom name. I am kind of stuck at this step.
Steps done by  me :

cloned openssl repo .
perl Configure VC-WIN64A enable-fips enable-capieng --prefix=D:\outlibsopenssl\Modifiedopenssllibs\release  --openssldir=D:\outlibsopenssl\Modifiedopenssllibs\openssldir no-shared
nmake
nmake test
nmake install
Doing 5th step generates openssl libs and  fips.dll . We are experimenting on creating fips.dll with custom name.

Is loading of fips.dll controlled via openssl.cnf file ? Loadlibrary for fips.dll is called from libcrypto.lib ?

I think this would work.
fips.dll can either be loaded from openssl.cnf or via a library call.  The choice is up to you.
In both cases, some configuration is necessary to ensure the power up self tests execute properly.
The documentation covers this.

Hi @paulidale
Thanks for your response.   please bear with me if question is too basic. I have some doubt regarding this .
So just simply renaming the generated fips dll. let's say fips.dll as fips_test.dll and then using the same code as in ex:
OSSL_PROVIDER_set_default_search_path(NULL, "path to dll");
if (!OSSL_LIB_CTX_load_config(NULL, "path to openssl.cnf")) {
cout<<("err OSSL_LIB_CTX_load_config\n ");
}
fips = OSSL_PROVIDER_load(NULL, "fips");
//Or do we need to load dll using windows
LoadLibrary("path to dll with dll name");
"some configuration is necessary to ensure the power up self tests execute properly"-->
What configuration are you talking about in the above line ?
I didn't get much referenace about the renaming dll part from the above documenation shared. Can you point me to the exact part which talks about this.

fips = OSSL_PROVIDER_load(NULL, "fips");

The string that you pass is condsidered the module file name (without extension), so it directly translates to "fips.dll" in this case.  If you want to rename the DLL to "fips_test.dll", then you must also change this loading call to:
fips = OSSL_PROVIDER_load(NULL, "fips_test");

//Or do we need to load dll using windows
LoadLibrary("path to dll with dll name");

If you do that, that you must treat it as a built-in provider.  More or less this (I haven't tested):
module = LoadLibrary("fips_test.dll");
symbol = GetProcAddress(module, "OSSL_provider_init");
OSSL_PROVIDER_add_builtin(NULL, "fips_test", symbol);
OSSL_PROVIDER_load("fips_test");

As you can see, it would be rather pointless :wink:

All the above being said, if you specify it in a configuration file, with the correct DLL name, then you don't have to OSSL_PROVIDER_load(NULL, "fips_test");, as this should be done for you.

The documentation doesn't talk about renaming the FIPS module, 'cause that's not something we encourage.  However, the more generic configuration documentation does show you how you can specify the module name explicitly.  You would have to add this line in [fips_sect]:
identity = fips_test

That section is in the fipsmodule.cnf

Hi @levitte
Thank you for your response. It seems to answer all my questions. However, only one of the two ways suggested by you worked for me. I am not able to load fips_test.dll without changing the conf file. Mentioning the identity of the fips module in the conf file worked. However, if I do not do that and instead use the following call:
fips = OSSL_PROVIDER_load(NULL, "fips_test");
fips_test.dll is loaded and unloaded. The following error is logged:
98630000:error:1C8000D5:Provider routines:SELF_TEST_post:missing config data:providers\fips\self_test.c:354:
98630000:error:1C8000E0:Provider routines:ossl_set_error_state:fips module entering error state:providers\fips\self_test.c:464:
98630000:error:1C8000D8:Provider routines:OSSL_provider_init_int:self test post failure:providers\fips\fipsprov.c:751:
98630000:error:078C0105:common libcrypto routines:provider_init:init fail:crypto\provider_core.c:934:name=fips_test
This seems to be error of the hash mismatch which should not be the case because using identity = fips_test in cnf file works without any error for same dll.
Below is openssl.cnf and fipsmodule.cnf in non working case :
openssl.cnf
config_diagnostics = 1
openssl_conf = openssl_init
.include "D:\outlibsopenssl\SSL\fipsmodule.cnf"
[openssl_init]
providers = provider_sect
[provider_sect]
fips = fips_sect
base = base_sect
[base_sect]
activate = 1
fipsmodule.cnf
[fips_sect]
activate = 0
install-version = 1
conditional-errors = 1
security-checks = 1
tls1-prf-ems-check = 0
module-mac = F7:17:C3:6B:1C:1A:A8:DF:32:6A:0F:5D:35:52:98:BA:40:8E:3F:F0:85:F5:75:64:26:27:D4:8A:28:7D:F5:52

please suggest

Hi @levitte
Please suggest if i am doing anything wrong here .Refer my previous comment for details.

However, if I do not do that and instead use the following call:
fips = OSSL_PROVIDER_load(NULL, "fips_test");
fips_test.dll is loaded and unloaded. The following error is logged:

Yeah...  I had to refresh my memory on this.  The issue here is that the fips self test configuration (i.e. the contents of fips_sect) are only associated with the loaded FIPS module if it's loaded via config.  So the explicit load that you do that's failing is dissociated from the config data, and that's why it fails.

any suggestions on how to fix this ?

Actually, the fips_module(7) manual tells you multiple variants.  In summary, you don't get away from the configuration file, it's simply a must.  However, it's still possible to have it work in such a way that you can load programmatically: https://www.openssl.org/docs/man3.0/man7/fips_module.html#Programmatically-loading-the-FIPS-module-default-library-context

@levitte I am grateful for your help and prompt responses.
I am ok with using configuration file, but i just wanted to be sure about adding identity in fips_sect for new named fips module is must or their other ways to do it as well ? I think the link you shared talks about default activating fips module from cnf file or programmatically . it doesn't have much info about loading name changed fips_module programmatically.

You can add
[fips_sect]
identity = fips_test

To the main openssl.cnf file and it should work IMO.

... and activate = 0 if you want to load it programmatically.

Unfortunately I do not believe that will work. See provider_conf_load() - mere presence of activate value enables activation of the provider.

Dear @t8m and @levitte,
I wanted to thank you both for your suggestions. Your responses have been very helpful.
As @t8m mentioned, setting activate=0 did not help. However, removing the activate parameter altogether does delay the loading of the DLL until the OSSL_PROVIDER_load(NULL, "fips_test"); call is made.
We can now close this issue. Thank you both again for your help and guidance.


Avoiding a copy when instantiating an ArcIntern

As the API currently stands, it looks like the only way to initialize an ArcIntern is via new which takes a val: T. Would it be possible to instead make new take &T, and require T: Clone? That way, no additional copy would be necessary when the value being instantiated is already interned.
I have a gist for how this might work under the hood (looking up in the map for the appropriate value and only copying the Vec if necessary): https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=b380b64e7ef57499d612a0114e94170a
What do you think?

Problem is, we use DashMap,  not hashbrown, for scalability.  DashMap doesn't have an entry API that takes references, so a solution similar to your gist unfortunately won't work.

Ahh, interesting! Would you mind elaborating on this or pointing me in the direction of any docs you have?

we use DashMap, not hashbrown, for scalability

Here's the DashMap API: https://docs.rs/dashmap/4.0.2/dashmap/struct.DashMap.html
You can check out the source code for the new method in this repo to see how we use it.
If you are ok with a single-threaded API, you may want to try the (internment)[https://crates.io/crates/internment] crate, which supports a by-reference constructor for single-threaded interning.  In fact, internment supports both single-threaded and multi-threaded interners, and this crate is a fork of the latter.  I created the fork back in the day when internment had some correctness issues, but nowadays internment is probably a better choice, as it has a more scalable design.

Wouldn't it be possible to pass a &T to .get, which returns a Ref, and then call .key().clone() on that?
https://docs.rs/dashmap/4.0.2/dashmap/struct.DashMap.html#method.get
https://docs.rs/dashmap/4.0.2/src/dashmap/lib.rs.html#412-418
(it's only that Ref Derefs to V where the idea of "oh, we can only get a &V out of .get" comes from)

Also, for this, i'd like to have two APIs;
fn create<T: Clone>(&T) -> ArcIntern<T>;

fn find<T>(&T) -> Option<ArcIntern<T>>;

The first would try to search, before falling back on cloning and creating the ArcIntern, and the latter would just search and return a result if it finds one.

Wouldn't it be possible to pass a &T to .get, which returns a Ref, and then call .key().clone() on that?

If get returns Some, then the value has already been interned, and there's no need to clone.  But if it returns None, then we'll need to clone before performing an extra lookup (and extra locking), which may not always be the right tradeoff.

(it's only that Ref Derefs to V where the idea of "oh, we can only get a &V out of .get" comes from)
Also, for this, i'd like to have two APIs;
fn find_or_new<T: Clone>(&T) -> ArcIntern<T>;

fn find<T>(&T) -> Option<ArcIntern<T>>;

The first would try to search, before falling back on cloning and creating the ArcIntern, and the latter would just search and return a result if it finds one.

Although I've never encountered a scenario where the latter would be needed, I can see how it may be helpful.  Do you want to try submitting a PR?

I could try, yeah.


Add doc about cpp wasm extension development

Signed-off-by: Pengyuan Bian<EMAIL_ADDRESS>

cc @gargnupur please take a look thanks!

@mandarjog @kyessenov @gargnupur Any help on reviewing this? thanks!


[BUG]: MysqlViewBase issue PlanetScale

What version of drizzle-orm are you using?
0.23.2
Describe the Bug
I am trying to fetch some test data from PlanetScale but keep receiving:
TypeError: Cannot read properties of undefined (reading 'MySqlViewBase')
    at b.from (https://esm.sh/v113/drizzle-orm@0.23.2/deno/mysql-core/query-builders/select.js:2:2206)
    at Server.handler (file:///home/fightbulc/Development/ato/gunnebo-api-sandbox/src/main.ts:16:54)
    at Server.#respond (https://deno.land/std@0.178.0/http/server.ts:299:37)
    at Server.#serveHttp (https://deno.land/std@0.178.0/http/server.ts:346:20)

I am trying to fetch the data by using the Deno runtime. Fetching the data from PlanetScale without the drizzle wrapper works.
So it isn't a connection issue.
I have the following schema at PlanetScale:
CREATE TABLE `foo` (
    `id` int unsigned NOT NULL AUTO_INCREMENT,
    `name` varchar(255) DEFAULT NULL,
    PRIMARY KEY (`id`)
  ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci

The related code looks like this:
import planet from<EMAIL_ADDRESS>import core from<EMAIL_ADDRESS>import {connect, type Config} from "https://esm.sh/<EMAIL_ADDRESS>
export const fooTable = core.mysqlTable('foo', {
  id: core.int('id').autoincrement().primaryKey(),
  name: core.varchar('name', {length: 255}),
});

const config: Config = {
  host: '******',
  username: '********',
  password: '********'
};

const db = drizzle(connect(config));
const foo = await db.select().from(fooTable);

I used the following documentation:
https://github.com/drizzle-team/drizzle-orm/blob/main/drizzle-orm/src/mysql-core/README.md#connect-using-planetscale-serverless-client
Best
Tino

@fightbulc could you try updating to drizzle-orm@beta and drizzle-kit@db-push and test if the issue is still present?

@dankochetov I keep receiving the same issue. The drizzle version "beta" transforms to for me is: 0.23.5-65b5b5a.

I see that you're using Deno. I don't have a lot of experience with it, unfortunately. If you could provide a reproduction repo, it will help to debug this.

Maybe it's the "unsigned" id, drizzle doesn't support unsigned yet.

Maybe it's the "unsigned" id, drizzle doesn't support unsigned yet.

I can give this a try and see if that might be the issue.

I will close this issue since it can't be reproduced, and we already have support for unsigned ints. Feel free to reopen if it's still an issue


Beagleplay: adc102s051: Support missing

ti,adc102s051 support is missing in upstream linux kernel.
Though there was an attempt at https://lore.kernel.org/all/20220706180617.hkogg3znw7dceny6@going/
The series with the changes implemented: https://github.com/nmenon/linux-2.6-playground/commits/adc102s051-take3
I think is probably wrong. I suspect that the shift of data to account for device accuracy breaks the data read.
Have'nt had time to dig at this with a potentiometer and voltmeter to measure values more accurately.

I can check this.

Thanks


feat: port LinearAlgebra.Dfinsupp

Naming changes: theorems of the shape Dfinsupp.mapRange.xyz -> Dfinsupp.MapRange.xyz. That's how we do it, right? The according namespace is called MapRange, after all. Could have extracted that to a separate PR, I suppose, but it seems minor enough.

@LukasMias I think mapRange was correct. Note that it wasn't a namespace but only a section that was called MapRange. I think only this section name was wrong, and the rest was correct.

@LukasMias I think mapRange was correct. Note that it wasn't a namespace but only a section that was called MapRange. I think only this section name was wrong, and the rest was correct.

Ah, damn, I felt confirmed in my bias since most theorems of the shape "abc.def.ghi" have both the "abc" and the "def" part capitalized. But I understand better now. I'll make the fixes by tonight, if there's any hurry with this file then others are free to make the fixes on my behalf. Thank you!

bors r+