Track fiat amount in TPoS invoices.

Some merchants using TPoS need to capture the billed fiat amount for book keeping. This quick fix captures the fiat amount via invoice memo.

Codecov Report

Merging #1384 (f93ac9c) into main (dcf5f0a) will decrease coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1384      +/-   ##
==========================================
- Coverage   48.68%   48.56%   -0.13%
==========================================
  Files         294      294
  Lines       16562    16562
==========================================
- Hits         8064     8044      -20
- Misses       8498     8518      +20

Impacted Files
Coverage Δ

lnbits/extensions/tpos/views_api.py
31.18% <ø> (ø)

lnbits/extensions/lnurlp/migrations.py
81.48% <0.00%> (-14.82%)
:arrow_down:

lnbits/db.py
81.20% <0.00%> (-10.07%)
:arrow_down:

lnbits/commands.py
73.61% <0.00%> (-1.39%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Plotly/cache codegen

We use plotly-releases branch regarding the modifications to upstream/master.
There are no new commits between base branch 'plotly-releases' and head branch 'plotly/cache-codegen' at this moment.


chrome/safari give security warning on XDE for mac download link

I can reproduce in FireFox as well.

It looks like something got updated on Google's side for this GitHub S3 bucket, which is affecting several projects:

https://www.bleepingcomputer.com/news/security/some-github-downloads-blocked-in-chrome-and-firefox-due-to-safe-browsing-warning/
https://github.com/yarnpkg/yarn/issues/4019
https://github.com/lmenezes/cerebro/issues/184
https://news.ycombinator.com/item?id=14845577

I'm not able to reproduce this on my computer but could you try downloading the Mac .zip link instead?

Thanks for the news links, just tried downloading the DMG file for mac again and didn't see a warning this time. The problem seems to be fixed.

Thanks for the update, I'll close this issue then.


Create action to auto-close issues without response

This creates an action that runs daily after midnight. It will look for actions
with a given label (defaults to more-information-needed) that have not been
updated for 14 days and will close them.

Codecov Report

Merging #1751 (3d93d64) into master (bb5073f) will decrease coverage by 1.55%.
The diff coverage is 70.40%.

@@             Coverage Diff              @@
##             master    #1751      +/-   ##
============================================
- Coverage     72.08%   70.53%   -1.56%
- Complexity     5126     5536     +410
============================================
  Files           473      525      +52
  Lines         21970    24623    +2653
  Branches       2351     2660     +309
============================================
+ Hits          15838    17368    +1530
- Misses         4925     5933    +1008
- Partials       1207     1322     +115

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...rc/main/java/ai/djl/modality/cv/MultiBoxPrior.java
76.00% <ø> (ø)

...rc/main/java/ai/djl/modality/cv/output/Joints.java
71.42% <ø> (ø)

.../main/java/ai/djl/modality/cv/output/Landmark.java
100.00% <ø> (ø)

...main/java/ai/djl/modality/cv/output/Rectangle.java
72.41% <0.00%> (ø)

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../cv/translator/StyleTransferTranslatorFactory.java
40.00% <ø> (ø)

.../ai/djl/modality/cv/translator/YoloTranslator.java
8.33% <0.00%> (-0.50%)
:arrow_down:

... and 407 more

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 a53acb2...3d93d64. Read the comment docs.

Can we extend to 30 days?


High Incremental Scan Duration

Bug Report
What version of TiKV are you using?
5.1.2
What operating system and CPU are you using?
OS: CentOS Linux release 7.9.2009 (Core)
CPU: 64 Core Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz
Steps to reproduce
Run a TiCDC changefeed to consume one table. The table is about 20TB, and there are 12 TiKV nodes in total.
What did you expect?
What did happened?
Very high initial scan duration:
[2022/04/09 16:01:42.921 +08:00] [INFO] [endpoint.rs:1298] ["cdc resolver initialized and schedule resolver ready"] [takes=149.11s] [observe_id=ObserveID(1506142)] [lock_count=0] [resolved_ts=0] [downstream_id=DownstreamID(1306355)] [conn_id=ConnID(56)]
[region_id=3244062]
[2022/04/09 16:01:42.922 +08:00] [INFO] [endpoint.rs:1298] ["cdc resolver initialized and schedule resolver ready"] [takes=149.11s] [observe_id=ObserveID(1506145)] [lock_count=0] [resolved_ts=0] [downstream_id=DownstreamID(1306358)] [conn_id=ConnID(56)]
[region_id=3245630]
[2022/04/09 16:01:42.922 +08:00] [INFO] [endpoint.rs:1298] ["cdc resolver initialized and schedule resolver ready"] [takes=149.11s] [observe_id=ObserveID(1506146)] [lock_count=0] [resolved_ts=0] [downstream_id=DownstreamID(1306359)] [conn_id=ConnID(56)]
[region_id=3252467]
[2022/04/09 16:01:42.922 +08:00] [INFO] [endpoint.rs:1298] ["cdc resolver initialized and schedule resolver ready"] [takes=149.11s] [observe_id=ObserveID(1506141)] [lock_count=0] [resolved_ts=0] [downstream_id=DownstreamID(1306354)] [conn_id=ConnID(56)] [region_id=3244026]

/component CDC


Pcrexform submatch 4771 v4

https://github.com/OISF/suricata/pull/6504#issuecomment-948945991
cat expected/uri-param-seen.csv | while read i; do echo -n $i | base64 -D && echo; done
gives
param2
param3
param

with the PR
and without
/test?param2
/test?param3
/test?param

(we get the whole match, not just the captured substring)
Replaces #573 with min-version 6 which introduced pcrexform

Merged. Thanks!


feat: map expires_in in TokenRepresentation

What this PR changes/adds
Map the response field expires_in into TokenRepresentation#expiresIn and also additional properties in the access token response into TokenRepresentation#additional
Why it does that
extensibility
Linked Issue(s)
Closes #4130

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

Project coverage is 3.71%. Comparing base (7f20ba5) to head (2cf5e86).
Report is 223 commits behind head on main.

:exclamation: Current head 2cf5e86 differs from pull request most recent head 51316a0. Consider uploading reports for the commit 51316a0 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #4131       +/-   ##
============================================
- Coverage     71.74%   3.71%   -68.04%
- Complexity        0     141      +141
============================================
  Files           919     783      -136
  Lines         18457   16132     -2325
  Branches       1037     967       -70
============================================
- Hits          13242     599    -12643
- Misses         4756   15517    +10761
+ Partials        459      16      -443

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


#280 [WIP] Create a sender service for substrate

Adds skeleton for sending substrate transactions functionality
Example code that actually can send a transaction on edgeware test network (see Test_SubstrateCallExample)

Hi @nikosk686 I made a revision to the code in the area you highlighted. The main change was to abstract a method to make it easier to test. The other changes are more about clarity and extensibility. If you have any questions let me know.
Thanks


Remove unused constants (found when investigating legacy README container)

How did you identify these constants?

Find References in Visual Studio.


[DS-2728] Remove the BundleBitstream object & replace by JPA mapping

Feel free to test this pull request, but perhaps don't merge it yet. People are porting with the BundleBitstream object & I don't want to interrupt their work without approval.
The load on refactoring for the UI's should be doable, XMLUI only had around 20 references to this object.

Don't merge yet, still need to do two things:

Update oracle sql file for the primary key fix (but https://github.com/DSpace/DSpace/pull/1029 should be merged prior to this)
Attempt to set a unique constraint on the bundle_id, bitstream_id since the primary key is now a concatenation of the two identifiers + the order. (& in no case do we want duplicates in the table).

Overall, this looks excellent!  I agree with @KevinVdV though that we need to wait to merge this until others are done with the initial UI-level refactors.

I just had a very quick scroll over the sword changes and this looks like a big improvement to me. The BundleBitstream object felt quite clumsy, great work finding a way to remove the need for it!

Added additional commit for the XOAI merge.

Added additional commit for the JSPUI merge & altered oracle constraint + tested in oracle.
I also attempted to add a unique constraint on bundle & bitstream but got exceptions, so there will be no database constraint on these columns. The service side will have to ensure that nu duplicate rows are inserted (as is the case now before service api).
Don't merge yet since I still need to rebase once the rest api is merged.

Rebased pull request on latest service api branch & fixed the rest api + a couple jsp files that were already merged.
This pull request is ready for merge/review !

Going to merge this pull request, since no objections were raised & the initial UI refactor is well underway (only a few jsp files pending).

Also removed references to the BundleBitstream object from the documentation.


_.intersection bug

Try _.intersect ['1', '10'], [ '10', '1' ] isnt _.intersect [ '10', '1' ], ['1', '10'] which would wrongly be true.  The latter intersection returns just [ '10' ].
If '1' were '01' it's all good.  Something to do with sorting strings?  However, I tried it with numbers (i.e. without quotes) and it fails all the same.  Still something to do with the order, I suppose.

Two different arrays are never equal to each other in JavaScript.
> [1] !== [1]
true


GH2778: Update Roslyn to 3.6.0

fixes #2778

Merged! Thank you for your contribution. Much appreciated! 👍


10Jan23-FF-ReleaseNotes

Added release notes for 10th Jan 2023 release for FF.
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-332

Preview environment: https://ci.pr.harness.io/pr-332

Updated with review comments and merging.


existing chunks and embeddings

Is there a way for me to pass my existing chunks and embeddings to GraphRAG, I have already chunked my documents and embedded them.

A couple of thoughts here:
Chunks
Yes, we frequently do this when we need to customize the chunks we send (for example, if we want document metadata repeated on each chunk, we will prepend it to the text). The key here is to pre-split your content with a script, but make sure that those chunks (including anything you add) stay below the GRAPHRAG_CHUNK_SIZE limit you set. Upon ingest, your chunks should automatically remain independent.
Embeddings
Bringing your own embeddings is certainly possible, but may require a little more config/scripting. BTW, It sounds like you may want your raw chunk text content embedded, which GraphRAG does not use (we use entity.description for local search only).

Use the GRAPHRAG_EMBEDDING_TARGET and GRAPHRAG_EMBEDDING_SKIP params to adjust which fields are embedded. Use GRAPHRAG_EMBEDDING_TARGET=all and set the skip fields from the list at the top of the page here. The only one done by default is entity.description, and you can skip all of them if you'd like.
You'll have to script adding your embeddings where required. If you've embedded the text content yourself, add it to the create_final_text_units.parquet in a column called text_embedding and it should line up with what GraphRAG does.

Warning: if you are using a non-OpenAI embedder, the format/length/etc may be different!


Exception sending mail grails 3.1.4 rest-profile

     mailService.sendMail {
            async true
            to user.email
            from brand.fromEmail
            subject "Your new password"
            html view: "/emails/new-password", model: [firstName: user.firstName, password: newPassword]
        }

Caused by: java.lang.NullPointerException: null
    at grails.plugins.mail.MailMessageContentRenderer.createTemplate(MailMessageContentRenderer.groovy:86)
    at grails.plugins.mail.MailMessageContentRenderer$_render_closure1.doCall(MailMessageContentRenderer.groovy:58)
    at grails.plugins.mail.MailMessageContentRenderer$RenderEnvironment.with(MailMessageContentRenderer.groovy:174)
    at grails.plugins.mail.MailMessageContentRenderer.render(MailMessageContentRenderer.groovy:57)
    at grails.plugins.mail.MailMessageBuilder.doRender(MailMessageBuilder.groovy:276)
    at grails.plugins.mail.MailMessageBuilder.html(MailMessageBuilder.groovy:294)
    at itracker.MailNotificationService$_sendMailWithNewPassword_closure1.doCall(MailNotificationService.groovy:23)
    at grails.plugins.mail.MailService.sendMail(MailService.groovy:51)
    at grails.plugins.mail.MailService.sendMail(MailService.groovy:57)
    at itracker.MailNotificationService.sendMailWithNewPassword(MailNotificationService.groovy:18)
    at itracker.controllers.UserController.$tt__doResetPassword(UserController.groovy:85)
    at grails.transaction.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:96)
    at grails.transaction.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:93)
    at grails.transaction.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:96)
    at grails.transaction.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:93)
    ... 11 common frames omitted

