[WIP]: Implement token level shallow fusion

We have been trying to use word-level G and LG for RNN-T decoding, but we have only tried this for fast_beam_search. However, using a word-level G or an LG cannot handle OOV words.
This PR tries to use a token-level G for shallow fusion with modified_beam_search. I am using OpenFst to manipulate the n-gram G on the CPU as it is easier to implement.

@csukuangfj Look very promising. Ping me if you need an extra hand

@csukuangfj Look very promising. Ping me if you need an extra hand

@ezerhouni
Thanks! I will draft a version without batch size support. If it gives promising results, we need your help to implement a version that supports batches.

@csukuangfj Do you have any update on this issue ? I am very eager to try it out !

@csukuangfj Do you have any update on this issue ? I am very eager to try it out !

Yes. But the results are not good so far. I will post them tonight.

 Note the cost on the final state of the FST is not considered
I will recheck the code in case it contains some bugs.

@csukuangfj Thanks !

I expect that unless there is some kind of domain mismatch, we will not see much or any improvement.  (Unless we try super-large LMs.  I seem to remember Liyong had some experiment with a 5-gram or something like that?)

I expect that unless there is some kind of domain mismatch, we will not see much or any improvement. (Unless we try super-large LMs. I seem to remember Liyong had some experiment with a 5-gram or something like that?)

I think Liyong was using fast_beam_search + (L, or LG) in https://github.com/k2-fsa/icefall/pull/472
We have never tried to use a token-level G with modified beam search, I think.

I expect that unless there is some kind of domain mismatch, we will not see much or any improvement. (Unless we try super-large LMs. I seem to remember Liyong had some experiment with a 5-gram or something like that?)

I think Liyong was using fast_beam_search + (L, or LG) in #472
We have never tried to use a token-level G with modified beam search, I think.

My 2cts is that we need a very large LM (like 5gram). I will try it tomorrow and let you know

I expect that unless there is some kind of domain mismatch, we will not see much or any improvement. (Unless we try super-large LMs. I seem to remember Liyong had some experiment with a 5-gram or something like that?)

I think Liyong was using fast_beam_search + (L, or LG) in #472
We have never tried to use a token-level G with modified beam search, I think.

@glynpu  Liyoug did try use a token-level G with modified beam search, he did not make a PR though, the results is in our weekly meeting note (the 20th week), as the follows:

The results show that we can not get improvement from a pruned LM.

@glynpu Liyoug did try using a token-level G with beam search, he did not make a PR though, the results are in our weekly meeting notes (the 20th week), as the follows:

The results came from a word level LM.
I was using kenlm at that time, here is the related code:
https://github.com/glynpu/icefall/commit/3a9ff316f3601900fdff751bcc31636740c5b1a6

@csukuangfj Quick update :
I am testing with a 5gram at the moment. I am getting
test-clean : 2.68
test-other: 7.11
I am still doing some tests and do a more thorough review of the code.

Ngram : 5
Beam Size 4 :

ngram_lm_scale
test-clean
test-other

0 (baseline)
2.72
7.15

0.01
2.74
7.15

0.1
2.68
7.11

0.1
2.68
7.14

Ngram : 5
Beam Size 8 :

ngram_lm_scale
test-clean
test-other

0 (baseline)
2.72
7.15

0.01
2.71
7.14

0.1
2.71
7.11

0.2
2.68
7.06

0.3
2.74
7.28

@ezerhouni
Thanks! Are you using ./generate-lm.sh to generate the 5-gram LM or are you using an LM trained on an external dataset?

I am using ./generate-lm.sh. I am trying a 7gram to have an idea if it helps or not.

@csukuangfj
I tried a 7gram and it seems to improve a bit (2.67/7.03) but I am not sure it is worth it

I think the main use-case of this is when there is a domain mismatch from the training corpus to the target domain.
We can also try dividing the scores on the LM arcs by the corresonding scores given a low-order LM estimated on the training data.

@csukuangfj I tried a 7gram and it seems to improve a bit (2.67/7.03) but I am not sure it is worth it

Sorry for the late replay. I though I have replied last night.
I think 7gram is more than enough. Thanks for your experiments. The result shows that the code works with an n-gram LM, though
we don't gain much from it.  The next step is to use it to decode with a graph constructed from lists of specific words/phrases that we want to recognize.

@csukuangfj I tried a 7gram and it seems to improve a bit (2.67/7.03) but I am not sure it is worth it

Sorry for the late replay. I though I have replied last night.
I think 7gram is more than enough. Thanks for your experiments. The result shows that the code works with an n-gram LM, though we don't gain much from it. The next step is to use it to decode with a graph constructed from lists of specific words/phrases that we want to recognize.

I agree, I think 5gram is enough. I was thinking to use it for detecting OOV words. I will let you know once I have more results. (except if you have something in mind)

@csukuangfj I tried a 7gram and it seems to improve a bit (2.67/7.03) but I am not sure it is worth it

Sorry for the late replay. I though I have replied last night.
I think 7gram is more than enough. Thanks for your experiments. The result shows that the code works with an n-gram LM, though we don't gain much from it. The next step is to use it to decode with a graph constructed from lists of specific words/phrases that we want to recognize.

I agree, I think 5gram is enough. I was thinking to use it for detecting OOV words. I will let you know once I have more results. (except if you have something in mind)

By the way, @marcoyang1998 is using the RNN-LM model that you provided for conformer CTC for shallow fusion
and he can get a WER 2.46 for test-clean without being specifically tuned.

@csukuangfj I tried a 7gram and it seems to improve a bit (2.67/7.03) but I am not sure it is worth it

Sorry for the late replay. I though I have replied last night.
I think 7gram is more than enough. Thanks for your experiments. The result shows that the code works with an n-gram LM, though we don't gain much from it. The next step is to use it to decode with a graph constructed from lists of specific words/phrases that we want to recognize.

I agree, I think 5gram is enough. I was thinking to use it for detecting OOV words. I will let you know once I have more results. (except if you have something in mind)

By the way, @marcoyang1998 is using the RNN-LM model that you provided for conformer CTC for shallow fusion and he can get a WER 2.46 for test-clean without being specifically tuned.

Sounds interesting ! If I am not mistaken, we can't add new word on the fly to an already trained RNN-LM isn't it ?

Sounds interesting ! If I am not mistaken, we can't add new word on the fly to an already trained RNN-LM isn't it ?

The RNN-LM is at token level, so as long as the new word can be represented by the bpe tokens, it can be rescored by the RNN-LM, I think.

The RNN-LM is at token level, so as long as the new word can be represented by the bpe tokens, it can be rescored by the RNN-LM, I think.

Indeed, but we can't "boost" specific words (or combination of specific tokens)

@csukuangfj I have a batch version (à la modified_beam_search), I took your commits and added mine on top of it (with a rebase), I will create a new PR if that's ok

@csukuangfj I have a batch version (à la modified_beam_search), I took your commits and added mine on top of it (with a rebase), I will create a new PR if that's ok

Yes, thanks! I will close this PR once you created a new PR.

See #630


Links inside an article are not clickable on the homepage

Hello, I'm not sure this is even a theme issue, I am very new with hugo.
I am using your theme and I love it, but when I add a link (to a static file on my server) to an article, the link text appears on the homepage but it is not clickable. I need to click on the article and then links are clickable.
Is there any way to make links clickable on the home page ?
I hope I explained my issue is well enough, let me know if it is unclear.
Thanks

Hm, when I added a "more" tag inside my article the links work. This is perfect for me, so I think this issue can be closed, it's just me being confused and not really understanding how hugo works just yet.
Sorry and thank you for the quick response :)


Update status_plotnfts.py

Fix for change in chia cli plotnft
I don't know anything about python so I'm sure there's a better way to fix this!
chives plotnft:
Wallet height: 4242634
Sync status: Synced
Wallet id 2:
Current state: FARMING_TO_POOL
chia plotnft output now looks like this:
Wallet height: 4802682
Sync status: Synced
Wallet ID: 3
Current state: FARMING_TO_POOL
Current state from block height: 535186

Thanks for noticing this.  I'll merge this right away.


Double

I discovered that during execution of the "processICResponse", the content of the element being updated is set twice. This makes everything inside the


Remove deprecated variable MENDER_GRUB_STORAGE_DEVICE

Signed-off-by: Drew Moseley<EMAIL_ADDRESS>

This corresponds to https://github.com/mendersoftware/meta-mender/pull/933


Enhances Clamp,Min,Max to use generics in C#

These functions can be made up with generics - this allows user to use other C# types with them eg Mathf.Clamp(long.MinValue, 0L, 1000L)

cc @neikeq

I'm concerned about the performance. Would using CompareTo result in boxing? Will the JIT inline it?
Also the implementations of these methods do a few more checks than ours:
https://github.com/mono/mono/blob/f7d053a0d6f7e0e1decb372095821ed9344e4d49/mcs/class/referencesource/mscorlib/system/single.cs#L120-L130
https://github.com/mono/mono/blob/f7d053a0d6f7e0e1decb372095821ed9344e4d49/mcs/class/referencesource/mscorlib/system/int32.cs#L64-L70

I don't really see why this is needed in the Math class. We could add some overloads like in System.Math but I can't find a reason for adding a generic overload, let alone making it the only option.

Yeah, the performance can be bad - thank for the response - closed


[Feature Request] Show image size

The image view shows details of an image, including its hash, etc.
It would be very useful to also show the image's size on disk.

Oops latest version already has this.


New report reason: Username similar to link text

Is your feature request related to a problem? Please describe.
It would help catch more spam
Describe the solution you'd like
SD should report posts where the text of a link is similar to a user's name, as that is almost always a sign of spam.
Post example (Username: Cool Spam Service, imagine the link went to a spam site instead of SO):

Your problem can be solved easily Cool Spam Service with recursion...

We would want to catch these and give them a higher score. This is different from URL similar to username, as some companies' website doesn't always include their username (MS example)
Describe alternatives you've considered
N/A
Additional context
N/A

