Add Japanese normalizer to cover Katakana to Hiragana

Pull Request
Related issue
Fixes #131
What does this PR do?

Add a new Normalizer for Japanese, which converts Katakana to Hiragana

# Limitations
Converting from Kanji is not supported
From #131:

... for instance, ダメ, is also spelled 駄目, or だめ
... wana_kana seems promising to convert everything in Hiragana

After some experiments and checking convert options, it seems like wana_kana does not support converting Kanji to Hiragana or Romaji. For example:

to_hiragana("ダメ駄目だめ") will be "だめ駄目だめ"
to_romaji("ダメ駄目だめ") will be "dame駄目dame"

PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

you seem to be 100% sure that this conversion will always keep the same length as the original character.

I only manually tested the mappings I found in the crate repo. To be more confident about the assertion, I searched the unit tests about to_hiragana and assert their len() unchanged, and all the tests still pass: https://github.com/PSeitz/wana_kana_rust/commit/805c9dee288989fb1eb5ce8083c79102f222ef89

@choznerol, in this case just ignore the char_map creation for the implementation of this Normalizer 👍


PGSQL support for RETURNING

(quite some time passed since https://github.com/laravel/ideas/issues/1090 …)
My use-case for RETURNING is mostly about getting back:

the primary key of newly inserted rows
or the primary key of the modified row (in case of DO UPDATE SET)

For DO NOTHING, RETURNING won't return anything for the non-INSERT case.
The goal is avoid having to run a separate query to know which rows where affected. I know I can run a separate query using an index (it's the base requirement for ON CONFLICT anyway), but I still rather avoid this for cases where a LOT of upserst / second can happen.
I've checked all my "upsert use-cases", and each of them takes advantage of this.
Would it in your opinion make sense to support this for PgSQL?
I don't use / can't comment on any support of this for other databases.
Looking at the sources in \Staudenmeir\LaravelUpsert\Query\Builder::upsert and \Staudenmeir\LaravelUpsert\Query\Builder::insertIgnore, it probably means:

adding a new optional parameter for the columns to return (can be more than one)
changing the signature of the method when such parameter is provdided

It would probably make more sense to introduce a new upsertReturning (and insertIgnoreReturning respectively), but I don't want to get ahead of things.
Thanks

Yeah, I agree that this would be really useful. I originally wanted to support all databases, but that's apparently not possible.
I'll work on an implementation.

I forgot to mention that WHERE is also something missing, as in
INSERT INTO …(…)
VALUES(…)
ON CONFLICT (…)
DO UPDATE SET …
WHERE …
RETURNING …

😬

I'll work on an implementation.

FTR, I did implement this in a (unfortunately) private codebase for now. It's a) not as featurefull and b) only Postgres
One interesting challenge I faced was that I already had custom ConncectionFactory in place (or to be more clear: the equivalent for customized Grammar and similar stuff for Postgres), which actually would have clashes with this approach: replacing the service with a enhanced version makes compositing different features (almost? quite?) impossible.
I opted for an approach where I just tried to get away with calling publicly available methods and and therefore provide the feature via a dedicated class, not part of any of the existing framework illuminate/database hierarchy.
This wasn't possible in all cases, that's why I created e.g. https://github.com/laravel/framework/pull/33953 so I don't have to duplicate logic what timestamps to update (it was reverted in 7.x but ultimately applied to 8.x). Though the code yet has to make use ofthis.
I tried to add WHERE support but faced the problem that I couldn't call \Illuminate\Database\Query\Grammars\Grammar::compileWheres from the outside, it's protected.
I didn't see a real pattern, there are quite some public compile* methods but also other protected ones.
Since I did not yet had to port existing code to use this nicer WHERE feature, I didn't make a move yet.

I did mention all this because:

ultimately, I likely cannot make use of this library due to this and wouldn't want anyone feeling like working on this for my issue when I already see I can't use it
wanted to share some experience regarding extendability of the Laravel framework
Personally I see Laravel very good in regards to being extendable as you can almost replace any part with your own, which however has downsides if multiple parties try to do this for different reasons.

Actually I figured since I already take time to write down my experience, there's no harm in sharing the code which basically is yours but transformed; I'm not to credit for anything here:
    /**
     * Version adapted from \Staudenmeir\LaravelUpsert\Query\Builder::upsert
     *
     * Note: can't use this version for cases when `WHERE` conditions would be required.
     * I tried to implement it, but I would need
     * `\Illuminate\Database\Query\Grammars\Grammar::compileWheres` to be public
     * to avoid extending the Grammar, which I rather would not do for this yet.
     *
     * (the referenced package does it but currently lacks the `RETURNING` feature)
     *
     * @param Builder $query
     * @param array<string,mixed> $values
     * @param array<string> $target
     * @param array<string,mixed> $update
     * @param array<string> $returning
     * @return array<stdClass>
     */
    public static function upsert(
        Builder $query,
        array $values,
        array $target,
        array $update,
        array $returning
    ): array {
        $grammar = $query->getGrammar();
        $connection = $query->getConnection();

        $sql = $grammar->compileInsert($query, $values);

        $sql .= ' ON CONFLICT (' . $grammar->columnize($target) . ')';

        if ($update) {
            $sql .= ' DO UPDATE SET ';

            $sql .= Collection
                ::make($update)
                ->map(fn ($value, $key) => $grammar->wrap($key) . ' = ' . $grammar->parameter($value))
                ->implode(', ');

            if ($returning) {
                $sql .= ' RETURNING ';

                $sql .= Collection
                    ::make($returning)
                    ->map(fn ($value) => $grammar->wrap($value))
                    ->implode(', ');
            }
        } else {
            $sql .= ' DO NOTHING';
        }

        $bindings = self::cleanBindings(
            array_merge(
                Arr::flatten($values, 1),
                Collection
                    ::make($update)
                    ->reject(fn ($value, $key) => is_int($key))
                    ->all(),
            )
        );

        return $connection->select($sql, $bindings);
    }

    /**
     * Remove all of the expressions from a list of bindings.
     *
     * @param array<mixed> $bindings
     * @return array<mixed>
     */
    protected static function cleanBindings(array $bindings): array
    {
        return array_values(
            array_filter(
                $bindings,
                fn ($binding) => !$binding instanceof Expression
            )
        );
    }

Interestingly, cleanBindings also couldn't be called from the builder as it's protected and the code would have benefited from it being publich. I guess I decided it wasn't worth it (for now) for what is ultimately a one-liner.
Btw, do you think the code attribution is "good enough" 🤔 Should it include more specifics than just the class reference?
Anyway, your code did help me come up with a better solution than I had before, so I tried my best to "give back" here.
Thank you!

not sure if its related to "PGSQL"
but at least what i saw that for PGSQL even if you want to update all fields you better add $update
its x times faster than leaving $update empty
$update = $model->getFillable();
upsert($data, $uniqueIdentifier, $update)

Closing, as I'm using my own solution


use env vars instead of pipeline due to secret not working

Problem
When running the pipeline following the described documentation (creating the library SDAF-DEV with ARM_CLIENT_SECRET) the shell scripts will fail with the following:
--- Validations ---
/home/vsts/work/_temp/797b59ab-def3-4170-837f-c38fd8a80ba5.sh: line 15: syntax error near unexpected token `)'
/home/vsts/work/_temp/797b59ab-def3-4170-837f-c38fd8a80ba5.sh: line 15: ` if [ ! -n *** ]; then'
##[error]Bash exited with code '2'.

Solution
Using the environment variables for shell scripts is advised by the documentations and resolves the issue we have for the  ARM_CLIENT_SECRET to prevent the value of the secret impacting the script
Tests
Run the02-sap-workload-zone.yaml pipeline
Notes
It only is a problem when inside the scripting
same as PR #171

@KimForss Now you require the PR to go into the experimental branch, but how to go from there? what is your timeline for main?

Plan is to do PRs every two weeks from experimental to main
Get Outlook for iOShttps://aka.ms/o0ukef

From: Erick Segaar @.>
Sent: Wednesday, June 15, 2022 12:19:24 PM
To: Azure/sap-automation @.>
Cc: Kimmo Forss @.>; Mention @.>
Subject: Re: [Azure/sap-automation] use env vars instead of pipeline due to secret not working (PR #186)
@KimForsshttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FKimForss&data=05|01|kimmo.forss%40microsoft.com|ae3643f8a85043d49af608da4eb023d3|72f988bf86f141af91ab2d7cd011db47|1|0|637908815704998770|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=yhEolsxoQTpWmCAQ5qIlmkUrfrvFow%2ByGDA8Yga8msw%3D&reserved=0 Now you require the PR to go into the experimental branch, but how to go from there? what is your timeline for main?
—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fsap-automation%2Fpull%2F186%23issuecomment-1156220798&data=05|01|kimmo.forss%40microsoft.com|ae3643f8a85043d49af608da4eb023d3|72f988bf86f141af91ab2d7cd011db47|1|0|637908815704998770|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=PXzzqCnOW%2BZ5TuV1LvpPu177rk3iKnJ4TEeFCxkIIuU%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAGCOMTHJFK7DFSQOVIS2OG3VPGNZZANCNFSM5Y2QEYHQ&data=05|01|kimmo.forss%40microsoft.com|ae3643f8a85043d49af608da4eb023d3|72f988bf86f141af91ab2d7cd011db47|1|0|637908815704998770|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=yhmvseOUnL6YqCF9x4AhAdJ38%2BfHR3oA8yMfACVjaRk%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

@KimForss ok then we can plan for that, however I just seen a change on main (link) coming through directly. So how do you manage that. When you want something directly in main and when in experimental. I was under the impression that you wanted everything in experimental and you do a PR once every 2 weeks into main. So pls explain to help me help you

Can you complete the PR merge, I will change the previous 01 pipeline as well where we used the quotes to use the environment vars aswell

Added the modifications to control-plane aswell and included the system where I found the same


Added Throttle Info for MR Jobs

Added new MR Job Throttled Info into GetJobs query to Infrastructure Service.  Updating SFX to read the value, which can help in providing customer information about Job Throttling -
https://msazure.visualstudio.com/One/_git/WindowsFabric/pullrequest/6344177

we can wrap this in a cluster version check

I added a function for checking version you can use https://github.com/microsoft/service-fabric-explorer/pull/763


CUDA state & plans

Current CUDA bottlenecks, bugs, plans etc:

Async flow controller isn't working properly, and should be thoroughly investigated.
TADs should be cached and reused, instead of calculating them in runtime. Probably worth adding TAD shape as argument to all corresponding methods, and manage cache from java side.
@AlexDBlack investigates optimal C/F order for mmul, but that's actually worth doing for all operations where it's possible to get to stride == 1
Registers use still a concern. Probably after we have tad removed it'll be better, but no guarantees there yet. So it looks that we'll have to split all kernels in to atomic kernels, without code branches. Also, registers use within shape.h should be thoroughly checked.
For LSTM impl main time consumers are pairwiseStridedT, broadcastT and reduceT calls.

Also, hybrid execution is still a concern.

I can confirm currently that we will be hitting some of the 'bad' mmuls (i.e., poor cuda mmul performance due to input array orders being poorly matched) in RNNs (notably ff->f mmuls). Not sure on MLPs; working on CNNs now with this in mind.

@AlexDBlack Don't forget about reductions too, we've discussed that yesterday. More calls with stride == 1 we have - the better performance we get.

@raver119 When you say "hybrid" are you talking about using both nd4j-native and nd4j-cuda-7.5 backends together?

Exactly. Even the most cool GPU has it's execution limits. And this means that on AWS you'll have plenty of CPU power which isn't used.

So far: @AlexDBlack confirmed passed gradient checks, however MLP example gives different results somehow.
Initial suspect for that behavior was declined, so issue is to be investigated.

So yea, to go below 1.9s shared memory and register use should be greatly decreased. Getting rid of TAD inside kernels will work fine for that. It'll reduce amount of required shared memory by ~216 bytes in case without device constant memory, and ~344 bytes in case of device constant memory use.

Minor fix needed: We create short-living buffers for dimensional data in operations. That has to be reconsidered.

 Need to be fixed asap.

Current profiler view:

@raver119 "For LSTM impl main time consumers are pairwiseStridedT, broadcastT and reduceT calls."
I think the pairwise stuff could be .dup('f')s from an existing f order; also some mulis, which should also be f .x f I think
broadcast is addiRowVector and muliRowVector on f order arrays, so in theory this should be fast here, if each thread operates on one column, and slow if it operates on the rows due to strides (reverse performance tradeoff for c order)
Reduce calls should all be sum(0) ops on f order arrays

no, dup('f') from existing f ordered array will be simple memcpy in D2D mode. That improvement was introduced few weeks ago.
Right now main issue here is shared memory and reigsters use within kernerls.

So, i've split reduce kernel into multiple "specialized" kernels. And memory consumption stays the same:
reduceFloat regs: [54], static shmem: [896]
reduceFloat1D regs: [54], static shmem: [896]
reduceFloat6D regs: [54], static shmem: [896]

So, here's current PTXAS output: https://gist.github.com/raver119/f05d8091afd41fa694f6bc71c989d7cb
Please note, 16 regs max was forced by me, and it's NOT a solution.

And here's "unbounded" PTXAS output, without forced registers limit: https://gist.github.com/raver119/e164bcf6a5a271ea654dc5936dd255a9

And here's the lastest profiler report:

@AlexDBlack so, according to latest profiler report: all reductions are along 1 dimension.

Only the functions with spill, sorted by spill loads
https://gist.github.com/eraly/e8a79444f838190d622c7d5a4c1cbef1

Since it's 2 days till release, this issue won't be considered closed even after latest changes pack merged, and will be carried over to next release.
So, current issues:

non-optimal code being generated for TAD class on gpu. That causes high registers use. I think that's mostly due to tad2sub. But further investigation required.
Launch params do no take registers used into account. Fast fix though.
Async executor is disabled by default. Sequential execution used instead.
Static shared memory footprint is still under investigation.

To be continued...

So, with full-cached TAD prototype on reduce only benchmarked RNN shows 1150 ms per iteration.
Major bottleneck now is 896 bytes of shared memory that's requested by compiler for yet unknown reason. I think it's time to look into PTX code.

Results from running examples (nd4j/libnd4j master)
*** FeedForward Examples ***

MNISTAnomalyExample: OK (scores and images)
MLPClassifierLinear: OK
MLPClassifierMoon: OK (scores, accuracy, plots)
MLPClassifierSaturn: OK (scores, accuracy, plots)
MLPMnistSingleLayerExample: OK (scores, accuracy)
MLPMnistTwoLayerExample:
RegressionMathFunctions:

*** RNN Examples ***

GravesLSTMCharModellingExample (40 minibatches): 	Significantly different scores but both seem to learn and give sensible results when sampling
Word2VecSentimentRNN: "java.lang.RuntimeException: Can't allocate [HOST] memory:<PHONE_NUMBER>". These are the word vectors, obviously (3 million words x 300 floats = 900m floats ~= 3600mb). xms/xmx 16G doesn't help
VideoClassificationExample - broken on nd4j-native too (mismatched shapes exception in sequence record reader)

*** CNN Example ***

LenetMnistExample: exception https://gist.github.com/AlexDBlack/9ce651e8f1162fb063aa4feb36694513

Gradient checks on CUDA
GradientCheckTests: 11 of 14 passing. Tests failing:

testGradientGravesLSTMEdgeCases and testGradientGravesBidirectionalLSTMEdgeCases: exception in GemmParams (also: nd4j-native)
testGradientCnnFfRnn: gradient check failure

CNNGradientCheckTests: all failing, including on @eraly's eraly_cuda branch
GradientCheckTestsComputationGraph: all passing
GradientCheckTestsMasking: exception in GemmParams (also: nd4j-native)

Among other planned fixes & improvements: reconsider summaryStats kernel, to make it work with default stack settings. Right now it's too hungry due to struct it uses internally.

Despite concat is blockwise now, it should be rewritten. It's not a proper kernel in any sense.

I'm closing this. We released rc3.9 a bit ago.


[google_maps_flutter] Background color for unloaded tiles

Use case
When using a dark style for the google map, a white background is being shown for the unloaded tiles.
Proposal
It would be a good idea to have at disposal a variable like backgroundColor defined in the MapConfiguration class which can be used to change the color for the unloaded tiles depending on the app theme.
I've seen that on android, there is a variable like this defined in the GoogleMapOptions class:
https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMapOptions#backgroundColor(java.lang.Integer)
Also for ios:
https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_map_view_options#a929091a8ea8a162385cf7f0dfe0a666f

@Gabarsolon
Thanks for the report. Can you take a look at this issue and check if it resembles your case or not ?

Hi, thanks for the response
The attached issue doesn't really resembled my case
There are situations when some tiles are loading and staying white for some miliseconds when moving around map
Or sometimes for tiles that are out of bounds

The simpliest solution, in my opinion, would be to change that backgroundColor variable

This is related to a common use case for https://github.com/flutter/flutter/issues/66207, which is avoiding flashes of white/light grey in dark mode.

Hello @stuartmorgan
I support this proposal, have you found a solution to this problem?
It is important to note that this problem is not caused by a problem when the map is created, but by the map not being loaded sufficiently. In other words, it can occur any number of times if the camera is moved long distances. For example, moving a camera from Tokyo to New York.
I am using cloudMapId and the style is null.
btw #66207 seems to have been closed.

Hello @stuartmorgan
I support this proposal, have you found a solution to this problem?

I'm not sure what the question is. This is a proposal to plumb an existing option through to Dart; I'm not aware of anything that needs a solution to be found here.

Sorry. I am not a native English speaker so my intentions may not be well understood.

I'm not sure what the question is.

Since #66207 is closed, I would like to ask if you have found a solution to the "flashes of white/light grey in dark mode" problem.

That issue is closed because the thing it was tracking—being able to set the map style during creation instead of asynchronously after creation—is fixed. That addressed one source of flashing in dark mode.
This issue tracks a different source of flashing, for which the solution is the feature described in the initial proposal.

That addressed one source of flashing in dark mode.

Understood. Thank you😌


Kettle only responds after turning on then off and on again

I have a smart kettle 2 pro and it works perfectly apart from this one issue.  I have to toggle on then off and it will respond as it should for a while,  I havent tested exactly how much time but im not sure why that first time i have to toggle it on off then on again to get it to work?

Well, you would have to provide some debug log so i can check if the connection is ok.

I enabled deep debug logs but nothing shows on the plugin logs screen some logs from the plugin show on the main log screen but not debug logs and also when the kettle does turn on and of nothing is shown on the main log screen

Please read the linked section carefully! For it to take effect you have to start homebridge in debug mode.

If i turned it on and waited for HomeKit to update naturally i could keep turning it on with nothing happening it doesnt actually turn the kettle on untill i turn it on then off then on again
Miotlogs.txt

The logs look fine, there are no connection errors or other issues. I guess this how the device behaves.
What is the exact device model of your device? It is usually written in the logs during startup so i can check the spec here https://www.merdok.org/miotspec/ to check how it behaves.

The device model must be wrong which you entered.

You must had a typo in the model as it indeed works:
https://www.merdok.org/miotspec/?model=yunmi.kettle.v19
It looks fine so I guess this is how the kettle behaves.
I actually want to also buy this kettle but I am waiting for the official Europe release. After I get it myself then I can validate if it works as expected.

Yeah sorry my error, im not to sure what you mean by this is how the kettle behaves? It turns on fine every time with the mi app.

Every device behaves differently, some need special handling which might be the case for the kettle. Without having access to the actual device it is hard to tell...

Ok thanks


[FZ Editor] Layout hotkeys label should fit the dialog.

Summary of the Pull Request
What is this about:
Changed margins of elements in the dialog, added wrapping to text labels.

What is include in the PR:
How does someone test / validate:
Quality Checklist

[x] Linked issue: #10306
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

The margin-right for the "name" (line 465) input is 2, whereas you used 12 for other controls. is that intentional?

The margin-right for the "name" (line 465) input is 2, whereas you used 12 for other controls. is that intentional?

Yes, that's intentional.
With 0 margin as it was before the input field goes beyond the scrollbar.

And with 12 it would remain too much space when the scrollbar is hidden. It doesn't look symmetrically.

So I decided to set the margin like this.


Dining philosophers problem

Add in guides/Logic

Hi I am going to work on this Issue.

@the-ethan-hunt Can I work on this issue?

Sure! assigned to @pbiswas101

Update: @pbiswas101 please work on this issue before working on other issues

@the-ethan-hunt sure!

Assigned to @pbiswas101


chore(RepresentationTheory): rename FdRep to FDRep

As discussed on Zulip

After the declaration of FDRep, you should add the line @[deprecated (since := "2024-07-05")] alias FdRep := FDRep, so that users who were using the previous name understand what happens when they update.

Thanks, I have done that

Thanks! :tada:
bors merge


How can I send an osmosis swap transaction?

Hi,
I'm currently somehow lost in how to use the cosmjs library. I tried a lot of combinations, but I can't sign and broadcast a osmosis swap transaction.
What I already tried:

Using Stargate Client

		const wallet = await DirectSecp256k1HdWallet.fromMnemonic(this.mnemonic, { prefix: 'osmo' });

		const rpcOsmo = 'https://rpc-osmosis.keplr.app';

		const registry = new Registry([
			...defaultRegistryTypes,
			['/osmosis/gamm/swap-exact-amount-in', MsgSwapExactAmountIn],
			['osmosis/gamm/swap-exact-amount-in', MsgSwapExactAmountIn], // tried both as typeUrl but both get an error
		]);

		const osmoClient = await SigningStargateClient.connectWithSigner(rpcOsmo, wallet, {
			registry: registry,
		});

msg.ts
msg.proto
this.osmoClient.signAndBroadcast(
			this.osmoAccount.address,
			[
				{
					typeUrl: '/osmosis/gamm/swap-exact-amount-in',
					value: {
						sender: 'osmo...',
						routes: [
							{
								poolId: '1',
								tokenOutDenom: 'ATOM',
							},
						],
						tokenIn: {
							denom: 'OSMO',
							amount: '123',
						},
						tokenOutMinAmount: '123',
					},
				},
			],
			{
				gas: '1000000',
				amount: [
					{
						amount: '0',
						denom: 'uosmos',
					},
				],
			},
			''
		);

-> TypeError: message.poolId.isZero is not a function
this.osmoClient.signAndBroadcast(
			this.osmoAccount.address,
			[
				{
					typeUrl: '/osmosis/gamm/swap-exact-amount-in',
					value: MsgSwapExactAmountIn.fromPartial({
						sender: 'osmo...',
						routes: [
							{
								poolId: Long.fromNumber(1),
								tokenOutDenom: 'ATOM',
							},
						],
						tokenIn: {
							denom: 'OSMO',
							amount: '123',
						},
						tokenOutMinAmount: '123',
					}),
				},
			],
			{
				gas: '1000000',
				amount: [
					{
						amount: '0',
						denom: 'uosmos',
					},
				],
			},
			''
		);

-> Broadcasting transaction failed with code 2 (codespace: sdk). Log: unable to resolve type URL /osmosis/gamm/swap-exact-amount-in: tx parse error
So it looks like the rpc endpoint of keplr app does not support this type.
Looking at the keplr wallet it looks like they use the old client: SigningCosmosClient

Second try with the old client

		const walletCosmos = await Secp256k1HdWallet.fromMnemonic(this.mnemonic, undefined, 'osmo');
		const accountsOsmoCosmos = await walletCosmos.getAccounts();
		const lcdOsmo = 'https://lcd-osmosis.keplr.app'; // with the rpc endpoint again errors
		const osmoCosmosClient = new SigningCosmosClient(lcdOsmo, this.osmoAccountCosmos.address, walletCosmos);

this.osmoCosmosClient.signAndBroadcast(
			[
				{
					type: 'osmosis/gamm/swap-exact-amount-in',
					value: {
						sender: 'osmo...',
						routes: [
							{
								poolId: Long.fromNumber(1),
								tokenOutDenom: 'ATOM',
							},
						],
						tokenIn: {
							denom: 'OSMO',
							amount: '123',
						},
						tokenOutMinAmount: '123',
					},
				},
			],
			{
				gas: '1000000',
				amount: [
					{
						amount: '0',
						denom: 'uosmos',
					},
				],
			},
			''
		);

->
auth.js:11 Uncaught (in promise) Error: Unexpected response data format
    at Object.account (auth.js:11)
    at async SigningCosmosClient.getAccount (cosmosclient.js:100)
    at async SigningCosmosClient.getSequence (cosmosclient.js:90)
    at async SigningCosmosClient.sign (signingcosmosclient.js:67)
    at async SigningCosmosClient.signAndBroadcast (signingcosmosclient.js:59)

{
   "height":"1817054",
   "result":{
      "type":"cosmos-sdk/BaseAccount",
      "value":{
         "address":"osmo...",
         "public_key":{
            "type":"tendermint/PubKeySecp256k1",
            "value":"..."
         },
         "account_number":"...",
         "sequence":"..."
      }
   }
}

As far as I understand is BaseAccount type not supported by the SigningCosmosClient.
Does anyone has a running example for custom types?

@Phmager you can look at custom protocodecs - https://github.com/cosmos/cosmjs/blob/main/packages/stargate/CUSTOM_PROTOBUF_CODECS.md

mine is Broadcasting transaction failed with code 2 (codespace: sdk). Log: unable to resolve type URL /osmosis/gamm/swap-exact-amount-in: tx parse error.

nvm, found the new tx url from osmosis repo, @Phmager it should be /osmosis.gamm.v1beta1.MsgSwapExactAmountIn

As far as I understand is BaseAccount type not supported [..]

CosmJS only supports connecting to Tendermint RPC for all current backends. The clients from @cosmjs/stargate need to be used. The LCD client in @cosmjs/launchpad was only used for Cosmos SDK 0.37-0.39 chains and will be removed in the next version of CosmJS.

https://github.com/cosmology-finance/cosmology/tree/master/packages/core#swapexactamountin
I've documented it here. This uses cosmjs but does a lot to manage the registry, etc.

Hi,
I'm currently somehow lost in how to use the cosmjs library. I tried a lot of combinations, but I can't sign and broadcast a osmosis swap transaction.
What I already tried:

Using Stargate Client

		const wallet = await DirectSecp256k1HdWallet.fromMnemonic(this.mnemonic, { prefix: 'osmo' });

		const rpcOsmo = 'https://rpc-osmosis.keplr.app';

		const registry = new Registry([
			...defaultRegistryTypes,
			['/osmosis/gamm/swap-exact-amount-in', MsgSwapExactAmountIn],
			['osmosis/gamm/swap-exact-amount-in', MsgSwapExactAmountIn], // tried both as typeUrl but both get an error
		]);

		const osmoClient = await SigningStargateClient.connectWithSigner(rpcOsmo, wallet, {
			registry: registry,
		});

msg.ts msg.proto
this.osmoClient.signAndBroadcast(
			this.osmoAccount.address,
			[
				{
					typeUrl: '/osmosis/gamm/swap-exact-amount-in',
					value: {
						sender: 'osmo...',
						routes: [
							{
								poolId: '1',
								tokenOutDenom: 'ATOM',
							},
						],
						tokenIn: {
							denom: 'OSMO',
							amount: '123',
						},
						tokenOutMinAmount: '123',
					},
				},
			],
			{
				gas: '1000000',
				amount: [
					{
						amount: '0',
						denom: 'uosmos',
					},
				],
			},
			''
		);

-> TypeError: message.poolId.isZero is not a function
this.osmoClient.signAndBroadcast(
			this.osmoAccount.address,
			[
				{
					typeUrl: '/osmosis/gamm/swap-exact-amount-in',
					value: MsgSwapExactAmountIn.fromPartial({
						sender: 'osmo...',
						routes: [
							{
								poolId: Long.fromNumber(1),
								tokenOutDenom: 'ATOM',
							},
						],
						tokenIn: {
							denom: 'OSMO',
							amount: '123',
						},
						tokenOutMinAmount: '123',
					}),
				},
			],
			{
				gas: '1000000',
				amount: [
					{
						amount: '0',
						denom: 'uosmos',
					},
				],
			},
			''
		);

-> Broadcasting transaction failed with code 2 (codespace: sdk). Log: unable to resolve type URL /osmosis/gamm/swap-exact-amount-in: tx parse error So it looks like the rpc endpoint of keplr app does not support this type. Looking at the keplr wallet it looks like they use the old client: SigningCosmosClient

Second try with the old client

		const walletCosmos = await Secp256k1HdWallet.fromMnemonic(this.mnemonic, undefined, 'osmo');
		const accountsOsmoCosmos = await walletCosmos.getAccounts();
		const lcdOsmo = 'https://lcd-osmosis.keplr.app'; // with the rpc endpoint again errors
		const osmoCosmosClient = new SigningCosmosClient(lcdOsmo, this.osmoAccountCosmos.address, walletCosmos);

this.osmoCosmosClient.signAndBroadcast(
			[
				{
					type: 'osmosis/gamm/swap-exact-amount-in',
					value: {
						sender: 'osmo...',
						routes: [
							{
								poolId: Long.fromNumber(1),
								tokenOutDenom: 'ATOM',
							},
						],
						tokenIn: {
							denom: 'OSMO',
							amount: '123',
						},
						tokenOutMinAmount: '123',
					},
				},
			],
			{
				gas: '1000000',
				amount: [
					{
						amount: '0',
						denom: 'uosmos',
					},
				],
			},
			''
		);

->
auth.js:11 Uncaught (in promise) Error: Unexpected response data format
    at Object.account (auth.js:11)
    at async SigningCosmosClient.getAccount (cosmosclient.js:100)
    at async SigningCosmosClient.getSequence (cosmosclient.js:90)
    at async SigningCosmosClient.sign (signingcosmosclient.js:67)
    at async SigningCosmosClient.signAndBroadcast (signingcosmosclient.js:59)

{
   "height":"1817054",
   "result":{
      "type":"cosmos-sdk/BaseAccount",
      "value":{
         "address":"osmo...",
         "public_key":{
            "type":"tendermint/PubKeySecp256k1",
            "value":"..."
         },
         "account_number":"...",
         "sequence":"..."
      }
   }
}

As far as I understand is BaseAccount type not supported by the SigningCosmosClient. Does anyone has a running example for custom types?

Did you fix it?


easy-setup does not strip trailing \r on windows

... which results in invalid name error while registering name.

Fixed in 0.3.1


Particle filter info

Hello!
Thanks for this nice work.
Is there any addon to display some information about particle filter?
Thanks,
Benjamin.

Unfortunately not, the available data that are possible are listed here, and I don't see anything about the filter status. You can use the CDS Details Addon to view what data your car is currently showing.


add buildResultProperties to the build report data

In case of a build connecting via the repoClient to the dbb web application, we add the build result properties to a generic DBB Record named DBB.BuildResultProperties
See sample :

@drbruce-git
Can you please have a look to the updated PR.
Additionally to your requested changes, I

added the giturl into the properties
moved the println of the update of the buildresult to the end and included the buildreporturl

Many thanks.


TODO: create models with Datamapper

check:
• http://datamapper.org/docs/properties.html
• http://datamapper.org/docs/associations.html

@Philippoes and @fredrikfalkman pls do orde, @rmzse and @blondabambi do dishes

Cancelled.

cancelled


IdenticalCompuMethod instance in the createanycompumethod.create_any_compu_method_from_et function is missing three required arguments

The IdenticalCompuMethod instance  in the createanycompumethod.create_any_compu_method_from_et function is missing three required positional arguments: 'category', 'compu_internal_to_phys', and 'compu_phys_to_internal'.
odxtools version: 7.3.0

@andlaus FYI

okay, this is a bug that must be fixed (I'll do so tomorrow). That said, this code is only excuted if the compu method in question is not known (most likely because it is not implemented. there still are a few of them in odxtools). Can you find out what kind of compu method is featured by your dataset? (i.e. what are the the contents of the CATEGORY subtag?)

@andlaus the compu category is SCALE-RAT-FUNC.

ok, thanks. I suppose I should put some effort into implementing the remaining compu methods. BTW: SCALE-RAT-FUNC is a bit weird IMO because it is not invertible, i.e. encoding a parameter which uses such a compu function is going to be "fun"...


Not able to install the SDK in any project

I made an SDK using the swagger open spec definition for my API named @api/yaus_link_generation, (SDK's name) the command npm install @api/yaus_link_generation is working fine in my personal directory in which the SDK was made.

But in a different directory, I am getting this error:

Not able to install it in any other directory

Hey! So the module right now doesn't provide a first class way to publish these generated SDKs onto npm. The preferred workflow is for your users to install it via a URL to the OAS spec like so:
npx api@beta install https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.json

It would be excellent if you could run npm publish in the generated directory, then your users could run npm install on it from anywhere. But this isn't what this module does at this point. Assigning this to @erunion who is in charge of this module.

Thanks @domharrington , will try npm publish

Well, getting this npm ERR! code EBADSEMVER npm ERR! invalid semver:  by using the command npm publish

Yeah we don't currently support running npm publish of the generated SDK at the moment. This is a feature request for future. The intended usage is installing from a URL:
npx api@beta install https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore.json

@erunion  yes, I am just trying to use this SDK which I just created in another codebase

Ah ok. You'll need to either publish that SDK to NPM yourself, or re-run the SDK generation in that other codebase.
We have plans to at some point offer commands in api that'll help you publish the package but for now it's a very manual process for you unfortunately.

Okay @erunion , thanks for the guidance 👍


Improve wording of first time user message

I found this explanation confusing so I'm trying to make it better.
BTW, I didn't see any Tour, and neither did I see a "SETT button" inthe core settings.  Are those outdated...?

Uhh there is, the button in core Right above "Select Token Ring"
The tour I haven't set to run yet, nor have i added it to the registered tours as it would require me to override the tour to get it to function properly atm


Android - IDP QR code scan dont have proper header

Describe the bug
IDP QR code scan dont have proper header
To Reproduce
Prerequiste: one VC should be downloaded and binded, have idp compatable login with qr portal ready

Authenticate app and get into it
Go to scanner page
Scan the IDP portal QR code log-in
Select the binded UIN and head to face auth screen

Expected behavior
The header should have proper space, and should be user friendly
Observed
The face auth screen's header is not proper, there is no space between the words
Screenshots

Smartphone :

Device: PIXEL 6
OS: Android 13
MOSIP Version: <IP_ADDRESS>
MOSIP server: qa-1201-b2.net
APP link; https://github.com/mosip/inji/actions/runs/3986424542

verified as fixed in the build with commit id in the below screenshot.
https://drive.google.com/file/d/15uWjasH2tRj0qCau8Ljj8YFEoSXi6mfd/view?usp=drivesdk


How to select multiple collums

I'm would like of way to select multiple columns of my CSV file but, I how to make that.
Who is know how to make me, please!

@matheusdelima please refer to the documentation where this is explained


must be an instance of SendGrid\Mail\From or a valid email address

Issue Summary
I am getting this issue 2,3 time when sending an email
Code Snippet
require 'vendor/autoload.php';
	    $email = new \SendGrid\Mail\Mail();
        $email->setFrom($this->ecomhut->getConfig('salesEmail'));
        $email->setSubject($subject);

        $email->addTo($data['email']);

		//$email->addBcc($this->ecomhut->getConfig('supportEmail'));

		$email->addBcc($this->ecomhut->getConfig('ForwarderEmail'));

		$email->setReplyTo($this->ecomhut->getConfig('supportEmail'),NULL);

        $email->addContent(
            "text/html", $template
        );

        $sendgrid = new \SendGrid($this->SENDGRID_API_KEY);

        try {
            $response = $sendgrid->send($email);

        } catch (Exception $e) {

           log_message('error', "Email Not Send form admin agianst ".$data['email']." \n" .print_r($response));

           return false;
        }
	    return true;

Exception/Log
Exception: "$email" must be an instance of SendGrid\Mail\From or a valid email address public_html/vendor/sendgrid/sendgrid/lib/helper/Assert.php 61

Technical details:

sendgrid-php version: 7
php version: 7.4

@pdm-house is the From address in the proper email address format?

@pdm-house is the From address in the proper email address format?

Yes<EMAIL_ADDRESS>this is the format in setFrom

@pdm-house is the From address in the proper email address format?

Thank You mate, on email variable there is space after email. fixed now...!


Feature/new select

I was only trying to add the dropdown component, but the CSS wouldn't work. I ended up copying the working system from the Housing team. Now CSS seems to work! Yay! I also got the Dropdown to work for us!
Fixes #70

This appears to have failed to build on prod. @meganmckissack halp I don't know what I'm doing.

Hey @clemf I had a look around, nothing obvious about the TravisCI config or the way the repo is setup, but in googling the operation I came across this SO article:
https://stackoverflow.com/questions/39140800/the-command-eval-git-fetch-origin-refs-pull-7-merge-failed
It sounds like the same circumstances and though I don't recall TravisCI behaviours like this, it makes some sense that if the build is looking for the code in the originally-submitted branch, that the build will fail if the branch gets deleted before the build has cloned the source files.
I've never encountered this behaviour myself, because every time I merged a branch I was so fixated on seeing whether the build succeeded that I never deleted the branch until long after the build had successfully deployed.
I don't know of an obvious way to rehydrate a deleted branch, but if you know of any advanced technique like that, it's worth a shot to resurrect the missing branch and restart the failed build.
Or alternatively, you could try committing a trivial change to the current master branch and see if that builds and deploys.

@MikeTheCanuck Thanks for looking at it for me. I guess I have been merging before the Travis build succeeds. I'm doubtful that is the problem because I've done it before with no issues. I think it's more likely because the branch I merged changed some of the build config. Maybe it has to do with the linter errors? I think I may have re-enabled the linter during the build process. I'm going to try to fix the linter errors and see if that helps.

Howdy @clemf - merging isn't an issue AFAIK, but it appears from the results for this build, and for the linked issue I noted, deleting the branch before the build is completed can prevent TravisCI from performing the git fetch.  Is it possible you immediately deleted the branch (in your fork) from which you merged?  I can't find it in your forked repo now, and the timestamps noted in the pull request are suggestive that the branch was deleted around the same time as the merge, and missing code could account for the failed git fetch around lines 144-148 of the build.  It's news to me that Travis chases the origin when pulling a commit, but I'll trust the evidence as it emerges.  Hope this helps.  Happy to investigate future builds to help keep this working.

Hey @clemf , I started poking around the issue and will continue tomorrow but one thing I remembered is that David changed the housing repo to using webpack 2 during the days immediately following demo day, while all the other repos are still the same.  One of our biggest problems getting any build to show up, hence why we had to do some webpack hacking, was that the css loaders weren't working as expected.  I don't know if this affects this issues you're having but I'm guessing that it's probably related.


Readable report with code extract

Is your feature request related to a problem? Please describe.
The actual script is giving a report with columns/lines and a summary at the end.
If you want to check the matches, you are forced to go open each file, one by one, looking per columns and lines etc...
Describe the solution you'd like
What would be perfect would be an extract of the duplicated code to show up in the output report.
This make you see directly from the console what it is about instead of having to open every files manually.
Could be a an optional parameter as well like --show-code or something like that.
Describe alternatives you've considered
None
Additional context
I got a result like this:
┌────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format     │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ typescript │ 273            │ 38972       │ 334267       │ 254          │ 4730 (12.14%)    │ 44375 (13.28%)    │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:     │ 273            │ 38972       │ 334267       │ 254          │ 4730 (12.14%)    │ 44375 (13.28%)    │
└────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘

I have to go check all cones one by one, (every 254 of them), it's too long and not exploitable...

My bad didn't see this section: https://github.com/kucherenko/jscpd/tree/master/packages/jscpd#reporters


upstream: new healthStatus method to provide more detailed host health status

Signed-off-by: wbpcode<EMAIL_ADDRESS>Commit Message: upstream: new healthStatus method to provide more detailed host health status
Additional Description:
Part of work to fix #23213.
Because the canonical health() method is used widely and is enough for most of cases. We can treat it as abbreviated status. So, we won't update the health() directly.
This PR added a new healthStatus() method to the host to provide more specific health status (with type of EDS envoy::config::core::v3::HealthStatus).
This status is hybrid of EDS status and runtime active status (from active health checker or outlier detection). Runtime active status will be taken as a priority.
This is simplest implementation for this feature.
Risk Level: none. not change any exist code but add a new method.
Testing: unit.
Docs Changes: n/a.
Release Notes: n/a.
Platform Specific Features: n/a.

I think this new method interface should be OK. But the inner implementation could be re-evaluated again.
I want to refactor the HealthFlag to store all EDS status and dynamic runtime flags. Then we can get all detailed status by the healthFlagGet(). But it would be some more code changes. So i'd defer it to future PR, after I do more validation.
Some TODOs are added in the code tree.

/retest

friendly ping @htuch
PS: waiting for 1.24.0 to be released first.


Select default values for gender,race,ethnicity; remove payer

Patient Characteristic Payer is now added as a data element rather than being a select up along with the other patient metadata.
Add default "Choose a ____" options to the Race, Ethnicity, and Gender select dropdowns.
Pull requests into Bonnie require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
Submitter:

[x] This pull request describes why these changes were made.
[x] This PR is into the correct branch.
[x] JIRA ticket for this PR: https://jira.mitre.org/browse/BONNIE-2065
[x] JIRA ticket links to this PR
[x] Code diff has been done and been reviewed (it does not contain: additional white space, not applicable code changes, debug statements, etc.)
[x] If UI changes have been made, google WAVE plug-in has been executed to ensure no 508 issues were introduced.
[x] Tests are included and test edge cases
[x] Tests have been run locally and pass (remember to update Gemfile when applicable)
[x] Test fixtures updated and documented as necessary ( see internal wiki )
[x] Code coverage has not gone down and all code touched or added is covered.
[x] Automated regression test(s) pass N/A

Reviewer 1:
Name: @hossenlopp

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Reviewer 2:
Name: @zlister

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

The UI for the Payer isn't great when adding Source of Payment Typology. Here is a screeshot:


Revert "Temporarily disable SwiftFoundationTest on linux."

This reverts commit 9086b2f0e7b04286f8292b2479cb0e1f2f22d09c.

CC: @dcci

Please test with following PR:
apple/swift-corelibs-foundation#1753
apple/swift#20329
@swift-ci please test

@compnerd feel free to go ahead :)


Support template secret

https://github.com/juicedata/juicefs-csi-driver/issues/698.
${pvc.name}, ${pvc.namespace}, ${pvc.annotations['<annotation>']} will be resolved by user's pvc.
It works in my cluster.
can you review it when you are available?

Hi @kyungwan-nam , can you fix the gofmt and add unit test for function ResolveSecret  ?

@zwwhdls
Hi. Thanks for your review
I added a unit test for ResolveSecret, and gofmt error is fixed.

Codecov Report
Patch coverage: 63.41% and project coverage change: +0.18% :tada:

Comparison is base (cdb1be7) 38.46% compared to head (bbf45ab) 38.64%.
Report is 7 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #699      +/-   ##
==========================================
+ Coverage   38.46%   38.64%   +0.18%
==========================================
  Files          33       33
  Lines        3939     3959      +20
==========================================
+ Hits         1515     1530      +15
- Misses       2278     2283       +5
  Partials      146      146

Files Changed
Coverage Δ

pkg/config/config.go
0.00% <ø> (ø)

pkg/driver/provisioner.go
10.37% <0.00%> (-0.31%)
:arrow_down:

pkg/util/pvc.go
66.66% <84.61%> (+7.29%)
:arrow_up:

pkg/juicefs/mount/builder/common.go
47.26% <100.00%> (+1.07%)
:arrow_up:

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

@kyungwan-nam Thanks for your contribution!


fix for hyprland 0.41- new fullscreen events

Closes #18
Not sure if more work is needed, I just removed the old events and added the new ones.

I know it's annoying to tag maintainers but without this is fix hyprpy is unusable. @ulinja could we get your eye on this ?


Chinese characters within text

I am trying to write a question in both English and Chinese, of the form:
Solve the equation ax+b=c
解方程 ax+b=c
My problem is that the Chinese characters do not show up at all when using MTMathUILabel.
A snippet of my code is below:
label.latex = "\text{ Solve the equation}" + "ax+b=c" + "\\ 解方程 ax+b=c"
Any help on this would be very much appreciated as it shows nothing no matter what I try.

Chinese is not supported. Only European character sets and some Cyrillic.

oh that's a shame, can I ask if you know if it ever worked for iOSMath? I am sure I found a blog with people suggesting it did.
Thank you for responding.

If you can provide more details on what font was used, I can look into it. But, AFAIK no Chinese character support was provided by iOSMath.

I found the link again with the conversation about Chinese added.
https://github.com/kostub/iosMath/pull/29
I did try iOSMath and did also add the font mentioned but to no avail.
Thanks again

Looked into this and this was a temporary addition that was later removed. It's unclear why. Likely there was some issue or the original contributor decided not to publish his font. That's also why the current code doesn't support Chinese characters.

Thank you so much for checking :) I really appreciate it.
Lee


(maint) Improve plan and task info output

This changes the format of plan and task info output for the human and
rainbow formatter to be more organized and easier to read.
!feature

Improved plan and task info output
Plan and task info output shown with bolt plan|task show and
Get-BoltPlan|Task has been reformatted to be more organized.

Ok, I've made some progress on what's happening. Terminal Table is using Unicode::DisplayWidth.of(@value) to determine the width the cell needs to be, and for ~~ some reason ~~ that is returning the full length of the string in Ruby including newline characters, instead of the max-width of any line without newline characters. For example, "The version of puppet-agent to install (defaults to latest when no agent is\ninstalled)\n\nOptional[String]" has a width of 107 according to Displaywidth, as opposed to a width of 80. You actually can set the width of a cell as its style, but that does not seem to affect the output at all.
This matters because when the cell is 116 characters long it thinks the whole cell needs to be 116 characters (plus 20 or so characters for the other column), which is more than the screen width so wraps, which is what causes it to look like new-newlines.
I think this hasn't been an issue previously since the data we print tends to be "single file" lists or lists that get wrapped. I honestly feel like I've sunk enough time into this already that I'd kind of like to table it for now (haha) since I'm fairly sure this will be an issue for a significant number of users.


Mermaid diagrams are not rendered in the output PDF

Is your feature request related to a problem? Please describe.
I can't render Mermaid diagrams using Headless Chrome JS renderer.
Everything renders correctly, except Mermaid Diagrams. Do you
have any working example to check this on your side?
Describe the solution you'd like
I would like to have Mermaid Diagrams rendered correctly into the output PDF.
Describe alternatives you've considered
I worked with the code a bit and noticed, that the produced output HTML is
working correctly and when open in the web browser e.g. firefox it
renders Mermaid diagrams fine. But after generating PDF diagrams disappear.
So... I noticed that https://github.com/RelaxedJS/ReLaXed is able to render
PDF correctly, so basically I am taking the output HTML and open a subprocess
with 'relaxed' to do a last step with the PDF processing and I managed to
get the diagrams working.
I am just wondering, why is this not working with Headless Chrome for me?
Maybe I am doing something wrong.
I see that another plugin is working with the diagrams fine:
https://github.com/smaxtec/mkdocs-pdf-with-js-plugin
Otherwise maybe you would consider a PR with additional option for used
the 'relaxed' tool as an alternative to the Headless Chrome?
Additional context
Versions:
mkdocs-with-pdf: 0.7.7
python: 3.7.9
chromedriver: 86.0.4240.22
Chrome: 86.0.4240.111

Thanks, I will check your PR and merge it.
How can I verify it the result?
Can you provide a mkdocs project for testing?

Hi,
Example project:
https://github.com/pawelsikora/example_mkdocs_with_pdf_mermaid_support
There are already generated PDFs within "site/pdf" directory.
Let me know if that works for you ;) I have some issues as you
will see in the generated PDFs, that for example changes in the additional 'css' files
are not applied when using ReLaXed (e.g. logo is not visible in that version).
Maybe you will have better luck why it is working differently, I am not that much experienced with webdev :(

Hi,
I would be very interested in this at well. Would be great to have it!
Thanks

RelaxedJs has some drawback with usage using css styles with with-pdf, so I
decided to approach it different way as well.
I am extracting the mermaid diagrams from markdown and produce a temporary
png files, that are attached into html and then include into pdf.
It requires mermaid.cli via npm to be installed
npm install -g mermaid cli
(I am using  version which has -s option for scaling the diagrams, it is helpful with gannt or other diagrams which can be too small sometimes)
Please use this plugin for mkdocs:
https://pypi.org/project/mkdocs-mermaid-export-to-svg/
mermaid-export-to-svg
and please give me a feedback, it is still in testing phase, but I am successfully generating
PDF with this method. Just be careful as it should be disabled for the time of generating
html for the site, I am working to have it working for both and being able to adjust mermaid
cli arguments with plugins arguments.

Sorry, for the delayed answer. I have not been able to get it to work, but had only little time. I will give it another shot and keep you updated

Sorry, for the delayed answer. I have not been able to get it to work, but had only little time. I will give it another shot and keep you updated

I suspect the reason it doesn't render correctly is because WeasyPrint doesn't support inline svg's. I printed the debug_html successfully using chromium, but is ofc. missing the pdf table of content and other features added by mkdocs-with-pdf.
cd /docs
mkdocs build > for_pdf_print.html
chromium --no-sandbox --headless --disable-gpu --print-to-pdf="document.pdf" file:////docs/for_pdf_print.html

Using mkdocs-export-mermaid-to-svg didn't work for me at all, neither for web nor html. I didn't get any errors, it says its creating the *.png into the tmp folder, but it doesn't get written to the /tmp folder. As a result the images are missing.

Hi,
Did you took a look at a linked issue? Seems pretty similar to your:
https://github.com/pawelsikora/mkdocs-export-mermaid-to-svg/issues/1
Let me know if it work out, otherwise just write in that thread so I could help you.

Hi, @pawelsikora
Yes I saw this issue too and solved it forking your mkdocs-export-mermaid-to-svg project, packaging it into my container and using it instead of the published version. Unfortunatly I haven't had the time to provide my fix to you.
I had to alter the mmdc subprocess call removing some version specific parameters and passing a permissive puppet config.
subprocess.run(['mmdc', '-p', mmdc_profile, '-t', 'default`', '-b', 'transparent', '-i', tf.name, '-o', tmp_name_png])

But considering that we are on the wrong project for discussing this further I may shoot you a PM with my changes that you may or may not want to integrate?

Sure, I will have a look on it and apply this. I am aware of this 'scale' parameter, which is quite helpful, but it could be handled more gracefully :) Thanks!

What about #35 and #39?
#35 was merged in master but now there are no mentions in the documentation.
Are there any news about mermaid diagrams?

hey. what is the conclusion? does it work or not?

FYI it looks like #35 was only merged to the feature/support-relaxedjs branch, not main, so that's why it's not visible. It would be great if it could be ported to main, but IDK it seems the maintainer is AWOL :|

Hi wanted to follow up on the issue. It seems there have been commits affecting this issue, but as of Aug 2024 mermaids are only text in the generated PDFs. Has anyone found a workaround ?

Hello,
I'm our case, when we want to generate the PDF version of the doc, we use kroki like that https://gitlab.com/gaia-x/toolset/gaia-x-document-template/-/blob/main/document_template/mkdocs_base.yml.j2?ref_type=heads#L61
Best regards
Pierre
-------- Message d'origine --------
Le 09/08/2024 20:04, Maximilian Schiedermeier  a écrit :

Hi wanted to follow up on the issue. It seems there have been commits affecting this issue, but as of Aug 2024 mermaids are only text in the generated PDFs. Has anyone found a workaround ?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@ticapix : Kroki worked like a charm! Thank you!

For those wondering what it does: it's a webservice that converts the textual mermaid blocks (and all other sorts of diagram DSLs) to png.
You can enable it in you mkdocs.yml like this:

[...]
plugins:
  - search
  - mermaid2
  - with-pdf
  - kroki:
      FencePrefix: ''
      FileTypeOverrides:
        mermaid: png

One issue I still have though: This also applies kroki for the web version (aka the non PDF version). Any chance to configure kroki so it only springs into action for PDF rendering, and don't interfere with the standard website build (mkdocs build)

Hi,
From my previous link, you can notice that we use jinja2 (a template engine, but any other template engine or some sed cmds could work too) to generate 2 different mkdocs.yml config: one for the web without kroki, one for the PDF with kroki.
Best regards
-------- Message d'origine --------
Le 12/08/2024 22:32, Maximilian Schiedermeier  a écrit :

One issue I still have though: This also applies kroki for the web version (aka the non PDF version). Any chance to configure kroki so it only springs into action for PDF rendering, and don't interfere with the standard website build (mkdocs build)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Retraining on specific dataset to improve predictions

Hey,
you retrained the NIMA model on your own hotel images and obtained a significant increase in accuracy in aesthetic and technical quality predictions, right? We are about to adapt this approach and would like to refine your model on our specific dataset (and then make it available to the community again). Currently we try to figure out the setup for labeling the images. What is your experience on how many images need to be labled to effectively train the CNNs? And did you use a specific software to do so?
Best
Sven

Hi Sven, yes, especially the aesthetic model improved by training it on a hotel dataset. I would say labelling around 2k hotel images on aesthetics, where each image has around 8 scores, should be sufficient, so a total of 16k human scores.  We ended up labelling more images, but the gains in performance were marginal. We built our own labelling application and used in-house people for labelling. Mechanical Turk might be a good alternative here.
For the technical classifier the in-house labelling did not work well, we switched to generating synthetic labels and improved the model, but still not sufficiently good for putting it in production. The problem here is that technical quality is not domain specific, so you can't make the classification problem easier by restricting it to a hotel domain for example, and that ImageNet CNNs are probably a bad choice in the first place for technical quality.

And cool that you are planning to open source them! We could add the models to this repository if you wish ;)

Thanks very much for these informations! Big fan of open sourcing knowledge. However, that might take some more time to get there, but definitely the goal. Looking forward to it. :-)