Looks like it has a dependency on GSP, so you would have to add the GSP plugin
 compile 'org.grails:grails-plugin-gsp'

Maybe this is it?:
https://github.com/grails3-plugins/mail/issues/14

Nope. #14 is not it.
Adding  compile 'org.grails:grails-plugin-gsp' helped.

It's a pity:)

Hello,
I face the same NullPointException issue. And after adding  compile 'org.grails:grails-plugin-gsp' plugin, I faced another issue of :
Could not locate email view /email/JobFail in plugin [grails-plugin-gsp]
The view is in grails-app/view/email/JobFail and I'm using service as:
mailService.sendMail {
                to<EMAIL_ADDRESS>                from<EMAIL_ADDRESS>                subject mySubject
                html view:"/email/JobFail",model:[params:params],plugin:'grails-plugin-gsp'
            }

The issue doesn't occure when running through intellij but I face this issue if I deploy the war in tomcat.

@shresthaankit7 remove the plugin:


Lock Widget not working on packaged game.

I have tried to build my game using this plugin, but the widget doesn't seem to render.

It's a known issue. You can refer here.

Thanks!


Discuss level of detail in function details vs vignettes

In gen_lifetable_parameters @spencerpease commented:
"These details are super helpful, even beyond the scope of this function. I think a vignette would be a better place for this, and it would make formatting and providing examples easier. We could then link to the vignette here."
I agree that these details should be in a vignette, and many of them are in the vignette I already created. But I wanted to open this comment up for discussion for whether they should also be in the function help page. How easy is it to link to a vignette and will that link be reliable and accessible for users?

With the pkgdown site I think its pretty easy to access and view the vignettes.
But I don't think it hurts to also explain the equations in the function documentation

I pared down the documentation within the function help page and added a link to the pkgdown site vignette.


Database grows unexpectedly using EFCore adapter

Mirror from https://github.com/casbin/Casbin.NET/issues/176

close by mirror source


Documented Http shards plus others

Documented all Http shards
documented ForEach and Map

@ShahFragcolor this is still pending for fixes


Multiple Arguments with object in render breaks cache

Hi,
It seems that multiple arguments with object in render breaks cache :
// Make sure objects are stable
const params = useMemo(() => ({ id }), [id])
useSWR(['/api/user', params], query)

If you follow this use case :
id = 1 --> id = 2 --> id = 1
The second id = 1 doesn't have the same key in cache as the first (because params doesn't have the same ref)
Reproductible codesandbox : https://codesandbox.io/s/swr-multiple-arguments-no-cache-mfssd
The only way I found to preserve cache is to stringify in memo and parse in fetcher (https://codesandbox.io/s/swr-multiple-arguments-cache-p8iwy)
const params = useMemo(() => JSON.stringify({ id }), [id])

any better idea ?
Thanks !

Yes this is indeed a problem. In our real world use cases, we're using it like this:
const { data: user } = useSWR('/api/user', fetch)
const { data: userItems } = useSWR(['/api/items', user], fetchWithUser)

Because user is a globally shared object, the cache key of the second query will always be stable.
For use cases like query params, I will still suggest passing primitive values as args directly (will update documentation as well):
useSWR(['/api/user', id], (url, id) => query(url, { id }))

We have some discussions here https://github.com/zeit/swr/pull/145#discussion_r350064725.

i have certain params attached with my fetcher, params like pagination limit, offset, filter values and
source, the component is reused with different sources the source param changes as the source change, how can i takle this issue?

Can you share a code example @sainhimanshu9?

@GuiHash useMemo is worthless for the described scenario – this hooks does not do real memoization.
It only compares a new value with an old value so id = 1, id = 2, id = 1 sequence will not use "memoized" value.
It will be evaluated 3 times.

@shuding I'm also coming across this problem. Is there any newer recommended solution for this? Our use case is essentially making a generic fetching function which needs to be able to accept flexible variables, so the passing primitive values as args directly doesn't fit the use-case.
Maybe useSWR should deep-compare the input, just like it deep compares output? (possibly could be a config option?) Thinking that this would solve the issue you mentioned in your comment on the axios example linked above.

@aej11a I use https://www.npmjs.com/package/json-stable-stringify (4 Kb minified, non-Gzipped). Performance-wise it's the same. But I agree that custom compare function would be better given that it's typically already bundled (Lodash/Ramda/etc).

Hi @aej11a ,
i got the solution, you just need to make a custom hook where you need to pass all params and ( in that custom hook use query-string library) which will return you the query with all  params. hence as the params will change a new query string will be returned.
Mine is working now.

Thanks @ivan-kleshnin and @sainhimanshu9 , for now I'm using a workaround like this:
https://github.com/vercel/commerce/blob/master/framework/commerce/utils/use-data.tsx
In that hook, the variables input is deconstructed and values are used in the query key, and then the fetcher reconstructs the variables object. Seems to be working fine for now, but it's not perfect, so I think first-class library support for deep-comparison for query keys would be better.

Hi @aej11a ,
i got the solution, you just need to make a custom hook where you need to pass all params and ( in that custom hook use query-string library) which will return you the query with all params. hence as the params will change a new query string will be returned.
Mine is working now.

@itsSunnysCode could you share an example of your solution please?

react-query provides deep-equal support for items in an array key. Is this the type of thing we could implement? Maybe a custom didKeyChange function could live in the config?
<SWRConfig value={{ didKeyChange: (prevKey, nextKey) => deepEqual(prevKey, nextKey) }} />

I know that deep-equal checks aren't ideal, and it is slow to run on every render. However, for use-cases with large objects as a key, a plain array key has bad type safety. For instance, I have an algolia search wrapper with swr.
The SWR key takes all of these fields, so I currently use JSON.stringify
const key = [
  'algolia-search',
  query,
  index,
  JSON.stringify({
    facets,
    filters,
    facetFilters,
    numericFilters,
    hitsPerPage,
    page,
    aroundLatLng,
    aroundLatLngViaIP,
    aroundRadius,
    cacheable
  })
]

useSWR(key, algoliaSearch)

Passing each options as primitives to an array isn't great. However, stringifying it also isn't very good, since I have to then JSON.parse inside of the fetcher and cast the types to it:
const fetcher = async (_, query = '', index, facetString) => {
      const {
        facets = [],
        numericFilters,
        facetFilters,
        filters,
        hitsPerPage,
        page,
        aroundLatLngViaIP,
        aroundLatLng,
        aroundRadius,
        cacheable,
      }: Pick<
        SWRKeyParameters<T>,
        | 'facets'
        | 'filters'
        | 'facetFilters'
        | 'numericFilters'
        | 'hitsPerPage'
        | 'page'
        | 'aroundLatLng'
        | 'aroundLatLngViaIP'
        | 'aroundRadius'
        | 'cacheable'
      > = facetString ? JSON.parse(facetString) ?? {} : undefined
}

Is there a type-safe solution that is more efficient than JSON.stringify?

@nandorojo Yeah we could provide an option to support custom key serialization. There're probably some more efficient JSON stringify implementations, but I'm not sure about type safety...

Yeah, I also made this PoC to improve type safety for the fetcher function.
If you hover over the first argument in the fetcher function, you'll see that it inherits the types from the key.

My current working solution :
import useSWR from 'swr';
import { useMemo } from 'react';

export default (key) => {
  const k = useMemo(() => {
    return key;
  }, [JSON.stringify(key)]);
  return useSWR(k);
};

We now have an example on how to add key-serialization with SWR v1 Middleware: Serialize Object Keys. This can solve the original issue in this thread, maybe someone can publish it as a handy library?
Deep comparison would be a great addition, but I'm still having concerns about the performance (as well as serialization). Imaging a huge list with useSWR hooks inside, each re-render needs to run a synchronized deep comparison. We need to get some benchmarking for this.

I would love to see some benchmarks for that. Since Algolia doesn’t have React Hooks, I made a hook for it using SWR. The key is really large and complex though.

🎉 Added support for key serialization in #1429 and released as 1.1.0-beta.0, you don't need useMemo anymore. CC: @nandorojo


NullPointerException happening on RecordsFactory.getRecords()

On RecordsFactory, within the method "getRecords", there is a check to see if the given reference formulation found in the mapping file is actually supported by the mapper. In the case of a non-supported reference formulation found, the code logs an error and leaves the execution run without returning from the method or throwing a controlled error.
// Select the Record Factory based on the reference formulation.
if (!referenceFormulationRecordFactoryMap.containsKey(referenceFormulation)) {
logger.error("Referenceformulation {} is unsupported!", referenceFormulation);
}
ReferenceFormulationRecordFactory factory = referenceFormulationRecordFactoryMap.get(referenceFormulation);
records = factory.getRecords(access, logicalSource, rmlStore);

Instead what happens is a factory is tried to be retrieved and use this reference, which leads to a NullPointerExcepcion that in turn gets propagated all the way up the Executor class. This happens between lines 138 and 142 of the class RecordsFactory. I have verified this error is still present on the development branch.

Thanks for spotting this, we will look into this.


request() needs Request as the parameter, not a string

$client->request now uses a Request as the parameter, not a url string

Thanks!


Not able to use Pagekit without getmypid()

Problem
While trying to install Pagekit, I encounter this Problem:
Warning: getmypid() has been disabled for security reasons
I can't find a way to get Pagekit running without the getmypid() function.
Actually the getmypid() function is a security issue, because it could possibly harm the Server by handing out the current process id. Pagekit should run without this possible vulnerability.
Technical Details

Pagekit version: 1.09
Webserver: Apache 2.4.17
Database: MySQL/SQLite
PHP Version: PHP 7.0.8/PHP 5.6.23

I also encountered problems in the installation, and now I have no way to install, the mood is very bad day.


[Performance] Create a GraphQL subscription for "perf/results" endpoint.

Current Behavior

Currently, there is no subscription for the "perf/results" endpoint.
Desired Behavior

Implementation of subscription required with the name subscribePerfResults in order to get dynamic data results based on search and page size.
Implementation

Reference Meshery API Endpoints
Update each performance test result component to ue Relay client to swap out Restful calls with a websocket + subscription.

Acceptance Tests

User sees notification of completed tests and available results irrespective of which page the user is currently on.
User sees dynamically updated performance test result count in Results card on Performance page.
User sees additional table row added to perf test results table.

Contributor Guide

Added acceptance tests and link to Meshery API Endpoint spreadsheet.

// @dhruv0000

Can I try this? Dip my hands dirty with the Golang's GraphQL and maybe can try connecting them to the frontend as well.

Sounds great, @bariqhibat 👍

Just want to clarify a few things about this.

Does this subscription is for sensing whether a test is over (or generally, its state's change) when you just send performance test?
What does the search/page have something to do with this subscirption? Do we want to do filtering in the GraphQL query using this filters, just like the REST API? That means, everytime user change the filter, the subscription needs to sense this as well?

// @Gautam-Arora24 @leecalcote


[FEATURE] Hadoop Client

Is your feature request related to a problem?
When using Elastic Search in the past, some in the community had been used to connecting using a Hadoop client. The ask is to create a Hadoop client which will connect to OpenSearch.

As part of a feature for this, it would be great to provide a signing mechanism or some sort of add on extension that signs requests using sigv4 so that it can be used on AWS.  Additionally, the authentication mechanisms should consider other cloud providers so when installing and setting up the connector, much like you would do with Fluentd, you would pull in specific packages for this type of functionality so we can consider ease of adoption on other cloud provider signing / auth mechanisms.

+1, I am looking for an equivalent of the elasticsearch-hadoop client.  The initial blog post says this is going to be supported but I do not see any additional details or dates for release.   Can we please get an ETA?

Generally we've been forking these and making them work for OpenSearch. @CEHENKLE can speak to potential schedules, but don't hold back if you have cycles to do it, we'll gladly adopt the fork in the organization, or just contribute things like Sigv4 signing into someone else's fork.

@dblock @CEHENKLE previously I was able to use the older versions of elasticsearch-hadoop that don't do version checks against OpenSearch 1.3+ but with the removal of types in OpenSearch 2.0 this is no longer possible and people are completely blocked.  I will gladly contribute if I get a chance to dig into it but was hoping there might already be some existing work on it.

Will do, thanks for the info @dblock

@mattweber Did you have any luck?
I can answer on behalf of @CEHENKLE that we don't have anyone at the moment who can focus on Hadoop, but we would love assistance if you are offering @mattweber.

The needs i have for this are two fold, 1) support basic auth / certs for open source impls of the engine and 2) support various additional auth protocols like sigv4 on AWS.  If someone has done some initial work that addresses OpenSearch 1.x and can float backwards to a min of Elasticsearch version 7.1, that would get things started.  I can hook the sigv4 signing if this is in java or python.  Just need to know the entry points for whichever HTTP client lib is being used and hopefully that package supports an auth interface.