Looking at (findspam.py](https://github.com/Charcoal-SE/SmokeDetector/blob/master/findspam.py), there's this function that contains some code that could be used to extract link text from a post. Specifically, this line finds link text within the string s.
links = regex.compile(r'nofollow(?: noreferrer)?">([^<]*)(?=)', regex.UNICODE).findall(s)

I.e.,
>>> import regex
>>> s = 'Test'
>>> links = regex.compile(r'nofollow(?: noreferrer)?">([^<]*)(?=)', regex.UNICODE).findall(s)
>>> links
['Test']

There's another function here that seems to check similarity, and that's used in the "username similar to website" rule. Lastly, there's also a wiki page on adding spam checks/rules.
If this is something that's a good idea to add, I can take an attempt at making a PR implementing this change.


LPAL-243 Replace obsolete libs and upgrade

Purpose
Fixes LPAL-243
Approach

Update all libraries for service-front, service-api and service-admin.
Upgrade service-admin to phpunit 9.
Filter out cache adapters we don't need and which were giving deprecation warnings (could possibly do more here, but I left a couple I wasn't sure about).
Remove deprecated/obsolete libraries as far as possible; container-interop can't be removed, as laminas depends on it; laminas-console can't be removed as laminas-test depends on it.
Rework command-line scripts to use laminas-cli and rewrite tests.
Remove unused script for dynamodb management.

Learning
n/a
Checklist

[X] I have performed a self-review of my own code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[X] I have added tests to prove my work
[ ] I have added mandatory tags to terraformed resources, where possible
[ ] If I added a package.json or composer.json, I also made sure this is included in the script in .github/workflows/dependabot-update.yml
[ ] The product team have tested these changes

lgtm, removing more bloat!
The only question I have is about the removed section in the composer.json files, but it isn't a show stopper.

service-admin/composer.json?

lgtm, removing more bloat!
The only question I have is about the removed section in the composer.json files, but it isn't a show stopper.

service-admin/composer.json?
The other changes is composer.json files are just slight moving around of stuff, but the dependencies remain the same. I think this is a consequence of me doing composer require laminas-cli.

Ah, that would make sense. I wasn't sure if you had added other packages.
Also just noticed, I was talking about the replace section & not removed

lgtm, removing more bloat!
The only question I have is about the removed section in the composer.json files, but it isn't a show stopper.

service-admin/composer.json?
The other changes is composer.json files are just slight moving around of stuff, but the dependencies remain the same. I think this is a consequence of me doing composer require laminas-cli.

Ah, that would make sense. I wasn't sure if you had added other packages.
Also just noticed, I was talking about the replace section & not removed

The "replace" section in effect tells composer to remove those dependencies. This is because we are using laminas-cache, but it pulls in every adapter, including some deprecated ones. By specifying the "replace", those dependencies are ignored.


Need acorn  ?

See
import * as acorn from 'acorn';
and
"projects/auto-blockly-app/src/assets/acorn_interpreter.js",
Is this needed ?
( Yes, blockly uses acorn to run js - but we need this explicitly ?)

After removing, verify if running works


RAD Lab Module Feature Enhancements

Added capability to deploy modules via Service Account Identity.
Added capability to enable Billing Budgets to all the modules.
Added Monitoring channels for Billing Budgets.
(For future purposes) Added UIMeta to variables.tf of every module.

I can confirm that terraform init and terraform plan are successful for all the modules.


Aggregate two options

Some(x), Some(y), f => Some(f(x, y))
Some(x), None, f => Some(x)
...
None, None, f => None

Doesn't this result in inconsistent result type?
Assuming that f(x, y) return z, you'd need to either return a coproduct of 3 types

Some z
Some x
Some y
None z (same as first)

Or you'd need to accept 3 different functions resulting in z

one taking x and y
one taking x
one taking y

Alternatively you would accept a function accepting option of y and option of x as parameters. In which case this method does exactly nothing, because you need to pass the two options and a function, so you might as well just call the function.

This will be for options of same type and the function will also return same type.

Duplicates https://github.com/siroky/FuncSharp/issues/73


WFLY-15725 https://issues.redhat.com/browse/WFLY-15725

Issue: https://issues.redhat.com/browse/WFLY-15725

@RanabirChakraborty  can you change the PR title to the issue synopsis? same for the commit message.
When the PR is ready, can you restart the CI run?

@RanabirChakraborty did you add wildfly-common as a dep in module.xml for the affected modules, if wildfly-common is not already there?
I think it's a runtime dependency problem.

Thanks, @RanabirChakraborty


Fixing and incorrect deletion of a node in sed-tree-del mutator.

In case of nested tree structures, radamsa sed-tree-del mutator incorrectly deletes a node, breaking a tree structure. E.g. in case of input:
'123' {456} [123, (123) ] radamsa may return '123' {456} [123, . This is because sed-tree-op lambda return null instead of node tail.

That's clearly a bug and you fixed the mutator correctly. Good catch. Thanks :)


Product sample: Increase height to amp-list

This fixes the problem where the price is not shown on mobile.

Shouldn't we remove amp-list and wait for amp-fresh?

otherwise lgtm

@sebastianbenz PTAL

LGTM


Using RACK_ENV to infer application environment is problematic

The history of RACK_ENV is complicated but it's safe to say its role has been widely misunderstood for years. I blame Rails + Heroku for this confusion.
I think the best practice here is to choose a sensible default, but provide a way for the user to indicate how to derive this information.
Consider the dry-system env plugin for an approach to this problem.

Looking at your actual implementation, I think this issue is invalid. Looks like this can already be done.

Interesting, I never gave much thought to the difference between RACK_ENV and the framework environment.
After reading this merge, APP_ENV appears a better default – and leave RACK_ENV out of the equation. What do you think?

I hadn't read that PR, good call out. I think APP_ENV sounds like a reasonable default.

APP_ENV is it, thanks for the hint, @alassek !


Spelling Mistakes In Knowledge Document

Correct Spelling Mistakes
Spelling mistake in the  document, [https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc772774(v=ws.10)](How DNS works)
Issue Details
I would like to correct a spelling mistake (or my understanding about the word) "interative " in the Document refereed above.
Its used in 7th point under subheading "DNS Query Types"

That's a Windows Server 2003-specific page, which I think is not likely to be updated because of a typo. I couldn't find that misspelling in the current version of the documentation, so I'm not sure there's anything to be done here.

@jagdeepgupta813 This content is archived and no longer supported.


docs: fix typo in modules directory example

🔗 Linked issue

❓ Type of change

[X] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)

📚 Description

Just a small typo fix for a missing bracket at the end of the code sample on the module directory page.
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Thank you!


Mode 4 (Real Reset of krbtgt) Has Less Information Than Mode 3

Hello! I noticed that when running Mode 3 (Simulation Mode with krbtgt_TEST), it provides some useful information when compared to Mode 4 (Real Reset Mode). For instance, Mode 3 states:

"Resetting KrbTgt Accnt Password Means.: 'MAJOR DOMAIN WIDE IMPACT'"

Date/Time N-1 Kerberos Tickets........: ''

It would be helped to include more warnings when resetting the real krbtgt account in Mode 4. If I have misunderstood something though, please let me know.
I am using the new version 2 committed on May 12.
Thanks!

Thanks for the feedback, we will look at incorporating the change in a future release.


Add system requirements in Release Notes

File: docker-for-mac/release-notes.md
It would help if you can see the system requirements for older versions of the application.
For instance, if you have an specific OS version, you do not know which Docker version you have to install.
(I am looking at release notes web page)

Closing ticket as system requirements are detailed on the individual platform installation pages


Bring your own Spark model

Is your feature request related to a problem? Please describe.
I'm wondering if it would be possible to "bring your own" Spark model for use with the interpretability functions, like ICETransformer()? For instance, we have several tools that allow us to do inference on Spark data frames by calling a .predict() or .transform() method. Is it possible to wrap such a non-PySpark MLLib model in a way that we could still use this package for generating explanations and ICE plots in Spark?
Describe the solution you'd like
Suppose I have a custom model (e.g., some kind of scoring code that operates on Spark data frames to transform the data by adding prediction columns). I'd like to wrap said model in a way that would allow me to call the ICETransformer() method. E.g.,
pdp = ICETransformer(
    model=custom_model,  # custom_model.transform(spark_data_frame)
    targetCol="prediction_col_name",
    kind="average",
    targetClasses=[1],
    categoricalFeatures=categorical_features,
    numericFeatures=numeric_features,
)

Where custom_model has a .transform() method similar to PySpark MLLib models that returns the input data with additional prediction columns.

@brandongreenwell-8451 sorry for the delayed response - I just saw this question.
I assume you have a custom model but it is not implemented as a Spark Transformer object. If that's the case, I'm afraid the current implementation of explainers do not support such a scenario. The explainer logic is implemented entirely in scala, and I don't see a way to bring a python model to JVM side for interpretation.

Hi @memoryz, thanks for the reply, and that makes sense. I was more so asking about models that do operate on Spark data frames via a .predict() or .transform() method. For example, DataRobot and H2O both provide scoring code for models that can be used to make predictions on Spark data frames (e.g., in Python/pyspark). Is it possible to create a wrapper of some sort that would allow us to use it with some of the RAI functions, like ICE curves?
Example code: https://datarobot.github.io/datarobot-predict/1.5/scoring_code_spark/


Document ENV variables of container

In general, they are not explained, I need to know which is required. For example, APP_DOMAIN is used only in analytics, so it is not required.
https://github.com/aeternity/aescan/blob/ed2c604e47c16fd7a3711645a454c8b1c9a389a6/.env.example#L3
This one seems unused.
Additionally, I propose adding reasonable defaults like connecting to the mainnet out of the box.

Significantly improved .]


accept specific point ID as optional URL parameter

In other words, provide the ability to zoom to a particular feature at startup if feature id is included in the URL.
Need two parameters for the Shortlist
&tab=2&index=43

That is a great idea too. Any plans on adding this option?

@Nataliya1 There currently are not any plans for adding this enhancement, but we will let you know if this makes our development plans for a future release.


Implement "vstack"

Right now it doesn't seem there is a way to concatenate DataFrames. There is a function for this: https://docs.rs/polars/0.14.2/polars/frame/struct.DataFrame.html#method.vstack

We’ve got this one. It’s Explorer.DataFrame.concat_rows. https://github.com/elixir-nx/explorer/pull/76

I missed that. Are there docs somewhere that make it easier to discover the API? I was using the livebook when I was looking for this.

Yep! The sidebar has https://elixir-nx.github.io/explorer, which is where our docs are living until a Hex release.

@cigrainger Why is the name different than the existing Elixir APIs and the existing Polars APIs? Creating a different name feels like it would require a pretty significant reason.