Cool, let us know if you need further infos. I will close this issue for now, feel free to reopen if you have updates/questions.


Unable to link to paths that contain curly brackets

I'm the person who created issue #80 asking for a way to link to different sections in RapiDoc output. The much-appreciated feature that was added is to use Markdown and the format #{method}-{path}.
That works nicely, except that I can't find a way to link to a path that contains a parameter in curly brackets, such as /customer/{customerId}.  Since the left-column navigation links work in "read" mode, I assume that it's possible but I haven't discovered the right link format. Can someone help me with this?

I guess its an issue due to browser url-encoding.
For instance the below link when clicked will not work as expected
https://mrin9.github.io/RapiDoc/examples/example1.html#get-/store/order/{orderId}
but if you paste/type it directly on the URL it will work. (for that matter even updating the URL using javascript works and thats the reason it works in read-mode)
Thanks for bringing it up, will provide a fix soon


unicode in keyboad show wrong on windows

First congratulations for the good work in this module.
i found a bug on windows.
i put in a keyboad a unicode  like this '💉'.
the bot running on windows show wrong characters on keyboard. like this '≡ƒæô'
the same bot running on linux show unicode in keyboard well.
I tested several conversions of characters and types , always with the same wrong result on windows.
thanks.-

Hi!
May I know which version of Perl are you currently using? Are you using like Strawberry Perl, or ActivePerl?
Are you using the latest version of the module?
Thank you!
Roberto