Quick update, I'm going to start the process of creating a new repo for a Hadoop client with the intent of @mattweber contributing what he has. I'll keep this thread updated as we progress.

@mattweber does your fork include support for Hype3 and Spark3 as well?

@brijos I do not have a fork, I literally just took elastic's code and made a single line change.  This was off a 7.13.4 which is the version before the explicit version checks and supports Spark3.  On a real fork we would need to use a fork of 7.10.2 and I do not know if Spark3 was in that version or not.

Spark 3 support didn't land until 7.12.0 so it would not be in any fork without needing to us to do additional work.

Is there any docs on how to add a new client or a stub repository I can open a pull request against? I am not commiting to anything but if I get some time I would gladly look into adding it.

You can create your own public repo and add an issue in the repo proposing to be moved to the OpenSearch project. Tag @wbeckler in that issue. There might be some checkpoints that I need to clear, and then we'll move it over. Then we would want to make you a maintainer once the repo is in the OpenSearch project.

@wbeckler FYI, we do have precedent for keeping a repo admin (vs. just a maintainer). The owner of https://github.com/opensearch-project/opensearch-plugin-template-java retained admin rights on the repo when it was moved into this org.

This is now in progress: https://github.com/opensearch-project/opensearch-hadoop/pulls

Will this client be made available via Maven ? We are using Open Search 1.2.4 in our organization and have been hunting for compatible Spark client.

This is coming to Maven once the application passes a security review. These reviews usually take 1-2 months, but no date has been set yet.


Disables itself in services

Every few hours I notice the notifications aren't turning the screen on. I open the app the "Screen Notifications Service" box is unticked. I tick it and it takes me to the android notification access page. The screen notifications box is enabled, so i have to disable and re-enable it for it to work.
My phone is a Samsung S6

The same thing happens to me, but I can't restore the service, I tried to reinstall the app, but does not work anymore.
I have a Meizu m1 Note (Flyme OS 4.5.6 on Android 5.1)

Idem for me.
My phone is a Samsung A5 with power saving mode always on.

Been using this app and loving it until today I noticed it kept disabling itself. Now I'm unable to re-enable it in any way I could think of. Re-installing doesn't help.
HTC 10 with Android 7.0 Nougat


Update Owner tag on this repo

User Story
"owner"            =<EMAIL_ADDRESS>We do not have access to this email address
This need to be replaced by<EMAIL_ADDRESS>Value / Purpose
Ensure that codebase reflect correct address for the team.
Useful Contacts
No response
Additional Information
No response
Definition of Done

[ ] Tag updated with correct value
[ ] README has been updated
[ ] Another team member has reviewed
[ ] Tests are green

https://dsdmoj.atlassian.net/jira/software/c/projects/ND/boards/1430/backlog?epics=visible&selectedIssue=ND-85&text=owner


Add SASLMechanism support

Simply black listing SASLMechanisms and leave one that is want to be used.

Great @HugoMaster. Did you test the XmppDemo to see if it still works?

@HugoMaster ?

Sorry was out for one week, will test it today.

No could not connect to this server, with any SASLMechanism, unfortunately this not work for this server. Can close this PR.

@HugoMaster Strange, iOS SASL works fine with demo...


0it [00:00, ?it/s]

hello, appricate your work!
have a question, when i run make_source.py, i got some user warnings like this:
src/PoseEstimation/network/rtpose_vgg.py:215: UserWarning: nn.init.normal is now deprecated in favor of nn.init.normal_.
init.normal(self.model5_1[12].weight, std=0.01)
the most important is this problem:   0it [00:00, ?it/s]
how can i solve it? please help me,  thanks!

The UserWarning is because nn.init used in this repository is an old version. The warning though will not affect the training procedure.
Can you elaborate on your problem, such as posting the whole error messsage.


⚠ Bofrost.at has degraded performance

In 1290627, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1316 ms

Resolved: Bofrost.at performance has improved in 86a2832.


Training Code for Relative Depth Estimation Model

Hello @LiheYoung,
I'm wondering if there is a possibility to share the training code for the relative depth estimation model, please.
Indeed, I'm interested in fine-tuning it on my own dataset, and having access to the training code would be very useful.
I look forward to your response.

I also want to be able to access the training code to learn

@SoniaShona Have you been able to find get the training code ?

@SoniaShona @YacineDeghaies @PotatoNU Hi, any news about training code?


Added mini example to docs

Updates docs as per the discussion in https://github.com/ExecutableBookProject/meta/issues/46.

Small edits to first few lines of the docs to slim down sentences and add a few links.

Added discussion of quantecon-mini-example and how to build / edit / view it locally.

Not sure how to fix...

I get chmod: cannot access '.git/hooks/pre-commit': No such file or directory.  Would you mind to fix the PR @najuzilu ??

Have you installed pre-commit? https://myst-nb.readthedocs.io/en/latest/develop/contributing.html#code-style

Also added the viewing option suggested in https://github.com/ExecutableBookProject/cli/issues/89

@najuzilu, thanks for the help, I fixed the commit.  Would you mind to review my instructions?

Thanks @najuzilu, comments much appreciated, all resolved now.
@choldgraf, hopefully this is what you also had in mind.  Please let me know if you want changes.

Ah one other note - I think we should also explicitly mention either "CommonMark markdown" or "Jupyter Notebook markdown" since users will know what those are off-the-bat. We don't want people to think that MyST is some complex new form of markdown that they have to learn before they can use jupyter book.

Thanks @choldgraf, very helpful.  I did as you suggested, including mentioning "Jupyter notebook markdown" and changing "Jupyter Book 2.0" to "Jupyter Book".

OK, this looks great! I made some small typo fixes etc and will merge-away! That means we only have #73 to go before we can merge this with jupyter-book and make a proper "beta" release on PyPI! Thanks @jstac for the improvement!


Ambari 2.7 and HDP 3.0 - Stack HDP 3.0 is not found in Ambari metainfo

Here are my initial values:
cluster_name: 'hdp3'
ambari_version: '<IP_ADDRESS>'                                 # must be the 4-part full version number
hdp_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number
hdp_build_number: '1634'                                  # the HDP build number from docs.hortonworks.com (if set to 'auto', Ansible will try to get it from the repository)

Here is the error message:

An internal system exception occurred: Stack data, Stack HDP 3.0 is not found in Ambari metainfo

It fails on this task: TASK [ambari-config : Register the VDF with Ambari (Ambari >= 2.6)] ************
I see Ambari <IP_ADDRESS> is installed
This worked some weeks ago, did I miss something?