Yep! The sidebar has https://elixir-nx.github.io/explorer, which is where our docs are living until a Hex release.

This will be super helpful, thanks!

The name is a combination of pandas' concat and dplyr's bind_rows. It's basically the former but specifying the axis. Re: the latter, bind was chosen because concat was taken.

I think I was the one who mentioned concat_rows but if we go with dplyr naming everywhere, then maybe it should be bind_rows? Is there any other API where we diverge the naming? :)

We diverge in a few places. And dplyr had to deal with avoiding naming collisions due to the way R is commonly used. dplyr differs from data.table, which differs from pandas, which differs from polars, which differs from DataFrames.jl. In most cases the APIs have minute differences due to the philosophy behind them or the language used and the naming corresponds to that. I don't think that we're running amiss of anything by trying to choose the best naming for the way our API works (within reason).


Set LOCALE_ARCHIVE in nix-shell

This fixes the
<stdout>: commitBuffer: invalid argument (invalid character)

error using the solution described here.
Credit goes to @nfrisby (who cribbed it from the cardano-node repo)

FTR: There are also library-level solutions for this: https://hackage.haskell.org/package/with-utf8 (see also its announcement blog post)

Not technically devops anymore but there are a number of places we've done something similar, so this looks good to me!

bors try

bors r+


Can't have other winodws over the World Maker window.

I cannot place other windows, for example Discord, over the World Maker window, in order to see other windows I have to close or minimize the program.
I'm on a Windows 10 computer and my system stats are:
Processor: Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz   3.00 GHz
8 gigabytes of ram.
64 bit operating system.

Hi,
I forgot to disable the Always on top feature. I will disable it.


Request to update the information about the storage limits for ASE.

By default, in an ASE V2, 250GB of storage is added per ASP up to 1TB limit. There is no way for the customer to increase the storage limit from 250 GB to 1TB. They need to submit the SR, and the support team needs to request it via ICM.
When the engineer increase the quota to 1TB, the max limit would be 999GiB instead of 1TB.  I heard it is intentional and MS's standard operating procedure to set the storage quota to 999 GiB rather than the entire 1TiB.
The customer requested to update the document. Could you please do it?

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

ID: 36f49a06-90b1-cbe1-3853-2c38277b79f8
Version Independent ID: 02ff6f6c-3ef6-b48f-060d-b290419e0aba
Content: Azure subscription limits and quotas - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/azure-subscription-service-limits.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@v-hakob Thanks for your comment. We are actively looking into it and will get back to you shortly.

@tfitzmac  Can you please review and update the document if necessary?

@cephalin or @ccompy - can you confirm the limits for App Service Environment described in this issue?

#assign:davidsmatlak

I submitted the fix for this issue and when it merges, this issue will automatically close. The updated document will be online within 24 hours.


created empty nonces.csv

Hi,
I've tried to run your scripts. But it created an empty nonce.csv
I just run the same as you described in the readme

Solved in commit #922ae52


refactor: remove dependency leaks

Description:
This PR cleans dependency leaks across the SDK components to maintain abstraction and continuing with the protocol oriented pattern.
Checklist:

[x] My PR follows the contribution guidelines of this project
[x] My PR is free of third-party dependencies that don't comply with the Allowlist
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked the PR title to follow the conventional commit specification

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 0   changed or added relevant lines in 0 files are covered.
336 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.4%) to 43.07%

Files with Coverage Reduction
New Missed Lines
%

org/hyperledger/identus/walletsdk/edgeagent/shared/PrismShared.kt
9
0.0%

org/hyperledger/identus/walletsdk/apollo/ApolloImpl.kt
10
28.27%

org/hyperledger/identus/walletsdk/pluto/PlutoImpl.kt
103
46.55%

org/hyperledger/identus/walletsdk/pollux/PolluxImpl.kt
105
58.93%

org/hyperledger/identus/walletsdk/edgeagent/EdgeAgent.kt
109
68.52%

Totals

Change from base Build<PHONE_NUMBER>4:
0.4%

Covered Lines:
3002

Relevant Lines:
6111

💛  - Coveralls


Dimmable Light Issue (Vera Plus)

I have a dimmable Z-Wave Light (Vera Plus) and everything with Homebridge works with accessing the light and dimming it using Homekit on my phone. I have one issue though. I have created a HomeKit scene with the device so I can tell Siri to "turn off all my lights" for instance. I put this dimmable light into the scene and tell it that I want the device off when I activate the scene and upon activating the scene it does not turn it off if the device is on any percentage except 100%.
If the light is on any percentage and I click in Homekit to turn it off, it doesn't turn off even though the icon goes grey even outside the scene, I have to then click the light icon again (when it says the device is off) to turn the light on to 100%, and then click the icon once again to actually turn the light to turn off.
Any ideas? I would have to say it's a Homebridge issue because I use HA Bridge to allow for Amazon Echo to talk to my devices and it manages these dimmable devices just fine.

I force updated to .27 (thought I had the latest) and it appears resolved. That or iOS 11 GM fixed it not sure, but either way it's resolved.

I force updated Homebride to the latest .27 and the issue remains. If you power the switch to a dimmed state with the switch and see the update in HomeKit you can not turn the device off without first turning it off in HK, turning it back on, and then back off. Meanwhile the light just sees it as going off.
So strange, but the Vera app for any dimmable light works fine as well as HA Bridge so it has to be Homebride or HomeKit.

Perhaps the issue lies in the Homebride-Vera plugin. Reposting there as well.

Still an issue.
On Tue, Mar 13, 2018 at 1:00 AM stale[bot]<EMAIL_ADDRESS>wrote:

This issue has been automatically marked as stale because it has not had
recent activity, and will be closed if no further activity occurs. If this
issue was overlooked, forgotten, or should remain open for any other
reason, please reply here to call attention to it and remove the stale
status. Thank you for your contributions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nfarina/homebridge/issues/1490#issuecomment-372547585,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACxNPWHgCBRIWNKsc0uprS64ua0RVRbNks5td1JygaJpZM4PVB5w
.

Still an issue!
On Sun, Sep 9, 2018 at 10:55 AM stale[bot]<EMAIL_ADDRESS>wrote:

This issue has been automatically marked as stale because it has not had
recent activity, and will be closed if no further activity occurs. If this
issue was overlooked, forgotten, or should remain open for any other
reason, please reply here to call attention to it and remove the stale
status. Thank you for your contributions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nfarina/homebridge/issues/1490#issuecomment-419721419,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACxNPcmSf_1GKLY2BS2f3jJFHpC-0o5sks5uZSvvgaJpZM4PVB5w
.


Visual feedback when closing duplicate tab

The duplicate tab functionality is great, but it would be better still if there can be a visual feedback when closing the tab.
It will be awesome if the newest tab can show a button or something that gives the user an option to choose between "close other duplicate tab(s)", "close this tab (and take me to the old tab)", and "do nothing". In case if the duplication is not in relation to current tab the user is on (when middle clicking a link on Linux for example, opens a background tab) then a popup might be more appropriate. If we are to switch tabs in that scenario, it would disrupt the user's "flow", assuming there was a reason the user decided to open the tab as background tab.
Without a visual feedback, it can be confusing, especially if the current automatic action can result in switching windows.

When the tab switching takes place, due to duplication, I wonder it would be better to un-suspend the tab the user is switched to.
I know there is "Automatically unsuspend tab when it is viewed"; what I am proposing is to un-suspend despite having that turned off, in this specific scenario.

When the tab switching takes place, due to duplication, I wonder it would be better to un-suspend the tab the user is switched to.
I know there is "Automatically unsuspend tab when it is viewed"; what I am proposing is to un-suspend despite having that turned off, in this specific scenario.


Request headers should allow string keys