Hi, Roberto
i use Active Pert 5.20 64 bits on Windows 10
and use the latest version of this module ( v0.03  installed with ppm )
feel free to ask me any other data you need.
thank you

Are you storing the character in the bot's source?
Try using a different text editor (e.g. Sublime Text, Notepad++, whatever) and save the file with the UTF-8 encoding.

yes in de souce, i use sublime Text and save whit UTF-8.
bot send the normal response whit unicodes and they look well.
the problem only occurs when use keyboard whit unicodes.
example:
( [ [ "💢", "💢" ] ] )
the same unicode 💢 look good when the response is a text message.

How are you encoding the keyboard JSON content? With JSON::MaybeXS?
If you are using that module, maybe there's a problem with its implementation on Win32. You could try:
JSON::MaybeXS->new (utf8 => 1)->encode ({ ... })

tried but the same error. :(

It looks like an issue of their port of JSON::MaybeXS then.
I am increasingly convinced that this is a problem in Windows 10 and Perl.
.meanwhile  migrate the bot to linux.
thanks

That's strange. I was pretty sure that the problem was actually caused by an encoding issue.
I will setup an ActivePerl environment tomorrow to see if I can reproduce the issue.
Good night!

iam unistall perl and re-instal the latest version Active Perl 5.22.1, and now work fine.
It does not know why , but now look unicodes fine
sorry for the discomfort and thank you for the help.
Once again thank you for everything and for this great module.

Alrighty then, you're welcome!


Correct Column References

Overview
Resolves Bug: private names were appearing in measure tables. References to private columns were updated accordingly.
Resolves: bug detected during documentation update.
Note to Reviewers
jupyter notebooks do not need review at this time
How was this update tested?
pytest and active jupyter notebooks
Checklist

[x] I have read the Contributing guidelines
[x] I performed a self-review of my own code
[x] The CHANGELOG and version.json have been updated
[x] Documentation has been updated to reflect the changes

[x] The code has clear and helpful comments, particularly in hard-to-understand areas
[x] READMEs, Tutorials/Examples, and links have been updated as appropriate

[x] Tests have been added to prove that the fix is effective or that the feature works
[x] Pytest was run; new and existing unit tests pass locally with my changes
[x] I have made note of any breakages or dependencies (if applicable)
[x] Any dependent changes have been merged and published in downstream modules
[x] These changes generate no new warnings

Dropping this PR in favor of newer PR (#66)


Define Decorators / Preformatted Blocks

Suggestion
%attr_type
%attr_type arg1 arg2 ...

Examples
%code rust
---
fn main() {

}
---

2nd example:
%table
-------
id | first_name | last_name
1  | ruben      | schmidmeister
-------

Why not [code]?

I'm reopening this, because it was only specified in ABNF but not in the spec.


Fix for issue #7

This won't work out, as you don't need to install Sold in the project directory (it's installed globally anyways).
Also, running sold works for me, and many others, I think it just might be a problem specific to you, so you can't change that either.
But, some of these are needed. Can you change the wording to say Run this to install Sold in the installation section, and change the command to run back to sold?
 I'll rollback some phrases.

Now you can pull it :)

Merge*

Now you can merge it :)

Cool! Can you just change the node soldfile.js back to sold?

Yep. Sorry , didn't noticed that.

No problem, thanks!

I think that not only i have this error.
But it can not work because of i have old NodeJS version , yep?

I'm not sure, but it might be 🤔

Ok


Update tutorial template

with an example of a tool configuration description, to encourage a uniform look and feel of these hands-on parts
ping @bebatut

It looks good for me! Thanks @shiltemann


Konstantinos/DPROD-3000/[FE] Revamp Regulatory Information page (ROW)

Changes:
Update Regulatory Page for ROW with Quill Design.
Type of change

[ ] Bug fix
[ ] New feature
[x] Update feature
[ ] Refactor code
[ ] Translation to code
[ ] Translation to crowdin
[ ] Script configuration
[ ] Improve performance
[ ] Style only
[ ] Dependency update
[ ] Documentation update
[ ] Release

Opening new PR with resolved conflicts


Implement some kind of test

We need some kind of automated test. Even if it is just sending a bunch of messages to a group and checking whether sending works. We can store the token hidden in travis, but that will break PRs AFAIK.
This needs some discussion.

Closing, library no longer maintained.


No Synthesized Audio

Not sure if I should post this here or elsewhere but im very new to programs like this and whenever i upload a reference audio then attempt to synthesize it I get nothing, I should mention I am using Pinokio. I also plan on trying this software of my much much much better pc at home to see if theres a difference.

Use lower case as we suggested in readme, or you are telling model to read letter by letter
Also check if reference audio uploaded correctly, will show waveform if so

Use lower case as we suggested in readme, or you are telling model to read letter by letter Also check if reference audio uploaded correctly, will show waveform if so

done both unfortunately no success

@trunks970 some similar issues,
try online space demo in huggingface/modelscope.
Probably with whisper asr failure or network stuffs...

@trunks970 some similar issues, try online space demo in huggingface/modelscope.
Probably with whisper asr failure or network stuffs...

so a few things got it to work on my pc (3070) but was still unable to get it to work on my laptop (1650) im not too sure what the difference would be but i reinstalled pinokio on both to try to fix it all in all im satisfied ill use the online version on my laptop whenever i can
Thanks for your help


Custom view actions template not working

Hello,
I tried to follow the instructions found here and here to add a new custom action button to a list view but even the simplest code does not work.
I tried:
var template = '<back-button></back-button>'; entity.listView.actions(template);
and nothing get displayed. Same goes for
var template = '<create-button></create-button>'; entity.listView.actions(template);
If I add some text in the template like so, only the text get displayed:
var template = '<back-button>text</back-button>'; entity.listView.actions(template);
If I simply use:
entitiy.listView().actions(['batch', 'export', 'create', 'back']);
the button are displayed as expected
Is this a regression or am i missing something obvious?
What I am trying to achieve is to display a button to create the current entity or another entity from this listview, like:
<create-button></create-button><create-button entity="myOtherEntity" size="sm"></create-button>

There was an error in the documentation: all the ng-admin directive names are prefixed with ma-, so you should try with <ma-back-button> instead of <back-button>. Sorry for that.


customization

Is there any option in config.toml to make my about page as default page

Is there any option in config.toml to make my about page as default page

with some tweaking in default summary , baseof and partial back it can be done

Sorry for the late reply. There are no settings that can do this. As you said, you can only modify it yourself currently.


upgrade to material-ui v4

Codecov Report

Merging #4 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #4   +/-   ##
=======================================
  Coverage   70.04%   70.04%
=======================================
  Files          21       21
  Lines         601      601
=======================================
  Hits          421      421
  Misses        169      169
  Partials       11       11

Continue to review full report at Codecov.

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


Support init-cli for version 1

https://github.com/kreativgebiet/init

Wasn't finished and now deprecated!


Date picker calendar Icon

Glyphicons are no longer available.

A new inspection was created.

Oups! Totally, thank you @martijnb92 .


feat: Add support for nightmode

Support for night mode. Did some quick testing and works fine for me. Not sure if there's anything I am forgetting to add but I don't think so. Connected to this issue in the ha_blueair repo.

lint check is upset about "src/blueair_api/device_aws.py:101:1: W293 [*] Blank line contains whitespace"

Ok I've fixed the whitespace and the checks seem all good


Add wasm support for fvm_shared

Issue type
Feature Request
Have you reproduced the bug with the latest dev version?
Yes
Version
0.1.0
Custom code
Yes
OS platform and distribution
Mac OS Sonoma 14.3
Describe the issue
Summary
When using fvm_shared and compiling to a wasm32, non-default features are pulled in due to the crypto feature flag. This flag pulls in the filecoin-proofs-api, which leads to problems on a wasm build.
You can see additional conversations here and here.
Details
You'll see the error (below) complaining about the positioned-io and fs2 libraries. If you tease out patches for a wasm32 build, you'll then run into an issue with sha2_asm, which does not support wasm. That is, it's a cascading transitive dependency problem that stems from the merkletree library, which gets pulled in via the filecoin-proofs-api. You can run the cargo tree command in the Basin repo for more details.
Repro steps

Clone the Basin repo, which uses fvm_shared in the adm_sdk crate: git clone https://github.com/textileio/basin
Checkout the dtb/wasm-support branch, which tries to do a simple enum export from the adm_sdk
Try to compile to wasm: wasm-pack build --target nodejs wasm

Relevant log output
> wasm-pack build --target nodejs wasm
[INFO]: 🎯  Checking for the Wasm target...
[INFO]: 🌀  Compiling to Wasm...
    Blocking waiting for file lock on package cache
   Compiling positioned-io v0.3.3
   Compiling sha2-asm v0.6.3
   Compiling fs2 v0.4.3
   Compiling impl-rlp v0.3.0
   Compiling fixed-hash v0.8.0
   Compiling tiny-keccak v2.0.2
   Compiling impl-serde v0.4.0
   Compiling mio v0.8.11
error[E0433]: failed to resolve: use of undeclared type `SeekFrom`
  --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:78:29
   |
78 |         let pos = file.seek(SeekFrom::Current(0))?;
   |                             ^^^^^^^^ use of undeclared type `SeekFrom`
   |
help: consider importing this enum
   |
7  + use io::SeekFrom;
   |

error[E0433]: failed to resolve: use of undeclared type `SeekFrom`
  --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:94:30
   |
94 |         match self.file.seek(SeekFrom::Start(self.pos)) {
   |                              ^^^^^^^^ use of undeclared type `SeekFrom`
   |
help: consider importing this enum
   |
7  + use io::SeekFrom;
   |

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
  --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:98:9
   |
98 |         sys::duplicate(self)
   |         ^^^ use of undeclared crate or module `sys`

   Compiling socket2 v0.5.6
   Compiling base64 v0.21.7
error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:101:9
    |
101 |         sys::allocated_size(self)
    |         ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:104:9
    |
104 |         sys::allocate(self, len)
    |         ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:107:9
    |
107 |         sys::lock_shared(self)
    |         ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:110:9
    |
110 |         sys::lock_exclusive(self)
    |         ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:113:9
    |
113 |         sys::try_lock_shared(self)
    |         ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:116:9
    |
116 |         sys::try_lock_exclusive(self)
    |         ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:119:9
    |
119 |         sys::unlock(self)
    |         ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:126:5
    |
126 |     sys::lock_error()
    |     ^^^ use of undeclared crate or module `sys`

error[E0433]: failed to resolve: use of undeclared crate or module `sys`
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fs2-0.4.3/src/lib.rs:169:5
    |
169 |     sys::statvfs(path.as_ref())
    |     ^^^ use of undeclared crate or module `sys`

For more information about this error, try `rustc --explain E0433`.
error: could not compile `fs2` (lib) due to 10 previous errors
warning: build failed, waiting for other jobs to finish...
error[E0599]: no method named `seek` found for struct `File` in the current scope
    --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:78:24
     |
78   |         let pos = file.seek(SeekFrom::Current(0))?;
     |                        ^^^^ method not found in `File`
     |
    ::: /Users/dtb/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/io/mod.rs:1897:8
     |
1897 |     fn seek(&mut self, pos: SeekFrom) -> Result<u64>;
     |        ---- the method is available for `File` here
     |
     = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
     |
1    + use std::io::Seek;
     |

error[E0599]: no method named `seek` found for struct `File` in the current scope
    --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:94:25
     |
94   |         match self.file.seek(SeekFrom::Start(self.pos)) {
     |                         ^^^^ method not found in `File`
     |
    ::: /Users/dtb/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/io/mod.rs:1897:8
     |
1897 |     fn seek(&mut self, pos: SeekFrom) -> Result<u64>;
     |        ---- the method is available for `File` here
     |
     = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
     |
1    + use std::io::Seek;
     |

error[E0277]: the trait bound `&RandomAccessFile: WriteAt` is not satisfied
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:141:27
    |
141 |         WriteAt::write_at(&mut &*self, pos, buf)
    |         ----------------- ^^^^^^^^^^^ the trait `WriteAt` is not implemented for `&RandomAccessFile`
    |         |
    |         required by a bound introduced by this call
    |
help: consider removing the leading `&`-reference
    |
141 -         WriteAt::write_at(&mut &*self, pos, buf)
141 +         WriteAt::write_at(&*self, pos, buf)
    |

error[E0277]: the trait bound `&RandomAccessFile: WriteAt` is not satisfied
   --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:145:24
    |
145 |         WriteAt::flush(&mut &*self)
    |         -------------- ^^^^^^^^^^^ the trait `WriteAt` is not implemented for `&RandomAccessFile`
    |         |
    |         required by a bound introduced by this call
    |
help: consider removing the leading `&`-reference
    |
145 -         WriteAt::flush(&mut &*self)
145 +         WriteAt::flush(&*self)
    |

error: failed to run custom build command for `sha2-asm v0.6.3`

Caused by:
  process didn't exit successfully: `/Users/dtb/adm/adm/target/release/build/sha2-asm-e7862434e1e5e20e/build-script-build` (exit status: 101)
  --- stderr
  thread 'main' panicked at /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sha2-asm-0.6.3/build.rs:19:9:
  Unsupported target architecture
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Some errors have detailed explanations: E0277, E0433, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `positioned-io` (lib) due to 6 previous errors
Error: Compiling your crate to WebAssembly failed
Caused by: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit status: 101
  full command: cd "wasm" && "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"

@dtbuchholz The dtb/wasm-support branch doesn't exist any longer under https://github.com/textileio/basin. I'm attempting to reproduce in order to poke around at the dependency tree.

@raulk sorry for the delay here—we had an offsite last week and weren't really connected to the internet much! also, I'm not sure what happened to the old wasm setup, so I've just recreated it. you can find it here: dtb/wasm-support. I'm using the wasm-pack boilerplate with a single Basin SDK import:
use wasm_bindgen::prelude::*;

use adm_sdk::network::Network;

#[wasm_bindgen]
extern "C" {
    fn alert(s: &str);
}

#[wasm_bindgen]
pub fn initialize_network() {
    Network::Testnet.init();
    alert("initialized network");
}

now, it looks like the first time your run wasm-pack, it complains about blst (i.e., without the dependency errors mentioned above): warning<EMAIL_ADDRESS>error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
then, all subsequent build attempts will complain about the aforementioned positioned-io etc. dependencies.
here are the logs:

first time building

The following warnings were emitted during compilation:
warning<EMAIL_ADDRESS>error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
warning<EMAIL_ADDRESS>1 error generated.
error: failed to run custom build command for blst v0.3.11
Caused by:
process didn't exit successfully: /Users/dtb/textile/basin/target/release/build/blst-b200d02c0b326ff6/build-script-build (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=BLST_TEST_NO_STD
Using blst source directory /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/blst-0.3.11/blst
cargo:rerun-if-changed=/Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/blst-0.3.11/blst/src
TARGET = Some("wasm32-unknown-unknown")
HOST = Some("aarch64-apple-darwin")
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
cargo:warning=1 error generated.
--- stderr
error occurred: Command "clang" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-Wall" "-Wextra" "-ffreestanding" "-D__BLST_NO_ASM__" "-DSCRATCH_LIMIT=(45 * 1024)" "-o" "/Users/dtb/textile/basin/target/wasm32-unknown-unknown/release/build/blst-d7105b903104e7e9/out/23f7fac37c814c3c-server.o" "-c" "/Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/blst-0.3.11/blst/src/server.c" with args clang did not execute successfully (status code exit status: 1).
warning: build failed, waiting for other jobs to finish...
Error: Compiling your crate to WebAssembly failed
Caused by: Compiling your crate to WebAssembly failed
Caused by: failed to execute cargo build: exited with exit status: 101
full command: cd "/Users/dtb/textile/basin/wasm" && "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"

subsequent builds

error[E0433]: failed to resolve: use of undeclared type `SeekFrom`
  --> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:78:29
   |
78 |         let pos = file.seek(SeekFrom::Current(0))?;
   |                             ^^^^^^^^ use of undeclared type `SeekFrom`
   |
help: consider importing this enum
   |
7  + use io::SeekFrom;
   |
error[E0433]: failed to resolve: use of undeclared type SeekFrom
--> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:94:30
|
94 |         match self.file.seek(SeekFrom::Start(self.pos)) {
|                              ^^^^^^^^ use of undeclared type SeekFrom
|
help: consider importing this enum
|
7  + use io::SeekFrom;
|
error[E0599]: no method named seek found for struct File in the current scope
--> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:78:24
|
78   |         let pos = file.seek(SeekFrom::Current(0))?;
|                        ^^^^ method not found in File
|
::: /Users/dtb/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/io/mod.rs:1919:8
|
1919 |     fn seek(&mut self, pos: SeekFrom) -> Result;
|        ---- the method is available for File here
|
= help: items from traits can only be used if the trait is in scope
help: trait Seek which provides seek is implemented but not in scope; perhaps you want to import it
|
1    + use std::io::Seek;
|
error[E0599]: no method named seek found for struct File in the current scope
--> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:94:25
|
94   |         match self.file.seek(SeekFrom::Start(self.pos)) {
|                         ^^^^ method not found in File
|
::: /Users/dtb/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/std/src/io/mod.rs:1919:8
|
1919 |     fn seek(&mut self, pos: SeekFrom) -> Result;
|        ---- the method is available for File here
|
= help: items from traits can only be used if the trait is in scope
help: trait Seek which provides seek is implemented but not in scope; perhaps you want to import it
|
1    + use std::io::Seek;
|
error[E0277]: the trait bound &RandomAccessFile: WriteAt is not satisfied
--> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:141:27
|
141 |         WriteAt::write_at(&mut &*self, pos, buf)
|         ----------------- ^^^^^^^^^^^ the trait WriteAt is not implemented for &RandomAccessFile
|         |
|         required by a bound introduced by this call
|
help: consider removing the leading &-reference
|
141 -         WriteAt::write_at(&mut &*self, pos, buf)
141 +         WriteAt::write_at(&*self, pos, buf)
|
error[E0277]: the trait bound &RandomAccessFile: WriteAt is not satisfied
--> /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/positioned-io-0.3.3/src/raf.rs:145:24
|
145 |         WriteAt::flush(&mut &*self)
|         -------------- ^^^^^^^^^^^ the trait WriteAt is not implemented for &RandomAccessFile
|         |
|         required by a bound introduced by this call
|
help: consider removing the leading &-reference
|
145 -         WriteAt::flush(&mut &*self)
145 +         WriteAt::flush(&*self)
|
Some errors have detailed explanations: E0277, E0433, E0599.
For more information about an error, try rustc --explain E0277.
error: could not compile positioned-io (lib) due to 6 previous errors
warning: build failed, waiting for other jobs to finish...
The following warnings were emitted during compilation:
warning<EMAIL_ADDRESS>error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
warning<EMAIL_ADDRESS>1 error generated.
error: failed to run custom build command for blst v0.3.11
Caused by:
process didn't exit successfully: /Users/dtb/textile/basin/target/release/build/blst-b200d02c0b326ff6/build-script-build (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=BLST_TEST_NO_STD
Using blst source directory /Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/blst-0.3.11/blst
cargo:rerun-if-changed=/Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/blst-0.3.11/blst/src
TARGET = Some("wasm32-unknown-unknown")
HOST = Some("aarch64-apple-darwin")
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-unknown-unknown
CC_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CC_wasm32_unknown_unknown
CC_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-unknown-unknown
CFLAGS_wasm32-unknown-unknown = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_unknown_unknown
CFLAGS_wasm32_unknown_unknown = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:warning=error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'
cargo:warning=1 error generated.
--- stderr
error occurred: Command "clang" "-O2" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=wasm32-unknown-unknown" "-Wall" "-Wextra" "-ffreestanding" "-D__BLST_NO_ASM__" "-DSCRATCH_LIMIT=(45 * 1024)" "-o" "/Users/dtb/textile/basin/target/wasm32-unknown-unknown/release/build/blst-d7105b903104e7e9/out/23f7fac37c814c3c-server.o" "-c" "/Users/dtb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/blst-0.3.11/blst/src/server.c" with args clang did not execute successfully (status code exit status: 1).
Error: Compiling your crate to WebAssembly failed
Caused by: Compiling your crate to WebAssembly failed
Caused by: failed to execute cargo build: exited with exit status: 101
full command: cd "/Users/dtb/textile/basin/wasm" && "cargo" "build" "--lib" "--release" "--target" "wasm32-unknown-unknown"


IE, Chrome webdriver behavior

If a user configures Selenium Grid Extras and chooses NO on IE and Chrome, why prompt on AUTO update the Chrome/ IE drivers?
If a user says NO on IE/ Chrome, I'd expect IE and Chrome drivers would be no downloaded, started up... No?
Also, it doesn't ask if you want to download the IE x64 driver.

I think that auto update drivers is for both (its not separated). So what if the user selects NO for IE and YES for Chrome? It would have to be two separate questions.
As for the IE x64 driver, this could also be another question.
But where do you draw the line about the amount of questions asked ? Either way, this would not be a hard feature to add.

@cktech529 Even if you choose No for the auto update, it still has to download some version of the drivers for initial use. It will ask you what version you want to initially use. Maybe we need a question, Do you want Selenium-Grid-Extras to download the drivers for you ?


Change tekton example to use tkn

For: https://github.com/rhd-gitops-example/services/issues/70

Updates tekton-example README to use tkn
Removes service-promote-pipeline-run.yaml and promote-run.yaml
Other slight improvements that I noticed while following the example

@mnuttall thanks for the feedback - I think I've addressed all of those now :)