Hmm, strange, you should definitely have Ambari 2.7 installed for HDP3.0, so the fact that Ambari <IP_ADDRESS> was installed makes me believe you first ran the playbooks with ambari_version: '<IP_ADDRESS>' and then switched to <IP_ADDRESS>.
There is a small issue with how the yum_repository Ansible module works in that it adds new repos rather than replace them. So check your /etc/yum.repos.d/ambari.repo file, if it contains references for both Ambari 2.6 and 2.7 then it means the above happened so you'll need to rebuild your nodes or manually upgrade Ambari to 2.7 before installing HDP 3.0.
The only other change that happened was that Ambari 2.7.1 and HDP 3.0.1 were released on Friday, but that shouldn't have impacted the Ambari 2.7.0 repos.

I see it now.
I forgot to add --extra-vars and my hdp-config file in install_ambari step and I guess it takes version <IP_ADDRESS> as default. If so, is it smart to have an Ambari version default?

(I wanted to propose following before your last answer) btw @markokole  HDP 3.0.1 is out (and I guess recommended vs 3.0.0), and I just made a successful test deployment on AWS, using following variable changes:
#ambari_version: '<IP_ADDRESS>'                                 # must be the 4-part full version number
#hdp_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number
#hdf_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number

ambari_version: '<IP_ADDRESS>'                                 # must be the 4-part full version number
hdp_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number
hdf_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number

@alexandruanghel should I create a PR to update the new default version to 3.0.1 ?
( ps: I'm planning on creating an issue, to make the roles+playbooks work when called from an external repository/folder, which allows us to manage our customer/cluster configs in a separate github repo )

@markokole not sure I understand, if you use --extra-vars you'll override any variable so you have to use the same --extra-vars everywhere. Or better, use the install_cluster script rather than the individual scripts. The --extra-vars option should be used very rarely (when testing something for example or to override a simple variable) and you should only rely on group_vars/all for everything else and maintain it. Some configs depend on one another and only group_vars/all will offer the full picture of what is installed and should be running (I'm using here the "One Mona Lisa" principle as recommended by Ansible).
@lhoss I'll update the versions later today as I'm testing some combinations. I was waiting for the first maintenance release to upgrade more defaults (for example if the default hdp version change then the default blueprint_dynamic variable will also need to change).
And yes, please do create issues and share ideas as I can't be aware of how people are using this :)

@lhoss

(I wanted to propose following before your last answer) btw @markokole HDP 3.0.1 is out (and I guess recommended vs 3.0.0), and I just made a successful test deployment on AWS, using following variable changes:
#ambari_version: '<IP_ADDRESS>'                                 # must be the 4-part full version number
#hdp_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number
#hdf_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number

ambari_version: '<IP_ADDRESS>'                                 # must be the 4-part full version number
hdp_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number
hdf_version: '<IP_ADDRESS>'                                    # must be the 4-part full version number