Similar #99, request headers may come from user input. For example, a proxy application may need to pass all headers from an incoming request along to an upstream server. It would be nice if the headers argument could also take the header name as a string both to preserve case and also to avoid converting user input to atoms.
With Elixir >= 1.4, an argument error is raised when passing a list of tuples with string keys:
Interactive Elixir (1.4.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> HTTPotion.get "http://httpbin.org/get", headers: [{"foo", "bar"}]
** (ArgumentError) expected a keyword list as the second argument, got: [{"foo", "bar"}]
       (elixir) lib/keyword.ex:589: Keyword.merge/2
    (httpotion) lib/httpotion.ex:355: HTTPotion.process_arguments/3
    (httpotion) lib/httpotion.ex:355: HTTPotion.request/3

However, this usage succeeds with Elixir < 1.4
Interactive Elixir (1.3.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> HTTPotion.get "http://httpbin.org/get", headers: [{"foo", "bar"}]
%HTTPotion.Response{body: "{\n  \"args\": {}, \n  \"headers\": {\n    \"Content-Length\": \"0\", \n    \"Foo\": \"bar\", \n    \"Host\": \"httpbin.org\"\n  }, \n  \"origin\": \"<IP_ADDRESS>\", \n  \"url\": \"http://httpbin.org/get\"\n}\n",
 headers: %HTTPotion.Headers{hdrs: %{"access-control-allow-credentials" => "true",
    "access-control-allow-origin" => "*", "connection" => "keep-alive",
    "content-length" => "176", "content-type" => "application/json",
    "date" => "Sat, 11 Feb 2017 02:47:51 GMT", "server" => "nginx"}},
 status_code: 200}

Right now I'm looking at the documentation and online resources and I'm seeing this exact problem and figuring out what the exact syntax is to set headers to make a get request.


better error reporting when root directory not found

The invoke.py script now checks that the root (runtime) directory contains the expected config/models.yaml file and if it doesn't exits with a helpful error message about how to set the proper root.

Formerly the script would fail with a "bad model" message and try to redownload its models, which is not helpful in the case that the root is missing or damaged.

The error message on a bad root looks like this:
** Error. The file /home/lstein/badroot/configs/models.yaml could not be found.
** Please check the location of your invokeai directory and use the --root_dir option to point to the correct path.
** This script will now exit.

LGTM - As an aside, I do think we've gotta get some form of waving red flag to get users to read error messages...

LGTM - As an aside, I do think we've gotta get some form of waving red flag to get users to read error messages...

Some improvements to that in #1798, along with more comprehensive directory structure checks at configure time and better paths resolution. But I got sidetracked. will come back to it ASAP!


Modal does not open when switching between pages until you refresh the page

in mobile screen when the page load for the first time and you click the button to open the modal it does open, but after you go to another page and try to open another modal it does not open and you should refresh the page again and again every time you go to another page.

Same problem here with modal!
The same error also occurs with the new carousel.
Flowbite verison ^1.4.7

i'v handled the open and close actions of the modal using useState and remove the 'data-modal-toggle'. that's what solve my problem !

Could you share an example of your code, please?

Hey @fakhredineOuahaqi, @LluisR,
Are you using this on a React project? Perhaps you might want to look into the standalone React component library:
https://github.com/themesberg/flowbite-react

Same problem here, I'm using Vue. Could you please share more details on how you solved it? Thanks!

Okay, so what I did to make it work is to create the Modal with Javascript (check here the flowbite documentation) instead of using this data-modal-toggle="defaultModal" property defined in the html component.
Find below an example with Vue3 Single File Component. For other frameworks the solution should be similar.
<template>

  <button class="block text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800" type="button" @click="toggleModal">
    Toggle modal
  </button>

                      Terms of Service

                  <button type="button" class="text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-600 dark:hover:text-white" @click="toggleModal">
                      <svg aria-hidden="true" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
                      Close modal
                  </button>

                      With less than a month to go before the European Union enacts new consumer privacy laws for its citizens, companies around the world are updating their terms of service agreements to comply.

                      The European Union’s General Data Protection Regulation (G.D.P.R.) goes into effect on May 25 and is meant to ensure a common set of data rights in the European Union. It requires organizations to notify users as soon as possible of high-risk data breaches that could personally affect them.

                  <button @click="toggleModal" type="button" class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800">I accept</button>
                  <button @click="toggleModal" type="button" class="text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-blue-300 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600">Decline</button>

  </template>

I tried you solution. But in my case it doesn't work.
Output: Modal is not defined

I solved the problem with using  block instead of .  blocks refresh the new page between two links.
If you use a div and you can't or won't rewrite all the code : => nest  with
my code looking that and it's work

...

I have had the same problem in my Angular Project.
I solve it by adding in TS file of your component ngOnInit() {     initFlowbite()   }

@mbirame2 It works like charm. One thing i notice is custom settings made in tailwind config has been reset.

fixed on vitePress by added on the component that has the modal:
onMounted(() => {
initFlowbite();
});


StringTie

StringTie does de novo transcriptome assembly; can identify novel splice junctions.

Thanks, Krysta for making the module for it! Closing the issue as completed


HTTP based task/worker management.

Fixes #4996
another step towards reducing hard dependency on zookeeper . overall plan is described at https://groups.google.com/d/msg/druid-development/eIWDPfhpM_U/AzMRxSQGAgAJ .
TODO: Please note that this PR hasn't gone through enough testing and is being made available for design review only. I might change the code significantly and rebase.

Update/Add unit tests.
Test on a cluster with 40-50 middle managers and realtime ingestion

Most interesting changes are...

Introduced HttpRemoteTaskRunner class which is very similar to RemoteTaskRunner except that it manages the Middle Manager discovery and interaction differently. Some code is copy/pasted from RemoteTaskRunner.
All non-zookeeper task management code from WorkerTaskMonitor is extracted in to WorkerTaskManager class.

Remaining changes in the patch are mostly having to move things around and refactor/rename existing code.

Hi @himanshug. I'm working on https://github.com/druid-io/druid/issues/5428, and thus supposed to modify some logic of RemoteTaskRunner and HttpRemoteTaskRunner. I got a question while reading the code of HttpRemoteTaskRunner.
At first, I supposed that many parts can be shared RemoteTaskRunner between HttpRemoteTaskRunner. More specifically, I thought the only difference between them will be how they can send/receive events (via ZooKeeper or HTTP). However, it turns out that they don't share code paths. So, I wonder there is any difference between how they work. If so, would you let me know what are differences?

Maybe it's better to modify TaskQueue instead of modifying RemoteTaskRunners, but I'm still curious.

@jihoonson there is some copy pasting of code and subtle differences in design as well. I didn't want to change RemoteTaskRunner to make sure of not introducing any bugs in it due to refactorings. My intention is that RemoteTaskRunner is removed and all users are switched to HttpRemoteTaskRunner .
are you guys using HttpRemoteTaskRunner on any cluster ?

@himanshug we're testing the http announcer and http loadQueuePeon, but not HttpRemoteTaskRunner yet. I will do some tests for it as well.

My intention is that RemoteTaskRunner is removed and all users are switched to HttpRemoteTaskRunner .

If this was the intention, I think the logic of allocating/monitoring tasks shouldn't be changed because it's easier for users to guess what's the expectation when using HttpRemoteTaskRunner. But, it looks that there is at least one big change: HttpRemoteTaskRunner is based on polling while RemoteTaskRunner is not. Are you planning to change HttpRemoteTaskRunner to have the same logic with RemoteTaskRunner in the future?

@jihoonson from users perspective HttpRemoteTaskRunner should be behaving pretty much same as RemoteTaskRunner except it has extra debugging information . Also, it is based on long polling which does not cause quick loops , please see https://github.com/druid-io/druid/blob/master/server/src/main/java/io/druid/server/http/SegmentListerResource.java#L87 which is same mechanism used to keep segment list in sync used by HttpServerInventoryView . I don't intend to change that.

Then, I think HttpServerInventoryView also has the same issue. I don't think the behavior of your http-based coordination/monitoring (including HttpRemoteTaskRunner and HttpServerInventoryView) is same with the current ZK-based stuffs. In the current implementation, every information is updated whenever a ZK event occurs which is watched by a short small polling. In this implementation, users can expect that Druid will do something whenever it catches the events immediately.
However, in the new HTTP-based stuffs, they basically work based on long polling. This means that every individual event cannot be seen immediately when they occur. Instead, multiple events can be seen in bulk per polling period. This can also increase the cpu usage of coordinators/brokers/overlords while polling a lot of segments/tasks.
I'm not saying which one is faster/slower or even better/worse. I just want to know what was the rationale of your changes, and make them better if possible.

No, each event is seen as soon as it happens. response from historical is sent to coordinator as soon as any updates (segment loaded/dropped ) happens. after receiving the response , coordinator immediately sends the request to historical and then historical holds it till either timeout (~4 minutes) or some update happens.

Are you talking about HttpServerInventoryView? I didn't check how HttpServerInventoryView works yet. If changes are seen immediately in HttpServerInventoryView, do HttpRemoteTaskRunner and HttpServerInventoryView behave in a different way? At least HttpRemoteTaskRunner looks polling to sync worker status and sync task status.
I might be wrong because I'm not familiar with your implementation as much as you do. So, as I asked from the first place, would you describe what are differences between RemoteTaskRunner and HttpRemoteTaskRunner and why those differences are needed?

@jihoonson  Let me try to explain a bit more...
HttpServerInventoryView and HttpRemoteTaskRunner are similar in the sense that they both need to discover "servers" (coordinator discovers servers that load segments and overlord discovers middleManagers) and that they need to keep some state synchronized with those servers in realtime. Both HttpServerInventoryView and HttpRemoteTaskRunner use the same http long polling mechanism . Servers are discovered via DruidNodeDiscoveryProvider abstract class (current implementation is curator/zk based) and then HTTP long polling based API is used to keep the state in sync in realtime.
You pointed to the correct code that is sending the HTTP request. However, that HTTP request is based on the principles of "long polling" (also described in https://eucalyptus.atlassian.net/wiki/spaces/ARCH/pages/41713738/HTTP+Long-Polling ) which allows keeping the state synced e.g. updating worker/task status etc updated in realtime.
Now that is also main difference between RemoteTaskRunner and HttpRemoteTaskRunner . RemoteTaskRunner is hard coded to use zookeeper for all the interactions wherease HttpRemoteTaskRunner discovers MMs via an abstract interface that can be implemented with any mechanism (eventually there would be non-zookeeper impls of DruidNodeDiscoveryProvider ) and all interaction with MMs are done via HTTP requests.
Aside from that some minor design differences are in terms of better handling assigning multiple tasks in parallel to different MMs and also handling many corner cases related to status updates received from MMs .
also read the thread at https://groups.google.com/d/msg/druid-development/eIWDPfhpM_U/AzMRxSQGAgAJ to learn some of the motivation and overall picture for this work.
hope that helps.

@himanshug thank you for the detailed explanation. Now I understand your point better.
I'm still curious why HTTP-based stuffs should be implemented based on long-polling while the current ZK-based stuffs are based on pushing. AFAIK, pushing-based systems generally work better than polling-based ones in distributed systems. One of the advantages of pushing is the smaller number of messages. For example, only event notification is required in pushing while request and response are required even in long-polling. As you know, this might affect to the network bandwidth usage as well as the system latency. Would you let me know if you have a good reason?
If you think this is a good topic to discuss, I'll raise an issue about it. What do you think?

@jihoonson in addition to what @gianm said, "long polling" effectively allows you to do "push" where connection is initiated from overlord instead of MMs.  .. with "long polling", overlord can completely dictate when and how much to sync and ensure that it is not doing more work at one time than it can handle (if MMs were initiating the request then it would be hard to control the flooding at overlord). In current model, MMs don't need to care who needs to sync the state and consequently don't need to figure out overlord leader before sync can begin .. it is especially helpful for segment state sync where in addition to multiple nodes, coordinator as well as brokers,   keep the segment state synced with queryable nodes.

And in principle, bandwidth could be just as low, since the polling API could be designed to only sync changes made since the last poll.

@gianm current implementation is designed to sync only delta since last poll . when something goes wrong then it starts with base again.

My 2¢ on this is that polling makes sense for the http designs, since it makes the data nodes "dumber" and it's always good to have dumb data nodes.

@gianm Would you elaborate more on this? I'm not sure what do you mean by "dumb" data nodes. I thought all a single data node has to do is notifying state changes to masters (like coordinators or overlords), and this might be simpler in pushing than in polling because data nodes don't have to keep their state change history unless there is a failure while sending notifications.

From an implementation standpoint I think we're more likely to have a bug-free system with polling than with pushing. With pushing, we have to deal with what happens if the push target isn't available for some time, and then we get into a snarl of queues and retries on each data node, which would all be avoidable with polling.

I think it's similar with in polling. Data nodes should keep state changes in their queues or somewhere until the poller comes back to normal and sends requests. The only difference is data nodes don't have to worry about retrying in polling, but the poller has to consider retrying when some data nodes are not available. If it ignores failing to receive responses from some data nodes and hope everything goes well in the next poll, some events might not be seen immediately which increases system latency.
Polling might be bug-less than pushing even though I don't necessarily agree with that. But, even if it's true, polling inherently has some limitations when compared to pushing like less scalability, higher latency, higher network bandwidth usage, and so on. I know the polling doesn't always cause the problems about these issues. It might be a good solution for some applications which don't need high scalability and low latency.
However, regarding at least latency, I think we need to lower latencies. For example, overlords can run more tasks as the latency to receive task state changes is minimized. Another polling in Druid is how coordinators collect the cluster view (although this doesn't relate to this discussion directly). This causes a significant latency to update segment changes and makes users confused because coordinator UI isn't updated immediately after they added/removed segments.
I'm not sure about scalability. Do you think our target applications doesn't require such high scalability?

"long polling" effectively allows you to do "push" where connection is initiated from overlord instead of MMs. .. with "long polling", overlord can completely dictate when and how much to sync and ensure that it is not doing more work at one time than it can handle (if MMs were initiating the request then it would be hard to control the flooding at overlord).

@himanshug I'm not sure why it's needed to control the amount of sync data. AFAIK, in task scheduling and segment management of Druid, state changes are not much frequent and they should be handled by overlords and coordinators very fast. Also, I'm not sure what MMs need to initiate requests. I thought overlords allocate tasks to MMs, and MMs notify task state changes to overlords. Am I missing something?

In current model, MMs don't need to care who needs to sync the state and consequently don't need to figure out overlord leader before sync can begin .. it is especially helpful for segment state sync where in addition to multiple nodes, coordinator as well as brokers, keep the segment state synced with queryable nodes.

This is true, but masters should still know who are MMs. This might be easier than pushing in which masters and MMs should know each other.

@gianm Would you elaborate more on this? I'm not sure what do you mean by "dumb" data nodes. I thought all a single data node has to do is notifying state changes to masters (like coordinators or overlords), and this might be simpler in pushing than in polling because data nodes don't have to keep their state change history unless there is a failure while sending notifications.

I meant dumb in the sense that all they have to do is respond to requests. With pushing they need to be "smarter" in that they have to (a) track all active masters and which state updates have been sent to which masters, (b) handle queuing and retrying of notifications. I think dumb data nodes are easier to get right, and it makes it easier to debug syncing issues as well. Imagine there's a syncing problem- it's easier to debug by looking at the master than to debug by looking at every data node.

However, regarding at least latency, I think we need to lower latencies. For example, overlords can run more tasks as the latency to receive task state changes is minimized. Another polling in Druid is how coordinators collect the cluster view (although this doesn't relate to this discussion directly). This causes a significant latency to update segment changes and makes users confused because coordinator UI isn't updated immediately after they added/removed segments.

Long polling doesn't incur a latency penalty beyond pushing. It's potentially even lower latency, because the channel is already open when the change happens.
The only scalability concern I might have with long polling is whether having a connection open permanently for each 'watcher' of each data node is going to exhaust the jetty request pool. But setting the pool size high enough should make that not really an issue. We might want to consider going to async servlets so we can allow effectively unlimited long-polling watchers?

@jihoonson I'm not sure what more to add here... may be I can address specific concerns you have with design. If your concern is , "overlord is not receiving task status updates in realtime as soon as they happen on the MMs". Let me reaffirm that is not the case and overlord learns about the status updates as soon as possible.
or do you have some other concern ?
@gianm

The only scalability concern I might have with long polling is whether having a connection open permanently for each 'watcher' of each data node is going to exhaust the jetty request pool. But setting the pool size high enough should make that not really an issue. We might want to consider going to async servlets so we can allow effectively unlimited long-polling watchers?

those end point use asynchronous HTTP and no jetty threads are held while the request waits, e.g. see https://github.com/druid-io/druid/blob/master/server/src/main/java/io/druid/server/http/SegmentListerResource.java#L141 . Final response is written by the thread that makes the update e.g. the thread that loads/drops the segment in this case.

@himanshug I think it's fine now. I understand the design and goals of your implementation better.
@himanshug @gianm thank you for the comments!

those end point use asynchronous HTTP and no jetty threads are held while the request waits, e.g. see https://github.com/druid-io/druid/blob/master/server/src/main/java/io/druid/server/http/SegmentListerResource.java#L141 . Final response is written by the thread that makes the update e.g. the thread that loads/drops the segment in this case.

Awesome, that is good to hear @himanshug!


Update CONTRIBUTING.md

Typo in the filename - correctly it is .github/ISSUE_TEMPLATE/bug.yaml otherwise it would be a 404 File not found error.

Good catch!


Add the ability for parameters to contain encoded ampersand symbols

A fix for #2
My approach was to split before using QueryEscape so that the inner encoded ampersands (&) were did not result in invalid query parameter fragments (eg. not a real key, and do not contain an =).

Sorry about the delay here - I have been swamped.
I'm going to review this, but I also think we need to add a test to ensure this type of bug isn't reintroduced.

Sorry I should have added the test from the beginning. Here it is!

gentle ping, i have the same described issue

for my use-case this is not works
example url part:
/flows?filter=parent%3Dflow12345%26request%3Dreq12345&meta.limit=20&meta.offset=0

provides:
map[string]interface {}{"filter=parent=flow12345&request":"req12345", "meta.limit":20, "meta.offset":0}

i'm expect to get
map[string]interface {}{"filter":"parent=flow12345&request=req12345", "meta.limit":20, "meta.offset":0}

this error comes from func splitKeyAndValue that splits by last = sign and not first

i'm provide quick fix in https://github.com/joncalhoun/qson/pull/5
@DDevine if you allow commit for my account to you repo i can push fix to you branch
or
@joncalhoun you can merge my pr that contains @DDevine patches, so copyright of original author is present

@vtolstov Good work. I found a workaround for my problem and it doesn't use qson so my branch doesn't need updating. Hopefully @joncalhoun to merges yours.
I haven't run your new test, but if it passes I think your solution is better than mine.

ok, thanks!


kilt&polimec ss58 prefix

Hi, we would like to reserve ss58 prefixes for our chains polimec and the kilt chain.

@weichweich please merge master. After that we can merge this. TY!

bot merge


Send email when release is complete

#528, send text email with PDF/JSON attachments

wrong branch! (wear glasses!)


feat(router): add generic merchant static routing config

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[x] Refactoring
[ ] Dependency updates

Description

This PR removes the legacy CustomRoutingRules type for describing static routing and makes the static routing configuration in the merchant account generic.
It also adds a simple Single static routing algorithm which will allow the merchant to route all payments to a single connector and its implementation in payments core.
Additional Changes

[x] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

DB up.sql
DB down.sql

Motivation and Context

This serves as scaffolding to integrate other forms of static routing into hyperswitch.
How did you test it?

Compiler-guided, stripe payments.
Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

We need to have a discussion on the implementation for the intersection of the following aspects of payments core and make necessary changes before merging the PR :-

Static Routing
Registering tasks in process-tracker
Automatic retries


Change Event to reference a test by ID instead of including a full Test

Change the Event type to only include a Test.ID value instead of a full Test instance, and add a "context" to the Event.Handler function signature so that event handlers receive a context object they can use to lookup the Test an Event references if needed.
Motivation:
This is a step towards a larger goal of allowing Event and some of its related types to conform to Codable. It also makes each individual Event instance lighter-weight in terms of its stored properties.
Modifications:

Change Event to have a Test.ID instead of a Test (still optional).
Add a new Event.Context type which gets passed to a new second parameter of Event.Handler.
Add a new (private) "runner context" type which centralizes the several pieces of task-local state managed by a Runner.
Replace several places which used Configuration.current to be Runner.current, including the mechanism for falling back to all-known runners in detached tasks.
Adjust unit tests.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test


Committing a test with known non-determinism

The test is built against the latest version of tfbridge.

Mark this as a draft please

https://github.com/pulumi/pulumi-terraform-bridge/pull/776 closes the original issue. This is no longer needed to coordinate debugging.


Problem in Description. Challenge "Compound Assignment With Augmented Addition"

Challenge Name

https://www.freecodecamp.com/challenges/compound-assignment-with-augmented-addition
Issue Description

The description isn't correct. Currently, its
myVar += 5; will add 5 to myVar.
It should be
myVar += 5; will add 5 to myVar and assign it back to myVar

While true, I actually think this explanation might be more confusing to a camper new to JS.

I agree with @dhcodes on the matter. We can try to improve the wording as much as we can but I think a code example is best. Maybe we can add this into the description.
var myVar = 1;
myVar += 5;
myVar; // Returns 6

Can I take this up?

@Manish-Giri go for it!

if @Manish-Giri is no longer interested in the fix I would be

@andmckvr13 it's in progress

It has been six days since the PR and the issue has not been resolved. Can i take it up and make a PR?

@sahilkhurana19 I've been a bit busy over the last week, but I'm still doing it.

@Manish-Giri  No worries, I'll look for other issues. :smile:

I submitted a new PR for this challenge, please disregard the previous PR #11093.

I wrote this code and it passed, but I am not sure about my syntax of it makes sense.
`var a = 3;
var b = 17;
var c = 12;
// Only modify code below this line
a = a += 12;
b = b += 9;
c = c += 7;
`

as a newbie, was loving the html ect then came to this chapter and OMG im ready to chuck the whole thing in i cant understand any of it totally confusing hunting for answers on google is not good as i dont understand how to atain the answer for myself argg

Of coarse its confusing at first it takes time and determination
Get Outlook for Androidhttps://aka.ms/ghei36

From: sarah harvey<EMAIL_ADDRESS>Sent: Wednesday, May 24, 2017 6:58:46 AM
To: freeCodeCamp/freeCodeCamp
Cc: Subscribed
Subject: Re: [freeCodeCamp/freeCodeCamp] Problem in Description. Challenge "Compound Assignment With Augmented Addition" (#10998)
as a newbie, was loving the html ect then came to this chapter and OMG im ready to chuck the whole thing in i cant understand any of it totally confusing hunting for answers on google is not good as i dont understand how to atain the answer for myself argg
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/freeCodeCamp/freeCodeCamp/issues/10998#issuecomment-303676052, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXrwenbyPSub8LnGuUccvBBie6RPSfWqks5r8_9WgaJpZM4KK0dr.


Be able to search based on multiple tags instead of one.

🚀 The feature, motivation and pitch
Currently we can use :ObsidianTags to search for files with certain tags attached to them.
This is handy if the number of files that match a specific tag is not that high, but what if your tag is added to a big number of files?
Then it may be handy to reduce the number of possible file options by adding another tag, or even multiple other tags, to search for in your files.
Say I have 2 files with the following frontmatters:
file 1
---
id: Obsidian Todo
aliases: []
tags:
  - todo
  - obsidian
---

file 2
---
id: Obsidian how-to
aliases: []
tags:
  - how-to
  - obsidian
---

Now say we want to find file 2, if we search for 'obsidian' with ObsidianTags we will retrieve 2 files from which we can pick, now imagine you have not 2 files with the tag 'obsidian' but 100 files, then you would still have to scroll through all the entries to find the note that you want.
It would be good to refine your search result with another tag, like 'how-to' or 'todo' here.

We could make use of the same telescope menu, and use a different mapping to 'store a tag' as a search tag (it would be nice if these could be listed somewhere in the telescope window, but not required).
after storing a tag, the telescope window should refresh and only show the possible tags from that point onward, so in our previous example, if you would start with 'obsidian' as your stored tag, then the window should refresh and only should show 'how-to' and 'todo' as possible options since these are the only two tags that overlap in the files where 'obsidian' is also a tag.
finally after pressing enter your search result should come up which shows the possible files that contain all the stored tags.

Alternatives
No response
Additional context
No response

This would be a beneficial feature, however, the refreshing the results may unnecessarily complicate things.  The existing picker already allows you to choose multiple tags to search by problem is the results include all notes with any single one of the tags.  It would be nice if there was an option with the current search that did the opposite where the note must contain all the tags selected.


Eliminate Syntax oddities with IntelliJ

When I follow the tutorial and get to the section on creating an outline and providing examples, I get a couple of syntax errors that can be easily remedied with a few changes to where you put quotation marks in the .feature file. Instead of putting quotation marks around every argument in the examples table, put quotation marks around the parameterized terms in the 'Given' and 'Then' statements. This takes care of:

IntelliJ telling me I need to implement step definitions for what is technically a different format than what is provided in the doc already, and
Spellchecker telling me there's a spelling issue with each of the items in the examples table.

Hi @MacGyver214,
Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾
In return for this generous offer we hope you will:

✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
ℹ Don't feel obliged to help, just do what you can if you have the time and the energy.
🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber


Request to add new papers

Thank you for your awesome repository for the researcher's references.
I would like to suggest some new papers here.
Optimal Transport for single UDA:

TIDOT: A Teacher Imitation Learning Approach for Domain Adaptation with Optimal Transport [IJCAI 2021]
LAMDA: Label Matching Deep Domain Adaptation [ICML 2021]

Optimal Transport for Multi-source DA:

MOST: Multi-Source Domain Adaptation via Optimal Transport for Student-Teacher Learning [UAI 2021]

Multi-source DA:

STEM: An approach to Multi-source Domain Adaptation with Guarantees [ICCV 2021]

Many thanks for your effort!

I have added these new papers.
Thanks!


Pets somehow drowning

Sometimes, my pets will drown. I'm not 100% how this is happening, since the spots they are drowning in are areas where they could easily swim up to the surface. For clarification, this happens when they are independent

Hm... I had issues with drowning pets in the past due to Spectrum's Liquid Crystal (you can walk in it like normal, but you can't breathe in it), so much so I patched it inside FettLol (maybe I should lift this into IndyPets or PR it to Spectrum), though I don't think I've had them drown in plain water.
From a quick test, pets appear to float up water just fine even when the player is not near:

Do you maybe have flowing currents that they could get stuck in/under?
Note that their "anti-drown behavior" is literally pressing space so they float straight up.
Just one block where they could get stuck is enough - pets will find any danger eventually.

That does appear to be the problem. The places where they drowned didnt have flowing current (well, one did, but that was more of a waterfall leading to the ocean where he drowned, not a flowing source block in the ocean). But it seems the places where they drowned did have a block directly above that cut off. I guess the AI isn't programmed to move even a single block over if the block they are surfacing at is blocked off. Unfortunate, but not your fault, just something you wouldn't notice in vanilla since tamed pets normally either follow you or sit, so they wouldn't do this.

just something you wouldn't notice in vanilla since tamed pets normally either follow you or sit, so they wouldn't do this

Yeah, there's a lot wrong with vanilla pets (as in 2eb8bfc, cats don't even try to put themselves out of fire).
I'll see if anything can be done to prevent them drowning like this, though it'll probably mean adding AI behavior, which I could only really do for vanilla pets, but that's better than nothing I suppose.

Saving pets is hard. Currently experimenting with adding a "danger" to be escaped when a pet has little air left, so it'll panic before drowning and run to another position.
Issue is that even with the panic speed boost, it can't escape flowing water:

I still wonder if you don't have some water death traps somewhere, because in testing I had trouble keeping the pets underwater as they would just naturally wander out of there.

As far as I know, both places where they died (they were named so it said the coords in the console) were places that weren't flowing water, had a block directly above the water, and had other water blocks (that weren't flowing) next to them without a block above, meaning they theoretically had the option to go there and swum up and been fine

Just released 1.4.2 with the drowning panic - I haven't fixed the flowing water issue but it might still help.
Also lifted the fix for cats not caring about being on fire for 1.16 - 1.18 (Mojang fixed that in 1.19).
I'm not sure if this is enough to help your situation, so let me know if there's still an issue.


Rewrite headers should be a core feature.

What did you expect to see?
There is a closed issue that i believe it should still be valid:
#6047
i would commend there but it's "frozen"
Traefik should provide the functionality of rewrite headers, or at least rename them...
and not rely on external plugins to do so.
there is not only 1 plugin but several of them which means there is demand for this functionality....

Hello @migs35323, and thanks for opening the issue.
I am closing this issue in favor of https://github.com/traefik/traefik/issues/6047. Feel free to add your use case and give it a thumbs up.


Improvement: Get rid of coffeescript dependency

Actually this is a pretty easy task. If I had more time to be able to do the intial setup -- checking out rep etc -- I would do this via a pull request.
CoffeeScript is kind of obsolete with modern versions of ES and TypeScript.
Hence, this just as a small improvement suggestion:

There are only a couple of CoffeeScript files in this repo
With decaffeinate these transfiles are translated to ES6 in seconds (it works pretty well -- I tried it with the files)
Then you can remove the coffee-rails dependency.

Thanks to anybody willing to do this. This makes a lot of projects using this gem leaner.

It would be fantastic, waiting for PR!

Will try to do it myself this week :-)

@mshibuya #3168 removes CoffeeScript from this project

To note... If you add CKeditor to Rails admin, the bit of code in the docs to make it work in nested forms depends on coffeescript.


Pro Controller Support?

The pro controller can defo connect via bluetooth but I also think it has the same IMU's as joycons as I do remember being able to physically turn the controller in mario kart to steer?
(I'm not demanding you add this right away, its just a suggestion and I think what you're working on is really cool and will help bring slime VR to alot more people)

I don't have a pro controller so I can't test why it doesn't work. You or someone else are free to add the support to enable this.

Closing this. Apparently according to people that have a pro controller it also works for slimevr wrangler.


[DOCS] Loading COCO object detection automatically converts bounding box format to normalised COCO.

URL(s) with the issue
https://docs.voxel51.com/user_guide/dataset_creation/index.html
https://docs.voxel51.com/user_guide/export_datasets.html#cocodetectiondataset
https://docs.voxel51.com/integrations/coco.html#:~:text=Loading the COCO dataset&text=FiftyOne supports loading annotations for,(see below for details).
Description of proposal (what needs changing)
It is wild that the only place I could find that tells you the bounding box format for an imported COCO dataset is automatically converted to normalised COCO is in a note halfway down (https://docs.voxel51.com/user_guide/using_datasets.html) and there is no documentation or inbuilt function for converting it back. The COCO integration page shows a standard COCO annotation and doesn't even mention this issue which is so misleading. Importing a COCO dataset is one of the most basic tasks so it is really disappointing to find how badly documented this is.
Also how does this work for models taken outside of fiftyone, does this mean training a model with samples from a fiftyone dataset will lead to raw detections output in the fiftyone format? If the model is taken elsewhere does this mean that the output needs to be converted from fiftyone format back to COCO?
As a side note the example in https://docs.voxel51.com/user_guide/dataset_creation/index.html#model-predictions doesn't run successfully on my version of fiftyone (0.21.6) and returns an error 'Dataset has no field'ground_truth'.
Willingness to contribute
The FiftyOne Community encourages documentation contributions. Would you or another member of your organization be willing to contribute a fix for this documentation issue to the FiftyOne codebase?

[ ] Yes. I can contribute a documentation fix independently
[x] Yes. I would be willing to contribute a documentation fix with guidance from the FiftyOne community
[ ] No. I cannot contribute a documentation fix at this time

Hi William, as you pointed out on this page, FiftyOne stores all object detections in this specific format:

FiftyOne stores box coordinates as floats in [0, 1] relative to the dimensions of the image.
Bounding boxes are represented by a length-4 list in the format:
[<top-left-x>, <top-left-y>, <width>, <height>]

Note that this is not "normalized COCO" per se, but rather FiftyOne's standard format (which wouldn't change if the normalized COCO spec were to change, for example).
It is necessary for FiftyOne datasets to store data in a common format so that the App knows how to correctly visualize them. Storing the data in a single standard format also allows for the reverse workflow: exporting data into any one of the builtin formats (COCO, YOLO, VOC, etc):
https://docs.voxel51.com/user_guide/export_datasets.html
As for training models, here's a couple useful tutorials:

Training with Detectron2: https://docs.voxel51.com/tutorials/detectron2.html
Adding classifier predictions from a model to FiftyOne: https://docs.voxel51.com/recipes/adding_classifications.html
Adding detections predictions from a model to FiftyOne: https://docs.voxel51.com/recipes/adding_detections.html
Training a model using a FiftyOne dataset:

Thanks for catching the documentation bug for COCO on  https://docs.voxel51.com/user_guide/dataset_creation/index.html#model-predictions. The correct syntax for the function call beginning on line 24 of the example code is:
# Now load ground truth labels into a new dataset
dataset2 = fo.Dataset.from_dir(
    dataset_dir="/tmp/coco",
    dataset_type=fo.types.COCODetectionDataset,
    label_field="ground_truth",
    label_types="detections",
)

This has been patched and the updated docs will be deployed to fiftyone.ai in a few days.


Netconf channel stuck in ReadUntilPrompt

Hello,
In my quest to squash all remaining memory leaks, I found one more:

I am now using the Custom Transport (which in my case is more or less the same as standard transport), and I am seeing some goroutines stuck in ReadUntilPrompt, which in turn is leaving some memory unreleased.
It looks like it's stuck in an infinite loop here:
// ReadUntilPrompt reads bytes out of the channel Q object until the channel PromptPattern regex
// pattern is seen in the output. Once that pattern is seen, all read bytes are returned.
func (c *Channel) ReadUntilPrompt() ([]byte, error) {
	var rb []byte

	for {
		nb, err := c.Read()
		if err != nil {
			return nil, err
		}

		if nb == nil {
			time.Sleep(c.ReadDelay)

			continue
		}

		rb = append(rb, nb...)

		if c.PromptPattern.Match(processReadBuf(rb, c.PromptSearchDepth)) {
			return rb, nil
		}
	}
}

I was expecting the ReadUntilPrompt to respect options.WithTimeoutOps(120 * time.Second), parameter, but looking at the code it doesn't seem to actually apply to the Open phase (which is causing the issue in my case).
I was thinking we could start a timer (or a context) like in GetPrompt() ?
And maybe this should apply for all Read call (so that no call to Read can last more than timeout seconds).
This made me think about contexts as well, shouldn't all the network bound operations of scrapligo accept a context as a first argument ? That way we can control as a user with context.WithTimeout what duration we all for each phase/call ?

bam, another one :D haha we'll get them all cleaned up one day 🤣
makes sense and I will tackle this this week and report back! regarding the context thing... yea... it probably "should" be done like that to be idiomatic. it isn't because it was more or less 1:1 translated from python when I first wrote things. I also had some notion that I wanted it to stay as similar/same as python things.
so.. for now I think I wont do anything about this context business, but it is on my mind/radar for sure.

okay :)
Honestly I guessed that you already thought about contexts, and had a reason not to have done it yet, but I figured I should mention it anyways for completeness.
My guess is that there are probably other Channel operations that could also use a timer to prevent indefinite execution time, but I am not sure which ones...
If it helps I could write a test for that (emulating a verrrry slow ssh peer) ?

yeah, tests are always welcome of course!
I think in general there is just timers on the get prompt and send input methods and nothing/not much else (maybe auth I guess). which I guess leads to the question: are you calling read until prompt directly or via something else?
I guess (thinking quickly so this is maybe very wrong) we need to send a done channel into readuntilprompt/any/etc. so that when we time them out from something like "send input" we can send the done signal to them. lemme know if that makes sense/sounds reasonable :)

