create yaml parser

We need to frame yaml config and parser
Here is my very dirty code that deals with (a) yaml parser (b) a time loop and (c) log files
We will need something similar. maybe just a bit prettier. This was my first python program.
https://github.com/NOAA-PSL/observation-archive/blob/develop/src/s3-copy.py
Working through this will force us to make some choices about how to specify things in yaml
here is the sample yaml code that goes with the program above.
https://github.com/NOAA-PSL/observation-archive/blob/develop/test/testinput/s3_source_amsua_first_pass.yaml
I bet the yaml file above is outdated.

this seems to be outdated now. closing


radar vegetation index

In this notebook, we want to study the health condition of vegetation using radar. Thus, we will use the Sentinel-1 GRD collection available within the Copernicus Data Space Ecosystem. The Radar Vegetation Index (RVI) is a measure used in remote sensing and agriculture to assess the health and condition of vegetation using radar data.
General example of openEO, thus migrated this notebook to this repo rather than cdse-specific(eu-cdse/notebook-samples#47)

@soxofaan, I apologize for too many PRs closed and opened for this simple use case. I wasn't sure what was causing the action failure, tried several. So far it looks good here.

no problem
the LaTeX formula is a bit small to read properly , can you use display mode instead of inline mode? e.g. see https://www.learnlatex.org/en/lesson-10

from openeo.processes import sqrt

I don't think this sqrt import is used, right?

rvi = (4 * (s1.band("VH"))) / (s1.band("VV") + s1.band("VH"))

I think you can eliminate a couple of parentheses here
In the plots: you start talking about NDVI which makes no sense. You also use mean, max and median in the plot titles, but the three plots are from different time stamps.
I would also use a lower dpi value than 300 as this makes the font size quite large, usually 90 is enough for screen display.
In the time series plot you use figsize(18,6) and dpi=200, which creates a huge plot image (3000px wide) unnecessarily. Note that this weighs hevily on notebook and repo size.
I think you should stick to 90 dpi by default and keep figsize reasonably small.
about spectral indices: you should mention that this is an extra feature of the openeo python client, now it looks like it is something from the openEO ecosystem as a whole, which is not true.

from openeo.processes import sqrt

removed

rvi = (4 * (s1.band("VH"))) / (s1.band("VV") + s1.band("VH"))

modified

I think you can eliminate a couple of parentheses here

eliminated

In the plots: you start talking about NDVI which makes no sense. You also use mean, max and median in the plot titles, but the three plots are from different time stamps. I would also use a lower dpi value than 300 as this makes the font size quite large, usually 90 is enough for screen display.
In the time series plot you use figsize(18,6) and dpi=200, which creates a huge plot image (3000px wide) unnecessarily. Note that this weighs hevily on notebook and repo size. I think you should stick to 90 dpi by default and keep figsize reasonably small.

Sticked with 90dpi

about spectral indices: you should mention that this is an extra feature of the openeo python client, now it looks like it is something from the openEO ecosystem as a whole, which is not true.

Updated the sentence

\sigma^0{ }_{V H}}
is that { } before the _ intentional? I think the math will look cleaner if you just use \sigma^0_{V H}}

Temporal mean of  RVI ..... Temporal max of RVI ... Temporal median of RVI

Where does this mean/max/median come from? this is just a timeseries, right?

Alternatively, you can use compute_indices process for the computation of a wide range of indices.
Moreover, You can simplify your process by using the Awesome Spectral Indices package to calculate several spectral indices.
...
Let's plot the result
Similarly, you can calculate more indices, as done above, without having to deal with the formulas.
please note that this API is experimental and may undergo changes. Furthermore, there might be cases where it is not supported for certain collections when executed directly in the openEO web editor.

All this text feels a quite chaotic (e.g. the paragraph after "Let's plot the results" has nothing to do with plotting).
Proposal:

The openEO Python client has a spectral indices feature to simplify building process graphs with indices like RVI. It builds on the  Awesome Spectral Indices project and allows specifying indices through their name instead of having to deal with formulas.
For example, with the compute_indices helper you just have to specify "DpRVIVV" (Dual-Polarized Radar Vegetation Index VV) as follows:
...

Where does this mean/max/median come from? this is just a timeseries, right?

I am sorry maybe, I am confusing you, but there in the image, I simply wanted to show the mean, max, median value of a pixel over the selected temporal time.
I included a sentence before the plot to avoid the confusion. If you think it is still better to remove the plot, I can make changes as you recommend.

ah ok I see now.
The max plot, completely polluted by clouds I guess, is in any case not interesting so I would not show it. Showing both mean and median is also not very interesting here, so  I would just stick to temporal median (or mean)

The max plot, completely polluted by clouds I guess, is in any case not interesting so I would not show it. Showing both mean and median is also not very interesting here, so I would just stick to temporal median (or mean)

Ahh ok sure, I updated the plot for mean only.

@soxofaan, thank you for all the guidance. Also, could you please help me in merging this? I don't have the authorisation for this repo


Twitter "reply" boxes are messed up - the css is being affected

Fixed. Instead of setting display:initial (which resets it to the default css value, not the initial value when the page loaded), just set it to an empty string. That erases the effect of display:none !important and resets the element(s) to whatever it was before comments were hidden.


[FLINK-3700] [core] Add 'Preconditions' utility class.

The functionality that Flink uses from Guava is super simple and limited.
We get a big dependency that has caused a lot of pain in the past, simply to get access to some simple utility methods. This has cause us quite a bit of pain in the past, because of Guava version conflicts and the necessary dependency shading.
In order to reduce the dependency on Guava, this adds a simple Flink Preconditions class.
While referencing well established libraries is a good idea for standalone apps, it is a problem for frameworks like Flink, if the dependencies are not well-behaved with respect to version compatibility. Guava is not well behaved in that sense.

+1 for merging :-)

+1.
I know of some other places where I've used Guava's Hasher or Cache, which we can also remove in order to be able to remove our Guava dependency.

Merging this...

Manually merged in 885d543be8a8c0d1acdffa0003e394347d5376ef


Dual Legacy Shapeshifted Baby Dragon

Upon attaining 2nd level and selecting power attack feat, the power attack button replaced the shifter claws button on the quickbar and abilities popup menu.  It was still listed in the character sheet->abilities tab.
Update, this character reached 7th level and the shifter claws damage die did not increase.

I encountered similar issues, except in my case I didn't even get the shifter claws ability, and I somehow got the greater wyrmshifter at level 9 through dual legacy -> part timer -> shifter dragon. For the claws, the shifter claws feature is in the save, but the source blueprint is the shifter class, so I suspect it's not giving me the ability because my shifter level isn't high enough. Not sure about wyrmshifter, but its source is correctly from the isekai mod.
For now I'd recommend just not using dual legacy or the part timer legacy.


Adding fedora docs

I would like to revert that again. I am opposed to that patch, I don't want
to have documentation for a specific Linux distribution. Especially since
this patch doesn't include all options and partially misses information.

I would like to revert that again. I am opposed to that patch, I don't want to have documentation for a specific Linux distribution.

This PR was open for over half a year. That should have been sufficient time to comment...

Especially since this patch doesn't include all options and partially misses information.

Could we add the missing information instead? I don't think that system specifics are a bad thing to have in the docs.

Am 01.05.2016 6:24 nachm. schrieb "Hartmut Kaiser"<EMAIL_ADDRESS>
:

I would like to revert that again. I am opposed to that patch, I don't
want to have documentation for a specific Linux distribution.

This PR was open for over half a year. That should have been sufficient
time to comment...

I actually did comment on this PR, outside of github but comments have been
made.

Especially since this patch doesn't include all options and partially
misses information.

Could we add the missing information instead? I don't think that system
specifics are a bad thing to have in the docs.

Well, we do have a generic way to install HPX on any Linux system. Anything
else should go on the wiki. We can't even maintain those docs appropriately
because we neither test it nor have a fedora system to develop on.

—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

@diehlpk Do you have an opinion on this. These are your changes