@alexandruanghel should I create a PR to update the new default version to 3.0.1 ?
( ps: I'm planning on creating an issue, to make the roles+playbooks work when called from an external repository/folder, which allows us to manage our customer/cluster configs in a separate github repo )

What build_number did you specify for 3.0.1?
Im asking this because for 3.0.0 I had to write 1634 for HDP build_number.
Thanks

What build_number did you specify for 3.0.1?
Im asking this because for 3.0.0 I had to write 1634 for HDP build_number.

@markokole In fact I used the defaults:
hdp_build_number: 'auto'                                  # the HDP build number from docs.hortonworks.com (if set to 'auto', Ansible will try to get it from the repository)
hdf_build_number: 'auto'

This worked for me for both HDP versions: <IP_ADDRESS> and <IP_ADDRESS> !


[Dropzone] Enable multiple file uploads

Q
A

Bug fix?
no

New feature?
yes

Tickets
Fix #7

License
MIT

This change adds the posibility to upload multiple files using the Dropzone component. This is based on the work by @yassinehamouten.

[x] Tests
[x] Make it configurable using the FormType

After a small conversation with @weaverryan on Slack I plan to add the following options to this component:

ability to specify the number of files
enable adding additional files after files were already dropped

Hi! We need multiple file upload. Who can help with this? I understand daFish has been developing it, but we need it live? Who on the Symfony development team can help us to work with this?

After some thoughts I'm not going to finish this. It is based upon the work of @yassinehamouten and I'd rather propose to go with uppy.io.


Create additional default plans

Additional plans to make it easier to deploy and configure a new instance of MetaCI

Feature Test - Robot
Release Deploy
Release Test
Upload Release

Closing because we need to reconsider in light of developments in MetaCI.


rename svd_decomposition to sv_decomposition

I feel we should rename svd_decomposition to sv_decomposition since the former
has a redundant "decomposition" in it.

Is there a problem with svd?

find with me too

I vote truncatable_svd

It is true that the built in ability to truncate does mean we depart somewhat from what numpy does, but per the v1.0 push to make the syntax NumPy like where possible and since tensor network SVDs are almost always truncated, it would strike me that simply svd is more natural, unless we plan to reserve that name for something else (which would seem strange to me).


Fix spacegrey color definition.

I was getting a lot of messages about not being able to load the color.  It was just missing a hashmark in front of the hex code 😄 .  These themes are great btw!

Ah! A careless mistake. Thanks for catching it!


update documentation regarding minimum owner share

Hi Team,
According to the discussions on Discord, the minimum owner share percentage setting for a Vault should have been removed from the app by now.
As a suggestion, I reviewed the documentation and identified all instances where it was mentioned, removing them accordingly.
I hope this helps pinpoint where the changes need to be made.
Best regards,
Thomas Price

Thank you for your contributions @Scribulus!


issue-361

Resolves #361
Description
This PR adds "issued_at" as a column on distributions#index
How Has This Been Tested?
Since this is purely a small view addition, I was not sure if this needed tests to go along with it.  If so, I would be happy to add them. All existing tests still pass after this addition.

Thank you @iorme1 !


Add missing availability check for localStorage

Hello!
This should fix #118
It's a showstopper in our webapp, because the android app we're using has local storage disabled and offline.js crashes on load because of that.
Thanks for your great work :+1:

this looks good to me. @benurb do you think we should be adding any additional places where consumers can potentially store this kind of state?


Found go routine leak in ListBlobsFlatSegment

Which version of the SDK was used?
v0.6.0/v0.9.0
Which platform are you using? (ex: Windows, Linux, Debian)
MacOS
What problem was encountered?
We found go routine leak via uber-go/goleak
How can we reproduce the problem in the simplest way?
We run the following test code.
package whatever
 import (
    "testing"
    "github.com/stretchr/testify/assert"
    "go.uber.org/goleak"
)
func TestA(t *testing.T) {
    defer goleak.VerifyNone(t)
 _ , err := containerURL.ListBlobsFlatSegment(context.Background(), azblob.Marker{}, azblob.ListBlobsSegmentOptions{Prefix: "", MaxResults: 5})
assert.Nil(t, err)
}

And found there's a go routine leak as the error shows b
leaks.go:78: found unexpected goroutines:
    [Goroutine 37 in state IO wait, with internal/poll.runtime_pollWait on top of the stack:
    goroutine 37 [IO wait]:
    internal/poll.runtime_pollWait(0x3465e38, 0x72, 0xffffffffffffffff)
            /usr/local/Cellar/go/1.13.8/libexec/src/runtime/netpoll.go:184 +0x55
    internal/poll.(*pollDesc).wait(0xc00038e098, 0x72, 0x13e00, 0x13ec4, 0xffffffffffffffff)
            /usr/local/Cellar/go/1.13.8/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
    internal/poll.(*pollDesc).waitRead(...)
            /usr/local/Cellar/go/1.13.8/libexec/src/internal/poll/fd_poll_runtime.go:92
    internal/poll.(*FD).Read(0xc00038e080, 0xc0005b6000, 0x13ec4, 0x13ec4, 0x0, 0x0, 0x0)
            /usr/local/Cellar/go/1.13.8/libexec/src/internal/poll/fd_unix.go:169 +0x22b
    net.(*netFD).Read(0xc00038e080, 0xc0005b6000, 0x13ec4, 0x13ec4, 0x203000, 0x34e25e8, 0x0)
            /usr/local/Cellar/go/1.13.8/libexec/src/net/fd_unix.go:202 +0x4f
    net.(*conn).Read(0xc000386010, 0xc0005b6000, 0x13ec4, 0x13ec4, 0x0, 0x0, 0x0)
            /usr/local/Cellar/go/1.13.8/libexec/src/net/net.go:184 +0x68
    crypto/tls.(*atLeastReader).Read(0xc0004a23e0, 0xc0005b6000, 0x13ec4, 0x13ec4, 0x0, 0xc0000648c8, 0xc0000648a0)
            /usr/local/Cellar/go/1.13.8/libexec/src/crypto/tls/conn.go:780 +0x60
    bytes.(*Buffer).ReadFrom(0xc000398258, 0x1d34340, 0xc0004a23e0, 0x100c375, 0x19e81c0, 0x1abbf80)
            /usr/local/Cellar/go/1.13.8/libexec/src/bytes/buffer.go:204 +0xb4
    crypto/tls.(*Conn).readFromUntil(0xc000398000, 0x34e1088, 0xc000386010, 0x5, 0xc000386010, 0xc000064930)
            /usr/local/Cellar/go/1.13.8/libexec/src/crypto/tls/conn.go:802 +0xec
    crypto/tls.(*Conn).readRecordOrCCS(0xc000398000, 0x0, 0x0, 0x3)
            /usr/local/Cellar/go/1.13.8/libexec/src/crypto/tls/conn.go:609 +0x124
    crypto/tls.(*Conn).readRecord(...)
            /usr/local/Cellar/go/1.13.8/libexec/src/crypto/tls/conn.go:577
    crypto/tls.(*Conn).Read(0xc000398000, 0xc00027d000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
            /usr/local/Cellar/go/1.13.8/libexec/src/crypto/tls/conn.go:1255 +0x161
    net/http.(*persistConn).Read(0xc00035c240, 0xc00027d000, 0x1000, 0x1000, 0xc00034a000, 0xc000064c20, 0x1006d35)
            /usr/local/Cellar/go/1.13.8/libexec/src/net/http/transport.go:1758 +0x75
    bufio.(*Reader).fill(0xc000096660)
            /usr/local/Cellar/go/1.13.8/libexec/src/bufio/bufio.go:100 +0x103
    bufio.(*Reader).Peek(0xc000096660, 0x1, 0x0, 0x0, 0x1, 0xc000382100, 0x0)
            /usr/local/Cellar/go/1.13.8/libexec/src/bufio/bufio.go:138 +0x4f
    net/http.(*persistConn).readLoop(0xc00035c240)
            /usr/local/Cellar/go/1.13.8/libexec/src/net/http/transport.go:1911 +0x1d6
    created by net/http.(*Transport).dialConn
            /usr/local/Cellar/go/1.13.8/libexec/src/net/http/transport.go:1580 +0xb0d

     Goroutine 38 in state select, with net/http.(*persistConn).writeLoop on top of the stack:
    goroutine 38 [select]:
    net/http.(*persistConn).writeLoop(0xc00035c240)
            /usr/local/Cellar/go/1.13.8/libexec/src/net/http/transport.go:2210 +0x123
    created by net/http.(*Transport).dialConn
            /usr/local/Cellar/go/1.13.8/libexec/src/net/http/transport.go:1581 +0xb32
    ]

Please help to make sure it is a problem in sdk.
Thanks
Have you found a mitigation/solution?
no

It looks like the connection is kept open, but I'm not sure whether that should really be considered a leak. I'd like to enlist the help of our Go expert @jhendrixMSFT: how should we interpret this?

The HTTP response body must always be drained (read/closed).  It looks like this doesn't happen for non-successful HTTP status codes.
https://github.com/Azure/azure-storage-blob-go/blob/3efca72bd11c050222deab57e25ea90df03b9692/azblob/zz_generated_container.go#L635
Is it the case that err is not nil?


Logoutfix

Logout Button Invisible on Hover 📐

I seddboi have worked for #38

Guidelines 🔐
I accept the fact that i have followed the guidelines and have not copied the codes from around the internet

[x] Contribution Guidelines
[x] Code of Conduct

Issue to be closed 🛅

My pull request closes #38

Screenshots 📷
Here are the pictures of changes that i have made 🔽

Looks Good to me


[libvpx] Added support for build on MacOS and Linux

Describe the pull request

Added support for build libvpx on Mac and Linux

x64-linux, x64-osx

Hello! I got error "There are no build logs for libvpx build. bla bla bla" for the "vcpkg-osx-PR-test"
But everything was built fine.
Can you please help me with understanding and fixing the problem?

Thanks for your PR. Could you please remove the following codes in scripts/ci.baseline.txt, it makes Linux and MACOS build failed.
libvpx:x64-linux=fail
libvpx:x64-osx=fail

Done! Thank you for your prompt!

@kafeg would you mind resolving the merge conflict? otherwise, this looks great, and I'd love to merge it :)

Hey @strega-nil ! Thank you for remind ;)
Conflicts fixed, locally everything builds fine, but there is again something wrong with CI...

Hello @strega-nil? Is everything ok? Could you merge this, please? :pray:

Yep, I just somehow missed it in my notifications, sorry!


[libprotobuf ERROR google/protobuf/io/zero_copy_stream_impl.cc:118] close() failed: Bad file descriptor

creation of Tensorrt engine started throwing this. Any clue?

This repo is for the golang implementation of protobuf. You appear to be referencing an issue for the C++ implementation.

Closing as inactionable for us (the Go library team).


Add error checking for newest numpy

following this issue: https://github.com/ranahanocka/MeshCNN/issues/1
add check for numpy version and throw exception with useful message if version is too new

fixed in this commit


Feature: VS add-in should find project at Deployment<solutionNameNoExtension>.Deployment.btdfproj

The Visual Studio add-in should be able to find a BTDF project file at this path: Deployment<solutionNameNoExtension>.Deployment.btdfproj
This work item was migrated from CodePlex
CodePlex work item ID: '9491'
Assigned to: 'tfabraham'
Vote count: '1'

[UnknownUser@7/10/2012]
Resolved with changeset 68542.

[UnknownUser@2/21/2013]

[UnknownUser@5/16/2013]


[FEATURE] Alerting mail support html format

I noticed the currently alerting plugin only support mail notification in plain/text format, Is there any plan to support html format mail?

Targeting for 2.6

There is a security issue if we want to implement this feature, html content in email may contain script, link and other dangerous elements which maybe destructive or leads to information leakage, so we must resolve the security problem firstly. There is a common solution to resolve the security problem, html sanitization strategy can be used to sanitize the user custom email content, such as removing the  and   parts to make sure the content received by the end-users is safe.
We can provide a switch for the html sanitization feature, by default the feature is enabled, and we can also provide html elements allow list and deny list to let users configure which html elements they think are secure or insecure, and we can set some default value for the allow list and deny list according to some user experience.
In order to implement the html sanitization, without reinventing the wheel, we can use a third-party library directly to sanitize the html content, there is an open source project called java-html-sanitizer can be used,  the project is under OWASP(Open Worldwide Application Security Project) and is under Apache 2 license, so we can use it safely and freely. OWSAP provides free and open resources in the field of web application security, it’s safe to user their projects.
Here are some useful links about html sanitization:
Html sanitization wiki: https://en.wikipedia.org/wiki/HTML_sanitization
OWASP Java HTML Sanitizer introduction: https://owasp.org/www-project-java-html-sanitizer/
OWASP Java HTML Sanitizer GitHub repo: https://github.com/OWASP/java-html-sanitizer


Time Display: show the ascending time instead of negative time remaining

This seems like a much more intuitive way to show time in the <media-time-display>. This feels like a better default. Maybe in the future we allow this to be configurable.
We don't show time display on live, so this should only impact VOD (and all my screenshots in the docs 😭 )
Thoughts?
Before

After

@gkatsev very interesting idea. Feels like maybe a feature request for Media Chrome. We could probably implement that in Mux Player first, but as a small feature like that maybe it makes sense as an option directly in MC.
Will see what others think about that

Implementing it here and then moving it into media-chrome sounds good to me. If it's in media-chrome, it probably should be configurable.
I think I first saw something like this in VLC. VLC also apparently gives you a jump-to-time dialog when you double-click on that component.

Seems like a reasonable, and arguably better, default. One addition, though, is to toggle between remaining or current on click.

Yeah I've def seen that in other players.

@dylanjha overall I don't feel strongly about this either way (feels like a Jason/user feedback question imo).

@cjpillsbury Yup, I looped i Jason about this
Added functionality for toggling (would love to port this as an option to Media Chrome)
https://user-images.githubusercontent.com/764988/157128097-a81864ab-4309-4a2f-bf14-41d5f225f0c7.mp4


chore: add a check arg to the migration command

I also fixed a type and improved the styling of the command output.

Thanks @aqeelat


benchmark: hummock compaction

Goal

CompactStatus::get_compact_task. The result is used to guide the optimization of various compaction task pick algorithm. We want to provide tuning knobs for different workload, in order to balance factors like write amplification, optimize for small working set, drop delete marker sooner. Considered metrics are defined based on above mentioned factors.
Compactor::compact. The result is used to guide the optimization of compaction algorithm, as well as the provision strategy of compactor node. Considered metrics are latency and memory footprint.

Tracking

[x] https://github.com/singularity-data/risingwave/issues/2085
[x] add metrics: key number in file, file size, file age
[x] unexpected large network read and memory footprint, found by @zehaowei
[x] https://github.com/singularity-data/risingwave/issues/1903
[x] https://github.com/singularity-data/risingwave/issues/565

Create more detailed tracking issue on demand.


[Proxy] Refactor Proxy code and fix connection stalling by switching to auto read mode

Motivation
Refactor Proxy code to make it easier to understand and maintain. In addition, switch to use auto read mode since the proxies connections seem to stall in some cases since the proxied connection doesn't use Netty's auto read mode and the read handling doesn't seem complete.
Currently, the proxy calls .read() when a message is written to the connection. There might be more messages flowing in the other direction and it could result in a blocked connection with the current solution that doesn't use Netty's auto read mode.
Currently auto read is disabled in DirectProxyHandler for the connection between the proxy and the broker:
https://github.com/apache/pulsar/blob/a26905371749798ec5288fb07a69978a36aacfaa/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/DirectProxyHandler.java#L112
Modifications

replace broker host parsing with a simple solution
pass remote host name to ProxyBackendHandler in the constructor
rename "targetBrokerUrl" to "brokerHostAndPort" since the "targetBrokerUrl" is really "hostname:port" string
move HA proxy message handling to ProxyBackendHandle and extract the logic to a method
remove the static "inboundOutboundChannelMap" which was used for log level 2

make it obsolete by passing the peer channel id to ParserProxyHandler

Enable auto read in proxy and remove ctx.read() / channel.read() calls
prepare for IPv6 support (reported as #14732) by improving the host:port parsing (pick last : since IPv6 address might contains multiple : characters)

@lhotari please resolve the conflicts

I ended up increasing the scope of this PR and add the fix to a connection stalling issue. Please review again @eolivelli @codelipenghui @michaeljmarshall @nicoloboschi @merlimat

I asked for feedback in the community meeting from @merlimat . Based on the discussion there was the conclusion that backpressure is needed to prevent a situation where the proxy buffers grow in the case where either the broker connection is slow or the client connection is slow.

@merlimat I have implemented the solution for flow control in a04aa5f . Please review

The channel writability change can be configured with setWriteBufferWaterMark or setWriteBufferLowWaterMark/setWriteBufferHighWaterMark methods. By default, the low water mark is 32kB and high water mark is 64kB. That sounds like a sensible default.


Added support for padding of the titleBar - again

This is my second try, but I think I got it right. I've made a public property as well as fixed the flaws from before. I hope this will be of help to you.

This change is a good idea, but this commit is not ready to be accepted yet. The property name is too ambiguous and the offset of 7px is correct for the traffic lights, but this offsets the fullscreen button to a non-default place, this is a big no-no as it will change everyones's apps that have fullscreen buttons and use this library.
I think it would be better to implement two properties: leftMarginTrafficLightButtons and rightMarginFullScreenButton  or maybe  trafficLightButtonsLeftMargin and fullScreenButtonRightMargin. I'd have to think about the names more, the first matches the style of the existing properties, but I think the second style reads a little better...

Alright I just think it looks silly to have a wide toolbar, like the Mac App Store has, with a fullscreen icon up in the right corner. But I see that you mean it will mess with other peoples projects.
I agree with you the second naming reads better, but it doesn't really feel correct. If you find something better let me know. I will update the code to your liking.


Please add a license

cool project Feross, please add a license outlining users' and contributors' rights

Done. See https://github.com/feross/Fling/blob/master/LICENSE


ESP32-C3-PICO-A for nodeMCU problem

Hi,
I have a ESP32-C3-PICO-A that doesn't use USB for serial, so I use a FTDI for serial. I have it loading the ESP32 C3 with this code
Connecting... Detecting chip type... ESP32-C3 Chip is ESP32-C3 (QFN32) (revision v0.4) Features: WiFi, BLE Crystal is 40MHz MAC: ec:da:3b:b7:01:78 Stub is already running. No upload is necessary. Changing baud rate to 460800 Changed. Configuring flash size... Flash will be erased from 0x00000000 to 0x00101fff... Warning: Image file at 0x0 doesn't look like an image file, so not changing any flash settings. Compressed 1055136 bytes to 604106... Writing at 0x0008a69a... (45 %)Traceback (most recent call last):   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/__init__.py", line 1314, in _main     main()   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/__init__.py", line 1036, in main     operation_func(esp, args)   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/cmds.py", line 646, in write_flash     esp.flash_defl_block(block, seq, timeout=timeout)   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/loader.py", line 127, in inner     return func(*args, **kwargs)   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/loader.py", line 1132, in flash_defl_block     self.check_command(   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/loader.py", line 510, in check_command     val, data = self.command(op, data, chk, timeout=timeout)   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/loader.py", line 479, in command     p = self.read()   File "/Users/victormarks/Library/Python/3.9/lib/python/site-packages/esptool/loader.py", line 412, in read     return next(self._slip_reader) StopIteration
is what I have.
What is needed to send the ESP32 C3? I was trying to use esp tool in terminal.

If you are trying to flash to prebuilt image to the C3 it will not work - the image is built for the ESP32 only.
You will need to compile and upload your built image, and im unsure if the code will work correctly on the C3 (its never been tested)

Hi!
The ESP32 image should be working with the ESP32 I used - the one I used is the ESP32 - C3-Pico-A for its specific ESP32, but it's the same ESP32 used in it. The M5 Atom Lite is the ESP32 has an IR led, a switch, but have the same RAM and rs232 serial.
While I work at the code, can I ask a different we have asking... which ESP32 is the part that is used for this code? https://shop.m5stack.com/products/atom-lite-esp32-development-kit?srsltid=AfmBOopJptDZlE3sMYjrhcykoYtDj8Cna70wTHCDZyCdpceHfs205umq&variant=32259605200986 is the M5 atom lite - what are other ones that might be used?

The ESP32-C3 uses a RISC-V CPU, and the ESP32 uses an Xtensa - the prebuilt image is compiled for Xtensa and so it will not work on the C3.
Any ESP32 based module should work (ie the original ESP32, and not any variant such as C3, S2, S3, H2, P4, C6, etc) - but the image is built specifically for the M5AtomLite and the Pins available on that module.
ESP32 variants might work if you compile and upload the image yourself, but they have not been tested and probably require some tweaking for what pins to use.

Hello,
I have get the Xtensa ESP32. I have a problem using the NodeMCU pyflasher. Is there a way to use esptool.py to flash the Atom Lite esp32?

Wi-Fi can be connected. Do not use the numeral list for SSID, tell the SSID word for the network. Then, ask the password for Wi-Fi. (SSID name, separate prompt, SSID password)
The device will not use a number first. You have to use S 11122333 (or other code) and it will add code first. It will then work with Apple Home to pair it.

My device appears to be on Wi-Fi and Home code, and now needs RS232 for the TV device.

To set up the RS232C plug, you need to look at it like this:
1 is up left, 5 up right
6 bottom left, 9 down right
pins for the cable are:
RX is 2 pin
TX is 3 pin
GND is 5 pin

OLED65B7P is the LG that uses a 1/8" cord instead of using a DB9 port. For this, the port is a RS232C service port.
The tip is TX or RX
the middle bit is RX or TX
the rear is GND.
I am working on this problem.


Make _scandir_rec not choke on directories that contain non-folders.

Without this change, I get the following error when running plot_graphs.py:
$ python3 ADBench/plot_graphs.py --save plot
Output directory is: /home/athas/repos/ADBench/tmp/graphs

Traceback (most recent call last):
  File "ADBench/plot_graphs.py", line 46, in <module>
    all_files = [path for path in utils._scandir_rec(in_dir) if "times" in path[-1]]
  File "/home/athas/repos/ADBench/ADBench/utils.py", line 32, in _scandir_rec
    results += [[fn] + file_name for file_name in _scandir_rec(folder + fn, depth + 1)]
  File "/home/athas/repos/ADBench/ADBench/utils.py", line 32, in _scandir_rec
    results += [[fn] + file_name for file_name in _scandir_rec(folder + fn, depth + 1)]
  File "/home/athas/repos/ADBench/ADBench/utils.py", line 29, in _scandir_rec
    if len(os.listdir(folder)) > 0 and os.path.isdir(folder + os.listdir(folder)[0]):
NotADirectoryError: [Errno 20] Not a directory: '/home/athas/repos/ADBench/tmp/graphs/graphs_index.json/'

I still don't understand the logic in _scandir_rec, which makes decisions based on whether the first element of os.listdir(folder) is a directory.  As far as I know, the order of that list is arbitrary.  This patch should at least make it slightly more robust.

I suspect that completely replacing _scandir_rec would be better.  Can you give this a try?
def _scandir_rec(folder):
    for dir_, _, files in os.walk(folder):
        for file_ in files:
            yield os.path.join(dir_, file_)

Now the _rec part of the name doesn't make sense but I think it's better to avoid breaking the API.

Now the _rec part of the name doesn't make sense but I think it's better to avoid breaking the API.

But why not make it do the recursive thing?

Oh, it does still scan the directory recursively so the name is fine (I guess I was assuming the name related to the fact that it was implemented as a recursive function).

I suspect that completely replacing _scandir_rec would be better. Can you give this a try?
def _scandir_rec(folder):
    for dir_, _, files in os.walk(folder):
        for file_ in files:
            yield os.path.join(dir_, file_)

~Now the _rec part of the name doesn't make sense but I think it's better to avoid breaking the API.~

This does not work:
$ python3 ADBench/plot_graphs.py --save plot
Output directory is: /home/athas/repos/ADBench/tmp/graphs

Traceback (most recent call last):
  File "ADBench/plot_graphs.py", line 194, in <module>
    print(f"\nPlotted {figure_idx} graphs")
NameError: name 'figure_idx' is not defined

This error is a bit misleading, but it occurs because the big loop in plot_graphs.py does not run for any iterations, which is ultimately because _scandir_rec returns an empty list (at least as far as I can determine).

Actually, _scandir_rec seems to return something sensible, but the conditional in this list comprehension is always False:
all_files = [path for path in utils._scandir_rec(in_dir) if "times" in path[-1]]

Yes, I broke the API.  Let me have another go ...

This adheres to the old API.  It's a reasonably sensible function, it works for the current usecases of _scan_dir rec and is a strict improvement over the old one in terms of comprehensibility
# Recursively scan a directory for files
#
# For a directory structure like
#
#   a/b1/file1
#   a/b1/file2
#   a/b2 (an empty directory)
#   a/b3/c/file3
#
# _scandir_rec("a") yields
#
#   ["b1", "file1"]
#   ["b1", "file2"]
#   ["b3", "c", "file3"]
def _scandir_rec(folder):
    print("Calling with ", folder)
    folder = folder.rstrip("/") + "/"
    for fn in os.listdir(folder):
        if os.path.isdir(folder + fn):
            yield from ([fn] + file_name for file_name in _scandir_rec2(folder + fn))
        else:
            yield [fn]

That works (after fixing a small typo and removing the debug prints).  I have updated my pull request, but you can also just commit it directly.

OK, I submitted it commit it directly.  Thanks for working on this!


fix(user.css): made eternal jukebox stats visible

Made the stats of eternal jukebox that were previously hidden behind the player bar, visible.
Also made changes so that the header doesn't stick to the top.

can you send a before/after pic, please?

Before:

After:

thanks for the contribution

@SunsetTechuila Hey thank you for merging my PR. But the improve selector commit has made the jukebox container worse.

May I create a new PR fixing this?

hello

The stats are hidden again

fixed with https://github.com/nimsandu/spicetify-bloom/commit/91b1439abf5a09a0d4560bd4687135c145b573ad

settings page is messed up.

fixed with https://github.com/nimsandu/spicetify-bloom/commit/8d1fc5e757852381e2436c36c79bea24e41e4ab6


upgrading one more 'NanNew' to 'Nan::New'

Pull request #52 broke the installation for some versions of node by introducing a new 'NanNew', which should be replaced by a 'Nan::New'. This pull request is related to #50.

Thanks!


bank-cmd tool

This PR introduces the following changes:

bank-cmd tool for bank::CallMessage serialization.
bank::Coin accepts Context instead of AddressTrait (before serde had a problem with deriving Deserialize )
Moves code shared by demo-app tests and bank-cmd to a common location.

This looks very useful!
(Out-of-Scope) do you think it would be possible/easy to make the tool generic over a Runtime in the future, so that it worked for any app using the module system and not just the demo?

This looks very useful!
(Out-of-Scope) do you think it would be possible/easy to make the tool generic over a Runtime in the future, so that it worked for any app using the module system and not just the demo?

Yes, we will need some macro magic, but the code is pretty close to what the macro would generate.


SoftAssertions should have forward() or rethrow() method

My use case is the following: I have a folder with some files and would like to generate a unit test for every file. Since JUnit is not supporting anything like that I was thinking of using the SoftAssertions class instead. Unfortunately the test function itself is not under my control and uses JUnit assertions resulting in AssertionErrors.
I would like to catch those AssertionErrors and throw them again inside the SoftAssertions instance. I got two ideas for how this could work:
try {
    doTest(something);
} catch (AssertionError e) {
    softAssertions.rethrow(e);
}

of even simpler:
softAssertions.rethrow(() -> {
    doTest(something);
});

the only thing possible as of today looks like this:
try {
    doTest(something);
} catch (Throwable e) {
    softAssertions.assertThat(e).isNull();
}

but this is not printing the stacktrace or any other details of the caught exceptions.

My use case is the following: I have a folder with some files and would like to generate a unit test for >every file.

You could create a parameterized test and use the result of File.list() on the directory as parameter input. This way you get a test for every file in the directory.

@PascalSchumacher unfortunately I'm stuck on JUnit 3 for this due to the base class I have to use for this

@Turbo87 what @PascalSchumacher suggest would work, we could also add for 3.x something like:
softAssertions.catchAssertionError(() -> {
    doTest(something);
})

Any other wording ideas welcome for catchAssertionError ...


Integrate ExecUnit in HybridOperator

complete simple logic for aggregation, could pass simple queries like SELECT sum(col1) from TMP where col2 > 100

@Intel-bigdata/bdf-cider-engine Please take a review thanks!


feat: make sure release only happens on default_branch like main

What does this PR do?
Adds a check to make sure that the Release and Push workflow only runs from the default branch (usually main), stops people from accidentally running the Release and Push workflow from a non-default branch.
Testing
I've tested on a throwaway repo with success:

Ran the job from a non-main and it successfully errored with a nice error log
Ran the job from a main branch and it successfully ran the job

Closes #86

Adding Joao to review since my approval no longer satisfies the protection rule as the latest committer.


scalameta-contrib for Scala 2.13

I see that the contrib module has been moved to a separate repository and no version exists for Scala 2.13. Am I to assume that this will not be updates in the future. If so maybe references to it should be removed from the documentation. For example in the following guide:
https://scalameta.org/docs/trees/guide.html
TIA

Thanks for reporting! The contrib module got merged into the main scalameta module in https://github.com/scalameta/scalameta/pull/1863.


Tuya T&H devices give in ZHA only half of the battery percentage

Problem description
The Temperature and Humidity devices give in ZHA only half of the battery percentage that was presented in the Tuya Integration before and also  in the Zigbee device configuration. The real value is 100%! (so it is 100% end ZHA reports 50%)

Solution description
Solve the issue if that is possible?
Screenshots/Video
Screenshots/Video
[Paste/upload your media here]

Device signature
**Device name TS0601 by _TZE200_yjjdcqsq**

[Paste the device signature here]

Device name TS0601 by _TZE200_yjjdcqsq

Diagnostic information
Diagnostic information
[Paste the diagnostic information here]

Logs
Logs
[Paste the logs here]

Custom quirk
Custom quirk
[Paste your custom quirk here]

Additional information
This is my first comment that I posted on github. Please tell me if I haven't put the good fields in this request/error. Thank you.

Same issue for _TZE204_yjjdcqsq TS0601: From the beginning of usage always battery 50%

It was corrected! Thank you!


Link URL text appears on DSB instead of above it

When hovering over a link, the URL text appears in the lower left corner. In the previous add-on I used to use (pre-Firefox 57), the text appears above the DSB, but now (with the current DSB) obscures it.
Using Firefox 59.0.1 (64bit).

Which OS are you using?
This is what I see on Win10 + FF 59.0.2

I'm not sure how it would even be possible to cover that since it's probably part of the browser UI and DSB runs as inside of the webpage.


Rename IoT Toolkit to IoT Hub Toolkit

The Azure IoT Toolkit extension has been renamed to Azure IoT Hub Toolkit, update the old names in existing documents.

Hi @blackchoey - thanks for taking the time to make these changes.
Regards, Dominic
#sign-off

Hi @blackchoey:
Since you're a Microsoft FTE, you should follow the instructions in Set up Git repository locally for documentation to link your GitHub alias with your Microsoft account.
Then, make content contributions through the private repository so the content can be staged and validated by the current validation rules.
Read about working in the public repo for more information.
Thank you.


Apply new formatter version

See https://github.com/trixi-framework/Trixi.jl/pull/1842.

Let's wait for https://github.com/domluna/JuliaFormatter.jl/pull/807.

Instead of applying the changes from the JuliaFormatter, this sets the version of the formatter to an older one, see https://github.com/trixi-framework/Trixi.jl/pull/1843.


[Programming question]: Spare memory while loading pytorch models

I am loading a model using torch.load()and run out of memory. I heard that I can quantize the model using bitsandbytes while loading it. It will then  be smaller in memory. Do you know how to do this?
git-bob answer

git-bob ask claude-3-5-sonnet-202410122 to comment on this. Will this work? Are there alternatives?


ci  update ci config

Description
Update GitHub Actions:

build(deps): bump aminya/setup-cpp from 0.38.2 to 0.38.3
build(deps): bump github/codeql-action from 3.26.0 to 3.26.1
build(deps): bump github/codeql-action from 3.26.1 to 3.26.2
build(deps): bump github/codeql-action from 3.26.2 to 3.26.3

Type of change

[X] CI

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] Any dependent changes have been merged and published in downstream modules

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 56.03%. Comparing base (c0dc846) to head (d0755a1).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@           Coverage Diff           @@
##             main     #177   +/-   ##
=======================================
  Coverage   56.03%   56.03%
=======================================
  Files          11       11
  Lines         671      671
  Branches      175      175
=======================================
  Hits          376      376
  Misses        290      290
  Partials        5        5


Implement HALT lock & write forwarding

Overview
This pull request implements write forwarding for WAL mode only. With write forwarding, any node can write to the database by borrowing the write lock from the primary, catching up, performing the transaction, and then shipping the changeset LTX file back to the primary. The transaction is then propagated out to the other replicas just like any other transaction.
Write forwarding is useful for infrequent writes and this should not be used for regular, write-heavy usage. The main use case for this is being able to run migration scripts from any node. This is useful because deployments can roll over nodes in an unexpected order so we want to run on the first node deployed regardless of its primary state.
Fixes #56
Performance
Please note that the SQLite write lock is held for 1 round trip plus the time it takes to execute the transaction on the replica. This means that performing a forwarded write from Chennai when the primary is in Denver could mean that the write lock is held for ~250ms which would limit your write throughput to only 4 writes per second.
If you use forwarding for regular write usage, such as for a background jobs instance, ensure the node(s) are in the same region as the primary. For example, you can set your candidacy to only your Denver nodes by setting it in the litefs.yml:
lease:
  candidate: ${FLY_REGION == "den"}

TODO

[x] Refactor duplicate "apply LTX" code
[x] Add test for gracefully failing when using the rollback journal.
[x] Add failure test for when serializability is broken
[x] Add tests for heavy read/write load
[x] Add tests for failure scenarios

I was planning on recording some more videos today, but then I saw this and now I'm thinking maybe I should wait because this impacts the migration script I would be teaching. I'm ok trying an experimental version of this if need be. How long before that is available do you suppose? (No pressure of course 😅, I can wait).

How long before that is available do you suppose?

Assuming I don't hit any major roadblocks, I'm assuming I'll merge this early next week. It needs some clean up and a bunch of testing but it's not doing anything too crazy. Also, I can always merge fixes in with later PRs.

Sounds good! I'll wait. Thanks a lot!

Test the "forwarding" branch encountered "remote tx confirmation failed" error. The database was updated in node-2 which is a replica node.
Logs of node-2(replica):
commit wal error: remote commit: remote tx confirmation failed<PHONE_NUMBER>)
commit wal error: remote commit: remote tx confirmation failed<PHONE_NUMBER>)
commit wal error: remote commit: remote tx confirmation failed<PHONE_NUMBER>)
commit wal error: remote commit: remote tx confirmation failed<PHONE_NUMBER>)