I am not calling it directly, the call graph is Open > processServerCapabilities > ReadUntilPrompt.
func (d *Driver) processServerCapabilities() error {
	b, err := d.Channel.ReadUntilPrompt()
	if err != nil {
		return err
	}

It's actually possible that it's the router that never finishes it's capabilities (we've seen that before: https://github.com/carlmontanari/scrapli/issues/233), but nevertheless, we should terminate open before the defined timeout.

sorry for the delay! lets follow up in #179 -- I cherry picked your tests and tweaked a bit, but it passes nicely now and I think I got all the other read until X stuff properly closing out now too


Add note for disallowed characters in SubscriptionAlias names

It appears that Subscription Aliases cannot have a period/dot in the name, such as "Contoso.Infrastructure.Dev" but this is permitted on display names. I was getting 404 error regardless of method (PowerShell, Az CLI, REST) when specifying a name with periods in it. I'm not sure if there are other restrictions such as length, disallowed characters, trailing/leading characters, etc. I spent 3 days creating service principals and assigning all kinds of roles until I figured this out.
Could the documentation be updated to include these naming restrictions?

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

ID: 0d73f3e0-d3d3-eca9-483f-4a787fa77bb2
Version Independent ID: d4046a56-c05e-e278-382d-2cb26dd5c20f
Content: Programmatically create Azure Enterprise Agreement subscriptions with the latest APIs
Content Source: articles/cost-management-billing/manage/programmatically-create-subscription-enterprise-agreement.md
Service: cost-management-billing
Sub-service: billing
GitHub Login: @bandersmsft
Microsoft Alias: banders

@wahidsaleemi Thanks for the feedback.
Assigning @bandersmsft for visibility, review and document enhancement consideration as appropriate.


Fix build failure

Changes Unknown when pulling e9a7f86a4da3434b5ba89f42c00f6baf33fd9e91 on fix-build-failure into ** on master**.


boundingBox returns (0,0,0,0) for Trees generated with mkText

Yeah, the bounding box of text depends on the font. There's not much to do here except make a note of it in the documentation.

I guess there are quite a few subtleties with this function, such as line
width not being taken into account etc..
On Sat, Jun 13, 2020, 3:36 PM David Himmelstrup<EMAIL_ADDRESS>wrote:

Yeah, the bounding box of text depends on the font. There's not much to do
here except make a note of it in the documentation.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Lemmih/reanimate/issues/94#issuecomment-643585385,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGRJXCYKU7STUFQTDUIUSTRWMT7JANCNFSM4N437IAA
.

Computing correct bounding boxes for all of SVG, including masks and filter effects, would be a mighty burden. If you need accurate bounding boxes, you can always raster the SVG fragment and look at the pixels. There are nice helper functions for this.

I've updated the docs to say that bounding boxes are best-effort.

Thank!
On Fri, Jul 10, 2020, 2:24 PM David Himmelstrup<EMAIL_ADDRESS>wrote:

I've updated the docs to say that bounding boxes are best-effort.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/reanimate/reanimate/issues/94#issuecomment-656506317,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGRJXDCSWYSFTEUGZXBKN3R22XXXANCNFSM4N437IAA
.


py3 support

Hiya,
Just wondering if scout is py3 compatible? Was just fixing the build in Fedora, thought I'd check and maybe build a py3 version too if I can.
Cheers!

hello! scout was built in python 2.6/2.7 so we'd probably need to change the codebase to make it work with py3.
I'd be interested in having this change done, if you feel up to it. my guess is that since all of the operations are so simple it would probably only require a quick 2to3 run :)
thanks for bringing that up!

I've just tried running scout in python3 inside a venv and I got a big mean traceback. so for now it's not py3 compatible, but I'll see if I can get this in order soon. maybe just migrate to py3 code completely.
btw: thanks for the kick in the issues! I've been asleep for too long on this project and I had even forgotten how to install it :P so far I've added some details in the readme for some missing requirements and some info on how to use pip to install instead of distutils directly. but I'll try to move things some more relatively soon


Extraction of Core.TextureMovie as actual movie files

Hi! I have a upk file with movies inside. Your tool browses it perfectly and I can see a lot of Core.TextureMovie entries in the list. However, I can't find a way to extract them as a movie file. Only export as Raw Data works, but it produces unplayable file.
Is it possible to extract such objects as actual movies?

Can you upload the file to a filehoster? I can take a look, but since I'm short on time expect not too much :D

Can you upload the file to a filehoster? I can take a look, but since I'm short on time expect not too much :D

Sure! Here is the link: https://mega.nz/file/PQs2Qa4b#950-_dDap3ie7fbkHRpu4RclJFQ_TJBIb7Gxlc4W66s

Sure! Here is the link: https://mega.nz/file/PQs2Qa4b#950-_dDap3ie7fbkHRpu4RclJFQ_TJBIb7Gxlc4W66s

Hi! Were you able to at least take a look at the file?


⚠ GitLab Server has degraded performance

In 165e73a, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11811 ms

Resolved: GitLab Server performance has improved in 0f222fa.


Add default processing

First merge https://github.com/qiita-spots/qiita/pull/3110; then I'll update this PR.
This PR adds a single button to generate/populate based on our default pipelines, for example:

Coverage decreased (-0.04%) to 91.07% when pulling 53450dbe482a256792c55287d2d06261cbd8e00e on antgonza:add-default-processing into ebdddd874d0980ec776fc7128f4d2f193de5fd4b on qiita-spots:dev.

Wasn't sure if this should go here or have its own separate issue, let me know and happy create a new issue.
As per the recent email thread on this topic: the Standard Workflow option is great, but without a brief description of what it actually is/does it might be confusing for users. Adding a brief description of this would be thus very useful. Happy to contribute to this.
Option 1: Add a short description on top of the main network processing page,
Option 2: A brief "hover-over" text box appears over the "Standard Workflow" button,
Option 3: A detailed description in the main help files and just provide a link to that in the network processing page?
Option 4: something else?
Depending on the options the description I can make the text brief or more detailed.

Thank you @mestaki; I think 1 and 3 would be great. If you send me an email with that I can open a PR adding those texts so you can review there ... or you can open a PR with those changes and I can review; whatever works best. BTW no need to open a new issue.

Good to merge?

Yes, thank you. The tutorial/text updates will be done in a separate PR (together with the release notes).


unable to run docker

Hi,
I am trying to run
sudo docker build -f docker/Dockerfile -t alphafold .
but I am receiving the following result
unable to prepare context: path "." not found
could you help with a possible solution?

You're definitely running that command from inside the alphafold directory yes? (also, is there a reason you are using sudo? theoretically it should not need it and is safer if you don't)