@sithhell If you commented on this, then I was not aware of it (or I just don't remember), sorry. My goal was to get PRs integrated (somebody has to do that, right?), there was no comment on the PR, the PR looked reasonable after addressing the one comment, so I went ahead.
However, please feel free to create a PR to revert the changes, we can discuss things over there.

In addition, out changed the version to rc1

I actually had a quote long discussion with aserio, where we decided to have it open until someone creates the wiki entry for it... Next time, I'll create a ticket or make the comment to the PR directly.

The version is unchanged: https://github.com/STEllAR-GROUP/hpx/blob/9c7a4336c568b86d15e4fde9b3defcfd9475d4b0/hpx/config/version.hpp#L41. I have no idea why the diff is showing this.

I strongly recommend to have a installation even for a specific distribution at the documentation or the wiki. My blog post was helpful for my gsc student to set up HPX. My students used it and some people who asked in the irc channel.

Am 02.05.2016 8:48 vorm. schrieb "Patrick Diehl"<EMAIL_ADDRESS>
I strongly recommend to have a installation even for a specific
distribution at the documentation or the wiki. My blog post was helpful for
my gsc student to set up HPX. My students used it and some people who asked
in the irc channel.

Sure, it's helpful to have such a receipt. Will you maintain, test and
support it?

—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

Yes, I could do it for Fedora. I usually update my system shortly after the release of the latest Fedora and have to compile it again. Thus, I could update the wiki.


[Bug] king Jerry 👑

🐞 Bug Report
Describe the bug

Is this a regression?

To Reproduce

Expected behaviour

Media prove

Your environment

OS:
Node version:
Npm version:
Browser name and version:

Additional context

Nice


Revert COMGR patches

Here is a back-up plan to revert COMGR patches, until we fix the COMGR installation issue.

Please do not merge until unless there is a Green light from Jenkins tests.


Variable & optional prefix group

I have optional partners in my scenario which get a specific site, but all the routes stay the same. E.g.:
/ => homepage no partner
/create => subpage no partner
/one/ => homepage partner one
/one/create => subpage partner one
etc.

The list of partners is limited and will not collide with the subpages, so I created it like this:
var group = FlowRouter.group({
  prefix: "/:partner(one|two|three)?"
})
group.route("/", {name: "base", ...)
group.route("/create", {name: "create", ...)

For this the pipe | is missing in the Router.pathRegExp and I created a PR https://github.com/VeliovGroup/flow-router/pull/60
Also I was thinking of a method to make this partner "sticky" for all further FlowRouter.go(), etc. calls and wondered if I am missing an option in the existing code. My implementation would be like the following:
  sticky_field = 'partner'
  path(_pathDef, fields = {}, queryParams) {
    // Keep a sticky field
    if(this.sticky_field && !fields[this.sticky_field]
        && this._current.params && this._current.params[this.sticky_field]) {
      fields[this.sticky_field] = this._current.params[this.sticky_field]
    }

Do you think that a similar implementation would be of value to others?

Hello @arichter83 ,

I your case it seem to use more logical approach making "partner" as subpath /:partner/:partnerName?
pathRegExp is editable by default — see docs, and addressed in #25, asn solver in #28 by @nicooprat

Although I've merged your PR, now thinking — are we really want to publish such changes?
Waiting for your opinion @arichter83

Dear @dr-dimitru,
the PR was just the | and I think it is optional to merge and no need to publish. I didn't know about the overriding!
And in regards to the sticky_field, that was just a draft. But /:partner/:partnerName? is no solution - /:partner(one|two|three)? means /, /one, /two or /three.

Okay, going to revert latest merge. Please, feel free to use pathRegExp to meet your needs 😉
Feel free to reopen it in case if the issue is still persists on your end.


[AIRFLOW-2640] Add Cassandra table sensor

Make sure you have checked all steps below.
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-2640
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a JIRA issue.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

Just like a partition sensor for Hive,
this PR adds a sensor that waits for
a table to be created in Cassandra cluster.
Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

tests.contrib.hooks.test_cassandra_hook:CassandraHookTest.test_table_exists
tests.contrib.sensors.test_cassandra_sensor:TestCassandraTableSensor
Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[x] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Codecov Report

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

@@           Coverage Diff           @@
##           master    #3518   +/-   ##
=======================================
  Coverage   77.41%   77.41%
=======================================
  Files         204      204
  Lines       15185    15185
=======================================
  Hits        11755    11755
  Misses       3430     3430

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 7bdf616...6133c17. Read the comment docs.

Thanks for the review @Fokko! Updated the PR.

fixed the bug Fokko found
added tests which covers the above case
assigned meaningful names to some variables


[WIP][3.0][cdc-runtime] add DataSinkWriterOperator to process Event

close https://github.com/ververica/flink-cdc-connectors/issues/2605
points to be discussed:

[ ] should we add a new interface SupportSchemaEvolutionWriting, or let writer deal with it in write method
[ ] is there a better way to access SinkWriter rather than reflection, as sinkWriter is private scope
[ ] SCHEMA_EVOLUTION_OPERATOR_ID is an identification to get SchemaOperatorCoordinator, does it meet the expectations of SchemaOperator

@PatrickRen @ruanhang1993 cc and Looking forward to your suggestions.

@lvyanquan Thanks for pull requests!

I don't quite get the usage of the interface SupportSchemaEvolutionWriting. Which component should this interface be applied to?
Using reflections is acceptable to me. I couldn't find better solution for now. Otherwise we have to copy-paste and rewrite the entire SinkWriterOperator from Flink.
I'm not sure if it is possible to build the operator ID in composing phase, instead of hard-coding in schema operator coordinator. It looks like the composer's responsibility to generate a ID and use it to construct the schema operator and the sink operator.

@PatrickRen

I don't quite get the usage of the interface SupportSchemaEvolutionWriting. Which component should this interface be applied to?

SupportSchemaEvolutionWriting is designed for SinkWriter, just to separate the processing logic of SchemaChangeEvent and
DataChangeEvent. But it's somewhat redundant, and was deleted now.

I'm not sure if it is possible to build the operator ID in composing phase, instead of hard-coding in schema operator coordinator. It looks like the composer's responsibility to generate a ID and use it to construct the schema operator and the sink operator.

Keep this code currently until another implementation is available


Add support for PGP signatures

This makes available the human-readable PGP signature, as given
by the query tag %{SIGPGP:pgpsig}.
Signed-off-by: Brad P. Crochet<EMAIL_ADDRESS>

/lgtm


Should return an error message when creating a secret consumed by a non-existing SA

I believe it's better to return an error message when one attempts to create a secret consumed by a non-existing SA.
$ kubectl get serviceaccount --all-namespaces
NAMESPACE     NAME      SECRETS
default       default   1
kube-system   default   1
$ kubectl create -f build-robot-secret.yaml
secrets/build-robot-secret

No errors for now.
Corresponding build-robot-secret.yaml.  Just in case.
apiVersion: v1
kind: Secret
metadata:
  name: build-robot-secret
  annotations:
    kubernetes.io/service-account.name: build-robot
type: kubernetes.io/service-account-token

Agree, this seems like it should be the appropriate behavior.  @liggitt @deads2k any thoughts?

I don't think so... I don't want object validations that look up other objects. We should either tolerate the annotation or delete the secret in the controller reconciliation (which is what currently happens)

Any particular reason to avoid cross validation (too much overhead or sth)? 'cause it could be confusing to the user without any error messages.

Any particular reason to avoid cross validation (too much overhead or sth)? 'cause it could be confusing to the user without any error messages.

I think that validation methods should be static check of an object.  Having individual static methods will allow them to be added to the scheme, allow client side validation,  and eliminates stateful checks.

In general, I'm unhappy with this indirect method of manually creating tokens (create a secret with a magic annotation and wait for "a little while"). I have a WIP pull request to move token generation to an API (https://github.com/GoogleCloudPlatform/kubernetes/pull/8866). The final shape will probably change, but I envision an API to request/create a service account token which would fail if the service account did not exist.

@liggitt Can you update this issue with the current status or close it?

As long as the tokens are generated asynchronously via a controller, I would expect this behavior (allow secret in, clean up invalid secrets in the controller check). I don't want to introduce cross-object validation. I agree it is somewhat confusing, but I think the right fix is to allow more direct request/creation of tokens.


Responsive Issue

While viewing in mobile logo is not visible what to do for that.

Can you please provide a screenshot to see exactly what happens in there ?


Add filtering unsupported characters

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Closes #1306
Tests
Only on linux.
LC_ALL=ru_RU.KOI8-R ls shows downloaded filename to be correct,
w/ LC_ALL=C ls filename is shown incorrectly, as expected.

This is overreaching. Shouldn't the filter be applied only when writing to console? If so, it should be done in write_string instead. This change affects -o, --print, --print-to-file etc


Added dex.ag ids by symbol

Added support for dex.ag ids

Codecov Report

Merging #12 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #12   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          11     12    +1
  Lines         143    157   +14
  Branches       15     17    +2
=====================================
+ Hits          143    157   +14

Impacted Files
Coverage Δ

src/constants.ts
100% <ø> (ø)
:arrow_up:

src/assets.ts
100% <100%> (ø)
:arrow_up:

src/services/dexAG.ts
100% <100%> (ø)

src/services/index.ts
100% <100%> (ø)
: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 73fbdaf...af998ac. Read the comment docs.


Fully support resolution switching capabilities on all devices

Scan for available resolutions and settings for selected camera and let the user choose a size

all android versions have full resolution changing support now


fix: update to eye v5.0.3

fix: update to eye v5.0.3

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

npm package (@latest dist-tag)
GitHub release
v7.0.3

Your semantic-release bot :package::rocket:


fix #18 #19

fix #18 and fix #19
Changes:

Add checks for NoneType
Check every env variable

@RussellJimmies please review too and merge

Seems good to me! Thank you for your contribution, @issamansur!


Use our new tag parser to find genreconciler

Previously we used the k8s tag parser which splits on '=' to look for
"+genreconciler" or "+genreconciler:class"
Now we have a parser that splits on ':' and expects a comma separated list so we can simplify the search.
The old parser leads to a bug if we try to do things in this order without more hardcoding:
"+genreconciler:krshaped=true,class=foo"

/assign @n3wscott

I've already been messing with this change downstream to confirm. It works!
/unhold


Support Moonbeam/river

closes #333
Todo:

explain how to test with moonbase alpha deployed on our server. Let's do this after #326
fix watch list where Eth account aren't persisted

Will look at this as soon as https://github.com/ChainSafe/Multix/pull/326 is merged and this branch is updated with that code :)

I was able to encounter a SenderInSignatories Error. This was because I could select the account from the connected extension and also paste in the same address, this only happens with EVM addresses, an error is displayed if trying to do the same with a Polkadot account.
(https://moonbase.subscan.io/extrinsic/0x8123a1344dbd4ccadba6f760e990e39c9b0cccbe083a7c7577f67abd229a3a07).

https://github.com/ChainSafe/Multix/assets/3982665/16b9bc6c-40b3-44ec-a5b6-95ac552627f8

The fee calculation for the multisig creation seems off (maybe because no proxy?). If I connect accounts with no balance I see that "The selected signer requires at least 2.01651 DEV". However, I noticed when funding and signing it is only 0.000014 DEV.

I was able to initiate a multisig creation with one account but I can't sign with the other two accounts as the transaction queue never loads. I'm just remaining on the "loading your multisigs" spinner.  This is stopping me from testing further. (https://moonbase.subscan.io/extrinsic/0x14f0538b91cc3342a6df1a23836f885425977127760c8757b3ade5ed168cb0d3)

Fixes for fee and adding same EVM account are looking good 🔥
Actions checked with Moonbase EVM accounts
🟢 Created a moonbase multisig successfully, remark tx showed as expected
🟢 Checked minimum balance warnings
🟢 Checked multisig balance is displaying / deducted properly
🟢 Checked Subscan links to Moonbase
🟢 Checked EVM address can be copied from the identity badge
🟢 Checked overview works with EVM addresses
🟢 Checked transaction signing modals display correct info and balance
🟢 Checked an amount can be sent successfully from the multisig
I thought it would be best to check the pre-existing stuff too so..
Actions checked with regular accounts on Rococo:
🟢 Multisig + pure creation
🟢 Balance transfer + approvals
🟢 Change amount of signatories
I've only found two more things

The EVM address icon does not show if a non EVM network is selected, expected I guess but connecting EVM accounts to other networks and leads to another point 2.

There's a crash when connected to another network eg Rococo with EVM account and you type a number for the threshold, see video below:

https://github.com/ChainSafe/Multix/assets/3982665/752e5307-bd13-45fd-96bc-330e269452db

great find. I've fixed both issues. One very edge case is where:

you are on an Ethereum network, you add eth addresses to the signatories
you switch network for a non ethereum network
we won't allow you to go further without a warning.

This is such an edge case that I chose to stop making the code more complex at the cost of a questionable UX for a very edge case that may never happen.

This is such an edge case that I chose to stop making the code more complex at the cost of a questionable UX for a very edge case that may never happen.

Yeah, agree with your assessment 👍

Thank you so much for the super in depth tests


Fix name of SQLite in-memory database name

The :memory name just opens a database on disk.

Rebasing the commit to the current master branch should fix the ci.

Merging with failing CI since this only affects docs (which we aren't building ATM)


[Storage] Replace LoggingPolicy with @azure/logger and logPolicy

This change removes the storage libraries' LoggingPolicy implementation and replaces it with the new logPolicy from core-http which leverages @azure/logging.  The intent of this change is to connect the storage libraries with the standard logging pipeline so that its logs are consistent with those of the other Azure SDK libraries.
Obviously the implementation of the new logPolicy is simpler than what was there in LoggingPolicy, so we should definitely discuss what useful parts of it might be adopted into core-http.
Here's an example of what the log output looks like from storage-blob at the info level:
  azure:storage-blob:info Request: {
  azure:storage-blob:info   "streamResponseBody": false,
  azure:storage-blob:info   "url": "https://xxx.blob.core.windows.net/appendtestcontainer1/appendtestappendblob1?comp=REDACTED",
  azure:storage-blob:info   "method": "PUT",
  azure:storage-blob:info   "headers": {
  azure:storage-blob:info     "_headersMap": {
  azure:storage-blob:info       "content-type": "REDACTED",
  azure:storage-blob:info       "content-length": "REDACTED",
  azure:storage-blob:info       "x-ms-version": "REDACTED",
  azure:storage-blob:info       "user-agent": "REDACTED",
  azure:storage-blob:info       "x-ms-client-request-id": "3fcf4d38-da7e-47c1-a8d0-4f7e4202bf80"
  azure:storage-blob:info     }
  azure:storage-blob:info   },
  azure:storage-blob:info   "withCredentials": false,
  azure:storage-blob:info   "timeout": 0,
  azure:storage-blob:info   "keepAlive": true
  azure:storage-blob:info } +1ms
  azure:storage-blob:info Response status code: 201 +34ms
  azure:storage-blob:info Headers: {
  azure:storage-blob:info   "_headersMap": {
  azure:storage-blob:info     "content-length": "REDACTED",
  azure:storage-blob:info     "date": "REDACTED",
  azure:storage-blob:info     "etag": "REDACTED",
  azure:storage-blob:info     "last-modified": "REDACTED",
  azure:storage-blob:info     "server": "REDACTED",
  azure:storage-blob:info     "x-ms-blob-append-offset": "276",
  azure:storage-blob:info     "x-ms-blob-committed-block-count": "24",
  azure:storage-blob:info     "x-ms-client-request-id": "3fcf4d38-da7e-47c1-a8d0-4f7e4202bf80",
  azure:storage-blob:info     "x-ms-content-crc64": "REDACTED",
  azure:storage-blob:info     "x-ms-request-id": "d3809b03-001e-008e-4939-8577c8000000",
  azure:storage-blob:info     "x-ms-request-server-encrypted": "REDACTED",
  azure:storage-blob:info     "x-ms-version": "REDACTED"
  azure:storage-blob:info   }
  azure:storage-blob:info } +0ms

Questions for Reviewers

Which headers and query params should we whitelist for each library?  I've added a couple for storage-blob since I was able to see them while running another test, but I'm not sure what would be needed for storage-file and storage-queue
Does the log level switching logic actually help debugging in practice?  Is it worth considering this for inclusion in core-http's logPolicy, perhaps configured by a setting?

Fixes #5628.

* Which headers and query params should we whitelist for each library?

I don't know the guideline for general headers but there's only a couple things we redact in storage.

There are example code that uses console http logger in samples/readmes.  Okay to create a new issue to track updating them.

@XiaoningLiu Checking back in on this -- are you OK with this approach in general?  I will take care of a couple of the comments you raised before.  We want to ship a trial-run of all the TS packages in the next couple of days and I'd like to have this merged to be included with that, if there are no strong objections.
Thanks a lot!

OK, this is ready for a final review pass.  A few changes since last time:

I've added the complete allow-lists of header names and query parameters for provided by @tg-msft
Moved logger definitions to their own file in each library and exported them from the public library interface
Removed LoggingPolicy and LoggingPolicyFactory and updated API report files.  Some unrelated changes in these files are due to api-extractor sorting methods differently this run

Approved by adpship.


support for laravel 5.4.

hi,
any plans for 5.4. or is it working too?
thx

I tried it and after added to laravel 5.4 I got a exception at "php artisan":
[ErrorException]
Declaration of MaxBrokman\SafeQueue\Worker::stop() should be compatible with Illuminate\Queue\Worker::stop($status = 0)

Hi @meltzow I'm going to take a look at this today

any news here?

ah ok, you created a new version.thx. we will test it.

thanks. it working for me now


Suggestion

Hello! First, I'd like to say, thank you for developing this awesome plugin! I have a suggestion for it.
I would like an option in the config which would allow the user to exclude bots from the display.
This is useful when a bot often uses reactions for buttons, and you don't want to see the bot in the reaction display, because it would be intrusive in this case.
Looking forward to hearing your thoughts. Thanks for reading!

Hi, glad you like it :D
This feature has already been implemented on the BetterDiscord version, but I want to improve some aspects of it before adding support for powercord as well. You can see some of my thoughts on jaimeadf/BetterDiscordPlugins#1 and if you got any more suggestions, let me know.


Local configure does not work on Windows

Local configure throws:
NOENT: No such file or directory

when run on Windows (repro against ResinOS Artik 710 2.12.5+rev1.dev). The same CLI & image work perfectly on Linux. Seems to be an exception from within fatfs. Fails the same way in both the standalone & npm releases, and in git bash/cmd.
See https://sentry.io/resinio/cli/issues/543307865/events/19470038594/ for more details.

Same thing with BeagleBone Black


📣 Implement a Method of Gaining User Feedback From Within The Application

User Need
As a user of the GitHub Joiners System
I want I want to give a review and feedback on the current UI and System
so that so that my needs and preferences can be highlighted early in the development process
Value
Get feedback from users directly using the service, to better capture requirements and needs.
Functional Requirements:

A method of users providing feedback, available from within the application

Non-Functional Requirements:

The method is intuitive for users to find and use

Acceptance Criteria:

[ ] A method of users providing feedback, available from within the application

Notes:

Potential to use https://www.forms.service.gov.uk/ to create a basic form

Simple feedback banner has been implemented as part of ticket https://github.com/ministryofjustice/operations-engineering-join-github/issues/39


combinators, spy-xhr, reader interface

Extracted combinators from slamdata. But, changed their names to mimic Selenium module and webdriver method names.
Added xhr-spy. (Now we can in example wait until next PUT request will be replied)
switched from Eff to Aff in setFileDetector, it's not really necessary, but all other functions in that module are Affs
checked by cryogenian/slamdata#245d2e6c6de65b897a1a102724a9d32cd953b8f7

Nice! I'm glad to get a lot of this stuff moved into the webdriver library.
Regarding the change from Eff to Aff in setFileDetector, I wonder if this is the right thing to do—it does make the API a bit easier to use in practice, but the types also document the capabilities that are required by a piece of code, and this change makes it seem as though setFileDetector is asynchronous, when it is not.
I don't care that much, so feel free to keep it in Aff if nobody else brings it up; just thought I'd register my thoughts here.
By the way, is cryogenian/slamdata#245d2e6c6de65b897a1a102724a9d32cd953b8f7 the correct sha? That looks like something from July.

It's last commit of wip/selenium-extracted branch

@cryogenian Ah, thanks! I had naïvely pasted that path into GitHub, forgetting that their URLs don't quite work in the way I expected.

I don't care that much, so feel free to keep it in Aff if nobody else brings it up; just thought I'd register my thoughts here.

My 2 cents: Since almost everything in this lib is Aff, and since Aff can represent sync computations as well, my personal prefer would be to keep it in Aff. Otherwise it just forces the user to liftAff in random places in the API.

OK; :+1: from me.
By the way, with regard to things like spying on requests and waiting until some request is responded to, I wonder if this is the kind of thing that we actually want to be doing in tests. It results in our tests making intensional (implementation-sensitive) observations about our app, whereas for predictability & non-fragility, purely extensional observations seem better. Here are a few examples:

We might change whether button action to result in a POST instead of a PUT; the behavior observable to the user remains the same, but our test may break.
Completion of a request may not necessarily indicate that our test is free to proceed to the next step; in general, this kind of condition must be UI driven, I think.

Perhaps I've misunderstood the purpose/use-case of spying on requests though...

Yeah, it feels a bit like mocking, which I hate. Tests should care about what happens not how. That said, I don't know what the use cases are, so hard to say for sure.

@jdegoes Yeah...
By the way, I think it's fine to have this tool in the library, since someone may find it useful. But we may want to take a look at our own tests (separately from these PRs) and see if it is the best way to accomplish what we want.
One thing I worry about is that it might cause subtle timing issues, resulting in spurious test failures. For instance, if we wait until a request completes and then proceed to another test, we have made the tactic assumption that a UI transition that makes the next test applicable will have occurred simultaneously with the completion of that request, which is not the case. If the test proceeds in the window between request completion and UI failure (and this will be non-deterministic in general), we'll have a very frustrating thing to debug :grimacing:

We test not only UI, but all browser related things as well. Checking that PUT http://foo.bar.baz have been sent and replied isn't less informational then, in example, showing button or changing src of img.
In fact all our tests are implementation sensitive. That's why there is huge config :smile:

Well, the point is, if the PUT is supposed to result in some UI change, we can test for that UI change directly and ignore the PUT. If it isn't supposed to result in a UI change, well, the UI probably needs fixing. :smile:
Anyway, is this ready for merging???

@cryogenian I guess I don't believe that we should be testing things like that request at all... Additionally, I think we have to draw the line somewhere (and it will be arbitrary, I know) for what things are considered "user observable" and "mere implementation details". My perspective is that it is reasonable to draw the line at "stuff in the HTML"; so, the stuff we have in the config, namely CSS classes, etc., should be considered observable, whereas what particular network request we send should not be considered observable.

If @cryogenian is ready for this to be merged, I give my :+1:

I think it can be merged.
@jonsterling One option is to test mongodb content and that it's changed.

@cryogenian I don't think that we should be testing that mongodb content has changed in the frontend tests at all...

@jonsterling Heh, I've the very similar discussions couple times before :smile:


Interactive Bokeh Plots

Users including @swerdfish and @berceanu have requested Bokeh interactive plots. This feature would be a great addition to signac-dashboard.
This page about embedding Bokeh plots should provide the info needed to add such a feature. Additionally, this pull request shows an example of what it takes to add a new JavaScript-enabled module to the dashboard.

The script linked below shows an example of using interactivity within Flask. However, it appears that an interactive Bokeh server requires a second port to be opened and forwarded to the user's machine.
https://github.com/bokeh/bokeh/blob/1.1.0/examples/howto/server_embed/flask_gunicorn_embed.py


Rate Limits error

Bug description
environment:
Handler: When a request is made in five seconds duration 60s;
Client: JMeter 20 req/s
result:
use maxcount,no dimensions in handler, no match in rule. real success: 0.95% expect: 1%
use maxcount,use dimensions in handler, no match in rule. real success: 1.30% expect: 1%
use maxcount,use dimensions in handler, no match in rule. real success: 1.88% expect: 1%
I want to know the reasons for these errors (except The memquota adapter uses a sliding window of sub-second resolution to enforce rate limits.),thanks very much.
Affected product area (please put an X in all that apply)
global.

I believe this is a duplicate of #3028. Rate limit quotas are not exact, especially over small time windows for low levels of traffic. Closing in favor of the original issue. For discussion, please use the discuss.istio.io forum.


Issue499 move spo to df

Fixes #499

Codecov Report

Merging #500 (d306496) into master (067b9af) will increase coverage by 0.01%.
The diff coverage is 76.38%.

:exclamation: Current head d306496 differs from pull request most recent head a15065a. Consider uploading reports for the commit a15065a to get more accurate results

@@            Coverage Diff             @@
##           master     #500      +/-   ##
==========================================
+ Coverage   73.25%   73.27%   +0.01%
==========================================
  Files          92       92
  Lines       11194    11194
==========================================
+ Hits         8200     8202       +2
+ Misses       2994     2992       -2

Impacted Files
Coverage Δ

R/g.part4.R
73.45% <76.38%> (+0.30%)
: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 067b9af...a15065a. Read the comment docs.


Suggest removing Ic (Icon) header text in fileview

looks wierd
unncessary
if you click to sort by icon the header text gets misaligned because column is not wide enough  for triangle button and Ic text
is anyone going to sort by icon?

what would go there instead?  seems like it would be inconsistent with general motif over everything having a header.  and spacing alignment needs something there.. don't think this is worth fixing..


changes twiml URL to POST

Coverage remained the same at 86.822% when pulling 67973a38353f3bf520c23a2ac82b8962672ec68d on change-twilio-http-method into 4f5af5e233540df2f4eb3faa1cc8bfa6343e8e58 on master.

LGTM


it wont let me upload the file pls help!!!

It wont let me upload the file that I need to upload and I'm not sure what to do, pls help me.

No promises, but you can try my AssetRipper fork.


GitHub repos assumed in Javascript

It looks like it is assumed that a repo will be hosted on github. This of course is not always the case and a number of search results are resulting in errors:
main.js:10 Uncaught TypeError: Cannot read property 'repo' of undefined
For example load: https://cdnjs.com/#q=pdf .

@DataTables Thanks for report, I will take a look at it.

@DataTables this is because we currently only support GitHub, I don't this that's a problem.

The thing is that this issue breaks the site. For example, if you load up the main page and type p you'll see the results for that letter - then type d to search for pd and there is a Javascript error so its impossible to view results for pd (and also pdf). Basically any package that you list which doesn't have a github object (which appears to be quite a few of them) causes the search results not to display.
Just a few lines after the one I linked to there is:
if (hit.github) {

Is it not possible to just add that to the if condition I linked to?

Oops, sorry that I didn't notice that, should fix it!

Looks like it was only just introduced a few days ago with c0c0125d7b6529e9ca02225e4504045fadca3384.

@DataTables fixed, thank you very much for your report, the update has deployed, would you please purge your local cache and give it a try? Thanks.

Absolutely awesome - thanks.
And thank you for maintaining this awesome resource. cdnjs is just such a wonderful tool to be able to have for web devs.

@DataTables no probs


Windows: recover from buffer overflow errors in smartblockdns

Recovers from buffer overflow errors in smartblockdns.

Merges #1020 by @SiberiaWind, which has been reviewed and tested locally on Windows 10.

Builds the smartblockdns binary.
Fixes instances of #994.

Set the cla: yes label since @Siberiawind agreed to the CLA on #1020.


[Event Request] codeunit 6108 "E-Document Processing" OnBeforeGetDocSendingProfileForDocRef

Describe the request
Could you please add the following event and make the codeunit Public or add a new facade codeunit that we're able to subscribe to this event?
procedure GetDocSendingProfileForDocRef(var RecRef: RecordRef): Record "Document Sending Profile";
var
    SalesHeader: Record "Sales Header";
    PurchaseHeader: Record "Purchase Header";
    FinChargeMemoHeader: Record "Finance Charge Memo Header";
begin
    //+EVENT
    IsHandled := false;
    OnBeforeGetDocSendingProfileForDocRef(RecRef, DocumentSendingProfile, IsHandled);
    if IsHandled then
       exit(DocumentSendingProfile);
    //-EVENT
    case RecRef.Number of
        Database::"Sales Header", Database::"Sales Invoice Header", Database::"Sales Cr.Memo Header",
        Database::"Service Header", Database::"Service Invoice Header", Database::"Service Cr.Memo Header":
            exit(GetDocSendingProfileForCustVend(RecRef.Field(SalesHeader.FieldNo("Bill-to Customer No.")).Value, ''));

        Database::"Finance Charge Memo Header", Database::"Issued Fin. Charge Memo Header",
        Database::"Reminder Header", Database::"Issued Reminder Header":
            exit(GetDocSendingProfileForCustVend(RecRef.Field(FinChargeMemoHeader.FieldNo("Customer No.")).Value, ''));

        Database::"Purchase Header", Database::"Purch. Inv. Header", Database::"Purch. Cr. Memo Hdr.":
            exit(GetDocSendingProfileForCustVend('', RecRef.Field(PurchaseHeader.FieldNo("Pay-to Vendor No.")).Value));
    end;
end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeGetDocSendingProfileForDocRef(var SourceDocumentHeader: RecordRef; var DocumentSendingProfile: Record "Document Sending Profile"; var IsHandled: Boolean );
    begin
    end;

Additional context
We would like to use a custom Document Sending Profile for specific Records like Sales Invoice Header.
Internal work item: AB#545264

My understanding: You want to be able to create and send EDocument from posted doucments?

We have added document sending profiles for different that are used for different document types.
Therefore we would like to use our specific document sending profile instead of the document sending profile of the customer.

How did you extend the document sending profile?
Could we solve this someway with interfaces instead of events?

We  have a solution to setup Document Sending Profile for different purposes (e.b. invoices, shipments) for each customer.
Then we save the document sending profile on the specific record (SalesHeader, SalesInvoiceHeader, etc.)
Currently we have subscriptions to a few events in the BaseApp to solve this in the BaseApp.
I cannot imagine how to solve this with interfaces in the e-documents module.
Maybe this could be solved by introducing interfaces in the BaseApp for the document sending profile.
We would need an interface in the BaseApp with something like the following structure.
interface DocumentSendingProfile
{
procedure GetDocumentSendingProfileForDocument(RecordVariant: Variant; var DocumentSendingProfile: Record "Document Sending Profile"): Boolean
}


Add conan version support

Thanks for this github action!
Would it be possible to add a way to install conan with a certain/wanted version ?
Because sometimes, with latest, new versions arrive that needs some adoption, and getting that by surprise is not always optimal. Because that mostly happens when it should not happen, and not when time to do the adoption is available :-)

That is a good point. As of today, conan 1.51.2 was published and is now grabbed by the action. Sadly, this new version breaks the build of boost/1.79.0, bringing our whole CI to its knees.

Since I am not alone requesting the feature, a PR is up :-)


Ionc Image Not Working on release mode android

Hey When i build my apk file and upload it to my phone i can't see the pictures that i upload from local
<img *ngFor="let player of player2; let i = index" width="60" height="100" [id]="'active-'+i" [src]="'../img/'+player.number+'_'+player.type+'.jpg'" (click)="CartClicked($event,i)" alt="{{ player.number }}" />

Please fill the issue template.
This seems like a support request. For support requests you can use the ionic forum.

Hello! Thanks for opening an issue with us! As this seems like more of a support question I will urge that you ask this question on our forum or on our slack channel. Thanks for using Ionic!


Create a Bower Package

Hi,
I saw many unofficial ol3 package in Bower but no official one.
Is it possible to have an official distribution in bower?
Thanks

see #3119


Pass custom variable to queueItem

I would like to pass a custom var, such as an ID from my custom built queue on the queueItem in order to use it later. Can someone give an example on how to do that? Thanks.

Hi! If all you're looking to store on the queue item is an ID, then the imminent version 1.0.0 of simplecrawler will assign just that to queue items as a standard. It does that in the queue implementation though, simply by setting a unique id property on the queue item in the FetchQueue#add method.
If you're writing a custom queue implementation then that's where to set an ID on queue items: in the queue's add method. You could theoretically set more properties than just id as well, so long as all the properties described in the README are there.
Hope that helps!

I am not sure that I understand.
Right now I am using:
crawler.queue.add('http', example.com, 80, '', 1);
So how would I pass another var into the queueItem

Ah sorry, my mistake - that's also an upcoming change to the crawler.queue.add method - it now accepts a complete queue item as the first argument instead of the separate queue iten parts. That should make it pretty straightforward to add custom properties to queue items!
The 1.0.0 release should land within a week, but you can try out the master branch until then!

Closed as this is coming in 1.0 — but currently available in master. Feel free to reply on the issue if you want usage help. :)

Can you give me an example of a complete queue item that goes into the queue.add function?

When I just do crawler.queue.add('http://example.com') I get an error. If I do crawler.queueURL('http://example.com') I get an error too.
If I do
var queueItem = { url: 'http://example.com' }; crawler.queue.add(queueItem); I get another error.

TypeError: callback is not a function
at addToQueue

Okay, figured it out. Ended up doing it like this:
var queueItem = crawler.processURL('http://example.com'); queueItem.custom_var = 'custom'; crawler.queue.add(queueItem, 'force', function(error) { 	if (error) { 		console.log(error); 	} });

Good to hear you got the hang of it! Just a quick note on your last example - the second argument to crawler.queue.add is a boolean  (ie. true/false), not a string


acme: fix darwin build

Motivation for this change
noticed it was broken on hydra
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build acme

@GrahamcOfBorg build acme

[2 built, 1 copied (1.4 MiB), 0.3 MiB DL]
https://github.com/NixOS/nixpkgs/pull/83528
2 package built:
acme cheesecutter


Update code to confirm to API v1

Fixes #551
Changes made

Updated API calls from v0 to v1
Made changes to the different query parameter names, example - provider to sources
All of the changes have been made either in the utils/searchQueryTransform.js or the store/search-store.js actions, without affecting the state and props being used by the vue project

Pending

Cannot find endpoint for POST request to /analytics in v0 or v1 of the API, but it is being used at api/UsageDataService.js
Response for majority of the API calls are same, have not adjusted for minor tweaks or extra information received like- attribution is received in v1, whereas metadata is not received, but changes for them haven't been made yet, as I have little idea where to look at.

Developer Certificate of Origin Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 1 Letterman Drive Suite D4700 San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.

Changes

Cleaned search-store.js, using ... (spread operator) now
Updated unit tests to pass all CI tests now

Please review, @brenoferreira

This looks good. There are still a couple of things that we need to sort out before we merge. One is with the analytics API, which isn't in the v1/ namespace. Another is a question for @aldenstpage:
The results for the new https://api-dev.creativecommons.engineering/v1/recommendations/images/47bc8208-c550-40f3-b60f-8eb27ef4bd89 and the old https://api-dev.creativecommons.engineering/image/related/47bc8208-c550-40f3-b60f-8eb27ef4bd89 are quite different. Did the implementation change or are they unrelated endpoints?

The endpoint is supposed to be the same implementation, but it looks like a newly introduced routing bug is preventing the right endpoint from being called. You should use it anyway, I'll fix that separately.


Support creation of new type templates

It would be very useful to support creation of new type templates when creating complex types (typically a hierarchy of records and arrays) that appear many times in code with only some parameters (an array size for example) changing.
This could for example look as follow:
types:
  my_type:
    context:
      T: type
      S: integer
    type:
      type: array
      size: "${S}"
      subtype: T
data:
  d1:
    type: my_type
    S: 3
    T: int

To achieve that, we should follow an approach similar to Expression:

the current DatatypeTemplate class should be renamed DatatypeExpression, i.e. something that can be evaluated to a datatype given a context,
a new DatatypeTemplate class should be created that contains a LocalContext and a DatatypeExpression, this should behave like a function, i.e. the LocalContext acts as a Context providing local variables for the inner expression,
a new TemplateReference that inherits from Datatype and references a DatatypeTemplate should be created, this should behave like a function, i.e. store values associated to the local variables of the DatatypeTemplate local variables,
it should be possible to create instances of DatatypeTemplate from YAML just like it is possible to create instances of Datatype.

Shouldn't it be:

indeed, that was on purpose to see if you paid attention ;p (no, it wasn't)

In GitLab by @ksiero on Oct 4, 2021, 13:00
Shouldn't it be:
data:
  d1:
    type: my_type
    S: 3
    T: int


Split runner into tx, rx and control

@peteskubiak Might be worth trying the esp32 example in this branch. I've made it possible to run the RX task in a separate embassy task, just to check if the connection timeout is due to not polling the HCI adapter frequently enough.

I tested this branch with trace enabled for trouble_host but the connection was still slow to establish and no services were found (write up in this comment


[Bug]: Office Line Generation - Record Already Exists

Describe the issue
When using the Outlook add-in to create a document with multiple lines there's no check or possibility to handle the last "Line No." used. This could lead to errors if additional lines are generated for the document based on the previously created line.
Expected behavior
I expect a validation check to determine which "Line No." to use when creating lines, rather than automatically adding 10,000 to the previous "Line No." every time.
Steps to reproduce

Create an e-mail that will generate a document with multiple lines.

From outlook generate the document

Select the multiple lines to be created and click ok.

If you have some kind of process that will create an additional Sales Line every time that a Sales Line is created for the Item 1896-S, then you will get an error like this

Additional context

I will provide a fix for a bug

[ ] I will provide a fix for a bug

Sounds fair, but since the code you are referring to is in the BaseApp, you'd have to suggest and fix this code in the BaseApp contribution pilot: https://github.com/microsoft/businesscentralapps. For access to the pilot, please fill out the following form: https://forms.office.com/r/E9wyE5a58f.
This repository is only for extensibility requests or pull requests towards the 1st party Business Central apps.
Would you like me to move the issue to the contribution pilot for you?
IMPORTANT: Microsoft is not going to address the reported issue for you. You will have to get the issue approved, and then push a pull request with the suggested changes yourself. If you would like Microsoft to address the issue, please create a support request. Learn more about our support channels here: https://aka.ms/bcsupport.

@JesperSchulz

Would you like me to move the issue to the contribution pilot for you?

Yes please.
After that, I'll provide a fix for this issue.


Rename chromatin.txt to accessibility.txt

This fixes a typo/mistake. The scripts and book refer to the chromatin accessibility data being in accessibility.txt but the data file is called chromatin.txt. This fixes the filename to match the text.

@charlesreid1 Thanks for the fix!


Fix lint errors

I'm not 100% sure how these slipped through since lint is supposed to be in the pre-commit.
Fixing the errors and confirmed that the precommit is running correctly for me locally:

fyi @marcd123 - Can you make sure that lint is running properly for you?
Looks like some (but not all) of these errors were introduced with your recent work.


Build fix on Windows

What's the error? It's weird that Windows is only complaining about this switch.


Crash when using Quick for testing

I first reported this problem to https://github.com/polac24/InjectionTDD/issues/11 but I copy it here as @polac24 told me it is the right place 👌🏻

Hi,
Thanks for this lib. It looks promising, but when used with Quick tests, it crashes the second time the test is executed. Probably to the Quick test generation.
This is the log that explains that there was a problem creating the tests:
2018-04-16 09:54:33.276633+0200 xctest[5271:157143] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'An exception occurred when building Quick's example groups.
Some possible reasons this might happen include:

- An 'expect(...).to' expectation was evaluated outside of an 'it', 'context', or 'describe' block
- 'sharedExamples' was called twice with the same name
- 'itBehavesLike' was called with a name that is not registered as a shared example

Here's the original exception: 'NSInternalInconsistencyException', reason: ''describe' cannot be used inside 'it', 'describe' may only be used inside 'context' or 'describe'. ', userInfo: '(null)''
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010a1b01e6 __exceptionPreprocess + 294
	1   libobjc.A.dylib                     0x0000000109845031 objc_exception_throw + 48
	2   CoreFoundation                      0x000000010a225975 +[NSException raise:format:] + 197
	3   Quick                               0x000000011d31950d __23+[QuickSpec initialize]_block_invoke + 292
	4   Quick                               0x000000011d321384 _T05Quick5WorldC30performWithCurrentExampleGroupyAA0fG0C_yyc7closuretFTo + 84
	5   Quick                               0x000000011d3193c9 +[QuickSpec initialize] + 162
	6   libobjc.A.dylib                     0x0000000109845b04 CALLING_SOME_+initialize_METHOD + 19
	7   libobjc.A.dylib                     0x0000000109845e9e _class_initialize + 276
	8   libobjc.A.dylib                     0x000000010984c824 lookUpImpOrForward + 226
	9   libobjc.A.dylib                     0x000000010985c414 _objc_msgSend_uncached + 68
	10  InjectionLoader                     0x0000000120d110ac __41+[BundleInjection autoLoadedNotify:hook:]_block_invoke + 332
	11  libdispatch.dylib                   0x0000000110c5273b _dispatch_call_block_and_release + 12
	12  libdispatch.dylib                   0x0000000110c53779 _dispatch_client_callout + 8
	13  libdispatch.dylib                   0x0000000110c5d778 _dispatch_main_queue_callback_4CF + 1279
	14  CoreFoundation                      0x000000010a172c99 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
	15  CoreFoundation                      0x000000010a136ea6 __CFRunLoopRun + 2342
	16  CoreFoundation                      0x000000010a13630b CFRunLoopRunSpecific + 635
	17  Foundation                          0x00000001090c9b4a -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 274
	18  Foundation                          0x00000001090c9a25 -[NSRunLoop(NSRunLoop) run] + 76
	19  InjectionTDD                        0x000000011d2f938a +[TDDTestKeeper initialize] + 346
	20  libobjc.A.dylib                     0x0000000109845b04 CALLING_SOME_+initialize_METHOD + 19
	21  libobjc.A.dylib                     0x0000000109845e9e _class_initialize + 276
	22  libobjc.A.dylib                     0x000000010984c824 lookUpImpOrForward + 226
	23  libobjc.A.dylib                     0x000000010985c414 _objc_msgSend_uncached + 68
	24  CoreFoundation                      0x000000010a0ff9b9 -[__NSSetM addObject:] + 441
	25  XCTest                              0x0000000109750e5a +[XCTestCase(RuntimeUtilities) allSubclasses] + 248
	26  XCTest                              0x00000001096e6996 +[XCTestSuite _suiteForBundleCache] + 213
	27  XCTest                              0x00000001096e8d35 -[XCTestSuite _initWithTestConfiguration:] + 437
	28  XCTest                              0x00000001096e9b19 +[XCTestSuite testSuiteForTestConfiguration:] + 69
	29  XCTest                              0x000000010975cd32 -[XCTTestRunSession runTestsAndReturnError:] + 210
	30  XCTest                              0x00000001096cecb1 -[XCTestDriver runTestsAndReturnError:] + 447
	31  XCTest                              0x0000000109751bd1 _XCTestMain + 960
	32  xctest                              0x0000000108fc62a4 main + 571
	33  libdyld.dylib                       0x0000000110cc8955 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Process finished with exit code 0

Would be great to use this with Quick 🎉

I’m afraid the easiest thing to say is this is unsupported. It’s more of a Quick limitation where Quick makes the assumption a given test will never be run more than once in a process which is exactly what you’re seeing. That said if you could prepare a small example project showing the problem I can see if there is something injection can do.

Here there is a simple Quick test that crashes when a test is injected: https://github.com/eduardbosch/QuickInjectionCrash
Thanks @johnno1962 👏🏻


NPM @perform packages removed

We are using the packages that you've published under the @perform namespace and I just found out that those modules are not published anymore and they are published under @dazn namespace. Is it possible to bring them back and mark them as deprecated?

@simontabor @gsingh1 can you guys help here?

@stavros-zavrakas are you able to move to the new @dazn namespace instead?

@stavros-zavrakas Those packages were marked as deprecated for 1 month period and have now been unpublished. Unfortunately, we are unable to bring them back and you will have to migrate over to @dazn org namespace from now.

@theburningmonk this is what I end up doing but I some of the published versions seems that are not consistent. I was using all the 1.5.0 @perform versions for lambda-powertools-middleware-correlation-ids there is no 1.5.0 in the @dazn namespace. Are there any breaking changes if I start using the 1.8.0?

@stavros-zavrakas  There should be no breaking changes. We follow conventional commits and semantic release versioning so you can expect breaking changes in a major version bump. You should be able to update to 1.8.0 with no issues, Apologies for this change, it was due to a few legality issues which is why we had to migrate to a new namespace.


Error: Cannot find module 'polyfill-promise'

polyfill-promise is required at the top of index.js, but it isn't included in the dependencies.
Also, I would really not like it to be included, can't it be up to the user to polyfill if they want to? The problem is that if you include it, bluebird will be installed even though native promises will be used.
Even node 0.12 has support for Promises, so I don't think that it's necessary to polyfill...

Added polyfill-promise to optionalDependencies.
Published as<EMAIL_ADDRESS>


Balancing Unbalanced Categorical Datasets with Image Augmentation

Feature

It would be nice to see a clear and concise example of how you would go about balancing categorical data in the Slideflow pipeline using the built in image augmentation.
Pitch

We are using the Slideflow pipeline as a tool for categorical classification. It has, thus far, been very intuitive and useful. However, we have an unbalanced dataset for which we are trying to build a classification model.  We were hoping to use image augmentation to improve the balance of the training data, but it is difficult to implement in the workflow without clear examples. It would be nice to see an example of image augmentation written out in the format of the other great examples provided in the Slideflow documentation.
Alternatives

We have of course attempted to balance the dataset using the balance method built into Slideflow Datasets. The mini-batch categorical balancing that is performed by the balance method ended up not working for our dataset, so we are looking for additional options.
Additional context

We have read the documentation of slideflow.io.torch/tensorflow interleaving and augmentation, and without clear examples, it is difficult to determine how the prefetch datasets generated by these methods fit into the pipeline. Any examples would be of great help. Thanks

Hi millea46 - this is a great suggestion.
We'll work on putting together some clearer examples of how to work with the IO pipeline for augmenting datasets. I'll circle back here once we have some better examples, and we can discuss if any further clarifications or new features would be helpful for your application.

Thank you for the quick response. We will look forward to your updates!

Sorry this took so long to put together! We've put together a detailed guide to dataloaders, oversampling, undersampling, and augmentations in a new "Developer Notes" section of the documentation. You can find the working draft of this section here: https://github.com/jamesdolezal/slideflow/blob/dev/docs-source/source/dataloaders.rst
These the "Developer Notes" will be included in the documentation at https://slideflow.dev once version 2.2 is released. We anticipate release in 1-2 weeks.
In the meantime, I'd greatly appreciate any feedback you have on this section. Does it help answer your questions about sampling and augmentations? Are there any further detailed you think would be helpful?
Thanks again for the suggestion!

Version 2.2 is released, and with it we've greatly expanded our documentation to provide better insights into  oversampling and undersampling options.
Per your request, we've added a new tutorial that walks you through the process of oversampling a dataset with custom augmentations (see: [Tutorial 7](https://slideflow.dev/tutorial7/))
If you're looking for deeper insights into how our oversampling and undersampling methods work under the hood, we have a new developer notes section that addresses this topic (see here).
I hope that answers your question! Let me know if you have any feedback, thoughts, or questions.

Thank you for providing great feedback in such a timely manner. The new features in version 2.2 look great. Having read through the new documentation on augmentation and balancing, I am still not sure if I quite understand how to do what I need within the Slideflow framework.

We are interested in oversampling an unbalanced class by randomly augmenting tiles in the smaller class to create new records. For example, if Group 1 has 10 records and Group 2 has 5 records, we would generate 5 new records for Group 2 by oversampling from Group 2. Within each of the individual oversampled records, tiles would be randomly augmented (flipped, rotated, blurred, etc.) to create "unique" records. So essentially, we want to generate 5 more augmented data records by randomly selecting from different augmentation method (such as rotation and flipping) on the fly and then combining it with the original 5 records to create the balanced data during the training.

Apologies if this process is laid out in the documentation. We appreciate all the effort you put into adding this improvement and look forward to future update. Thanks again.

This is essentially what the existing oversampling method does; it's mostly a matter of perspective. Below is a figure that illustrates our oversampling approach, using the example you've raised: Group 1 with 10 total records (tiles) and Group 2 with 5 total records (tiles).

With standard, tile-based balancing (essentially no oversampling), every tile has equal probability of being selected. You'll get more representation from Group 1 than Group 2 in an epoch, since there are more tiles in Group 1.
With category-level balancing, tiles are sampled with greater probability from Group 2 than Group 1, resulting in an even distribution of tiles across categories. Because an epoch is defined as the number of tiles that would equal a full pass through the dataset (15 tiles, in this case), this higher probability of taking from of Group 2 means that some tiles will be repeated, or oversampled.
All images undergo augmentation, so this is oversampling approach is effectively the same thing as generating augmented records before training, except it's done on-the-fly while sampling from the dataset. The only difference is that if you were to generate augmented records before training (e.g. increasing the dataset size to a total of 20 records), the epoch size would increase from 15 to 20. Whereas with this approach, an epoch is still defined as 15 tiles. If you want to simulate the larger epoch size of having oversampled, augmented data in the least frequent class, you can manually override the epoch size using the steps_per_epoch_override argument to Project.train(). But that should make a practical difference.


[$500]  Hold Request - "Hold" banner is aligned to the top when there is scan request message

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.45-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Go to staging.new.expensify.com
Go to 1:1 DM
Create a scan request
Go to request details page
Click 3-dot menu > Hold request
Add a reason and save it

Expected Result:
The "Hold" banner will be aligned in the middle of the given space
Actual Result:
The "Hold" banner is aligned to the top of the given space when there is scan request message
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/ac162ac6-0f68-43c6-86b4-ee2d786feebe

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01dd5d1b7c81a77704
Upwork Job ID:<PHONE_NUMBER>849918976
Last Price Increase: 2024-03-07

@isabelastisser  I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

I confirmed this can be handled externally. @Santhosh-Sellavel to review the proposals above. Thanks!

This is my proposal.

Updated Proposal

Proposal
Please re-state the problem that we are trying to solve in this issue.
Hold Request - "Hold" banner is aligned to the top when there is a scan request message
What is the root cause of that problem?
Missing top padding styles.pt3
What changes do you think we should make in order to solve the problem?
Need to add top padding styles.pt3
https://github.com/Expensify/App/blob/48657b48505e40fecc7c6f43da903aadb12d549a/src/components/HoldBanner.tsx#L13
What alternative solutions did you explore? (Optional)
N/A

Proposal
Please re-state the problem that we are trying to solve in this issue.
A seperator botween Scanning and HOLD
What is the root cause of that problem?
The component MoneyRequestHeaderStatusBar for Scanning is showing the border bottom when HOLD is diplayed
https://github.com/Expensify/App/blob/de3a9e12083963d1b36b4d081364484f8cf98b57/src/components/MoneyRequestHeader.tsx#L180-L194
What changes do you think we should make in order to solve the problem?
Disable the border on the bottom from the Scanning part when the HOLD is diplayed
{!isScanning && (
  <MoneyRequestHeaderStatusBar
    title={translate('iou.receiptStatusTitle')}
    description={translate('iou.receiptStatusText')}
-     shouldShowBorderBottom
+     shouldShowBorderBottom={!isOnHold}
  />
)}

POC:

What alternative solutions did you explore? (Optional)

I've been OOO, will check this in a day

Whoa! I would think that we only ever show one of these banners at once. cc @trjExpensify @JmillsExpensify
Also, why are the banner styles so different? The font colors and font sizes are way different across the badge and the message next to it. cc @robertjchen - any context there?

 That feels like the solution in my opinion.

@robertjchen are we addressing the general styles of the hold banner anywhere? Also, we should take a look at those styles alongside the updated next steps banner styles that I think @dannymcclain is working on?

 That feels like the solution in my opinion.

That makes sense to me too.

I also think whatever proposal we accept here should try to align the styles of the hold banner to look just like the Pending/Scanning banner, but instead of a gray BG for the badge, we can just use danger red.

Though I realize this might change with Danny's next steps banner project, but let's at least align them in the meantime.

Updated Proposal

New update with the last design feedback on my proposal

@robertjchen are we addressing the general styles of the hold banner anywhere? Also, we should take a look at those styles alongside the updated next steps banner styles that I think @dannymcclain is working on?

Definitely! I think this is the only banner involved and we can address it in this PR 👍

Not overdue.

It looks like we're waiting for PR.

@Santhosh-Sellavel, can you please provide an update?

@Santhosh-Sellavel How about mine https://github.com/Expensify/App/issues/37536#issuecomment-1971791690 ?

Check our guidelines here

If you want to make an entirely new proposal or update an existing proposal, please go back and edit your original proposal, then post a new comment to the issue in this format to alert everyone that it has been updated:

You've made numerous edits but didn't notify the updates every time. As I your edit history, edits were made after a new proposal or updates from someone else.

@Santhosh-Sellavel Its not like that for every every new proposal I have edits in my proposal. It was more like if I have forgot to include something like the working video or something that was really necessary for the issue. Also, one more thing I am extremely apologetic for not updating about all the updates that I have made to my proposal. I will keep that in mind in future.

 That feels like the solution in my opinion.

Aligning with this @neonbhai's proposal looks good & straightforward on that part.
@neonbhai How would you achieve this requirement?

I like @dragnoir's idea from here for updating the styles for this requirement?

We can use the same component MoneyRequestHeaderStatusBar instead of HoldBanner adding a new prop for style (backgroundColor to danger).

So let's hire both @neonbhai & @dragnoir here and split the job fee!

@godofoutcasts94 Anyways, please refrain from doing the same in future jobs. Mistakes are bound to happen when we rush into submitting proposals, especially on simple issues like this, thanks!

@godofoutcasts94 Anyways, please refrain from doing the same in future jobs. Mistakes are bound to happen when we rush into submitting proposals, especially on simple issues like this, thanks!

okay thanks for updating. Can you please review my proposal and give me one chance?  That feels like the solution in my opinion.

Aligning with this @neonbhai's proposal looks good & straightforward on that part.
@neonbhai How would you achieve this requirement?

I like @dragnoir's idea from here for updating the styles for this requirement?

We can use the same component MoneyRequestHeaderStatusBar instead of HoldBanner adding a new prop for style (backgroundColor to danger).

So let's hire both @neonbhai & @dragnoir here and split the job fee!
C+ Reviewed
🎀 👀 🎀

bump @francoisl

Ok, I think it's fine to split the bounty, but to clarify, who would be submitting the PR then?

@dragnoir, can you please provide an update? Thanks!

For payment, @isabelastisser can we consider increasing the pay out to @dragnoir given that they went beyond the original bug scope and did a badge refactor that I asked for? Thanks!

Hey @shawnborton, can you please bring this for discussion in bug-zero in Slack? Thanks!

Not overdue.
@Santhosh-Sellavel, please complete the BZ list above before I can process the payments in Upwork and close the issue. Thanks!

It looks like @Santhosh-Sellavel is OOO until May 15. I've sent them a DM for visibility.

Bump @Santhosh-Sellavel

Works for me. @isabelastisser feel free to process the payments and close the issue. Thanks!

Noting that the PR was reviewed by me here but seems like the automation didn't mention it. Please take a look :bow:
cc: @isabelastisser

Based on @shawnborton's comment here, I'm increasing the payment to @dragnoir to $750.
Payments summary:
@dragnoir requires payment $750 (manual offer https://www.upwork.com/nx/wm/offer/102358820)
@neonbhai requires payment automatic offer (Contributor) $500
@Santhosh-Sellavel requires payment through NewDot Manual Requests $500 PENDING

All set!

@isabelastisser hi, the original job was split with me and @dragnoir. As noted here https://github.com/Expensify/App/issues/37536#issuecomment-1989185436
I also ended up reviewing one of the linked PRs, so the payout would be $250 + $500 for me! Please take a look :bow:

Requested on ND

$500 approved for @Santhosh-Sellavel


ltex-ls support local dictionaries

Language server
ltex-ls
Requested feature
ltex-ls correctly highlights some words as not spelled correctly. Sometimes, it is wrong and the word is correctly spelled such as a name for example. Neovim spell checker is fine since the weird word is in a spelling file…
ltex-ls has a system for adding multiple spelling errors at the same time but I could not figure out if the bindings are available in neovim. In any case, should we really have to define them twice?
Can we have a default of ltex-ls respecting vim spelling files?
Other clients which have this feature
N.A.

For questions about server-specific configurations, ask on the server repo or the Neovim Discourse.

To clarify, ltex-ls uses off-spec commands that must be implemented client-side. We're not going to add off-spec commands to lspconfig, so you can follow (or PR) support to a plugins like grammarguard.nvim (which hopefully one day will)

Reviving this, and for the record, looking at ltex options here it seems that we can add some dictionnaries.
Interestingly, I can't get the "external file" support described here to work, which bothers me a bit.
Here is my config so far for external dictionnaries (does not work):
{
  ltex =
  -- redacted
    settings = {
      ltex = {
        -- redacted
        dictionary = (function ()
          local files = {}
          for _, file in ipairs(vim.api.nvim_get_runtime_file("dict/*", true)) do
            local lang = vim.fn.fnamemodify(file, ":t:r")
            local fullpath = vim.fn.fnamemodify(file, ":p")
            files[lang] = { ":" .. fullpath }
          end

          if files.default then
            for lang,_ in pairs(files) do
              if lang ~= "default" then
                vim.list_extend(files[lang], files.default)
              end
            end
            files.default = nil
          end
          return files
        end)(),
      -- redacted
      },
    },
  },
}

It basically queries neovim for the list of existing dict files and adds them to the config.
I wonder why it does not work, but I am no LSP expert.
Do you think we have a reasons to open this issue again ?
Furthermore, we could set the dictionnaries to something matching Vim when spellpath is set ?

So, apparently, the "external files" are client-specific.
My question is then whether a command like ClangdSwitchSourceHeader or a custom handler for this server would be appreciated ?

Finally, for the record, here is the docs for custom command / extensions for ltex:
https://valentjn.github.io/ltex/ltex-ls/server-usage.html#commands
https://valentjn.github.io/ltex/ltex-ls/server-usage.html#custom-lsp-extensions
I am working on implementing handlers for various things in my config, and for now I already have addToDictionary working.

I am working on implementing handlers for various things in my config, and for now I already have addToDictionary working.

Is it described anywhere? Did browse through your dotfiles repo, but not thoroughly enough to find this.

for now I already have addToDictionary working

@vigoux Would you like to share how you got this working please? Have you considered turning it into a Neovim plugin? 🙂

@mawkler: There you go !
https://github.com/vigoux/ltex-ls.nvim

@vigoux Awesome! Thank you!

Can anyone explain why the dictionary doesn't work here?
settings = {
	ltex = { dictionary = { ["en-GB"] = { ":~/.config/nvim/spell/en.utf-8.add" } }, language = "en-GB" },
},

language works fine...

From what I remember, the dictionnaries are actually an untold extension that has to be handled on the client side.
I don't remember extactly though, sorry.

Right, I see. ltex-ls doesn't support external files, it's only the VSCode extension that does. Not that clear from the documentation.

@kierun Finally how did you get to work the "Add all unknown words in selection to dictionary" action with nvim?

@marcelarie I did not. I stopped using ltex-ls because of this.

https://github.com/vigoux/ltex-ls.nvim

From: kierun @.>
Sent: Tuesday, June 27, 2023 6:57:30 AM
To: neovim/nvim-lspconfig @.>
Cc: mjlbach @.>; Comment @.>
Subject: Re: [neovim/nvim-lspconfig] ltex-ls support local dictionaries (Issue #1443)
@marcelariehttps://github.com/marcelarie I did not. I stopped using ltex-ls because of this.
—
Reply to this email directly, view it on GitHubhttps://github.com/neovim/nvim-lspconfig/issues/1443#issuecomment-1609564743, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADFTBJXUCGMK3XG25DNYP6LXNLREVANCNFSM5IJNDVKQ.
You are receiving this because you commented.Message ID: @.***>

@marcelarie I did not. I stopped using ltex-ls because of this.

What are you using?

@marcelarie I did not. I stopped using ltex-ls because of this.

@kierun What are you using?

The default Neovim spelling. Nothing else.  I stopped using ltex-ls because of this.

@kierun What are you using?

The default Neovim spelling. Nothing else. My grammar and spelling just naturally suck because I am dyslexic. ¯_(ツ)_/¯

I add my spellings file to the ltex one using this code: https://github.com/briandipalma/ansible/blob/main/roles/common/files/nvim/lua/plugins/nvim-lspconfig.lua#L28-L41

@briandipalma configs have totally changed since his comment (probably switched from neovim to notepad or something), but as long as the repo still exists, here is the working link: https://github.com/briandipalma/ansible/blob/2b7619ec6aa28722c12ef4cff4cce58f535c460a/roles/common/files/nvim/lua/plugins/nvim-lspconfig.lua#L28-L41

I was working with mason-lspconfig and found this Workaround:
require("mason-lspconfig").setup_handlers {
                ["ltex"] = function()
                    -- alternative: absolute path to file
                    -- local path_spelling = "/Users/NAME/.config/nvim/spell/spell-de.utf-8"
                    local path_spelling = vim.fn.stdpath("config") .. "/spell/spell-de.utf-8"
                    vim.keymap.set('n', '<leader>aw', ':!echo <c-r><c-w> >> /Users/NAME/.config/nvim/spell/spell-de.utf-8', {})
                    local spell_de = {}
                    for word in io.open(path_spelling, "r"):lines() do
                        table.insert(spell_de, word)
                    end

                    local lspconfig = require("lspconfig")
                    lspconfig.ltex.setup {
                        capabilities = capabilities,
                        on_attach = on_attach,
                        settings = {
                            ltex = {
                                language = "de-DE",
                                dictionary = {
                                    ['de-DE'] = spell_de
                                }
                            },
                        },
                    }
                end,

<leader>aw => add word under courser to spell-de.utf-8
Inside "/Users/name/.config/nvim/spell/spell-de.utf-8":
word1
word2
word3
...
sort u => can be used inside spell-de.utf-8 to make entries unique

Lazy loading, for future reference: https://github.com/SichangHe/.config/blob/30d0efa976ea5f9a9fa65f4da47194db0d9f7244/nvim/lua/plugins/lsp.lua#L33


Patches from ungoogled-chromium?

add-flag-to-hide-side-panel-button.patch
add-flag-to-show-avatar-button.patch
add-flag-to-disable-sharing-hub.patch
add-flag-for-qr-generator.patch
Just some UI tweaks that I really like
disable-download-quarantine.patch This one is also useful, but may not be desired.

@toooonyy It already has the hide side panel patch. I will probably add the download quarantine patch. I will probably not add the others.

Ok, I'll wait for the next release then.

@toooonyy I added the download quarantine patch, and the unexpire flags patch. I will go ahead and add the show/hide avatar patch too. I will not be adding the sharing hub or qr generator patches, however.


fix renamed database columns

things has renamed a couple of database columns. this PR fixes those renamed database column names.
"deadline"                          INTEGER,   -- Renamed from "dueDate", REAL -> INTEGER
"deadlineSuppressionDate"           INTEGER,   -- Renamed from "dueDateSuppressionDate", REAL -> INTEGER
"rt1_recurrenceRule"                BLOB,      -- Renamed from "recurrenceRule"
"rt1_instanceCreationPaused"        INTEGER,   -- Renamed from "instanceCreationPaused"
"rt1_nextInstanceStartDate"         INTEGER,   -- Renamed from "nextInstanceStartDate", REAL -> INTEGER
"heading"                           TEXT,      -- Renamed from "actionGroup"

@fabge Thanks Fabian. :) See also #103. I hope these changes can be merged in soon.

Partly solved, thanks for the contributions! Next step(s) to be discussed in #110


Tester feedback: language

Question ID
legal issues raised

language
In the list of issues, there remains summary process specific language.  That should be removed, i.e., references to the summary process statute (G.L. c. 239, s. 5) and the Uniform Summary Process Rules.

Other information

Variable being sought
legal_issues

Package version
0.0.1

Maturity target
Level 1 - this needs to be fixed to be equivalent to the blank form

Tester contact info
Paul Tuttle

Done.


Migrate IndieAuth to full authorization_code grant

A number of IndieAuth servers do not support the IndieAuth-only
Profile URL Response, so to widen our support for IndieAuth servers we
can migrate to a full authorization_code token grant.

FYI: This has not yet been validated, and we are discussing on #indieweb-dev whether this is the right call

Thank you for starting this! I'll defer to you and @aaronpk et al on whether it's the right idea, you all know more than me, but if you all say go for it, I'm in. The main changes we'd want here in that case are to bring back the authorization endpoint support, for backcompat, and unify discover_authorization_endpoint and discover_token_endpoint.

fwiw I tried it against @dshanske's WordPress plugin just now, with a minor bug fix I'll push in a sec, and it died with this error from the plugin:
{
  "error": "parameter_absent",
  "error_description": "Bearer Token Not Supplied or Server Misconfigured to Not Pass Token. Run diagnostic script in WordPress Admin\n\t\t\t\tIndieAuth Settings Page"
}

@dshanske does the plugin not yet support the token endpoint flow?

I'm almost certain I did implement both. Let me check the code

Thanks, sorted the backcompat + some tweaks with the setup - should be good to try again now @snarfed

I prefer the "rule of three" for duplication, but happy to have amended :+1:

I prefer the "rule of three" for duplication, but happy to have amended 👍

Definitely understood! I'm partial to that too pretty often. Thanks for indulging me here. 😁

Getting this stack trace on Bridgy Fed when I use this to unfollow someone, IndieAuthing against my site, WordPress 6.1.1 with IndieAuth plugin 4.2.1. Reverting for now until we can debug.
Oddly I'm not seeing this on https://oauth-dropins.appspot.com/ , it's working fine against my site with this change. 🤔
Traceback (most recent call last):
...
  File "/layers/google.python.pip/pip/lib/python3.9/site-packages/oauth_dropins/indieauth.py", line 223, in dispatch_request
    return self.finish(indie_auth, state=state)
  File "/workspace/follow.py", line 202, in finish
    follower = Follower.get_by_id(state)
  File "/layers/google.python.pip/pip/lib/python3.9/site-packages/google/cloud/ndb/_options.py", line 102, in wrapper
    return wrapped(*pass_args, **kwargs)
...
    raise TypeError(_INVALID_ID_TYPE.format(id_))
TypeError: Key ID must be a string or a number; received {'code_verifier': '...', 'me': 'http://snarfed.org', 'state': 'https://blackrock.city/users/spolsky snarfed.org', 'token_endpoint': 'https://snarfed.org/wp-json/indieauth/1.0/token'}

Tracked in https://console.cloud.google.com/errors/detail/CP2i-vS2ivTshgE;time=P30D?project=bridgy-federated (for myself)

Hmm, any idea which key is null that its trying to index into the list? Not one I saw when testing locally with oauth-dropins

Ah, I see it. When we call finish here:
https://github.com/snarfed/oauth-dropins/blob/972d4739233e629cfba6c081a846b558634233bf/oauth_dropins/indieauth.py#L223
...we're supposed to pass the user's state, the one they originally passed into redirect_url. We did that before with this:
https://github.com/snarfed/oauth-dropins/blob/85c42ef6801b5083e0b9720e3a9b72c9245e8737/oauth_dropins/indieauth.py#L163
...but that line got moved into an else in this PR, so it only runs for authorization endpoints, not token endpoints.
https://github.com/snarfed/oauth-dropins/blob/972d4739233e629cfba6c081a846b558634233bf/oauth_dropins/indieauth.py#L207

I'd literally just spotted that too :joy:


Add support for skipping arguments in help output

This patch adds support for "skip-help" tag that can be added to
positional arguments. Presence of this tag hides an argument from help
output. This is useful for arguments that have obvious meaning and the
repetition does not make the help output more useful.
Signed-off-by: Zygmunt Krynicki<EMAIL_ADDRESS>

Can you give an example where this is actually useful? The threshold for adding new tags is high, so there must be an obvious (and very) good reason to add a new one.

Hi.
I've used it like this: https://github.com/ubuntu-core/snappy/pull/457/files#diff-98c68bf200959bc37060cc68bc74113eR28
Please note that the long help contains elaborate description of what positional arguments do. The automatically generated description for them, at this stage, is redundant and doesn't add to the usefulness of help.
The test there (if you follow the link above) shows how --help output looks like with this patch in place.

What about if you don't add descriptions for those args, we skip them?

That would work as well, +1 from me.

Though on second thought there might be some edge cases where a description is needed to construct error messages, e.g. when we cannot unmarshal a positional argument and want to provide a helpful error message.

I don't think we have to worry about that. Would you be interested in another PR that skips args with empty descriptions?

Yeah, sure. I'll close this pull request and work on a shorter one that depends on empty Description.


Add Yield method to Dispatcher for async programming

Design
The proposal is about adding adding two methods to be used while writing async code for easy thread or priority switching when it's required:
public class Dispatcher
{
+    public static DispatcherPriorityAwaiter Yield() =>
+         new DispatcherPriority.Default);

+    public static DispatcherPriorityAwaiter Yield(DispatcherPriority priority)
+         new(priority);
}

Methods are made static since while the Dispatcher type isn't static, there's only one instance of it without exceptions.
public readonly struct DispatcherPriorityAwaiter : INotifyCompletion
{
    private readonly DispatcherPriority _priority;

    public DispatcherPriorityAwaiter(DispatcherPriority priority) => _priority = priority;

    public void GetResult() { }

    public bool IsCompleted => false;
    public void OnCompleted(Action continuation) => Dispatcher.UIThread.Post(continuation, _priority);
}

DispatcherPriorityAwaiter is a struct, so it can be inlined into a state machine generated by the compiler for the method where the awaiter is used.
Usage
async Task DoSomethingAsync()
{
    // Do something in background
    // ...

    // Here we go to UI
    await Dispatcher.Yield();

    // Now it's possible to interact with UI components
}

The same thing is already provided by WPF via the same named methods. So for newcomers it should take less code to change during migration.
Alternatives
An alternative solution is to use AwaitWithPriority, but it requires a task to be passed in which means more allocations and more code to be written.

Methods are made static since while the Dispatcher type isn't static, there's only one instance of it without exceptions.

That’s not true, we have exceptions - XPF ;)
And in general, we still want to keep a possibility to allow multiple dispatcher threads, at least for testing.

Then should it be also more WPF compatible, so parameterless Yiled will use DispatcherPriority.Background?