Logs of node-3(primary):
http: POST /tx: error: database checksum a620b5bf1493b2c2 does not match LTX post-apply checksum b33b37868377a23c
http: POST /tx: error: database checksum a620b5bf1493b2c2 does not match LTX post-apply checksum b33b37868377a23c
http: POST /tx: error: database checksum a620b5bf1493b2c2 does not match LTX post-apply checksum b33b37868377a23c
http: POST /tx: error: database checksum a620b5bf1493b2c2 does not match LTX post-apply checksum b33b37868377a23c

@legionxiong Thanks for giving the branch a try. It's still really rough around the edges. I'll move the PR out of "Draft" state once I do some decent testing.

@legionxiong Thanks for giving the branch a try. It's still really rough around the edges. I'll move the PR out of "Draft" state once I do some decent testing.

Well, It would be encouraging. I will try it again once you remove the "Draft" state and give some feedback.

@kentcdodds @legionxiong I fixed up some issues on write forwarding but I'm still having a lingering issue with read queries picking up an invalid version of the WAL index header and it getting into a retry loop. I was hoping to have this merged in but it looks like there's still some debugging to do. Just wanted to give y'all a heads up.

@kentcdodds @legionxiong There's still an outstanding issue on write forwarding in that it performs a checkpoint on the writing replica after the WAL commits but the replica client doesn't have the CKPT lock so there could be problems under higher concurrency. I went ahead and marked this as "ready for review" in case anyone wants to play around with it. I've mostly done limited local testing but I'm going to deploy and try it on some geographically distant nodes and see what breaks.
This is definitely still "alpha" quality so don't deploy it into production please. I'm looking at you, Kent. :)
I also need to add timeouts but I'll do that in a separate PR.