Hi @amoltej, we strongly recommend using Docker as a non-root user to build and run. This may be why you experienced issues preparing the context.


TypeError: path.resolve is not a function.

Hey, thanks for coming up with an equally straightforward solution for the serverless option as well.
I'm trying to implement the update into my new project, however, I'm finding the following issue when importing the i18n file into any page-level component: Error was not caught TypeError: path.resolve is not a function
I'm not a veteran with Next.js, but I don't see any obvious problem with my code.
my i18n.js:
const path = require('path')
const NextI18Next = require('next-i18next').default
const { localeSubpaths } = require('next/config').default().publicRuntimeConfig
module.exports = new NextI18Next({
  defaultLanguage: 'en',
  otherLanguages: ['es'],
  localeSubpaths,
  localePath: path.resolve('./public/locales'),
})

My "/test" page-level component:
import React from 'react'
import PropTypes from 'prop-types'
import { i18n, withTranslation } from '../i18n'
const Test = ({ t }) => {
  return (
    <React.Fragment>

          <button
            type="button"
            onClick={() => {
              console.log(i18n)
              i18n.changeLanguage(i18n.language === 'en' ? 'es' : 'en')
            }}
          >
            Change
          </button>

{t('title')}

    </React.Fragment>
  )
}

Test.getInitialProps = async () => ({
  namespacesRequired: ['common'],
})

