Add .spi.yml for Swift Package Index DocC support

Setting up DocC doc on Swift Package Index

What do we need .spi.yml for? Is it needed so DocC indexes SPI in addition to the public API?

@ahoppen This is for publishing DocC docs to Swift Package Index: https://blog.swiftpackageindex.com/posts/auto-generating-auto-hosting-and-auto-updating-docc-documentation/

Oh, so SPI in this case stands for “Swift Package Index” and not “System Programming Interface” (aka. @_spi).
Could you

add a short doc comment to the file stating that

this file controls how Swift Package Index builds documentation and is unrelated to the @_spi interface (I imagine other people will also stumble across the confusion)
links to the blog post describing the format

add all targets as documentation targets except for the underscored and executable targets? Or is there a way to just build documentation for all targets (potentially with a blacklist)?

@swift-ci Please smoke test

@swift-ci Please test

@swift-ci please test

@swift-ci please test

@ahoppen Can you please merge when ready? I don't have write access.


[BUG] static import of @UtilityClass method causes annotation processing to fail

Describe the bug
If you perform a static import of one of the methods from a class annotated with @UtilityClass from within the same project, i.e. not via a dependency, annotation processing completely fails, and you get compilation errors for other unrelated classes that use lombok annotations.
To Reproduce
As described above, simply create a class annotated with @UtilityClass and do a static import of one of its methods from another class. Also add some other code with lombok annotations. You should get spurious compilation errors. This only occurs when running maven build commands and not from the IDE.
Expected behavior
The static import should be handled without issue.
Version info (please complete the following information):

Lombok 1.18.16
javac, both 1.8.0_152 and 11.0.8

Additional context
The effect is as though lombok annotations are not being processed at all, and for a long time I thought this was the case, only to narrow it down to this.

Duplicate of https://github.com/rzwitserloot/lombok/issues/2044
Not really possible to fix, unfortunately. Javac tries to resolve imports
before lombok has run, at which point the methods haven't been generated
yet.
On Fri, Oct 23, 2020, 15:43 Muhmud Ahmad<EMAIL_ADDRESS>wrote:

Describe the bug
If you perform a static import of one of the methods from a class
annotated with @UtilityClass https://github.com/UtilityClass from
within the same project, i.e. not via a dependency, annotation processing
completely fails, and you get compilation errors for other unrelated
classes that use lombok annotations.
To Reproduce
As described above, simply create a class annotated with @UtilityClass
https://github.com/UtilityClass and do a static import of one of its
methods from another class. Also add some other code with lombok
annotations. You should get spurious compilation errors. This only occurs
when running maven build commands and not from the IDE.
Expected behavior
The static import should be handled without issue.
Version info (please complete the following information):

Lombok 1.18.16
javac, both 1.8.0_152 and 11.0.8

Additional context
The effect is as though lombok annotations are not being processed at all,
and for a long time I thought this was the case, only to narrow it down to
this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rzwitserloot/lombok/issues/2625, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABIERN5E7T4ZIGLSSGELO3SMGCBBANCNFSM4S4SRCHA
.

Note that this issue is explicitly mentioned in the small print of the
documentation: https://projectlombok.org/features/experimental/UtilityClass
On Fri, Oct 23, 2020, 15:59 Floris Kraak<EMAIL_ADDRESS>wrote:

Duplicate of https://github.com/rzwitserloot/lombok/issues/2044
Not really possible to fix, unfortunately. Javac tries to resolve imports
before lombok has run, at which point the methods haven't been generated
yet.
On Fri, Oct 23, 2020, 15:43 Muhmud Ahmad<EMAIL_ADDRESS>wrote:

Describe the bug
If you perform a static import of one of the methods from a class
annotated with @UtilityClass https://github.com/UtilityClass from
within the same project, i.e. not via a dependency, annotation processing
completely fails, and you get compilation errors for other unrelated
classes that use lombok annotations.
To Reproduce
As described above, simply create a class annotated with @UtilityClass
https://github.com/UtilityClass and do a static import of one of its
methods from another class. Also add some other code with lombok
annotations. You should get spurious compilation errors. This only occurs
when running maven build commands and not from the IDE.
Expected behavior
The static import should be handled without issue.
Version info (please complete the following information):

Lombok 1.18.16
javac, both 1.8.0_152 and 11.0.8

Additional context
The effect is as though lombok annotations are not being processed at
all, and for a long time I thought this was the case, only to narrow it
down to this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rzwitserloot/lombok/issues/2625, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABIERN5E7T4ZIGLSSGELO3SMGCBBANCNFSM4S4SRCHA
.

True; I usually read the small print, but must have missed it.


fix: nullish coalescing operator caused warning on page load