Awesome! So this has been pushed to dockerhub? Which version should I use?

So this has been pushed to dockerhub? Which version should I use?

@kentcdodds Yes, it's on DockerHub. If you want to use the latest version built from this PR then you can use the PR tagged version:
COPY --from=flyio/litefs:pr-277 /usr/local/bin/litefs /usr/local/bin/litefs

@benbjohnson  It works well for my use case, so AWESOME! Great Job Benb!

@legionxiong Thanks for testing it out! I had some issues when I was doing load testing on Friday so there's definitely still some kinks in there. I'm going to be doing some more testing & fixes today though.

@legionxiong @kentcdodds Just a heads up that I've having a hard time getting this stable when trying to make it handle it behind the scenes. I'm going to rework this to separate out the lock acquisition from the actual write forwarding. Basically, you'll need to wrap your write transaction code in a LiteFS-specific lock.
Right now, there are a couple different options for how to implement this:
Command-line migrations
If someone is running a one-off command in a temporary VM to perform a migration then they could acquire the lock for the life of the mount:
# For JS/Prisma apps
$ litefs mount -with-lock -- prisma migrate deploy

# For Rails apps
$ litefs mount -with-lock -- bin/rails db:migrate

If you have a migration script then it could acquire for a single command:
$ litefs run -with-lock -- prisma migrate deploy

or it could acquire the lock for the life of the script:
#!/bin/bash

litefs lock
prisma migrate deploy
... do other stuff ...
litefs unlock

The litefs unlock would be optional as the lock could be released when the script exits.
Library migrations
We can also support acquiring the lock within a library. @kentcdodds has a litefs-js library that could hook into this lock mechanism so it could look like:
import { withWriteLock } from 'litefs-js'