Test.propTypes = {
  t: PropTypes.func.isRequired,
}

export default withTranslation('common')(Test)

My next.config.js:
const withPlugins = require('next-compose-plugins');
const withOptimizedImages = require('next-optimized-images');
const withFonts = require('next-fonts');
const FilterWarningsPlugin = require('webpack-filter-warnings-plugin');
const { nextI18NextRewrites } = require('next-i18next/rewrites')

const localeSubpaths = {
  es: 'es'
}

const nextConfig = {
  env: {
    GOOGLE_API_KEY: 'API_KEY',
    REACT_APP_GOOGLE_MAP_API_KEY:
      'https://maps.googleapis.com/maps/api/js?v=3.exp&key=API_KEY&libraries=geometry,drawing,places',
    SERVER_API: `http://localhost:3001`,
  },
  webpack: (config, { isServer }) => {
    config.plugins.push(
      new FilterWarningsPlugin({
        exclude: /mini-css-extract-plugin[^]*Conflicting order between:/,
      })
    );
    config.resolve.modules.push(__dirname);

    return config;
  },
  publicRuntimeConfig: {
    localeSubpaths,
  },
  experimental: {
    async rewrites() {
      return [
        ...nextI18NextRewrites(localeSubpaths)
      ]
    }
  }
};