Description :sparkles:
Something has changed when next updated. Every page load causes a warning now, which is related to page's <title>. Fix behaviour so dev server no longer warns out.
Warning: A title element received a value that was not a string or number for children. In the browser title Elements can only have Text Nodes as children. If the children being rendered output more than a single text node in aggregate the browser will display markup and comments as text in the title and hydration will likely fail and fall back to client rendering
    at title
    at head
    at Head (webpack-internal:///../../node_modules/next/dist/pages/_document.js:258:1)
    at html
    at Html (webpack-internal:///../../node_modules/next/dist/pages/_document.js:676:132)
    at BenefitDocument (webpack-internal:///../shared/src/pages/BenefitDocument.tsx:21:1)

API branch is deployed to platta: https://kesaseteli-pr2708.api.dev.hel.ninja/healthz :rocket::rocket::rocket:

API branch is deployed to platta: https://helsinkilisa-pr2708.api.dev.hel.ninja/healthz :rocket::rocket::rocket:

ADMIN branch is deployed to platta: https://tet-admin-ui-pr2708.dev.hel.ninja :rocket::rocket::rocket:

EMPLOYER branch is deployed to platta: https://kesaseteli-employer-pr2708.dev.hel.ninja :rocket::rocket::rocket:

APPLICANT branch is deployed to platta: https://helsinkilisa-ui-pr2708.dev.hel.ninja :rocket::rocket::rocket:

TestCafe result is success for https://kesaseteli-employer-pr2708.dev.hel.ninja :laughing::tada::tada::tada:

HANDLER branch is deployed to platta: https://kesaseteli-handler-pr2708.dev.hel.ninja :rocket::rocket::rocket:

TestCafe result is success for https://kesaseteli-handler-pr2708.dev.hel.ninja :laughing::tada::tada::tada:

TestCafe result is success for https://helsinkilisa-ui-handler-pr2708.dev.hel.ninja :laughing::tada::tada::tada:

YOUTH branch is deployed to platta: https://tet-youth-ui-pr2708.dev.hel.ninja :rocket::rocket::rocket:

YOUTH branch is deployed to platta: https://kesaseteli-youth-pr2708.dev.hel.ninja :rocket::rocket::rocket:

TestCafe result is success for https://kesaseteli-youth-pr2708.dev.hel.ninja :laughing::tada::tada::tada:


update ipList to version Apr 1, 2017

Using https://github.com/17mon/china_ip_list/commit/53e49bf82e5ca649f8a4650304fb47e7a3bc0028

Added Qiniu domains for some sites


Mediatr and Web API

Are there any known issues using Mediatr and StructureMap with Web API? We tried to run the  example from the Mediatr source on two different machines and are getting an exception

Not that I know of, I was able to run the sample without issues.
Then again, I didn't try to go to those help pages, I usually delete those things in real apps.

You don't get the exception until you hit the API link. Anyway, I guess I will try to figure out what's going on. I have a feeling it's just missing some initial configuration.

@jphamilton I'm using all three of those right now in an application with no problems. Can you share some of your code?

@ChrisMissal It's the sample code in Mediar. The StrucureMap/Web API example. We run it, click on the API link and get an exception. The weird thing is that dependency is working. I added ITest/Test and injected it into the HomeController.

Ok, I just realized my explanation is wonky here. ServiceLocatorProvider is never getting configured in the Web API example, which seems to prevent me from injecting IMediator into MVC controllers. Modify HomeController and you will see.
Adding the follow to the StructureMapMvc.cs does the trick:
var serviceLocatorProvider = new ServiceLocatorProvider(() => StructureMapDependencyScope);
container.Configure(cfg => cfg.For().Use(serviceLocatorProvider));
Anyway, I was looking to this example to show me how all of these technologies fit together and now I understand. Thanks.

So is there something wrong with the example?

Technically, no, from a purely Web API perspective. But from a MVC/Web API perspective, yes. Take the example and inject IMediator into HomeController, you will get the exception because the ServiceLocatorProvider is not configured (as it is in the other examples).

Ah OK I gotcha. I'll update the example then.
On Tue Feb 03 2015 at 8:47:07 AM CST J.P. Hamilton<EMAIL_ADDRESS>wrote:

Technically, no, from a purely Web API perspective. But from a MVC/Web API
perspective, yes. Take the example and inject IMediator into
HomeController, you will get the exception because the
ServiceLocatorProvider is not configured (as it is in the other examples).
—
Reply to this email directly or view it on GitHub
https://github.com/jbogard/MediatR/issues/19#issuecomment-72662221.

Updated to include an MVC sample

Where is the MVC updated sample. can you please point out to me


Can we add: to switch the servers of TurboWarp, set the json of a project

Project.set_json(JSON: dict) => None

Session.set_project(project: FileName, project_id: str| int) => None
Submits the project to Scratch servers.
project= " [...] .sb3" .

A function to set the project json will maybe be added

project.set_json(json_data) was added in v1.4.5. A method for uploading assets will be added soon


fix: Chnages protected level of the PROBLEM_MEDIA_TYPE_JSON

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] Implemented tests for new features.
[x] I tested the features already implemented.
[x] Added usage examples in the readme.

:tada: This PR is included in version 2.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Java][Datetime] Remove unused regexes from English and Spanish

Description
Remove unused regexes from English, and Spanish parsers and extractors. This is just to clean the code. Also fixed some porting errors that were found while applying these changes.

I'll temporarily close the 4 PRs (#1407, #1408, #1421, #1426) related to removing regexes as there was no time to properly review and many folks here will be on a week-long holiday this week. I'll re-open when everyone is back.
Sorry for the delay.

@tellarin, friendly reminder these 4 PRs (#1407, #1408, #1421, #1426) were temporarily closed to put them on hold. Let us know if we should take some action here. Thanks.


Get automatic publishing working

To get the app to automatically deploy to Posit Connect when code changes, @jeremylweiss will need to do the following:

[x] Clone this repo
[ ] Run renv::restore() to install dependencies (if this doesn't work, @Aariq can help out)
[ ] Run the shiny app
[ ] Publish to Posit Connect the usual way
[x] Get an API token from viz.datascience.arizona.edu and add to GitHub secrets as CONNECT_APIKEY
[ ] Edit APP_NAME to match the name it's published as https://github.com/uace-azmet/azmet-qa-dashboard/blob/f785a8d8afdd8c66e1437f16629a1696351b00cb/.github/workflows/deploy-to-connect.yaml#L18
[ ] Push to GitHub and check that the Action runs without error

Cloned to local machine. renv::restore() gives error
`Error: Error installing package 'units':

installing source package ‘units’ ...
** package ‘units’ successfully unpacked and MD5 sums checked
** using staged installation
configure: units: 0.8-2
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether clang++ -arch arm64 -std=gnu++17 accepts -g... yes
checking for clang++ -arch arm64 -std=gnu++17 option to enable C++11 features... none needed
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for _Bool... no
checking for stdbool.h that conforms to C99... yes
checking for error_at_line... no
checking for gcc... clang -arch arm64
checking whether the compiler supports GNU C... yes
checking whether clang -arch arm64 accepts -g... yes
checking for clang -arch arm64 option to enable C11 features... none needed
checking for XML_ParserCreate in -lexpat... yes
checking for udunits2.h... no
checking for udunits2/udunits2.h... no
checking for ut_read_xml in -ludunits2... no
configure: error: in `/private/var/folders/s5/bdtr8dws52l6864ps5d_fybs4ndqb1/T/RtmpfObaE5/R.INSTALL12da734b89cd6/units':
configure: error:

Configuration failed because libudunits2.so was not found. Try installing:
* deb: libudunits2-dev (Debian, Ubuntu, ...)
* rpm: udunits2-devel (Fedora, EPEL, ...)
* brew: udunits (OSX)
If udunits2 is already installed in a non-standard location, use:
--configure-args='--with-udunits2-lib=/usr/local/lib'
if the library was not found, and/or:
--configure-args='--with-udunits2-include=/usr/include/udunits2'
if the header was not found, replacing paths with appropriate values.
You can alternatively set UDUNITS2_INCLUDE and UDUNITS2_LIBS manually.
See `config.log' for more details
ERROR: configuration failed for package ‘units’

removing ‘/Users/jlweiss/Library/CloudStorage/OneDrive-UniversityofArizona/Documents/azmet/data/new-system/azmet-qa-dashboard/renv/staging/1/units’
install of package 'units' failed [error code 1]`

Yeah, I figured it wouldn't go perfectly.  This error is because some system dependencies (not R packages) are missing.  You need to install udunits in order to install the units R package.  On a mac, you can do that with brew install udunits in the terminal.  You might have to install homebrew first.

Thanks for direction. For reference, and in addition to the Homebrew install, there was a hurdle with fortran compiling and the Matrix package that I got over with https://github.com/coatless-mac/macrtools
Second step done, onward!

Shiny app URL: https://viz.datascience.arizona.edu/azmet/azmet-qaqc-dashboard/

@Aariq The deploy-to-connect.yaml file opens as blank and doesn't allow changes to be saved, stating no such file or directory. Plus, there are several commits in waiting (below pic). Think I should push commits, which are on main branch, then try to tackle the .yaml file issue?

hmm, something doesn't seem right. There shouldn't be so many changes associated with this issue and I don't know why the .yaml file would be blank—it isn't blank on GitHub and I can open it in RStudio just fine.  I wonder if you maybe need to pull changes from GitHub or something?

It seems like I fixed whatever was wrong by adapting the process from https://github.com/orgs/community/discussions/36487 to this effort

Restarted the above checklist with a new clone, and renv::restore() worked fine. No idea why. But, yay!
However, there are a couple of new issues when I start the .rproj and when I start the app from within RStudio. Any suggestions?
ℹ Using R 4.3.1 (lockfile was generated with R 4.2.2)
- Project '~/Library/CloudStorage/OneDrive-UniversityofArizona/Documents/azmet/data/new-system/azmet-qa-dashboard' loaded. [renv 1.0.2]
- The project is out-of-sync -- use `renv::status()` for details.
> renv::status()
The following package(s) are out of sync [lockfile -> library]:

# RSPM -----------------------------------------------------------------------
- units   [0.8-2 -> 0.8-3]

See ?renv::status() for advice on resolving these issues.
> renv::snapshot()
The following package(s) will be updated in the lockfile:

# RSPM -----------------------------------------------------------------------
- units   [0.8-2 -> 0.8-3]

The version of R recorded in the lockfile will be updated:
- R       [4.2.2 -> 4.3.1]

Do you want to proceed? [Y/n]: n

- Operation canceled.```

> runApp('app')

Attaching package: ‘arrow’

The following object is masked from ‘package:utils’:

    timestamp

── Attaching core tidyverse packages ────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.2     ✔ readr     2.1.4
✔ forcats   1.0.0     ✔ stringr   1.5.0
✔ ggplot2   3.4.2     ✔ tibble    3.2.1
✔ lubridate 1.9.2     ✔ tidyr     1.3.0
✔ purrr     1.0.1
── Conflicts ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
✖ lubridate::duration() masks arrow::duration()
✖ dplyr::filter()       masks stats::filter()
✖ dplyr::lag()          masks stats::lag()
ℹ Use the conflicted package to force all conflicts to become errors

Attaching package: ‘data.validator’

The following object is masked from ‘package:shiny’:

    validate

udunits database from /Users/jlweiss/Library/Caches/org.R-project.R/R/renv/cache/v5/R-4.3/aarch64-apple-darwin20/units/0.8-3/422376fe53419adcde4710d43acbcdd0/units/share/udunits/udunits2.xml
Error in `check_auth()` at pins/R/board_connect_server.R:5:2:
! auth = `auto` has failed to find a way to authenticate:
• `server` and `key` not provided for `auth = 'manual'`
• Can't find CONNECT_SERVER and CONNECT_API_KEY envvars for `auth = 'envvar'`
• Can't find any rsconnect::accounts() for `auth = 'rsconnect'`
Run `rlang::last_trace()` to see where the error occurred.
>

This has to do with these lines that read the forecast data from Posit Connect:
https://github.com/uace-azmet/azmet-qa-dashboard/blob/990a4ce3982ea71de6445c696f14e98e05eb3b86/app/app.R#L379-L380
For this to work, you need to authenticate with Posit Connect first.  There are some instructions here: https://pins.rstudio.com/reference/board_connect.html

Ah, yes. I needed to setup the Posit Connect with viz.datascience.arizona.edu on the new mac. Doh.

This is working now, yeah?

I believe so, yes, for both the 'home mac' and the 'office mac'. There is, however, a higher-level issue when I go from one of those machines to the other (which also applies to other cloned repos). Using OneDrive, I get duplicated repos in the file directory and odd commits appearing upon opening the Rproj (below screenshots). I'm looking into what's going on here, but have you ever heard of this before? I've been deleting existing local repos (on OneDrive) and recloning to work around this, but this seems less than optimal.

I don't use OneDrive and haven't seen this particular problem, but git repositories often do not play nicely with shared drives/cloud drives.


Fix typos in docs/spec/api.md

Fix grammatical and formatting issues.
Add links to sections or other documents where appropriate.
Signed-off-by: Jon Johnson<EMAIL_ADDRESS>

Thanks for the PR. Since docs/spec/api.md is an automatically generated file, can you please make these changes in docs/spec/api.md.tmpl and run make docs/spec/api.md to regenerate it?

Edit: Sorry about the comment above. I didn't notice that api.md.tmpl was modified as well.

Current coverage is 51.12%

Merging #1545 into master will decrease coverage by -6.79% as of 88270d4

@@            master   #1545   diff @@
======================================
  Files          122     122
  Stmts        10612   10605     -7
  Branches       839     747    -92
  Methods          0       0
======================================
- Hit           6146    5422   -724
+ Partial        839     747    -92
- Missed        3627    4436   +809

Review entire Coverage Diff as of 88270d4

Uncovered Suggestions

+0.30% via .../driver/s3-aws/s3.go#730...761
+0.28% via .../driver/s3-aws/s3.go#266...295
+0.22% via .../driver/s3-aws/s3.go#882...904
See 7 more...

Powered by Codecov. Updated on successful CI builds.

LGTM


chore(package): update tap to version 10.2.1

Closes #40
https://greenkeeper.io/

Coverage remained the same at 100.0% when pulling b797195b43ac47606f3637e44b2c994ef8d04320 on greenkeeper/tap-10.2.1 into e64547c9341e96b41072a49d4a54224bbd9af6c1 on master.


bitwise refactored

Checklist

[ #520.] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Let me know if i have to refactor this as well:
entry.append_operation(helper.br(
        0,
        &[bitwise, logical_and?, logical_xor?, logical_or?],
        location,
    ));

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.53%. Comparing base (ca6549a) to head (1b28113).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #541      +/-   ##
==========================================
- Coverage   89.53%   89.53%   -0.01%
==========================================
  Files         108      108
  Lines       34264    34254      -10
==========================================
- Hits        30678    30668      -10
  Misses       3586     3586

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


Editor - adding plain text page

When adding a plain text page, should the text editor have the focus with the text 'Enter page text here' already selected for typing over?
Would hate to figure something out for every indivudual page though....

Is it easy to check at any point what the default text is for a particular checextbox/textarea/script boxes. I mean is this loaded with the wizard page mode each time the editor loads or only when the page is added?
If so the you could check the default with the current contents -

If its the same then select all when it gets focus
If different then just put the cursor where the user clicks

That might be doable and would be better than just doing a select all when every field gets focus since its then easy to press a key and overwrite everything.
What do you think?

Yes, that should work, and we could do it for only those pages tha have a 'main' text block.

Personally I can't see this is worth the effort especially for all the pages.
It's never really been raised as an issue and in some cases if you just want to quickly add a new page to check how it works or to see how a graphic looks the default text will suffice and if given focus and selected automatically you're forced to edit. If it ain't broke don't fix it?

I kind of agree but it would only really need implemented as a single focus event and applied to 3 or so input types. So it wouldnt be huge. Lets mark it as enhancement and leave until later...

I'm gonna agree with Ron here and just close this.. if it comes up again later then fair enough...


[CSL-2332] Silence cardano-node

That's another attempt to fix CSL-2332. Not tested yet.

Doesn't work. The workaround is https://github.com/input-output-hk/daedalus/pull/766.
It should be fixed in develop now. For more details see CSL-2332.


cigien: Watch examsaway.com

cigien requests the watch of the watch_keyword examsaway\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

examsaway\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

examsaway\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ

Approved by tripleee in Charcoal HQ


Report contents of buffer on EOF error

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Vlad Krasnov seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Use mavenCentral() since jcenter is shutting down

I noticed a warning in my React Native project when I build it on Android about this library:
WARNING: Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories.
Just want to be helped replace jcenter() from the build script and change to another as jcenter is deprecated and it will be shut down in the future.

any idea on when this will be solved?

I opened a PR https://github.com/react-native-masked-view/masked-view/pull/146


Adding a bug for getUserMedia in iOS PWAs

Also, a link to a SO discussion about this.

Thanks!

@Fyrd you're welcome, I'm happy to contribute!


template the version to keep them synced

Plugin versions in values.yaml file and config.yaml are likely to get out of sync as is in the current case. This makes value.yaml the single source of truth and keeps them in sync.

Thank you for contributing to kubernetes/charts. Before you submit this PR we'd like to
make sure you are aware of our technical requirements and best practices:

https://github.com/kubernetes/charts/blob/master/CONTRIBUTING.md#technical-requirements
https://github.com/kubernetes/helm/tree/master/docs/chart_best_practices

For a quick overview across what we will look at reviewing your PR, please read
our review guidelines:

https://github.com/kubernetes/charts/blob/master/REVIEW_GUIDELINES.md

Following our best practices right from the start will accelerate the review process and
help get your PR merged quicker.
When updates to your PR are requested, please add new commits and do not squash the
history. This will make it easier to identify new changes. The PR will be squashed
anyways when it is merged. Thanks.

cc @kubernetes/charts-maintainers

/assign @prydonius

/assign @viglesiasce

/ok-to-test

/lgtm

Traveling at the moment.. Will take a look at why this is failing/if maybe the test suite needs to be modified.
I am not familiar with the testing so any help would also be appreciated :)


Live test page request

Would be nice to have a live test page, like http://sassmeister.com/ which would have an option to choose from a list of node-sass version, to test for bugs and features, so it would be much easier to report them and reproduce. just a though.
I was just encountering a bug, and it seems such a waste of time for me to set up some way to reproduce it so someone could see.

sassmeister is offering to use libsass, which is what node-sass uses<EMAIL_ADDRESS>is using libsass 3.2.5, available on sassmeister.

And actually https://github.com/SassMeister/libsass.sassmeister is using node-sass to do the job :)

@yairEO I would suggesting opening an issue with Sassmeister to support multiple node-sass/libsass versions. This is not something that is relevant to this project.


NIFI-12249 FetchFTP and FetchSFTP processors now write failure reason to 'failure' attribute

Summary
NIFI-12249
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[x] Apache NiFi Jira issue created

Pull Request Tracking

[x] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[x] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[x] Pull Request based on current revision of the main branch
[x] Pull Request refers to a feature branch with one commit containing changes

Verification
Unit tests updated to ensure failure attribute is set on the flow file.  Some tests were updated to check for specific error conditions cited in the failure reasons written to the attribute.
Also, verified by creating the following flow:
GenerateFlowFile -> success -> FetchFTP
FetchFTP -> comms.failure, not.found, permission.denied -> LogAttribute
FetchFTP -> success -> funnel
LogAttribute -> success -> funnel
Configure FetchFTP with a bogus Hostname, Username, and Remote File
Ran the flow the saw the attribute 'failure' get logged:
Key: 'failure'
Value: 'Failed to fetch content for StandardFlowFileRecord[uuid=a363e000-3c24-429a-8c0b-4e2d12a37345,claim=,offset=0,name=a363e000-3c24-429a-8c0b-4e2d12a37345,size=0] from filename file1 on remote host somehost:21 due to org.apache.nifi.processors.standard.socket.ClientConnectException: FTP Client connection failed [somehost:21]; routing to comms.failure'
Build

[x] Build completed using mvn clean install -P contrib-check

[x] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[x] Documentation formatting appears as expected in rendered files

I think the main motivation for requests like this are dataflow managers who don't want a separate UpdateAttribute processor creating a detailed notification message for each of the failure relationships.  "If I have 10 FetchSFTP processors then I need 30 UpdateAttribute processors, when really I only want 1".  At a large scale, little design decisions like this make a difference.
I wonder what the community would think of consolidating the FetchSFTP "comms.failure", "not.found" and "permission.denied" relationships into 1 "failure" relationship and moving forward with an attribute that describes the failure reason?  It would definitely be for NiFi 2.0 since it's a big breaking change. I suppose we would want @markap14 to weigh in on this as the original author.

I can appreciate the desire to have fewer UpdateAttribute Processors in the case of handling different types of failures. Different Processors take different approaches in terms of failure handling, thinking of InvokeHTTP as one example of multiple categories of relationships.
The value of specific relationships is a clear differentiation of error types. Using FlowFile attributes can be helpful where there are well known status properties, such as HTTP response codes.
SFTP has some error codes, but even communication failures are different than other issues, like file not found or permission denied. One of the main reasons for having different relationships is that some errors could be retried.
From that angle, keeping the separate relationships has value for a number of use cases, even though it might complicate notification uses cases.

You make some very thoughtful points @exceptionfactory and it makes sense to provide fine grained error handling if the underlying library provides different error codes.  I spot checked some other Fetch processors which only have a single failure relationship, and I imagine their libraries don't enable finer grained handling as easily.
How about one last idea before I join you with opposing this?  What if we do not include the log message in the attribute but only include the relationship name in the attribute?  And change the attribute name to 'fetch.failure.reason' which aligns with the FetchParquet processor.  This should enable this PR to be much simpler and easier to maintain.
fetch.failure.reason=comms.failure or fetch.failure.reason=not.found or fetch.failure.reason=permission.denied

Thanks for the reply @mosermw.
Introducing a FlowFile attribute that uses the relationship name seems like a good middle way in this scenario. It would support the use case of a single output Processor for failures if desired, providing a clear programmatic way to handle different types of failures.
What do you think @annanys23?

That works for me.  Thanks for the discussion.


Better support for floats

Added

The ability to set floating point step props for DatNumber
The ability to disable the slider for DatNumber even when min and max props are provided

This should probably be a minor version bump I guess so should it go to v2.1.0. I'll update the PR if you agree @claus


Play war_cry when smart_mobs pathfinding, not attack.

I do not understand why zombie sounds like it's eating something when it simply found a fresh path towards me.

Changed, thanks :)


expressions file

It's ugly, it should be a markdown file and structured in an orderly fashion, and include images as examples of possible creations.
Also should not be named expressions file, but rather me another/just a README file.

Should probablymention in the file to install the library math.js


tailscale doesnt work

i try to install tailscale via ssh but sudo tailscale up doesnt work "sudo tailscale up
failed to connect to local tailscaled; it doesn't appear to be running (sudo systemctl start tailscaled ?)"
is there any fix ?
i know its not officially supported but its ubuntu and according to this video its work https://www.youtube.com/watch?v=itPTRikkEto&t=580s
im on ark os vArkOS_RG353V_v2.0_09292024  on 353V device

Did you install tailscale via apt?  It's not included as default.

Yes kinda
I use this link
curl -fsSL https://tailscale.com/install.sh | sh
And according to video it's work on arkOS (but it's r36s)
It could be a great feature to implement this natively in term of cloud gaming

If the script ran successfully, it looks like it should work but I don't know.  You're better off asking the originator of that script.  Good luck.

Is it possible that he can't acceed sudo ?
According research it's relative to access dev/tun
Like run on a docker session ?

I have no idea on this one as I've never used tailscale and don't know what it's resource requirements are.


This project is abandoned?

According to the graph there has been no updates over a year. No responses to pull requests and issues at all...
So, this project is abandoned?

Hi 👋 TeleBot will continue to receive updates. Stay tuned!


automatic def replacement doesn't work on longest match?

error happens on this page https://staging.threefold.io/info/threefold#/internet4__tfgrid_primitives?id=network-uses-nu
expect to be able to browse to peer2peeragent not peer2peer

fixed, match is done on per (word) level
plz note : p2pagent is not included in the definitions at this point, that is why it's not matched

the fix of hamdy was wrong, need to redo, let kristof see


zopen install zigi - not current and a couple of bugs

See

the zigi-master is out of date (zigi 3.18 when the current as of yesterday is 3.20)
trying to run the ./zginstall.rex but the instructions are wrong - you have to move into the /usr/local/zopen/zigi/ directory to run it
there is no c3270 dependency but there is a git dependency

Thanks

Thanks, I've incorporated a couple of the changes here: https://github.com/ZOSOpenTools/zigiport/pull/6/files. I've add the zginstall.rex instructions as a caveat.
I agree c3270 is not a dependency. I added it to enable ssh users to access TSO/ISPF easily. I can remove if you insist.

Thank you for the update. My guess is that if a ssh user wants to use tn3270 that they will find their own, and/or, install c3270 but 99.999% will be using a traditional tn3270 connection and not ssh as those folks probably don't use ssh or tso omvs :)
Note that there is no zginstall.sh - it is zginstall.rex and I was unable to run it unless I changed into that directory.

Thank you for the update. My guess is that if a ssh user wants to use tn3270 that they will find their own, and/or, install c3270 but 99.999% will be using a traditional tn3270 connection and not ssh as those folks probably don't use ssh or tso omvs :)
Note that there is no zginstall.sh - it is zginstall.rex and I was unable to run it unless I changed into that directory.

Ah ok, how does it look now? https://github.com/ZOSOpenTools/zigiport/pull/6/files


documentSymbols many wrong symbols with syntax error

input
# typed: true
class C
  @@foo = T.let(3, Integer)

  def bar
    @@quz
  end
end

Start with this file
Delete quz but not the leading @@ (this produces a syntax error)
Put cursor directly after @@foo
Type d

Expected symbols
Either replace the @@foo symbol with @@food, resulting in

C
@@food

Or don't change anything, resulting in

C
@@foo

Since there's a syntax error later in the file, it's arguable that we don't want
to both trying to figure out the symbols for this file.
Actual symbols

C
@@foo
@@food

Note that for every d press, we keep adding a new symbol.

This is a bug in global state hashing. It should also hash fields but it doesn't.


Translate to Romanian

Romanian translations of initial i18n

@javiereguiluz  I think #8 should become higher priority now that the community starts translating the app, to avoid having to redo the work

@stof you are right ... but that task is so boring to me that I'm waiting to see if any community member offers himself/herself to do it :smile:

Great! Another translation! Thanks @cristi-contiu


Fix KubernetesManifest bake on KUBECONFIG empty

Task name: KubernetesManifestV0
Description: The logic check did not account for empty strings. This fix allows KUBECONFIG="" to bypass the logic branch. Fixes #13911
Documentation changes required: (Y/N) N
Added unit tests: (Y/N) N
Attached related issue: (Y/N) #13911
Checklist:

[x] Task version was bumped - please check instruction how to do it
[ ] Checked that applied changes work as expected

@shigupt202 do you have any idea when the fix will be released to Azure Pipelines? I'm still seeing v0.178.0

The deployment will take a few days to roll out to all the rings.

The deployment will take a few days to roll out to all the rings.

Any idea when.  All our deployments are failing and we need to do an urgent production deployment!

We can expedite the same. We will talk within our team to see how best we can expedite it and get back tomorrow with a date.

We can expedite the same. We will talk within our team to see how best we can expedite it and get back tomorrow with a date.

I tried to move my KubernetesManifest tasks into separate jobs to get around this issue yesterday but that didn't work due to other issues occurring.  I really would love a fix for this.  Surely there must be thousands of people experiencing this issue everywhere.

We can expedite the same. We will talk within our team to see how best we can expedite it and get back tomorrow with a date.

I would really be grateful for an expedited roll out.  Many thanks.

@SachinKainth the deployment chain has already begun. It should reach your ring by the end of the day tomorrow definitely, I'm hoping it'll reach your ring today only.
Look out for the new version update in your logs 😄
Give me your account name; I can give you the exact ETA if you want.

@SachinKainth the deployment chain has already begun. It should reach your ring by the end of the day tomorrow definitely, I'm hoping it'll reach your ring today only.
Look out for the new version update in your logs 😄
Give me your account name; I can give you the exact ETA if you want.

Is this the account name you need: mountstreetllp?

@SachinKainth the deployment chain has already begun. It should reach your ring by the end of the day tomorrow definitely, I'm hoping it'll reach your ring today only.
Look out for the new version update in your logs 😄
Give me your account name; I can give you the exact ETA if you want.

Actually, my storage account is called mountstreet.

@SachinKainth What is the task version that you're seeing currently?

@SachinKainth What is the task version that you're seeing currently?

0.178.0
It is still failing as this is the old version with the error in it.  Has it deployed to Ring 2 yet?

We will do the hotfix deployment in affected rings. You can expect the fix by EOD.
CC: @ammohant @ds-ms

We will do the hotfix deployment in affected rings. You can expect the fix by EOD.
CC: @ammohant @ds-ms

Many thanks

@SachinKainth @dizco The deployment has been done. Could you please confirm if the problem is fixed now?

@SachinKainth @dizco The deployment has been done. Could you please confirm if the problem is fixed now?

Thanks - it works now.

0.178.0 was rolled out in the hosted agent pool we're using (in WEU) overnight (up from 0.175.3), causing our deployments to fail. Thanks for fixing the issue in 179, but were was that hotfix deployed to?

@sof Could you share your account name?

@shigupt202 - does https://dev.azure.com/kognifai/ give you enough info to check?

Hi everyone!
The campany I'm working for uses Azure Pipelines agents to deploy.
Since 0.178.0 has been deployed, all our deployments are failing too.

@VictorRos we're seeing the same thing. We have multiple bake steps in pipeline and first one works ok but second one fails with "file not found". Tried redeploying stages that worked ysetarday and having the same issue.

We are working on a hotfix on the affected rings.

@shigupt202 feel free to asks us more detail if you need, @VictorRos and me can help you on that.
we have currently around 100 helm chart depending on that in our CI/CD...

The hotfix is done. The issue should have been fixed now.

Confirmed - thanks @shigupt202

I confirm we can deploy now.
Thank you for your reactivity @shigupt202


autoPlayIterator function does not change direction when infinite is false and slidesToScroll is bigger than one

Hi,
we have slick with autoplay set to true and infinite is false. Number of slides to scroll is 2
Slick (auto)scrolls successfully to the right and returns to the left but misses to detect the direction change needed to scroll again to the right.
So, fix would be in
Slick.prototype.autoPlayIterator = function() {}
line 424, by replacing
if ( _.currentSlide - 1 === 0 ) {}
with either
if ( _.currentSlide - _.options.slidesToScroll === 0 ) {}
or with
if ( _.currentSlide - 1 <= 0 ) {
which changes direction to 1 again.

i would propose another bugfix:
If the autoscroll  reaches the right end, it waits double time before it scrolls back.
Better to have the function replaced by this (taking the above change into account)
Slick.prototype.autoPlayIterator = function() {

    var _ = this,
        slideTo = _.currentSlide + _.options.slidesToScroll;

    if ( !_.paused && !_.interrupted && !_.focussed ) {

        if ( _.options.infinite === false ) {

            if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
                _.direction = 0;
            }

            if ( _.direction === 0 ) {

                slideTo = _.currentSlide - _.options.slidesToScroll;

                if ( _.currentSlide - _.options.slidesToScroll === 0 ) {
                    _.direction = 1;
                }

            }

        }

        _.slideHandler( slideTo );

    }

};


@ChaelKruip please take a look

We have decided not to do this in the end. It is not obvious what the expected behaviour should be for downscaling: take the maximum (as currently done), the minimum, the average?
We decided to make two separate charts: the current yearly one and one with full resolution for the weeks.
Closing.

We have decided not to do this in the end.

Pity; I was quite keen on the idea. :disappointed:
What's the goal of having separate annual and weekly charts visible at the same time? I think the user experience is worse, because it's not clear why there needs to be two separate charts, and it adds clutter to the page.
I can imagine end-users asking:

"Do they display identical data?"
"Why can I zoom in on a weekly chart but not an annual one?"
"Why can I have Jan 6th and 7th on a weekly chart (same week) but not the 7th and 8th?"

If we must do this, could we only show one chart at-a-time by using tabs?
   +----------------------+-----------------------+
   |  Daily maximum load  |  Instantaneous loads  |
---+                      +-----------------------+------------------------

It is not obvious what the expected behaviour should be for downscaling: take the maximum (as currently done), the minimum, the average?

We don't show the maximum value, we show the maximum "deviation" from zero (maximum absolute value?), i.e. if a sample has three values – [1.0, 4.0, -5.0] – then -5 is the one which will be plotted.
I feel like we could workaround this problem somewhat by more information in the tooltips:

Hmmm, maybe we missed an opportunity to discuss options when you where here @antw? Maybe we could go through the options with you once more? What do you think @ChaelKruip ?

maybe we missed an opportunity to discuss options when you where here @antw

Unfortunately it slipped my mind indeed!

I can imagine end-users asking: [...]

I am susceptible to your argumentation @antw but I am not convinced (yet?) that any form of down-sampling is actually helping the user to understand the situation. Our (@dennisschoenmakers, @grdw andy myself discussed this a week ago) arguments for separating the yearly chart and the weekly chart were as follows:

The yearly chart is nice as a quick 'overview' but 'hides' too much information. The user will be confused if no solar production seems to be included in the system (smaller negative values are suppressed because of the current choice of showing the maximum deviation only)
The user might be confused because he can select individual weeks and yearly demands in the same drop-down menu (this would be solved by proper dynamic scaling)
The user should be invited to inspect the load at its real resolution

If we must do this, could we only show one chart at-a-time by using tabs?

:+1:

Pity; I was quite keen on the idea.

Perhaps I was a bit too definitive in my comment :worried:
I would like to have a fancy dynamically scaled resolution chart too but I think it should be able to do the following things:

Be intuitive
Have good performance ( @grdw's first attempts were quite 'laggy')
Show meaningful values when down-sampled data is shown. We would have to think about this more.

I think the Google finance charts check the first two boxes but I have the feeling that making their functionality from scratch is no trifling matter (hence the price tag). A nice-to-have for the future?

Show meaningful values when down-sampled data is shown. We would have to think about this more.

Two options come to mind:

An area range which shows the largest positive and negative loads for a period.
Better yet: a candlestick/box chart. Here's another example.

Not saying this is easy, but it would be nice.

Have good performance ( @grdw's first attempts were quite 'laggy')

I had the same problem when I was experimenting with this earlier in the project. I'm not sure if it's the browser itself or the NVD3.js library, but I found performance really suffered when the data was highly variable: nice smooth lines seemed to perform quite well even with many data points (1000+), while those which result in very jagged lines performed badly.


TypeScript CI improvements

Right now we rerun all tests, pnpm install and builds every single time we have a little change.
This results in TypeScript engineers oftentimes waiting 10 min to see the build being green.
We should only build and test the stuff that changed. That might bring it down to a few minutes instead and save us a lot of time.

Action items
Buildkite

[ ] Cache pnpm install
[ ] Cache tsc -d - use incremental builds
[ ] Only run tests for code that changed
[ ] Further parallelism?

Github Actions

[ ] Use self-hosted machines
[ ] Cache tsc -d - use incremental builds
[ ] Only run tests for code that changed

Action items
Buildkite

[ ] Cache pnpm install
[ ] Cache tsc -d - use incremental builds
[ ] Only run tests for code that changed
[ ] Further parallelism?

Github Actions

[ ] Use self-hosted machines
[ ] Cache tsc -d - use incremental builds
[ ] Only run tests for code that changed

For caching this seems nice https://github.com/gencer/cache-buildkite-plugin#usage-with-docker

For caching this seems nice https://github.com/gencer/cache-buildkite-plugin#usage-with-docker

Note: this is quite old, so we can close and open new issues.


New NPM release and/or build instructions?

I was trying to use the cache busting added in https://github.com/phiresky/sql.js-httpvfs/pull/21 and discovered that it isn't in the version of the module released on NPM.
I tried installing the module from the git repository instead, but because package.json lacks a prepare script, it doesn't run the build process and installs an empty package.
I tried adding a prepare script, so that I could install the module from the repo, but failed at it: https://github.com/phiresky/sql.js-httpvfs/compare/master...jordemort:npm-prepare?expand=1
I don't really need to build the module myself, and would be perfectly content to consume an updated version from NPM, but failing that, I would appreciate some help in figuring out how to build it.

First, I tried npm run build
Next, I tried (cd sql.js && npm run rebuild) ; npm run build
Finally I tried adding yarn to the development dependencies and did (cd sql.js && npm run rebuild) ; yarn run build

All three attempts ended in errors similar to:
npm ERR! ERROR in ./src/index.ts
npm ERR! Module build failed (from ./node_modules/ts-loader/index.js):
npm ERR! Error: Debug Failure. False expression: Non-string value passed to `ts.resolveTypeReferenceDirective`, likely by a wrapping package working with an outdated `resolveTypeReferenceDirectives` signature. This is probably not a problem in TS itself.
npm ERR!     at Object.resolveTypeReferenceDirective (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/typescript/lib/typescript.js:43192:18)
npm ERR!     at /Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/ts-loader/dist/servicesHost.js:679:18
npm ERR!     at /Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/ts-loader/dist/servicesHost.js:118:141
npm ERR!     at Array.map (<anonymous>)
npm ERR!     at Object.resolveTypeReferenceDirectives (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/ts-loader/dist/servicesHost.js:118:124)
npm ERR!     at actualResolveTypeReferenceDirectiveNamesWorker (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/typescript/lib/typescript.js:118249:163)
npm ERR!     at resolveTypeReferenceDirectiveNamesWorker (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/typescript/lib/typescript.js:118549:26)
npm ERR!     at processTypeReferenceDirectives (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/typescript/lib/typescript.js:120046:31)
npm ERR!     at findSourceFileWorker (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/typescript/lib/typescript.js:119931:21)
npm ERR!     at findSourceFile (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/typescript/lib/typescript.js:119783:26)
npm ERR!
npm ERR! ERROR in ./src/sqlite.worker.ts
npm ERR! Module build failed (from ./node_modules/ts-loader/index.js):
npm ERR! TypeError: Cannot read properties of undefined (reading 'getSourceFile')
npm ERR!     at Object.getEmitOutput (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/ts-loader/dist/instances.js:514:53)
npm ERR!     at getEmit (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/ts-loader/dist/index.js:261:37)
npm ERR!     at successLoader (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/ts-loader/dist/index.js:39:11)
npm ERR!     at Object.loader (/Users/jordan/.npm/_cacache/tmp/git-clone32cgcP/node_modules/ts-loader/dist/index.js:23:5)

The following steps to build the package work for me:
git clone https://github.com/phiresky/sql.js-httpvfs
cd sql.js-httpvfs
yarn install
cd sql.js
yarn install
yarn rebuild
cd ..
yarn build

Maybe the issue is that you didn't run npm install in the sql.js directory? Alternatively, the issue might be that you used npm to install the dependencies and got versions that aren't compatible with each other (since npm ignores the yarn lock file).
In any case, I've released version 0.8.12 that should include the latest changes.

Alternatively, the issue might be that you used npm to install the dependencies and got versions that aren't compatible with each other (since npm ignores the yarn lock file).

I'll give it a shot; it's definitely most likely that I did something wrong. I am mostly a C programmer and when it comes to JS stuff I am usually just blindly throwing stuff at the wall.

I'm not actively working on this project anymore.

It's an extremely cool project; I picked it because all the pre-made "static site search" things I found seemed to need to download the entire index to work.
I think I was able to pull of a nasty little hack to avoid the problem of having to pull the whole index to sort by rank; instead of using fts5 and it's built-in ranking function, I use fts4 with no ranking function, and then wrap that up as a CTE and compute a rank after the data has been retrieved. My bogus "ranking function" seems to do a surprisingly good job: https://github.com/jordemort/jordemort.github.io/blob/main/src/search/client.ts

In any case, I've released version 0.8.12 that should include the latest changes.

Thank you!


Topicos Junho 2024

Issue para sugestao de topicos pro encontro de Junho.
Por favor incluam suas sugestoes no seguinte formato para facilitar a vida dos editores:
Desculpa pelo front-running @lorenzolfm 😅

Proposing a P2QRH BIP towards a quantum resistant soft fork
https://delvingbitcoin.org/t/proposing-a-p2qrh-bip-towards-a-quantum-resistant-soft-fork/956
Burak Introduces Ark v2 with Liquidity-efficient Design
https://www.nobsbitcoin.com/burak-introduces-ark-v2-design/
https://brqgoo.medium.com/introducing-ark-v2-2e7ab378e87b

Burak Introduces Ark v2 with Liquidity-efficient Design
https://www.nobsbitcoin.com/burak-introduces-ark-v2-design/
https://brqgoo.medium.com/introducing-ark-v2-2e7ab378e87b

Amboss Lightning Decoder
https://primal.net/e/note16qlmfdj0tjadvtq8vuwwxa3zuvvs4l9m77ryrq7ttm2xd9vj0g4sfy7tnj
https://amboss.space/lightning-decoder

A new BOLT12 website
https://bolt12.org/
https://primal.net/e/note1w6wh63r82chfz7g5rkzpfs9wh6z57qq2xa0llmsqxd606h9h4rcqffv2e4

Differential Fuzzing of Bitcoin implementations
https://delvingbitcoin.org/t/differential-fuzzing-of-bitcoin-implementations/208/6

Payjoin Release v0.17.0
https://github.com/payjoin/rust-payjoin/releases/tag/payjoin-0.17.0

This link is more symbolic, the topic is more important, windos will start to print the screen, officially...
https://support.microsoft.com/pt-br/windows/copilot-no-windows-seus-dados-e-privacidade-3e265e82-fc76-4d0a-afc0-4a0de528b73a

https://primal.net/e/nevent1qqs0w0dk949gga58ngmpajwgmtlj2aqutpghglysulewgrg8tcudtugpp4mhxue69uhkummn9ekx7mqzyp9636rd9ktcjmwfxd7ru5qxjxyn6uch2uhas8utg8wa5hvf6vk7ggpugdn
Translation of a god text about PGP, for Alex emidio

DoS: LND Onion Bomb
https://morehouse.github.io/lightning/lnd-onion-bomb/

BitcoinJ ran out of space (12-byte SIGNED integer) to encode chain work data: https://github.com/bitcoinj/bitcoinj/issues/3410
The fix was to make the 12-byte UNSIGNED integer which kicks this a little bit down the road: https://github.com/bitcoinj/bitcoinj/commit/fae543bb6d4a72d6081d64dc1fde513229004c7c
This made Bisq crash and need a very fast hotfix: https://github.com/bisq-network/bisq/commit/3a84f18d2bc464d6cf24f32e2d3a0e02ce31bfe8
PS: with 5 tabs of Java code open in my browser the Geiger counter is going crazy... 💀

Let's add cryptographic nerdy stuff.
Constant-time analysis tool cargo-checkct announced: A Ledger blog post announced cargo-checkct, a tool that evaluates whether Rust cryptographic libraries run in constant time to avoid timing attacks.

Joinstr adds electrum support: Coinjoin software joinstr added an electrum plugin.
Tutorial.

Proposing a P2QRH BIP towards a quantum resistant soft fork
https://delvingbitcoin.org/t/proposing-a-p2qrh-bip-towards-a-quantum-resistant-soft-fork/956

So, in a VERY hand-weaving overview: DLP (Discrete log problem) and prime factorization, technologies both used in EC (Elliptic Curve) and RSA signatures,
are hard problems (related to negligible functions) for classical computers,
but not for quantum computers.
Hence, we need to find other sources of hard problems that are quantum resistant.
One major candidate of problems is to use Lattices problems
such as Shortest vector problem (SVP) and Closest vector problem (CVP),
which, for now, we don't have a very efficient quantum algorithm to solve.
So, they are still "hard".
(A nice accessible overview by quanta magazine)
Now this SQISign proposed in the BIP,
is based on "Isogeny graphs of supersingular elliptic curves" which seems to be a
"hard" problem (see theorem 1 of section 3.2 in the PDF of the paper) for both classical and as well quantum computers:

The security of these schemes relies on
the hardness of finding a path in the $\ell$-isogeny supersingular graph between two
given vertices. This problem is believed to be hard for both classical and quantum
computers

Ref: Wikipedia on Supersingular isogeny graph.
Should be fun 😂

Novos bugs encontrados pelo bitcoinfuzz!
https://delvingbitcoin.org/t/differential-fuzzing-of-bitcoin-implementations/208/5


Fix typescript build errors/warnings

Parcel's type definition pipeline doesn't actually use tsconfig's "include", so the global module definiton in @react-types/shared/src/css.d.ts that defines a type for CSS modules imports is not loaded.
I've added a triple-slash reference directive in @react-types/shared/src/index.d.ts so that every asset that somehow imports @react-types/shared gets the definition.
Added two missing library definitions from ES2017 for Object.keys and Intl.DateTimeFormatPartTypes:

@parcel/transformer-typescript-types: Property 'entries' does not exist on type 'ObjectConstructor'.
react-spectrum-v3/packages/@react-aria/i18n/src/useNumberFormatter.ts:24:45
  23 |   let {locale} = useLocale();
> 24 |   let cacheKey = locale + (options ? Object.entries(options).sort((a, b) => a[0] < b[0] ? -1 : 1).join() : '');
>    |                                             ^^^^^^^^ Property 'entries' does not exist on type 'ObjectConstructor'.
  25 |   if (formatterCache.has(cacheKey)) {
  26 |     return formatterCache.get(cacheKey);

@react-aria/visually-hidden also has a CSS import: I've added a reference comment that "imports" the types package to get the definition from 1. and sideEffects: ["*.css"]
Made the type for CSS modules imports actually meaningful (object type mapping string to string).

📝 Test Instructions:
make build: no errors/warnings
yarn tsc: no errors/warnings

Parcel's type definition pipeline doesn't actually use tsconfig's "include"

should it? feels weird that running tsc passes, but running it through Parcel does not.

The difference is that tsc processes all files specified by include/excludes but the types transformer uses the asset as the root and only processes imported files (it never sees the css.d.ts file because it isn't imported anywhere)

Ah right. We're kinda compiling each package independently rather than the whole repo. Do we basically want the one asset as a root, plus the includes? Would be as if there was a tsconfig in each package specifying that.
Mostly I'm concerned that the triple slash directive would affect the code once it's published and potentially mess with css handling types that users have in their apps.

Mostly I'm concerned that the triple slash directive would affect the code once it's published

That is indeed a problem:

scoping the CSS declaration to the packages doesn't work because these TS wildcards are very limited
a <reference path="css.d.ts" /> to a missing file throws an error, so not publishing css.d.ts doesn't work either.
I can't think of another easy way to have declarations that get removed in the build step.

Do we basically want the one asset as a root, plus the includes

Then TSC would still give us a declare module for every asset in the project and then the types transformer would remove all of them
I did a quite test (the output has a few wrong reeports, but this is about performance...):
only asset as root (current approach):
 build --no-minify packages/@react-spectrum/alert --no-cache  31.93s user, 4.83s system∞ 229% cpu, 16.014 total
all files as root:
 build --no-minify packages/@react-spectrum/alert --no-cache  68.94s user, 6.75s system∞ 185% cpu, 40.913 total

building all packages (current approach):
make build  561.77s user, 62.61s system, 502% cpu, 2:04.15 total

So I'd say this is not an option unless you want to take builds 2,5 times longer or we instead create a single TS program and emit all declaration files at once.
Furthermore, caching would be impossible because building a single package now depends on every other ifle in the whole project.

Should there be a tsconfig in every package with include: ["src/index.ts", "/path/to/css.d.ts"] or something? 😬 That would be kinda annoying.

create a single TS program and emit all declaration files at once

That sounds nice, but kinda hard to do in Parcel's architecture. Probably would avoid TS reparsing a bunch of files though.

Should there be a tsconfig in every package with

The types transformer still wouldn't read that file.
So far the only solution I found is adding a /// <reference types="@react-types/package-with-css-declaration" /> into every file that imports CSS. The comment gets removed by the types transformer.

but kinda hard to do in Parcel's architecture

Indeed

I think outFile would want to bundle them all together into a single file, not per package.

If we do want to do that (this would essentially be just a Node script, not inside Parcel), I was thinking of:

Generate a declaration file for the whole project (with individual declare module "...")
Process (shake) that file once per package (so every output bundle) to remove the declarations of the other packages.


Fix testing bug

If the rightmost painted cell has to be on the border of the robot pitch
the cell is not painted and task testing system reports an error wrongly.
Если крайняя клетка, которую нужно закрасить, на границе, тестирующая система ее не включает в задание.

Мое решение к задаче
#!/usr/bin/python3

from pyrob.api import *

def cell_needs_filling(cell_idx, filled_idx):
    return 2 * cell_idx == filled_idx * (filled_idx - 1)

@task
def task_7_5():
    """Consider arithmetic progression with initial term `a_1 = 0`
    and difference `d = 1`. Distance between `n`-th painted cell
    (counting from one) and first painted cell is equal to
    sum of first `n` members of the progression. Here the distance
    is the difference between row indices of the painted cells.

    Consider a robot passing through `n-1` painted cells and stopping
    exactly before `n`-th painted cell (`n = 1, ...`).
    Let the `k` be number steps made by the robot (`k = 0, ...`).
    Than, in consideration of position of the first painted cell, `k`
    and `n` satisfy the following equation
    `k = n * (n-1) / 2` (follows from formula of sum of first members
    of arithmetic progression).

    """
    cell_idx = 0
    filled_idx = 1
    while not wall_is_on_the_right():
        move_right()
        if cell_needs_filling(cell_idx, filled_idx):
            fill_cell()
            filled_idx += 1
        cell_idx += 1

if __name__ == '__main__':
    run_tasks()

Спасибо за PR. Нужно поправить решение , чтобы сборка проходила корректно.


Various commits

Add locale.get_supported_locales()
Fix locale.get_supported_locales : remove cls parameter
Add support for "language" block in template
In template, use RequestHandler.reverse_url instead of application one
Add get_supported_locales() method in template
Move locale methods in Application and use it in RequestHandler
Add support for kwargs to reverse_url
Add URLSpec.match which return a URLSpecMatch object

Sorry for the diff which is little mess because whitespace difference.

It's very difficult to review these changes because in addition to all the spurious whitespace changes, there's quite a lot of actual changes going on here.
2f58063: Commit description doesn't match code, and the docstring is a placeholder.  I'm skipping this one for now, but would accept a cleaned-up version.
064a7c0: Duh, thanks for the fix.
fdc94d0: Backwards-incompatible (locale is only set in a language block).  Introducing new template syntax is a relatively significant change and should get a pull request of its own.
8d4b6f7: Looks good
46c771a: There doesn't seem to be much demand for this since the function has been broken for so long, so I don't think it should go in the global template namespace.
e81cbe0: A reasonable idea (many methods like this perhaps belong on Application just like log_function), but I don't like that Application.get_browser_locale takes a request and get_user_locale takes a handler.  The distinction kind of makes sense, but maybe it's a sign that only get_browser_locale really belongs on the Application?  I need to think about this one some more.
3bf3ab4: Yay!  I'd really like to see some unittests for new functionality like this, though.  Can you add some tests and submit a new pull request?  (also, the old reverse method is still there, so the new one won't actually get called in this version).
5bedaec: More placeholder docstrings.  Why are get_base_args(), get_args(), and args all the same thing?  I have backwards compatibility concerns about adding a new parameter to the RequestHandler constructor (maybe better on _execute?)  I think it's a step in the right direction once it's cleaned up, though.
52efa85: The value in the supported_langs mapping is a full xx_XX locale, but if there are multiple variants of a language supported then which one appears in supported_langs depends on dict iteration order.  supported_langs should either be a set or provide a deterministic way to pick a primary locale for each language.
7884d56: This method shouldn't keep growing more boolean arguments.  If we need more variations we should add a format= argument that takes something like an enum.
e2c55b1: This is why I was wary of changing the RequestHandler constructor.

I've rebased a couple of these into master; please submit individual pull requests for any changes you'd like me to reconsider.


Fixed lowest_layer call on Boost 1.70.0 or later.

Due to make timeout situation, the test directly calls beast APIs.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #359   +/-   ##
=======================================
  Coverage   86.26%   86.26%
=======================================
  Files          37       37
  Lines        6216     6216
=======================================
  Hits         5362     5362
  Misses        854      854


fix: set BeginSkill initial value allowInterruptions: 'false',

Description

Task Item
#minor

Screenshots

Coverage remained the same at 55.757% when pulling 95d9227ba6d4e6fbd2052a50fd4497e9b45c4a5e on zhixzhan/beginskill-fix into 26724138df025817242e8e81d5dcb3cdd6ce8000 on main.


Whois on IP

Hi,
Thanks for this tool !
Does python-whois can extract information like organization name from an IP ?

No we do not support ip based lookup
There is another package available for ip lookups
On Wed, Apr 5, 2023, 16:01 s23hck @.***> wrote:

Hi,
Thanks for this tool !
Does python-whois can extract information like organization name from an
IP ?
—
Reply to this email directly, view it on GitHub
https://github.com/DannyCork/python-whois/issues/305, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACU73CRWJPSGVRKVTRTXTITW7V3MNANCNFSM6AAAAAAWUD2O54
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

For ip lokups you ciuld use
https://pypi.org/project/ipwhois
On Wed, Apr 5, 2023, 16:01 s23hck @.***> wrote:

Hi,
Thanks for this tool !
Does python-whois can extract information like organization name from an
IP ?
—
Reply to this email directly, view it on GitHub
https://github.com/DannyCork/python-whois/issues/305, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACU73CRWJPSGVRKVTRTXTITW7V3MNANCNFSM6AAAAAAWUD2O54
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Ok ! Thanks for your answer and for ipwhois :)
Have a nice day !
cheers


mDNS does not send goodbye messages when removing services (IDFGH-1379)

Environment

Development Kit:     none
Module or chip used:  ESP32-WROOM-32D
IDF version v4.0-dev-512-g6fd535c98
Build System:         CMake
Compiler version xtensa-esp32-elf-gcc (crosstool-NG esp32-2018r1) 8.2.0
Operating System:     Linux
Power Supply:         external 3.3V

Problem Description
When calling mdns_free() or mdns_remove_all_services() an mDNS goodbye message is not sent.  Using an iOS device, I can see it generate announcements when it wakes up and goodbyes when it goes to sleep in WireShark.  Upon mDNS init, the ESP32 sends the announcesments for all configured services as can be observed in WireShark.  mDNS discovery tools such as avahi-discover or dns-sd also show the presence of the ESP.
However, when mDNS services are removed or the mDNS service is stopped using mdns_free(), goodbye messages are not seen on the network and ESP devices still show up in avahi-discover and dns-sd
Expected Behavior
Goodbye messages are sent when shutting down mDNS and devices disappear from avahi-discover.
Actual Behavior
No goodbye messages are seen, and avahi-discover still shows devices in list.
Steps to repropduce

Init mDNS stack and add services (services will be discovered on network and mDNS advertisedments seen in WireShark
call mdns_free (services still advertiesed, no goodbye messages seen)

@liuzfesp @Alvin1Zhang , Any idea if there are plans to fix this soon? I have also noticed that there is no way to send "Announcements to Flush Outdated Cache Entries" per rfc 67662 section 10.2

I would guess that there is not enough time for the messages to be sent. Code is there though. If you remove the services before freeing the service, bye should be sent. It is implemented.

Here is the method that actually does it. You can trace it in the code and see how it's organised. https://github.com/espressif/esp-idf/blob/master/components/mdns/mdns.c#L1432

Let me just note a workaround to have the bye packet sent on mdns_remove_all_services(). It is possible to create a service with null instance, in that case a default instance name is used as service instance name:
    //set default mDNS instance name
    ESP_ERROR_CHECK( mdns_instance_name_set("ESP32-WebServer") );
    //initialize service
    ESP_ERROR_CHECK( mdns_service_add(NULL, "_http", "_tcp", 80, serviceTxtData, 3) );

The issue seems to be that the library tends to skip the function @me-no-dev referenced if the service has instance name configured. This should be fixed shortly.

Has there been any progress on this issue?

The fix is currently under review in the internal repository, sorry for the delay

Hello, just following up on this issue.  Last update was that it was under internal review 25 days ago.  Appreciate any updates you can provide.


Rejuvenating the Stakes

I would like to propose an idea inspired by the earlier versions of PW. Up until the script was created in 2012 on Nexus, many players relied on administrators to come on servers as makeshift banks and give them their gold as a bank or give it to other players they trusted. After the banking script came out though it was no longer necessary. Once the script came out players simply put their gold inside it, before you could only deposit 5000 at a time, and later on the entire amount, and even later PK had its own banking menu. That being said, I believe that in the past when you won fights and you would receive 20k-50k from their corpses it added so much more to the stakes.
Players that were above the rest in skill were seen has gods and would drop so much gold after their death and it felt rewarding to beat them because they had so much of it from winning. It also encouraged more players to participate in groups, because numbers won almost every fight, the game then had a magical aura to it that made it so fun. I truly believe the reason why the module lasted for an entire decade of time is due to the fact that you still lose your weapons, armor and castles when you are defeated. The idea of stakes and consequences I truly believe is what kept the module's momentum. I think the reason why people say they prefer old PW is because of this. Before everyone had their gold on them which made them much more cautious and there was a lot less toxicity as far as gameplay went, the pace was slower because death had true meaning and punishment.
Which leads me to the conclusion that in the new module, Kingdoms, the stakes should be higher and that equipment should be more expensive and harder to work for so that fights have more importance to them and people are continually drawn to come back. Perhaps gold itself should be harder to come by, I think something should require more effort to be earned so items are become more valuable. The way it is now anyone can grab a simply weapon under 2,000 gold with ease and attack someone and get their gear, I believe weapons should be much more expensive so that people have to get armor with it too or it is too risky to fight. Like it used to be before people could horde their gold in an intangible script. In conclusion, I think items should cost more and getting gold should require more effort, I truly believe it would set the tone for a module that would be eternally fun. I am very open to discuss this, I would so much like to.

Absolutely agreed, especially this "Perhaps gold itself should be harder to come by"
That's also our idea. In general we want to avoid inflationary prices as it was in PW/PK. Gold should really be worth something and players hould feels this in-game. So yes, prices and value of gold will change.


Use cadence-idl repo IDL storage

Delete idl dir

DO NOT MERGE until internal ticket is closed

Coverage increased (+0.1%) to 67.879% when pulling 5a356b87933fd8bfbce041f013a6e005da988724 on cadence-idl into 533e36b9aa776129fc337d885ee77cf74d9123ff on master.


v-bind with empty key

Version
2.6.11
Reproduction link
https://jsfiddle.net/andrewharvey4/k6r3uzby/10/
Steps to reproduce
v-bind an object with a empty string key
What is expected?
vue not to crash, it to either be silently ignored or a warning but not a fatal error
What is actually happening?
an error is thown crashing the app
vue.js:4483 Uncaught DOMException: Failed to execute 'setAttribute' on 'Element': '' is not a valid attribute name.
    at baseSetAttr (https://unpkg.com/vue@2.6.11/dist/vue.js:6778:10)
    at setAttr (https://unpkg.com/vue@2.6.11/dist/vue.js:6753:7)
    at Array.updateAttrs (https://unpkg.com/vue@2.6.11/dist/vue.js:6708:9)
    at invokeCreateHooks (https://unpkg.com/vue@2.6.11/dist/vue.js:6064:24)
    at initComponent (https://unpkg.com/vue@2.6.11/dist/vue.js:5997:9)
    at createComponent (https://unpkg.com/vue@2.6.11/dist/vue.js:5980:11)
    at createElm (https://unpkg.com/vue@2.6.11/dist/vue.js:5920:11)
    at createChildren (https://unpkg.com/vue@2.6.11/dist/vue.js:6048:11)
    at createElm (https://unpkg.com/vue@2.6.11/dist/vue.js:5949:11)
    at Vue.patch [as __patch__] (https://unpkg.com/vue@2.6.11/dist/vue.js:6509:11)

Exact same error is given when v-bind has an extra : infront of it
<my-comp v-bind:={prop1, prop2}> My Comp </my-comp>
This is picked during run-time instead of compile with stack trace and message having no information about where it happened.
Not sure if it's worth re-opening this, or creating another issue.
This happens in 2.6.11


fby3.5: scripts: Upload signed image tool

Summary:

Upload tool to sign BIC image for vaildation firmware update.

Add some signature for vaildation update, includes

MD5-1: check the integrity of the origin image
Project code: specify image for which project
Firmware file version: let BMC know the firmware file version
Error proof: includes board id, component id and fru stage
MD5-2: check the integrity of sum of MD5-1, project code, firmware file version, error proof

Usage:
Option
-f : platform of project
-p : project
-v : version number of firmware version
-w : week of firmware version
-y : year of firmware version
-s : stage
-i : original unsigned image file name
-o : name of the output signed image
example:
Freedom:~/zephyrproject$ ./bic_image_sign_tool.sh -i Y35BCL.bin -o test_signed_image.bin -f cl -p yv35 -s evt
Project code = Yosemite V3.5
Y35BCL.bin
fw_version = 2022.22.01
00000000000001000100001
Signed image build success
Freedom:~/zephyrproject$ ./bic_image_sign_tool.sh -i Y35BCL.bin -o test_signed_image_1.bin -f cl -p yv35 -s evt -y 2022 -w 23 -v 1
Project code = Yosemite V3.5
Y35BCL.bin
fw_version = 2022.23.1
00000000000001000100001
Signed image build success

Hmmm can we write this in Python instead?
I want to try and avoid using shell scripts in this repo because:

They aren't as easily lint-able
They are harder to write uniform tests for
Harder to extend in the future

The other scripts in the script's directory show what the general format, documentation requirements, etc are for Python

Hi Delphine. I wrote a python version real quick and will link it here once done.

He Delphine, can you please review/verify that the script in this PR https://github.com/facebook/OpenBIC/pull/342 matches the expected functionality of this script?
Thanks!


Patch 01: Centering Header

What type of PR is this? (check all applicable)

[ ] 🚀 Added Name
[ ] ✨ Feature
[ ] 🐛 Grammatical Error
[x] 📝 Documentation Update
[ ] 🚩 Other

Description

Centered the heading styles
Ported Markdown to HTML for headings and badges
Introduced dwyl hits instead of glitch visitor badge, but it is disabled because it does not line up with the styles of other badges

from:

to:

Let me know if you want me to change something in my PR.

Check both #43 and #41

@ABSphreak Closing this, as I already merged #41


Add other 'deploy' tests

This improves code coverage in lib/deploy.js:

% Stmts
% Branch
% Funcs
% Lines
Uncovered Lines

before
61.76
28
50
61.76
... 68,70,71,73

after
100
80
100
100

Looks good, although the mix of promises and callbacks is hard to follow! That's life in Nodeland.


gov: pools gov prop supercharge liquidity

Closes: #5307
What is the purpose of the change
We currently only allow for a single pool to be added at a time via gov prop. This PR allows for multiple pools to be created with a single gov message.
Testing and Verifying
Tests modified to expect a list of poolRecords rather than just one
Documentation and Release Note

[ ] Does this pull request introduce a new feature or user-facing behavior changes?
[ ] Changelog entry added to Unreleased section of CHANGELOG.md?

Where is the change documented?

[ ] Specification (x/{module}/README.md)
[ ] Osmosis documentation site
[ ] Code comments?
[ ] N/A

@AlpinYukseloglu addressed all comments in this commit, thanks!


Polymorphic this type does not work with conditional mapped types

TypeScript Version:  3.5.3
Search Terms: Polymorphic this mapped conditional
Code
type NumberedKeys<T> = { [K in keyof T]:
    T[K] extends number ? K : never }[keyof T];

type X = NumberedKeys<Example>;

class Example {
    public a: number;
    public b: string;
    public c: number;

    public constructor() {
        this.a = 3;
        this.b = "hello";
        this.c = 42;
    }

    public getNumber(key: NumberedKeys<this>): number {
        return this[key];
    }
}

Expected behavior: NumberedKeys<Example> works fine, but NumberedKeys<this> does not.
Actual behavior:
Type 'this[{ [K in keyof this]: this[K] extends number ? K : never; }[keyof this]]' is not assignable to type 'number'.
  Type 'this[this[keyof this] extends number ? keyof this : never]' is not assignable to type 'number'.
    Type 'this[keyof this]' is not assignable to type 'number'.
      Type 'this[string] | this[number] | this[symbol]' is not assignable to type 'number'.
        Type 'this[string]' is not assignable to type 'number'.

Playground Link: link
Related Issues: n/a

I'm not sure if this approach is possible because a key type may not constrain the type of values it maps to, it can only say that is a key of some type. (If someone does have a solution I'd be interested to see it!)
Would this work for your use-case?
    public getNumber<K extends keyof this>(this: Record<K, number>, key: K): number {
        return this[key];
    }

@jack-williams I cannot seem to get that to work. When constructing the class I get:
The 'this' context of type 'Example' is not assignable to method's 'this' of type 'Record<"getNumber", number>'.
  Types of property 'getNumber' are incompatible.
    Type '<K extends "a" | "b" | "c" | "getNumber">(this: Record<K, number>, key: K) => number' is not assignable to type 'number'.

Can you post an extended example?
Here is my version: playground

@jack-williams I got your example working eventually. The problem is that I need access to other properties of this. This is not possible with Record.
The problem I'm trying to solve is a generalised, inheritable version of DataLoader priming.
I can probably just use strings here, but I was trying to see if there was a way to have stricter typing for this, when I ran into the issue above. I've posted the extended example here.

We can tell from inspection that NumberedKeys returns keys where the looked up property is of type number, but TypeScript can't do the kind of higher-order reasoning to realize that this means the resulting type, when indexed back in to the same type, has that effect in the general case.

I also hit that today when was trying to make an amazing type definition, minimum example:
type PickProperties<T, P> = Pick<T, {
  [K in keyof T]: T[K] extends P ? K : never;
}[keyof T]>;
type Numbers<T> = PickProperties<T, number>;
type Identity<T extends number> = T;

const use = <T, K extends keyof Numbers<T>>(
  service: K,
  fn: Identity<Numbers<T>[K]>
): void => {}

@RyanCavanaugh  it's that hard to implement a constrain based on keyof? Because the constrain that Numbers<T> will always returns { [key: string]: number } so + keyof will result in T[K] being always a number.


--cleanup should not delete report

If --report used with --cleanup, cleanup should not delete the report file if it happens to be in the export directory.

Fixed in https://github.com/RhetTbull/osxphotos/releases/tag/v0.50.10


feature: add default client settings

In my project I have only one backend for all proto services and it would be much convenient to setup all services once, as it done in nswag.
export const GRPC_SERVICE_DEFAULT_SETTINGS = new InjectionToken<GrpcClientSettings>('GRPC_SERVICE_DEFAULT_SETTINGS');

later on a particular service could be
export class EchoServiceClient {
  private client: GrpcClient;

  constructor(
    @Optional()
    @Inject(GRPC_ECHO_SERVICE_CLIENT_SETTINGS)
    clientSettings: GrpcClientSettings | undefined,
    @Optional()
    @Inject(GRPC_SERVICE_DEFAULT_SETTINGS)
    defaultSettings: GrpcClientSettings | undefined,
    @Inject(GRPC_CLIENT_FACTORY) clientFactory: GrpcClientFactory,
    private handler: GrpcHandler
  ) {
    if (defaultSettings === null && clientSettings === null) {
      throw new Error(
        'Either GRPC_SERVICE_DEFAULT_SETTINGS or GRPC_ECHO_SERVICE_CLIENT_SETTINGS or both should be provided'
      );
    }
    const settings = {
      ...(defaultSettings || {}),
      ...(clientSettings || {})
    } as GrpcClientSettings;
    this.client = clientFactory.createClient('EchoService', settings);
  }
}

Hi @dvabuzyarov
thank you for the proposal.
I already had some thoughts about general gRPC configuration, however did not decide on whether it is super-important to have it vs. the constructor arguments clutter.
Problem is that probably if one wants to make the default config then he also would love to have the per-proto-file config as well. And this already becomes a little bit messy to support on a library level and to understand as end-developer as well.
I would keep it open for now to see how relevant it is to others as well. If yes, we can take it as idea for v1 (when it happens to appear).

Hi @smnbbrv
thanks for the answer.
That makes sense. Anyway I have a project in development where me team decided to try gRPC approach. So I did a new package that is based on your project, so we can test this changes and see what would happen.

This is now implemented, see https://github.com/ngx-grpc/ngx-grpc#global-clients-configuration