withWriteLock(() => {
  // do transaction stuff here
})

Please excuse my terrible JavaScript. :)
I'm planning on implementing this as another lock byte on the database file so it should be easy for libraries to hook into the functionality. It should just be a fcntl() call with F_SETLKW on a given byte and that'll acquire the remote lock behind the scenes. It can be released explicitly with a F_UNLCK on the same byte or by exiting the process.

That makes sense to me. 👍

that means the app/tool in replica nodes need to acquire the lock itself before writing data to the database?

Yes, SQLite is a single-writer database so only one node can write at a time. If it's a replica, it'll essentially borrow the lock from the primary, perform a write, and then push that change set back to the primary. It's a lot slower than simply writing on the primary directly but it makes it simpler for situations like running migrations or low-write scenarios.

that means the app/tool in replica nodes need to acquire the lock itself before writing data to the database?

Yes, SQLite is a single-writer database so only one node can write at a time. If it's a replica, it'll essentially borrow the lock from the primary, perform a write, and then push that change set back to the primary. It's a lot slower than simply writing on the primary directly but it makes it simpler for situations like running migrations or low-write scenarios.

Thanks for your explanation! We are developing a maintenance tool using sqlite3 for a distributed system. It will not happen for two or more maintainers doing the same operation in different nodes, no concurrency no heavy writing. So it is basically a single user scenario. LiteFS with write forwarding is exactly what we expected to do database replication, THANK again! What is supposed to do for this single user scenario? De we need add some wrapper for our tool?

Ok, I refactored the internals into two separate parts: the "halt" lock & the transaction forwarding.
There's an API on the HTTP server to acquire the halt lock (POST /halt) & release it (DELETE /halt). When the halt lock is acquired, it implicitly acquires write locks on the database and returns back a randomly generated ID and the current database position on the primary. The replica holds onto that ID and waits to catch-up to the primary's position. While the replica holds the halt lock, it can perform as many transactions as it wants to until it releases the halt lock. To release the lock, it passes the original ID back to the primary. This avoids race conditions where the lock could expire and then receive an old release call.
On the write forwarding side, the primary checks that the caller is holding the current halt lock ID and it verifies that the pre/post checksums and TXIDs match too.
Next, I need to add the application's interface via FUSE. It'll use a F_SETLKW on a byte in the database file (maybe 72 since that's unused space in the header, not that it really matters too much). When LiteFS receives that lock request, it'll call the halt API internally and hold onto the lock ID itself. As long as the process acquiring the lock byte is using open file descriptor locks (OFD) then it'll support multiple threads attempting to acquire the halt lock. The other benefit to the file lock approach is that FUSE can detect when the file descriptor is closed (or when the calling process exits) and it can release automatically.
This PR still needs a bunch of clean up and testing. It isn't smart about recovery, it doesn't have a timeout on the halt lock, etc.

@legionxiong In your application code, you'll need to acquire a lock on a file byte before performing your write transaction on your replica. What language are you writing in?

@legionxiong In your application code, you'll need to acquire a lock on a file byte before performing your write transaction on your replica. What language are you writing in?

golang :)

@legionxiong In your application code, you'll need to acquire a lock on a file byte before performing your write transaction on your replica. What language are you writing in?

golang :)

@legionxiong I added the FUSE API for the HALT lock. I also created a Go client library called litefs-go for it so there's an API to run a block of code with a HALT lock if it's on a replica (or it'll just run it normally if it's the primary). This feature still has some bugs to work out but I'm open to feedback on the API.

This is doing pretty well in our long-running test. I'm going to go ahead and merge this although it still needs additional testing before release. I still need to add some other functionality like pings and a shorter TTL. Otherwise, if a replica unexpected shuts down while holding the HALT lock then it the primary will be blocked for writes for 30 seconds, which isn't ideal.

Also, I ended up moving non-SQLite locks (which is just the HALT lock right now) to a separate -lock file that exists for each database. The file doesn't show up when listing the directory but it can be opened. I figured it'd be extra clutter.
The reference implementation is in the litefs-go library. It's pretty simple—it's just a F_OFD_SETLKW/F_WRLCK on byte 72 in the lock file to halt and then it's F_OFD_SETLKW/F_UNLCK on the same file to unhalt. The benefit of using a file descriptor is that it should automatically unhalt when the application closes.

So far so good! 👍


Revert parts of "Bk/simplify month width api (#69)"

This reverts parts of commit 19693383f0c5e87329e9805ed7ad3b5e063c764c from #69.
Details
This reverts the public API additions / deprecations from #69. My original plan was to commit all of the changes needed to enable horizontal pagination, then bump the version from 1.6.0 to 1.7.0. This approach made it impossible to submit small patch fixes (1.6.X versions), since I had already changed the public API on master.
A better approach is making a 1.7.0 release branch, merging PRs into that, and finally merging that when it's ready. I'll be free to make patch version bumps / bug fixes then since the API additions / deprecations won't be on master yet.
Related Issue
N/A
Motivation and Context
See above.
How Has This Been Tested
Simulator / demo app.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

This is definitely a solid move @bryankeller. I'm depending on the base branch myself now, let me know if there's anything I can do to help/test/give input with when it comes to horizontal scrolling etc...
Figured I'd show off a little, but this is using HorizonCalendar, just wanted to say a massive thanks 👍


Adapt LAProof to gentype branch (now master) of VCFloat

This PR will bring LAProof up-to-date with the master branch of VCFloat, which supports non-IEEE float-like types (gentypes), and the master branch of VSTlib.
Small build changes have been made to address #6; the floating-point error analysis and VST-dependent parts can be built separately---how nice!
This version of LAProof is compatible with Coq Platform 8.17  (but probably also Coq Platform 8.18).
@JasonGross & @andrew-appel please let me know if you have any comments or concerns.

Small build changes have been made to address #6; the floating-point error analysis and VST-dependent parts can be built separately---how nice!

Great!

This version of LAProof is compatible with Coq Platform 8.17 (but probably also Coq Platform 8.18).

If you want to test this, you can merge #11 so that GitHub Actions will build against multiple versions of Coq on CI, and then adjust the versions.


Feature/freep 562

Superseeded by https://github.com/Cerebellum-Network/Freeport-Smart-Contracts/pull/61


Backpaddle on DataBinding needing a NameTable

DataBinding now requires a NameTable in order to be able to resolve Fuse.Reactive.Name nodes dynamically. This is a quite expensive requirement. Let's rewrite it so names are resolved UX-compile time instead, at the expense of these syntax trees not being reusable. This will generally make it easier to work with expressions in other contexts, too.

When resolved look at (upcoming from my branch) RouterModify.Test.uno/DynamicPath I've commented out a part of that test.

Fixed in the above PR. @mortoray please revisit your RouterModify thing


MonitorSession always return "unchanged" status

Hi all,
Does anyone experience the situation that enables MonitorSession to true and always received "unchanged" status.
Please correct me if i'm wrong. Here is my expectation.

The admin login to IDP (Keycloak). Kick the use our by delete user's session.
The front-end application using oidc-client-ts and enable MonitorSession to true

I would expect the library would tell me that there is actually "changed" status so that the library can trigger silent login again. If the session already terminated in IDP  (Keycloak) then login_required should be fired.
Regular login process happen.
My problem right now is the MonitorSession always return "unchanged" status so actually the application is waiting for token expired then it discovered that session is already terminated which is quite late.
According to specification: https://openid.net/specs/openid-connect-session-1_0.html the IDP or OP IFrame should immediately tell application or RP IFrame that there is something changed with the session and please trigger process for silent login to figure out.
In this case the KEYCLOAK_SESSION or IDP_SESSION value in the cookie keeps always the same. If I change this value manually in the browser then I get "changed" status and everything is working as expected. Because that's what is written in /protocol/openid-connect/login-status-iframe.html which is OP IFrame from IDP
Thanks a lot for your time. I really need help here.

@brockallen i follow your old repository to here. Any suggestion for me please ?

I am not using this the session monitor feature. But others do i guess.

You can add logging (https://authts.github.io/oidc-client-ts/#logging) to get more insights.
You can verify what data you receive from the IDP

probably fixed with v3.0.0-beta.0

Has this problem been solved now？

This issue (question) staled some time ago, closing it for now.


docs added for entry point gas estimations package

PR for adding an introduction, integration, and method explaining pages for the entry point gas estimation package

The PR should not be merged till the blog is published and linked in the introduction page

Saw, you removed the blogpost, after you accept all the changes you can re-request the review, for final approval. 😃


Remove bors.toml

The repository now uses github merge queues for pull requests. Remove outdated bors.toml file
Fixes: #21
[draft as we need to setup branch protection/merge queue for the main branch first]

I've setup the merge queue now, keyed to bors; really we should with this commit also change the workflow to the typicall allgreen one we hvae in other projects ;)

oops, I forgot about that and will fix it ;-)


(BOLT-898) Make custom_facts more like apply_catalog facts gathering

Includes clientcert

CLA signed by all contributors.

Ah, quite possibly.


Bot Responses view is failing to recognize one of my dialogs

Describe the bug
I can't view the language generation templates for one of my dialogs.
Version
            Bot Framework Composer

            Version:  1.3.1-nightly.212748.7557616
            Electron: 8.2.4
            Chrome: 80.0.3987.165
            NodeJS: 12.13.0
            V8: 8.0.426.27-electron.0

Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create a project similar to the one in the screenshot.
Error 1: I tried to add a template for the WeatherSkill/Common template set, but got an error message.
Error 2: I noticed an erroneous template in the WeatherBot/Common template set. (I don't know if this was there before step 2.)
Delete the erroneous template.
Error 3: I can no longer select the WeatherSkill/Common template set to view its templates.

Expected behavior
Viewing, adding, and deleting templates should not produce random glitches in the UI.
Screenshots
The Bot Responses view, displaying the templates for the WeatherBot / getWeather dialog. Clicking on WeatherSkill / Common in the summary pane produces no change in the details pane.

Seems to have been fixed between then and now.


[Xcodeproj] Add "@loader_path/Frameworks" to LD_RUNPATH_SEARCH_PATHS in test target

Fix https://bugs.swift.org/browse/SR-3913

@abertelrud Can you review this?

Looks good to me.  It's unfortunate that all products will end up with both search path, when only one of them is ever used, but it does no harm.

@norio-nomura Can you also raise this PR on master branch?

Approved for the Swift 3.1 branch.

@swift-ci please test

@swift-ci please test

Thank you! 🙏
I opened #950 against master.