module.exports = withPlugins(
  [
    [
      withOptimizedImages,
      {
        mozjpeg: {
          quality: 90,
        },
        webp: {
          preset: 'default',
          quality: 90,
        },
      },
    ],
    withFonts,
  ],
  nextConfig
);

If you have any other question, I'll be glad to provide more information if possible.
Thanks in advance! :muscle:

If you remove your webpack overrides, does the issue cease?

If you remove your webpack overrides, does the issue cease?

No, it doesn't.

@Progressandro Mind putting together a reproducible repo? I'll debug from there. Thanks.

Already invited you to the repo, please use the next-i18next branch. Also, the route for testing it /test. Just try to go there and check the console error. Besides, if you try to click the "change" button, it won't work.

I believe it's something to do with this line:
config.resolve.modules.push(__dirname);

But cannot be sure, as this definitely isn't a minimal repro. Can you please remove all unnecessary code to demonstrate the potential bug in its simplest form?
Resolve comes directly from webpack, so I'm fairly confident this is user error.

I greatly apologize, Isaac. I know the example wasn't the best but I really wanted to give you a full picture since I didn't have an idea of where the problem was (this is legacy code for me).
Anyways, before almost giving up, for some reason I also reviewed the package.json, and I FOUND THE ISSUE:
"browser": {
    "fs": false,
    "path": false
},

Removed "path": false and it works wonderfully now.
Thank you very much.

Ah, glad you found it!


Any documentation about logs?

The console did not print the SQL that should be executed

According to official documents and spring boot mybatis integration, there is no info log

Documentation for logging in MyBatis is here: https://mybatis.org/mybatis-3/logging.html


Make row/col special axes names instead of fields in acquisition event

Also add new Java interfaces to ensure pycromanager-compatible components have all required fuctions

replaces https://github.com/micro-manager/pycro-manager/pull/562


Problem detecting column type

I have a problem with integer and date columns, for this I get the type  OpenXLSX::XLValueType::Error and a exception when I try to get the value of this columns.
My test code:
#include <iostream>
#include <iomanip>
#include <OpenXLSX/OpenXLSX.h>

using namespace std;
using namespace OpenXLSX;

int main(int argc, char** argv)
{
   XLDocument doc;

   if (argc < 2)
   {
      cout << "Usage: " << argv[0] << " <file.xlsx>" << endl;
      return 1;
   }

   doc.OpenDocument(argv[1]);
   auto wks = doc.Workbook().Worksheet("Tabelle1");

   auto tA2 = wks.Cell("A2").ValueType();

   if (tA2 == OpenXLSX::XLValueType::Error)
      cout << "Format error at cell A2" << endl;

   auto tC2 = wks.Cell("C3").ValueType();

   if (tC2 == OpenXLSX::XLValueType::Error)
      cout << "Format error at cell C2" << endl;

   auto tD2 = wks.Cell("D2").ValueType();

   if (tD2 == OpenXLSX::XLValueType::Error)
      cout << "Format error at cell D2" << endl;

   auto A1 = wks.Cell("A1").Value().Get<std::string>();
   auto A2 = wks.Cell("A2").Value().Get<unsigned int>();
   auto B1 = wks.Cell("B1").Value().Get<std::string>();
   auto B2 = wks.Cell("B2").Value().Get<std::string>();

   cout << "Cell A1: " << A1 << endl;
   cout << "Cell A2: " << A2 << endl;
   cout << "Cell B1: " << B1 << endl;
   cout << "Cell B2: " << B2 << endl;

   return 0;
}

The result:
~/build/playground> excel U1.xlsx
Format error at cell A2
Format error at cell C2
terminate called after throwing an instance of 'OpenXLSX::XLException'
  what():  Cell value is not Integer

U1.xlsx
Many thanks and best regards

Hi @horchi
I just committed a bugfix. The code above now works on my machine.
Please note that currently OpenXLSX treats date values as integers. If you want to format is as date/time, you have to do it in your own code. The intention is to enable OpenXLSX to treat date/time values as a separate data type, but it will take some time before I get to that point.


skip vs todo

Identify "KnownTodo" tests (it.todo('a test that is yet to be written'))
https://github.com/jest-community/vscode-jest/issues/634

Fails

:no_entry_sign:

No CHANGELOG added. If this is a small PR, or a bug-fix for an unreleased bug add #trivial to your PR message and re-run CI.

  Generated by :no_entry_sign: dangerJS against 5c3cae21d104d6e2b4d9bc2e5e14323d2cc10325


Add permitted attributes helper, closes #141

See discussion in #141. This provides a convenient helper which aids in permitting attributes in the controller.

This is excellent. Thank you!

Merged!


Add PrepareAndCommit for grpc

Codecov Report

Merging #172 (901decf) into main (b70b188) will increase coverage by 0.19%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #172      +/-   ##
==========================================
+ Coverage   96.75%   96.95%   +0.19%
==========================================
  Files          44       44
  Lines        2158     2167       +9
==========================================
+ Hits         2088     2101      +13
+ Misses         38       36       -2
+ Partials       32       30       -2

Impacted Files
Coverage Δ

dtmcli/msg.go
100.00% <ø> (ø)

dtmcli/barrier.go
100.00% <100.00%> (+3.57%)
:arrow_up:

dtmcli/types.go
100.00% <100.00%> (ø)

dtmgrpc/msg.go
100.00% <100.00%> (ø)

dtmsvr/trans_type_saga.go
98.26% <0.00%> (+1.73%)
:arrow_up:

Continue to review full report at Codecov.

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


Submit to awesome-elm

https://github.com/isRuslan/awesome-elm

elm-vim is already listed on awesome-elm

Thanks for the heads up!


source ~/.linuxify

For everything to work correctly, the script adds source ~/.linuxify to ~/.bashrc. But this assumes:

that the user is using bash
that ~/.bashrc does not use commands that will only work after the $PATH has been patched (e.g.  export MAKEFLAGS="-j$(nproc)" will fail if declared before source ~/.linuxify because nproc is not yet in the $PATH)

Should the script continue to try to add source ~/.linuxify to ~/.bashrc.  like this or should the users be responsible for handling this stitching themselves?

I think appending something to users' profile is kind of unwanted.
If user is competent enough to run this script, they're competent enough to add it to their profile accordingly

Plenty of things append an install with instructions to "add  to your ~/.bashrc or equivalent". Even if it supported my shell (zsh), automatically appending would be annoying because I structure my dotfiles in a particular way, etc.

automatically appending would be annoying because I structure my dotfiles in a particular way, etc.

Yeah that's very true. I didn't like it much either. But I still stuck to it in the spirit of an automagical one-step install.
I'll probably change this tonight.

I'll add that I'm using fish, so it'd probably be better to add an instruction at the end of the install requesting the user add . linuxify.sh/source linuxify.sh to their .bashrc/.zshrc/config.fish/etc.

Alright I've changed the behavior of the script in https://github.com/fabiomaia/linuxify/commit/9140a9c4da69994f753c9a5159133d18686b4fd6
Any comments?


Wip 320 improve demo notebook: improve order/explanation + examples for 4 DP library

Coverage report

This PR does not seem to contain any modification to coverable code.


could not launch process: malformed qfThreadInfo response

I am trying to run delve on mavericks OS(10.9.5).

What version of Delve are you using (dlv version)?
Version: 1.1.0
Build: 63c880780ff1e9ef7c765f19117770428badee32

What version of Go are you using? (go version)?
go version go1.10.3 darwin/amd64

What operating system and processor architecture are you using?

System: Mavericks (Mac OS 10.9.5),
Processor: i5
architecture: darwin

What did you do?
dlv debug

I tried
export GOBIN=$GOPATH/bin dlv debug
getting no difference.
5. What did you expect to see?
[dlv] prompt.

What did you see instead?
could not launch process: malformed qfThreadInfo response

Duplicate of #1219

@aarzilli   Why do I only see you close the question, but don't answer how to solve it.

@wupeaking
Duplicate of #1219 .
aarzilli say

Closing, some old versions of debugserver are sending us a malformed version packet and there's nothing we can do about it.

@chainhelen
@kurianCoding say
What version of Delve are you using (dlv version)?
Version: 1.1.0
Build: 63c8807
I have not found a newer version.

What @chainhelen said. If you are feeling particularly brave you could try deleting the block starting with 	if verbuf, err := p.conn.exec([]byte("$qGDBServerVersion"), "init"); err == nil {
in pkg/proc/gdbserial/gdbserver.go. But other things may be broken with that version of debugserver. In general this issue can not be fixed.