text:
download start logging missing in 0.34.0

The Issue
We lost the below (file start, descriptor logging) in 0.34.0, can't tell what files start now - you just see a headblob search to start. This will be difficult to troubleshoot users' logs ,
2019-03-20 09:18:01,497 INFO     lbrynet.stream.stream_manager:481: download stream from lbry://windows-depends-on-gaming-to-survive-how#f83ca62b77c1fcd3c5c854cb4a9e1c3effcd24cc
2019-03-20 09:18:01,618 INFO     lbrynet.blob_exchange.client:126: downloaded 266c0dc7 from 18.213.255.15:5567
2019-03-20 09:18:01,662 INFO     lbrynet.stream.downloader:49: added head blob to search
2019-03-20 09:18:01,665 INFO     lbrynet.stream.stream_manager:304: got descriptor 266c0dc70da591c4bb4773783c36ea565ebb9c73bc086b53cb853452b8439c943b60278f7e0c0a6522b9a5d162e8a170 for windows-depends-on-gaming-to-survive-how

now:
2019-03-20 09:21:57,283 INFO     lbrynet.stream.downloader:52: added head blob to search

System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Internal Use
Acceptance Criteria

Definition of Done

[ ]  Tested against acceptance criteria
[ ] Tested against the assumptions of user story
[ ] The project builds without errors
[ ] Unit tests are written and passing
[ ] Tests on devices/browsers listed in the issue have passed
[ ] QA performed & issues resolved
[ ] Refactoring completed
[ ] Any configuration or build changes documented
[ ] Documentation updated
[ ] Peer Code Review performed

will be fixed in .35

authors: alyssaoc tzarebczan

repo: lbryio/lbry


text:
Latest RC: Failed to process channel_new: [Errno 2] No such file or directory

On the latest RC, get an error when trying to create a channel. The certificate is written and channel is created, but it allows you to create the same channel multiple times.
https://pastebin.com/zGcY99ys

fixed in https://github.com/lbryio/lbry/pull/1023

I don't understand how lbryio/lbry#1023 fixes this issue. And I'm not certain exactly what tom means when he says "allows you to create the same channel multiple times". Do you mean that the channel was updated? because that's what's supposed to happen.
Also , In the logs, it says that the channel_new command failed.

@kaykurokawa - I believe the user was able to run the claim_new command twice for the same name
because of this bug. Besides the error, the claims were created, the private keys were written to the wallet file and showed in his claims.
https://explorer.lbry.io/tx/efbbe89330324774bd186c996dc93cf2d7eab6e1c471eea02754d140df4a315f?address=bXB2QALfpBD7UDBijJ21n9RF1EYNGaJHQ5#bXB2QALfpBD7UDBijJ21n9RF1EYNGaJHQ5
https://explorer.lbry.io/tx/b9affb7d7c94a376b89607205b0a346009eb7fd9fe67f37ba5a23cb598c7e7a9?address=badHNnqq9bBdTdLH8yxRkeP91wq7GCikhE#badHNnqq9bBdTdLH8yxRkeP91wq7GCikhE
from our chat:
"claimtrie_transactions": {
"b9affb7d7c94a376b89607205b0a346009eb7fd9fe67f37ba5a23cb598c7e7a9:0": 9,
"efbbe89330324774bd186c996dc93cf2d7eab6e1c471eea02754d140df4a315f:0": 9
},
He then tried it on v18:
]ProfessorDey: claim_list @ProfessorDey does give both claims though
[2:17 PM] ProfessorDey: claim sequences 1 and 2
[2:19 PM] ProfessorDey: Trying channel_new @ProfessorDey 10 results in an error of Don't know which claim to update
so he ended up abandoning the first.

fixed for real in https://github.com/lbryio/lbryum/pull/185

source: gharchive/issue

authors: jackrobison kaykurokawa tzarebczan

repo: lbryio/lbryum

license: mit

license_type: permissive

license_source: bigquery


text:
1.0.2 Support

Hi, this may be a simple question, but is there a way to install this for 1.0.2. JupyterLab?   I'm getting the following error when trying to install:
ValueError: This extension does not yet support the current version of JupyterLab.

Conflicting Dependencies:
JupyterLab              Extension      Package
>=1.0.1 <2.0.0          >=0.19.0 <0.20.0@jupyterlab/application
>=1.0.1 <2.0.0          >=0.19.0 <0.20.0@jupyterlab/apputils
>=1.0.1 <2.0.0          >=0.19.0 <0.20.0@jupyterlab/console
>=3.0.0 <4.0.0          >=2.1.4 <3.0.0 @jupyterlab/coreutils
>=1.0.1 <2.0.0          >=0.19.0 <0.20.0@jupyterlab/notebook
>=4.0.1 <5.0.0          >=3.1.4 <4.0.0 @jupyterlab/services
See the log file for details:  c:\temp\jupyterlab-debug-6q8dwbbg.log

I was able to install to JupyterLab 1.0.2 by following the instructions for cloning the repository from GitHub.  (Unfortunately I observed some strange behavior, for which I just opened an issue.)

Great, thanks @maresb

repo: lckr/jupyterlab-variableInspector

license_source: github-api


text:
zip release tagged as 2.3

I downloaded the zip release that is available on the 2.4 release page: https://github.com/lcnetdev/bibframe2marc/releases/tag/v.2.4.0
When it is built, I see it has   <xsl:variable name="vCurrentVersion">DLC bibframe2marc v2.3.0</xsl:variable>
Wondering if there is a tag that needs updating for the 2.4 release?

Hi Jim - the file rules/VERSION needs the version bumped up to 2.4.0

I created a Pull request...

I'm going to close this.
I did not issue a new release to account for the incorrect version tag.  I hope that is OK since 2.4 has not been superseded by 2.5, which I just pushed out.
Open if we need to actually get this corrected.

authors: jimfhahn kefo kirkhess


text:
Add heuristic paths to ignore header files

@Shaikh-Ubaid Try this PR.
Relevant comments - https://github.com/lcompilers/lc/pull/18#issuecomment-1856168378 and https://github.com/lcompilers/lc/pull/18#issuecomment-1856180697

That's fine for now. Ultimately we need to fix https://github.com/lcompilers/lc/issues/60.

Ondrej and I fixed the issue on my system in the last meet. https://github.com/lcompilers/lc/pull/61 is the related PR that helped.

source: gharchive/pull-request

authors: Shaikh-Ubaid certik czgdp1807

repo: lcompilers/lc

license: MIT


text:
Compile errors on misusing BOOST_HANA_ADAPT_STRUCT

I see in the tutorial you have a warning about using BOOST_HANA_ADAPT_STRUCT at global namespace scope.  I think this is probably going to be the most common usage error, and I'm wondering whether the error message could be improved.  Since it seems likely that the error will mention the type of the template you specialize in the macro, perhaps you could add a specialization of a type named something like remember_that_adapt_struct_must_be_called_at_global_scope to provide a more informative error.
Another likely mistake is not comma-separating the list of members, since the FUSION equivalent does not comma-separate them.  The error from this is rather cryptic and I have no suggestion on improving it.  Is there any particular reason you decided to diverge from Fusion on this point?

Is there any particular reason you decided to diverge from Fusion on this point?

Members are provided as a list of pairs, and I thought the most intuitive way to go was to separate them with commas. I would also believe that Fusion does not use commas because they want to use BOOST_PP_SEQ_xxx in the implementation, but not for any "philosophical" reason.

There is a philosophical reason to use BOOST_PP_SEQ in that it's possible to have an empty BOOST_PP_SEQ, but not an empty comma-separated list (since perfect emptiness-detection is not possible in the preprocessor, and even if it was that's not enough because empty arguments are OK for preprocesor macros, so if there is nothing in the list then that's a single entry with no tokens rather than no entries; Paul Mensonides explains it better than me).
I just tested it, and indeed BOOST_HANA_ADAPT_STRUCT seems to not work correctly (compile error) on an empty struct.  I'll let you decide whether you care about that.
The practical reason to follow Fusion's example is to aid those migrating their code from Fusion.  Of course, you might reasonably believe people who are not coming from Fusion would expect the comma and be confused in the opposite direction.

I just tested it, and indeed BOOST_HANA_ADAPT_STRUCT seems to not work correctly (compile error) on an empty struct. I'll let you decide whether you care about that.

The following works fine on both master and develop:
struct Person { };
BOOST_HANA_ADAPT_STRUCT(Person);

Ah, of course.  I was using
BOOST_HANA_ADAPT_STRUCT(Person, );

which is more of the same confusion.

The way I see it, you're calling the BOOST_HANA_ADAPT_STRUCT macro with arguments, some of which are pairs (type, member). When there is only one argument (the name of the struct), the struct is considered as empty. On the other hand, I think Fusion's way is less intuitive, since it uses very advanced preprocessor techniques (preprocessor sequences) to achieve its goal.

authors: jbytheway ldionne

repo: ldionne/hana


text:
Votes on released parts not removed from the DB

The release script does not remove the votes for release parts causing part not found errors on the dashboard.

Issue fixed

repo: ldraw-org/ldraworg-library


text:
🛑 Tautulli is down

In e82853a, Tautulli (https://tautulli.thonk.xyz) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tautulli is back up in 3bf5dcd.

repo: le-server/thonk-upptime


text:
Assembly files

Some assembly files have comments, some loop for ever, on my pi 4 the arm assembly doesn’t work so Edit: see #1010, the others might need tested and a lot don’t even print “Hello World” (see #999)

#1003 removes comments.


text:
Update npy.hpp

seperator -> separator

Hi,
npy.hpp in this project is copied verbatim from https://github.com/llohse/libnpy. So we do not plan to make any edits to that file. But thank you for the PR!

repo: lean-dojo/LeanCopilot


text:
iOS8系统，聊天列表左滑不起作用

在LCCKConversationListViewModel.m中加上如下代码就解决了

(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
}

repo: leancloud/ChatKit-OC


text:
请教一下，是否可以设置macos下左上角三个按钮的位置或者padding?

希望可以自定义左上角三个按钮的位置，以便适应对应的布局。

目前 window_manager 不提供这样的功能，你可以通过修改 nswindow 的 toolbar 以达到修改的效果。
示例：https://github.com/anyinspect/anyinspect_app/blob/0f4db9b5e33329987729c15750e9757ec381ae6a/macos/Runner/MainFlutterWindow.swift#L12
import Cocoa
import FlutterMacOS
import window_manager

class MainFlutterWindow: NSWindow {
    override func awakeFromNib() {
        let flutterViewController = FlutterViewController.init()
        let windowFrame = self.frame
        self.contentViewController = flutterViewController
        self.setFrame(windowFrame, display: true)

+        self.toolbar = NSToolbar(identifier: "DummyToolbar")
        self.titleVisibility = .hidden
        self.titlebarAppearsTransparent = true
        self.styleMask.insert(.fullSizeContentView)

        RegisterGeneratedPlugins(registry: flutterViewController)

        super.awakeFromNib()
    }

    override public func order(_ place: NSWindow.OrderingMode, relativeTo otherWin: Int) {
        super.order(place, relativeTo: otherWin)
        hiddenWindowAtLaunch()
    }
}


text:
Schema Stiching

Hi there,
I am wondering if there is a way to perform Schema Stitching with SPQR similar to what Apollo GraphQL Tools offers -
https://www.apollographql.com/docs/graphql-tools/schema-stitching.html
Just wanted to open this one up to ask if there is a plan to add a feature like this. If it is possible to implement Schema Stiching with current state of SPQR library, then I'd appreciate some guidelines as to how to go about it, so that I can work on it myself.

There's a couple of different efforts I'm aware of right now, but not sure how they relate to graphql-tools way of doing it.

Nadel, by graphql-java team, but it's still in an experimental alpha kind of stage.

graphql-braid by Atlassian. Don't know much about this one except that it exists.

As for SPQR, stitching isn't really in the scope of this specific project, as this core library is about generating a schema from Java. But, the idea behind stiching is to connect any GraphQL schema with any other, regardless of the way it was created. So any of the libraries mentioned above, or any future one should have no issue working with SPQR generated schemas.
That said, I'd like to eventually create a separate project around stiching as I have my own ideas on how it can be done to make best use of SPQR features. But that of course is still just a distant plan...

Thanks. I wanted to pick up your brain on this. Good to know there are some projects out there trying to solve this problem. I feel this feature will definitely be needed by GraphQL Java community.
Can I close this ticket then if you feel schema stitching will never be a part of SPQR?

Yup, I'd say close this one.
If I start implementing stitching, it will be in a separate module (like e.g. the Spring Starter module currently is).

authors: cmdavinder kaqqao

repo: leangen/graphql-spqr


text:
feat: syntax linter for #-commands

A Lean-linter implementation of the #-command linter introduced in #10809.
This linter produces a warning whenever a non-whitelisted #-commands is used.  The whitelist consists of #align, #align_import, #noalign.
This PR is accompanied by #11028, which places the linter in Tactic.Basic, to make sure that (most of) Mathlib passes the #-command linter.

I like this much more than the sed version!

Thomas, thank you very much for your comments!  The new withSetOptionIn' command works great, thanks!  I added it and also put some tests in to ensure that it does what it should!

@thorimur I thought that I had written this already somewhere, but maybe it got lost.
I am going to change the behaviour of the linter: it will emit a message if and only if the #-command emits no message.
This means that by leaving it always on, you can still try out a #-command and see its output without clutter from the linter.  However, every #-command now emits a message: either because the command itself does, or because the linter does (but not both!).  This means that CI will pick up in the #-command no matter what.

Hmm, I'm not totally sure about only linting the silent commands, because it's nice to have an error telling you explicitly what's wrong! But it definitely works. (The "noisy stdout" section of build tells you where the noise is happening, right?) I'd like someone else to sign off on that specific choice, since I'm not sure what the best option is there. (Is there a discussion somewhere I might have missed?)

I asked on Zulip about emitting an extra warning in CI, but I feel like I failed to communicate properly what the issue was.

@grunweg I should have fixed all the issues.  Since your review, the changes have been to

allow #adaptation_note and
fix a syntax bug with handling nested set_option ... in commands.

I also extended the list of tests and went ahead to lint most of mathlib!

Thanks for the quick response. I was wondering about #guard_msg; good catch!
Looking at the past logs, it seems #guard (in test/vec_notation) might also need to be allowed.
From my side, once CI passes, it's ready to be merged.

Michael, thank you for the reviews!
Re #guard_msgs: I simply silenced it, since it was quick and I do not expect lots of them to show up in Mathlib.  Probably a better solution would be to allow them only in test files, but I would leave this discussion for later.
Re #guard: I am happy not allowing it in Mathlib.  If I remember correctly, I actually removed some #guards in Mathlib that were picked up by the linter and moved them to test files.

Ok, after yet another failed test, I decided to make the #guards not allowed, except in test other than test.HashCommandLinter.  I hope that this time the tests pass!

Tests pass; I took one last look and pushed a few tiny tweaks. (@adomani Feel free to revert those if you prefer!)
I think this lint is ready to go: performance is good, mathlib passes, no bad test changes or anything that looks questionable. Thank you for your work on this, this one took a while - but I'm glad it lands!
maintainer merge
(A follow-up PR could remove the sed-based linter this replaces. Imho, this doesn't have to happen in this PR.)

Filed #13142 for the follow-up.

Thanks :tada:
bors merge

authors: adomani alexjbest grunweg jcommelin thorimur


text:
feat(FieldTheory/AlgebraicClosure): minpoly x F splits in E implies minpoly x F splits in algebraicClosure F E

Add a lemma saying minpoly x F splits in E implies minpoly x F splits in algebraicClosure F E.

[ ] depends on: #16771

A 200+ line difference is definitely not "easy"

A 200+ line difference is definitely not "easy"
Edit:ah it's dependent on some other PR. Maybe add easy after the previous is merged.

Ah sorry! This is one single lemma after #16771. I'll add easy after the previous is merged in the future.

Thanks!
bors merge

authors: erdOne jjdishere riccardobrasca


text:
feat: Goursat's lemma for subgroups

Proves Goursat's lemma for subgroups.
If I is a subgroup of G × H which projects fully on both factors, then there exist normal
subgroups G' ≤ G and H' ≤ H such that G' × H' ≤ I and the image of I in G ⧸ G' × H ⧸ H' is the graph of an
isomorphism G ⧸ G' ≃ H ⧸ H'.
We construct G' and H' as explicit subgroups.

[x] depends on: #18822
[x] depends on: #19518

No, I have no plans for the Lie algebra version. My next step will be to adapt PFR to this version of Goursat, and possibly I will find out that PFR's Goursat can't be deduced from the Goursat in this PR, in which case I'll PR PFR's Goursat as well.


text:
chore: move theorems on String to std4

https://github.com/leanprover/std4/pull/124 moves the following from Mathlib4 to Std4:

helper simp theorems on String.Pos
String.utf8GetAux.inductionOn

bors merge

authors: chabulhwi semorrison


text:
feat(LinearAlgebra/LinearIndependent): add linearIndependent_iff_finset_linearIndependent

A family is linearly independent if and only if all of its finite subfamily is linearly independent.

Is linearIndependent_finset_map_embedding_subtype one direction of (a special case of) your lemma? It seems so... in this case can you erase linearIndependent_finset_map_embedding_subtype?

Is linearIndependent_finset_map_embedding_subtype one direction of (a special case of) your lemma? It seems so... in this case can you erase linearIndependent_finset_map_embedding_subtype?

I think you're right. but in linearIndependent_finset_map_embedding_subtype the index set Finset.map (Embedding.subtype s) t has type Finset M, whereas my version it's just t which is of type Finset s. In the following linearIndependent_bounded_of_finset_linearIndependent_bounded it uses such convention (namely the input argument of it uses Finset M) so it's not so straightforward to use my result to prove it.

Is linearIndependent_finset_map_embedding_subtype one direction of (a special case of) your lemma? It seems so...

Yeah, linearIndependent_finset_map_embedding_subtype is stated for sets, the results that connect linear independence for sets and types are later, so it seems complicated to use you result. We can maybe add the covers of linearIndependent_finset_map_embedding_subtype, but in my opinion the API for sets should be avoided.

Thanks!
bors merge

authors: acmepjz riccardobrasca


text:
kernel hangs on ac_nf expression

Prerequisites
Please put an X between the brackets as you perform the following steps:

[x] Check that your issue is not already filed:
https://github.com/leanprover/lean4/issues
[x] Reduce the issue to a minimal, self-contained, reproducible test case.
Avoid dependencies to Mathlib or Batteries.
[x] Test your test case against the latest nightly release, for example on
https://live.lean-lang.org/#project=lean-nightly
(You can also use the settings there to switch to “Lean nightly”)

Description
The following test case hangs in the kernel
axiom foo {p : Prop} {x : BitVec 32} (h : (!x == x + 0#32) = true) : p

theorem add_eq_sub_not_sub_one (x : BitVec 32) (h : (!x == x + (1#32 + 4294967295#32)) = true) : False := by
  simp only [BitVec.reduceAdd] at h
  exact foo h -- this works

theorem add_eq_sub_not_sub_one' (x : BitVec 32) (h : (!x == x + 1#32 + 4294967295#32) = true) : False := by
  ac_nf0 at h
  simp only [BitVec.reduceAdd] at h
  exact foo h -- this hangs here

Context
This issue arose when testing bv_decide with ac_nf enabled.
Steps to Reproduce

Copy into Lean
Wait for it to run
Observe yellow line next to exact foo h not disappearing

Expected behavior: Proof should be confirmed by kernel
Actual behavior: Kernel is hanging
Versions
"4.12.0, commit 225e08965d644715e8961cd205ffedf1cf7d24c2"
Impact
Add :+1: to issues you consider important. If others are impacted by this issue, please ask them to add :+1: to it.

Didn't look closely yet. This might have a similar cause as https://github.com/leanprover/lean4/issues/5384

Fun fact: Enabling set_option debug.skipKernelTC true makes it go through (as expected), but then trying to paste the proof term into a theorem, to play around with it, makes the elaborator hit the recursion depth:
theorem add_eq_sub_not_sub_one'' : ∀ (x : BitVec 32), (!x == x + 1#32 + 4294967295#32) = true → False :=
fun x h =>
  foo
    (Eq.mp
      (congrArg (fun x_1 => (!x == x_1) = true)
        (Lean.Data.AC.Context.eq_of_norm
          { op := HAdd.hAdd, assoc := BitVec.instAssociativeHAdd, comm := some { down := BitVec.instCommutativeHAdd },
            idem := none,
            vars :=
              [{ value := x, neutral := none }, { value := 1#32, neutral := none },
                { value := 4294967295#32, neutral := none }],
            arbitrary := x }
          (((Lean.Data.AC.Expr.var 0).op (Lean.Data.AC.Expr.var 1)).op (Lean.Data.AC.Expr.var 2))
          ((Lean.Data.AC.Expr.var 0).op ((Lean.Data.AC.Expr.var 1).op (Lean.Data.AC.Expr.var 2))) (Eq.refl true)))
      h)

I'm fairly certain that it’s the same issue as #5384; like there, a strategically placed id can do wonders:

theorem add_eq_sub_not_sub_one'' : ∀ (x : BitVec 32), (!x == x + 1#32 + 4294967295#32) = true → False :=
fun x h =>
  foo
    (Eq.mp
      (congrArg (fun x_1 => (!x == x_1) = true)
        (@id (∀ (x y z : BitVec 32), x + y + z = x + (y + z))
        (fun (x y z : BitVec 32) =>
        (Lean.Data.AC.Context.eq_of_norm
          { op := HAdd.hAdd, assoc := BitVec.instAssociativeHAdd, comm := some { down := BitVec.instCommutativeHAdd },
            idem := none,
            vars :=
              [{ value := x, neutral := none }, { value := y, neutral := none },
                { value := z, neutral := none }],
            arbitrary := x }
          (((Lean.Data.AC.Expr.var 0).op (Lean.Data.AC.Expr.var 1)).op (Lean.Data.AC.Expr.var 2))
          ((Lean.Data.AC.Expr.var 0).op ((Lean.Data.AC.Expr.var 1).op (Lean.Data.AC.Expr.var 2))) (Eq.refl true))) x 1#32 4294967295#32))
      h)

Indeed, and the fix seems to work (#5708).

Wow, what a fast turnaround.
Best Tobias

authors: nomeata tobiasgrosser


text:
Datasets whose temporal coverage differs between nodes are not fully ingested

@jbusecke For some iid's, different parts of simulations are available on different nodes. See screenshot for iid CMIP6.ScenarioMIP.CSIRO.ACCESS-ESM1-5.ssp585.r9i1p1f1.day.psl.gn below, for example. Currently included in https://storage.googleapis.com/leap-persistent-ro/data-library/catalogs/cmip6-test/leap-pangeo-cmip6-test.json is the dataset from esgf-data1.llnl.gov for 2200-2300, instead of the data from esgf.nci.org.auz for 2015-2300.

Thanks for reporting this @Timh37. I will have to dig deeper into the ESGF api to see what is going on here. Quite frustrating, apologies.

See https://github.com/jbusecke/pangeo-forge-esgf/issues/46


text:
Fix image hands transparency

This addresses the problem of having fading hands correctly intersect transparent objects.

Opaque objects cause a white contact glow and occlude hands.
Transparent objects do not yield a contact glow (they do not write to the depth buffer) and they correctly intersect the hands.
The hand halo is now clipped, so background objects are drawn ONLY if they are very bright.

Merging this myself, since I'm all alone and things need to get done ;-)


text:
None of the answers to the first question work for me

Didn't see anything in the browser console.

This question was updated in the SeaFire release of Feb 2022

repo: learn-ocean/ocean-academy


text:
Clipboard icon is selected after clicking

The code seems like it should clear the selection on click ... but 🤷♂

As stated in the README, this project is no longer maintained and has been retired. Because of this, I am archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!

repo: lee-dohm/atom-style-tweaks


text:
Support Inpainting

It would be great to add input parameters to the current SD cli to specify an input and mask file to run the inpainting. For example:
./bin/sd -m ../models/sd-v1-4.ckpt -p "a lovely dog" --image ../input/alovelybench.png --mask ../input/alovelybench.mask.png
The input image:

The input mask:

The output:

Here some references:

https://stable-diffusion-art.com/inpainting_basics
https://huggingface.co/docs/diffusers/api/pipelines/stable_diffusion/inpaint

@leejet I believe that is done by adding noise only to the white part of the latent image, and in the decoder, keeping the pixels of the black part unchanged. However, the image-to-image translation is also causing quality issues.

@leejet I believe that is done by adding noise only to the white part of the latent image, and in the decoder, keeping the pixels of the black part unchanged. However, the image-to-image mode is also causing quality issues, the images appear overly smoothed, blurred and distorted. Even with a strength setting of 0.05, the final image bears little resemblance to the original.

It seems that img2img has some issues and the results are inconsistent with sd-webui.

@leejet I think we should first solve that problem before considering adding the inpainting feature.
Inpainting models require a latent image with 9 input channels, 4 for the usual channels, 4 more for the latent space with the applied mask, and 1 for the mask. There may also be a need for a slight modification in the autoencoder, but I will continue researching.

@leejet I think we should first solve that problem before considering adding the inpainting feature.
Inpainting models require a latent image with 9 input channels, 4 for the usual channels, 4 more for the latent noise with the applied mask, and 1 for the mask. There may also be a need for a slight modification in the autoencoder, but I will continue researching.

Yes, the first step is to fit the inpaint model. We can determine whether the weight currently loaded is the weight of the inpaint model according to the shape of the weight.

hope someone makes a cute gui for it as inpainting will be much easier to just mask it through the gui, not to mention cpp with gui will be great

@FSSRepo i see u r working on a webui [cant wait for it], if possible please add outpainting as well, it will be great to have it, also i have a question, i have dark reader on my browser, will the dark reader make ur webui's background dark too? as working with white background in the night is very hard imo

Would it be possible to implement a simple form of inpainting, where the user specifies a rectangular region using command line parameters? And only this region of the input image would be changed. For example, the user could pass four integers (x,y,height,width) which define the top left corner and the dimensions of the rectangular region.

@leejet I'm pretty interested in fixing img2img and adding inpainting; do you have any pointers as to why it's currently not matching stable diffusion webui?

Does this project take bug bounties? I am willing to put money down to make this happen.

@aagdev could up please implent inpaintint here, i saw u added to ur project in mlimgsynth, thank u

I think I got it. PR incoming soon-ish

@msglm If you were serious about the bounty, lmk 😅

@msglm If you were serious about the bounty, lmk 😅

Yeah, I'm looking to put some money down to make it happen, main concerns are:

Inpainting works with SDXL models (my primary example being pony diffusion)
The system works with no artifacting, absurd slowdowns, or other such jank on both ROCM and Vulkan
The interface for doing this just requires passing in an image of some kind (In code, it should be easy to implement into guis so projects like https://github.com/fszontagh/sd.cpp.gui.wx can take advantage of it).
In general, it should feel like how it does on the cli-style python-based implementations of Stable Diffusion
The project should not have any major changes to it so it can compile on GNU Guix (this means no needing to pre-generate anything to get it to work like with the Vulkan backend)

There's probably some other stuff as well that may get brought up during development, but if it works on my machine im willing to pay for it. I usually pay in XMR, but I could do BTC or some other payment method.
Long-term, my goal is to have an easy to compile, single binary application for working in stable-diffusion as a good workflow. This is a step in that.

it works with SDXL models
It works with Vulkan (I can't get ROCm to work at all with my old GPU), other backends should work too
Performance is OK, only noticable slowdown is because of the repeated VAE encoding (once for the base image, and once again for the maskd image)
Interface is simle enough I think (same as img2img mode with the --mask argument to point to the image mask path)
No extra dependencies of weird code patterns, so it should work on any system that already support sdcpp

I don't have any crypto wallet though 😔

@stduhpf A wallet costs nothing. :smirk:

@stduhpf A wallet costs nothing. 😏

Good point.

@msglm
Now that it's merged....
42CcDxbASzWQe5hAryPffZZtwWVmSm1oqdSKwa87hTENBWf1dwHUWLD6wQ1pKtz2ejC3oqZBrwXyzQNzRBmnC9kV6VH9F92

(Don't feel obligated)

authors: 10undertiber Amin456789 FSSRepo Green-Sky balisujohn leejet msglm programmbauer stduhpf


text:
Question Regarding Reusing Context for Multiple Generations in Example Code

I noticed that in the example provided in stable diffusion.cpp, a context is created and used for a single image generation (either image-to-image or text-to-image). I wondered if it’s possible to reuse the same context for multiple generating without recreating it each time.
I tried reusing the context for multiple generations but encountered a segmentation fault either in image-to-image or text-to-image. For example, I copy and paste results = txt2img(...); after the original generate results code section.
Could you provide an example of a context that has been reused for multiple generations, or is this approach not supported?

Set free_params_immediately to false when calling new_sd_ctx
https://github.com/leejet/stable-diffusion.cpp/issues/366#issuecomment-2308929569


text:
Default note name template cannot use time elements

The default name template cannot use time elements (hour, min, sec) even though the code appears to support (most of) the functionality.
I would like to name new journal notes with the time as well as the date. The code in index.ts appears to support it, except calls to createNoteByDate() are passed a parameter that is a Date without the time component.
I would like to ask that the Date parameter could include the time portion of the current date/time where possible. I realize that creating a new note based on the user's selection on the calendar dialog cannot provide the time.
Support for hours in 12 hour format and 24 hour format would also be nice. That option doesn't appear possible with the current implementation in makeNoteName().
Thank you for your consideration of this issue.
Dean

Thanks for the detailed description.
Actually the calendar dialog has the ability to select time, but I dissabled it. I'll enable it after fix this issue :-)

@DeanHutchings It was fixed by latest version: https://github.com/leenzhu/joplin-plugin-journal/releases/tag/v1.1.0

authors: DeanHutchings leenzhu

repo: leenzhu/joplin-plugin-journal


text:
Fix encodings

3 of the domain files had file encoding issues with them that are fixed in this PR.
There is a rake task to check for bad encodings. Perhaps there are some other things we would want to check for as well? Also, I'll refactor the rake task to use the each_domain method once that is merged.
Cheers

Might be worth making that encoding check into a unit test so that it gets run on all future pull requests to swot.

Closing in favor of 896.

authors: johndbritton mkcode pchaigno

repo: leereilly/swot


text:
Write About Us bios for new website

200–500 word profiles are needed for the new website.
Prepare the text in a Google Doc.
Iterate with each team member until all parties are satisfied. If we say something about someone publicly we need their approval.
Occasionally seek advice from Virgil or Meng re tone and light.

has a google doc been launched for this yet? if not, i will start one.

Is this the Google doc that is appropriate for this? -- https://docs.google.com/document/d/1IvUFBniEHw1qurVPMo8moUkaSV91bxYojhIt2OiEDqI/edit

authors: byte mengwong


text:
🛑 VePhim API hf is down

In 46ae7d5, VePhim API hf (https://api.vephim.online/api/ping) was down:

HTTP code: 429
Response time: 275 ms

Resolved: VePhim API hf is back up in 312b197 after 26 minutes.


text:
Error when Subnet is subordinated

subnetmaster = requests.get(apiurl+'/subnets/'+result['masterSubnetId'], headers={'token':str(token)}, verify=False).json()['data']['name']
KeyError: 'name'
When subnet is in kind of a hierarchy

[20220311]

repo: leinadred/phpipamCLIent


text:
fix: 🐛 PHPSTAN lvl 9

✅ Closes: #14
✅ Closes: #16
✅ Closes: #17

#17 #18 #16

repo: leknoppix/YoutubeUpload


text:
Stage2 refactored to simplify multiple implementations

Next part of the refactoring to simplify the implementation of multiple versions for different instruction sets (see PR#197).

I verified that the tests pass and that there is no performance effect.
@ioioioio  Please merge when it is convenient to do so.

@ioioioio Not that there are now conflicts to be resolved. :-)

I'm working on this. Should ok soon.

+1

authors: ioioioio lemire

repo: lemire/simdjson


text:
(do not merge) Store strings' lengths in the tape

See https://github.com/lemire/simdjson/issues/87
This PR changes string tape item layout from:
[['"']string_buffer_offset]

to
[['"']string_length][string_buffer_offset]

where string_length is uint32_t, string_buffer_offset is uint32_t (was uint64_t).
I wrote a simple test:
while (iterator.move_forward())
    if (iterator.is_string())
         iterator.get_string_length() == strlen(iterator.get_string());

not sure where to put it in the repo.

I'm not too keen on the fact that we are null-terminating strings and putting a length in front. We should decide what our behavior should be here. Doing both is the infamous "fucked string" (pardon my French) anti-pattern.
So, to be clear, this (probably reiterating this limitation, which likely occurs everywhere else) clamps us to 4GB documents and 16MB strings?
The 4GB limit is imposed by many other things, and I'm not too worried. The 16MB string limit is also pretty reasonable, but it should be documented and checked.
Aside from that, I think it's a good first cut, and a bit improvement both in terms of functionality (now people can stop shouting at us that we're "not really a JSON parser because we don't parse \0") and performance in the API.

@lemire are you OK with removing null termination? I'm good with the rest of this as long as we detect and document the 16MB string limitation...

4GB ought to be enough for anyone. :-)
Kidding aside, if it is documented, then it is fine. I would imagine that parsing super huge JSON would be a fun academic problem.

Doing both is the infamous "fucked string" (pardon my French) anti-pattern.

Ah. Interesting expression.

The 16MB string limit is also pretty reasonable, but it should be documented and checked.

Any consideration to my idea of adding support for huge strings? Huge strings, when they occur, could be stored in an different manner.  I don't think we need to implement huge strings now... but I'd like us to leave this possibility open. The main application that I see is embedded content (WebAssembly, PNG) in base64 format.

are you OK with removing null termination? I'm good with the rest of this as long as we detect and document the 16MB string limitation..
Saving a byte per string is a good idea.

From my tests, this PR reduces performance by about 5% on at least some files...
In stage 2, the number of instructions, cache accesses and cycles may increase by 10%.
$ git checkout master && make parse && ./parse jsonexamples/apache_builds.json  && git checkout store-string-length && make parse && ./parse jsonexamples/apache_builds.json
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
g++-8 -std=c++17  -march=native -Wall -Wextra -Wshadow -Iinclude  -Ibenchmark/linux -O3 -o parse src/jsonioutil.cpp src/jsonparser.cpp src/stage1_find_marks.cpp         src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp benchmark/parse.cpp
number of bytes 127275 number of structural chars 12365 ratio 0.097
mem alloc instructions:       1293 cycles:        829 (0.40 %) ins/cycles: 1.56 mis. branches:          3 (cycles/mis.branch 273.38) cache accesses:       3901 (failure          0)
 mem alloc runs at 0.01 cycles per input byte.
stage 1 instructions:     324490 cycles:      94763 (45.27 %) ins/cycles: 3.42 mis. branches:         27 (cycles/mis.branch 3504.70) cache accesses:       3901 (failure          0)
 stage 1 runs at 0.74 cycles per input byte.
stage 2 instructions:     357478 cycles:     113757 (54.34 %) ins/cycles: 3.14 mis. branches:         90  (cycles/mis.branch 1257.23)  cache accesses:       7059 (failure          0)
 stage 2 runs at 0.89 cycles per input byte and 9.20 cycles per structural character.
 all stages: 1.64 cycles per input byte.
Min:  7.5206e-05 bytes read: 127275 Gigabytes/second: 1.69235
Switched to branch 'store-string-length'
Your branch is up-to-date with 'origin/store-string-length'.
g++-8 -std=c++17  -march=native -Wall -Wextra -Wshadow -Iinclude  -Ibenchmark/linux -O3 -o parse src/jsonioutil.cpp src/jsonparser.cpp src/stage1_find_marks.cpp         src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp benchmark/parse.cpp
number of bytes 127275 number of structural chars 12365 ratio 0.097
mem alloc instructions:       1331 cycles:        833 (0.38 %) ins/cycles: 1.60 mis. branches:          1 (cycles/mis.branch 740.05) cache accesses:       3051 (failure          0)
 mem alloc runs at 0.01 cycles per input byte.
stage 1 instructions:     324491 cycles:      94813 (42.68 %) ins/cycles: 3.42 mis. branches:         26 (cycles/mis.branch 3607.94) cache accesses:       3051 (failure          0)
 stage 1 runs at 0.74 cycles per input byte.
stage 2 instructions:     393771 cycles:     126509 (56.95 %) ins/cycles: 3.11 mis. branches:         94  (cycles/mis.branch 1335.84)  cache accesses:       6543 (failure          0)
 stage 2 runs at 0.99 cycles per input byte and 10.23 cycles per structural character.
 all stages: 1.75 cycles per input byte.
Min:  7.8917e-05 bytes read: 127275 Gigabytes/second: 1.61277

Currently, the string buffer is allocated to be at least as large as the input document. We need to ask whether this PR increases the maximal size of the string buffer.

I am preoccupied by the performance penalty. It is seems high for such small changes.

It certainly seems higher than it should be, but a fairer benchmark would be to do a pretty-print with and without this change on a large document. If it adds 2% it would still be faster when actually using the library than the constant strlen() calls.

@TkTech I am not so much preoccupied by the effect on users as I am preoccupied by the source of the penalty. I don't understand why it costs so much and I'd like to understand where the cost comes from. Furthermore, I'd like to be able to reason as to how much it should cost.
I think it would be helpful to do some analysis.
We have gone from this...
pj.write_tape(pj.current_string_buf_loc - pj.string_buf, '"');

to this...
uint32_t str_length = (dst - start_of_string) + quote_dist;
pj.write_tape(static_cast<uint64_t>(str_length) << 32 | (pj.current_string_buf_loc - pj.string_buf), '"');

This alone seems to increase the cycle and instruction cost of stage 2 by 10%. Am I the only one surprised by this?
I think that there is leftover code that we could remove:
dst[quote_dist] = 0; // null terminate and get out

So we can probably recover some lost time elsewhere.
Next step is probably to look at the generated assembly.

5% is too much. Not everyone is going to actually use all those strings so the nominal savings on not having to do strlen does not balance this.
Agreed we should figure out why this is happening. The other strategy to examine is putting the length in front of the string (which also gets rid of the arbitrary 16MB limit).

Ok. I created a version that looks like @geofflangdale's proposal at
https://github.com/lemire/simdjson/pull/101
Because the strings are no longer null terminated, it breaks much of our code (since we assume C strings throughout with "get_string"). We also need a larger string buffer because a 32-bit header for reach string is 3 more bytes than a null-terminated string would be.
I use comments like this to compare performance...
$ git checkout master && make clean && make parse && ./parse jsonexamples/apache_builds.json && git checkout otherstringlength && make clean && make parse && ./parse jsonexamples/apache_builds.json && git checkout store-string-length && make clean && make parse && ./parse jsonexamples/apache_builds.json

Numbers below with gcc-8.

file
current
EgorBo's PR
variant with 32-bit header

apache_builds.json
1.68739
1.6081
1.64325

twitter.json
1.75873
1.70538
1.73504

gsoc-2018.json
2.909
2.84277
2.87763

So the penalty is 2.9%, 1.3% and 1%. I am not sure why the penalty is so high on the apache_builds.json file, but I am going to guess that it is probably because it is made of many tiny strings and a small amount of extra work really adds up.
Such a small penalty can be more than made up later if you don't need to lookup string lengths, as was observed. So it is fine.
The penalty for EgorBo's version is quite a bit higher, as you can see... I am not sure why. I'd really like to understand it better. But it may simply amount to some extra arithmetic.
Things to consider regarding the variant with 32-bit header:

It is going to use more memory (compared to other two).

It breaks away from having C strings. That might be unavoidable if we want to support NULLs within strings. (Some people have those. I'd like to have beers with these people, they must have fun lives.)

Please keep in mind that my PR is a temporary thing meant to illustrate the idea. I am not claiming that it is correct, in fact I know it is incorrect in the ways that I have already stated.

Ok. I did more work on the otherstringlength branch.
There is still a small but measurable performance penalty. I think that part of the problem is the need to write the string and then go back at the start of the string to write its length. This is not great for performance.
I am comparing against the current master.
I am now going to do my experiments with gcc-7.
Twitter.json goes from 1.89 to 1.86 which seems acceptable...
$ git checkout otherstringlength &&  make parse && ./parse jsonexamples/twitter.json
g++-7 -std=c++17  -march=native -Wall -Wextra -Wshadow -Iinclude  -Ibenchmark/linux -O3 -o parse src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp        src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp benchmark/parse.cpp
number of bytes 631514 number of structural chars 55264 ratio 0.088
mem alloc instructions:       1220 cycles:       1012 (0.09 %) ins/cycles: 1.21 mis. branches:          4 (cycles/mis.branch 210.05) cache accesses:      29934 (failure          0)
 mem alloc runs at 0.00 cycles per input byte.
stage 1 instructions:    1873551 cycles:     565959 (50.93 %) ins/cycles: 3.31 mis. branches:       1274 (cycles/mis.branch 444.19) cache accesses:      29934 (failure          1)
 stage 1 runs at 0.90 cycles per input byte.
stage 2 instructions:    1693075 cycles:     544321 (48.98 %) ins/cycles: 3.11 mis. branches:       1530  (cycles/mis.branch 355.66)  cache accesses:      54603 (failure          0)
 stage 2 runs at 0.86 cycles per input byte and 9.85 cycles per structural character.
 all stages: 1.76 cycles per input byte.
Min:  0.000340336 bytes read: 631514 Gigabytes/second: 1.85556
$ git checkout master && make parse && ./parse jsonexamples/twitter.json
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
g++-7 -std=c++17  -march=native -Wall -Wextra -Wshadow -Iinclude  -Ibenchmark/linux -O3 -o parse src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp        src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp benchmark/parse.cpp
number of bytes 631514 number of structural chars 55264 ratio 0.088
mem alloc instructions:       1215 cycles:        880 (0.08 %) ins/cycles: 1.38 mis. branches:          3 (cycles/mis.branch 269.14) cache accesses:      29943 (failure          0)
 mem alloc runs at 0.00 cycles per input byte.
stage 1 instructions:    1873551 cycles:     564794 (51.74 %) ins/cycles: 3.32 mis. branches:       1261 (cycles/mis.branch 447.73) cache accesses:      29943 (failure          1)
 stage 1 runs at 0.89 cycles per input byte.
stage 2 instructions:    1547239 cycles:     525879 (48.18 %) ins/cycles: 2.94 mis. branches:       1608  (cycles/mis.branch 326.91)  cache accesses:      51979 (failure          0)
 stage 2 runs at 0.83 cycles per input byte and 9.52 cycles per structural character.
 all stages: 1.73 cycles per input byte.
Min:  0.000334478 bytes read: 631514 Gigabytes/second: 1.88806

gsoc-2018.json goes from 2.69 to 2.67 which is acceptable...
$  git checkout otherstringlength && make parse && ./parse jsonexamples/gsoc-2018.json
Switched to branch 'otherstringlength'
Your branch is up-to-date with 'origin/otherstringlength'.
g++-7 -std=c++17  -march=native -Wall -Wextra -Wshadow -Iinclude  -Ibenchmark/linux -O3 -o parse src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp        src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp benchmark/parse.cpp
number of bytes 3327831 number of structural chars 75842 ratio 0.023
mem alloc instructions:       1469 cycles:       2767 (0.06 %) ins/cycles: 0.53 mis. branches:         11 (cycles/mis.branch 238.56) cache accesses:     126122 (failure         32)
 mem alloc runs at 0.00 cycles per input byte.
stage 1 instructions:    6912416 cycles:    2292929 (52.79 %) ins/cycles: 3.01 mis. branches:       5867 (cycles/mis.branch 390.80) cache accesses:     126122 (failure       8005)
 stage 1 runs at 0.69 cycles per input byte.
stage 2 instructions:    4386211 cycles:    2047756 (47.15 %) ins/cycles: 2.14 mis. branches:      15181  (cycles/mis.branch 134.89)  cache accesses:     219979 (failure      20602)
 stage 2 runs at 0.62 cycles per input byte and 27.00 cycles per structural character.
 all stages: 1.31 cycles per input byte.
Min:  0.00124301 bytes read: 3327831 Gigabytes/second: 2.67723
$ git checkout master && make parse && ./parse jsonexamples/gsoc-2018.json
number of bytes 3327831 number of structural chars 75842 ratio 0.023
mem alloc instructions:       1461 cycles:       2541 (0.06 %) ins/cycles: 0.57 mis. branches:         10 (cycles/mis.branch 237.54) cache accesses:     126086 (failure         30)
 mem alloc runs at 0.00 cycles per input byte.
stage 1 instructions:    6912400 cycles:    2288032 (53.11 %) ins/cycles: 3.02 mis. branches:       5668 (cycles/mis.branch 403.63) cache accesses:     126086 (failure       7129)
 stage 1 runs at 0.69 cycles per input byte.
stage 2 instructions:    4069198 cycles:    2017894 (46.84 %) ins/cycles: 2.02 mis. branches:      15275  (cycles/mis.branch 132.10)  cache accesses:     215642 (failure      19295)
 stage 2 runs at 0.61 cycles per input byte and 26.61 cycles per structural character.
 all stages: 1.29 cycles per input byte.
Min:  0.00123423 bytes read: 3327831 Gigabytes/second: 2.69628

apache_builds.json goes from 1.62 GB/s to 1.60/GB which seems acceptable...
$ git checkout otherstringlength && make parse && ./parse jsonexamples/apache_builds.json
Switched to branch 'otherstringlength'
Your branch is up-to-date with 'origin/otherstringlength'.
g++-7 -std=c++17  -march=native -Wall -Wextra -Wshadow -Iinclude  -Ibenchmark/linux -O3 -o parse src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp        src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp benchmark/parse.cpp
number of bytes 127275 number of structural chars 12365 ratio 0.097
mem alloc instructions:       1359 cycles:        867 (0.39 %) ins/cycles: 1.57 mis. branches:          1 (cycles/mis.branch 779.34) cache accesses:       3517 (failure          0)
 mem alloc runs at 0.01 cycles per input byte.
stage 1 instructions:     358164 cycles:     102135 (45.60 %) ins/cycles: 3.51 mis. branches:         23 (cycles/mis.branch 4329.79) cache accesses:       3517 (failure          0)
 stage 1 runs at 0.80 cycles per input byte.
stage 2 instructions:     399061 cycles:     120994 (54.02 %) ins/cycles: 3.30 mis. branches:         90  (cycles/mis.branch 1337.07)  cache accesses:       8001 (failure          0)
 stage 2 runs at 0.95 cycles per input byte and 9.79 cycles per structural character.
 all stages: 1.76 cycles per input byte.
Min:  7.9657e-05 bytes read: 127275 Gigabytes/second: 1.59779
$ git checkout master && make parse && ./parse jsonexamples/apache_builds.json
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
g++-7 -std=c++17  -march=native -Wall -Wextra -Wshadow -Iinclude  -Ibenchmark/linux -O3 -o parse src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp        src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp benchmark/parse.cpp
number of bytes 127275 number of structural chars 12365 ratio 0.097
mem alloc instructions:       1349 cycles:        919 (0.42 %) ins/cycles: 1.47 mis. branches:          1 (cycles/mis.branch 566.40) cache accesses:       2769 (failure          0)
 mem alloc runs at 0.01 cycles per input byte.
stage 1 instructions:     358164 cycles:     101250 (45.82 %) ins/cycles: 3.54 mis. branches:         15 (cycles/mis.branch 6558.53) cache accesses:       2769 (failure          0)
 stage 1 runs at 0.80 cycles per input byte.
stage 2 instructions:     362762 cycles:     118807 (53.76 %) ins/cycles: 3.05 mis. branches:         92  (cycles/mis.branch 1288.47)  cache accesses:       6383 (failure          0)
 stage 2 runs at 0.93 cycles per input byte and 9.61 cycles per structural character.
 all stages: 1.74 cycles per input byte.
Min:  7.8578e-05 bytes read: 127275 Gigabytes/second: 1.61973

Changing the title of this PR to indicate that we may not want to merge it.

@lemire @geofflangdale I guess we can close this one then, sorry was busy these weeks and couldn't finish it, now going to pull all the recent changes to C# fork.

authors: EgorBo TkTech geofflangdale lemire


text:
charPreset - unable to set custom chars

Which version of svg-captcha are you using?
1.3.8
Do you want to request a feature or report a bug?
bug
If this is a feature request, what is motivation for changing the behavior?
If it is a bug, which version of svg-captcha are you using?
1.3.8
What is the current behavior?
Unable to set custom chars
What is the expected behavior?
Wnaht to set custom chars
Step to reproduce the bug or other relevant information
if you set to option charPreset, it will not work. The problem in random.js file line 32 (let chars = opts.charPreset;) please change this line to let chars = options.charPreset || opts.charPreset;

As you can see in README.md, there is no charPreset option for create API. It is only avaible for global options API svgCaptcha.options.charPreset. I thought nobody will want to set character preset for every call to create API.
Anyway, it is nice to let people have this option.
And since you already point out how to fix it, do you think you can make a PR?

Got it. Sure, i can do it, please provide an access to the repository, will create a branch with this fix

It's fixed in 1.3.9.
Here is a guide on how to fork a project and make a pull request: https://guides.github.com/activities/forking/
And here is a practice repo: https://github.com/octocat/Spoon-Knife
If you know how to fix things, you can make a pull request without access to the repo.

Thanks steambap!

repo: lemonce/svg-captcha


text:
Update Pages “about”

Automatically generated by Netlify CMS

👷 Deploy Preview for chic-shortbread-66a66b processing.

Name
Link

🔨 Latest commit
e077b8a9c138180529a3b30f4f88030af455c235

🔍 Latest deploy log
https://app.netlify.com/sites/chic-shortbread-66a66b/deploys/655c41f7a892f90008a4e9d2

repo: lemotdesign/one-click-hugo-cms


text:
Update Post “when-are-termites-most-active-on-the-gold-coast”

Automatically generated by Netlify CMS

👷 Deploy Preview for chic-shortbread-66a66b processing.

Name
Link

🔨 Latest commit
6d657be82eb1741f2a2aba50759bd123f0eab9c3

🔍 Latest deploy log
https://app.netlify.com/sites/chic-shortbread-66a66b/deploys/6541e7e328280b0008d55b1e


text:
微软部分的IP有相当数量的问题

特别是几条涉及Windows更新和UWP更新的，要么速度缓慢要么就是ttl中断（应该是dl。delivery那个）。自己手动nslookup了一下，大概如下的IP是好用的：
## Microsoft 微软
2600:1406:5800:390::356e www.microsoft.com #e10088.dscb.akamaiedge.net
2600:1406:c800:281::2886 i.microsoft.com
2600:1406:c800:281::2886 i2.microsoft.com #i.microsoft.com.edgekey.net
2600:1406:c800:281::2886 i3.microsoft.com #i.microsoft.com.edgekey.net
2002:836b:9820::836b:9886 www.ipv6.microsoft.com
2600:1406:3f:299::e59 download.microsoft.com
2606:2800:11f:7de:d31:7db:168f:1225 download.visualstudio.microsoft.com #cs10.wpc.v0cdn.net
2606:2800:147:120f:30c:1ba0:fc6:3000 download.windowsupdate.com #download.windowsupdate.com.bsgslb.cn
240e:cd:c000::c dl.delivery.mp.microsoft.com #tlu.dl.delivery.mp.microsoft.com.bsgslb.cn
240e:cd:c000::c tlu.dl.delivery.mp.microsoft.com #tlu.dl.delivery.mp.microsoft.com.bsgslb.cn
240e:c9:4000:100::6 8.tlu.dl.delivery.mp.microsoft.com #win10back.dlmix.ourdvs.com
2620:1ec:c11::212 onedrive.live.com #skyweb.skyprod.akadns.net
#157.55.109.232 skyapi.onedrive.live.com #odc-common-emea-meta-geo.onedrive.akadns.net
2620:1ec:c11::212 storage.live.com
2600:1417:76:283::1c24 s1-word-view-15.cdn.office.net #wildcard.cdn.office.net.edgekey.net
2600:1417:76:283::1c24 s1-officeapps-15.cdn.office.net #e6911.dspg.akamaiedge.net
2620:1ec:c11::200 www.bing.com
2620:1ec:c11::200 www2.bing.com
2620:1ec:c11::200 cn.bing.com
2620:1ec:c11::200 ssl.bing.com
2620:1ec:c11::200 global.bing.com
#2a01:111:2003::200 api.bing.com
#2a01:111:2003::200 bj1.api.bing.com
#2a01:111:2003::200 tse1.mm.bing.net
#2a01:111:2003::200 tse2.mm.bing.net
#2a01:111:2003::200 tse3.mm.bing.net
#2a01:111:2003::200 tse4.mm.bing.net
#2a01:111:2003::200 tse1-mm.cn.bing.net
#2a01:111:2003::200 tse2-mm.cn.bing.net
#2a01:111:2003::200 tse3-mm.cn.bing.net
#2a01:111:2003::200 tse4-mm.cn.bing.net

ps：因为github的智障转义系统，所有前面有冒号的cd和前面有冒号的100都多加了一个空格

240e:cd:c000::c dl.delivery.mp.microsoft.com #tlu.dl.delivery.mp.microsoft.com.bsgslb.cn
240e:cd:c000::c tlu.dl.delivery.mp.microsoft.com #tlu.dl.delivery.mp.microsoft.com.bsgslb.cn
240e:c9:4000:100::6 8.tlu.dl.delivery.mp.microsoft.com #win10back.dlmix.ourdvs.com

本 hosts 主要为教育网 CERNET2 优化，你用电信的地址，教育网是会绕地球一圈的

已更新，现在是否正常

@LGA1150 可以，ping值很好，34ms，比我这个列出来的IP好很多。有点奇怪，难道我们学校配置的IPV6 DNS递归到电信的DNS了？


text:
Add api for GET /businesses/:id/users

For this endpoint https://github.com/lensapp/lenscloud/pull/2011, and export type BusinessUsers

Seems the shape of subscriptions changed, fixing it in separate PR.

repo: lensapp/lens-platform-sdk


text:
Version 6.3.0 - Windows - Cluster and Node views with missing Prometheus data

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Having the previous release 6.2.6 with "@kubescape/lens-extension", "lens-certificate-info", "lens-extension-network-policy-viewer" extensions
Update to 6.3.0 and open (Print 1)
Downgrade to 6.2.5 and reinstall 6.3.0 shows but with failed Prometheus metrics in the cluster view and *only memory for nodes view (Print 2 and 3)

Expected behavior
Only update without a black dashboard
Screenshots
Print 1

Print 2

Print 3

Environment (please complete the following information):

Lens Version: 6.3.0
OS: Windows 10 Enterprise
Installation method: from .exe installer

Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
Your logs go here...

Kubeconfig:
Quite often the problems are caused by malformed kubeconfig which the application tries to load. Please share your kubeconfig, remember to remove any secret and sensitive information.
the kubeconfig didn´t have changes so I think is not necessary
Additional context

same as https://github.com/lensapp/lens/issues/6820
ctrl + r will reload and some things are showed but other problems are present

same as #6820 ctrl + r will reload and some things are showed but other problems are present

After a downgrade and reinstall 6.3.0 the dashboard back to shows something but now the Prometheus metrics from nodes are not processing right.

Thanks for reporting this, we just added it to the next patch milestone and will start looking into it!

not sure if related or a separate issue, but after refreshing to see the page, it seems the view logs option is no longer present for pods etc.

I can't install Prometheus metrics on a new cluster. The extension is missing. I also have to force reload the window after startup, because I get a blank window.

I'm testing 6.4.0-alpha.4 on Windows 10 and it was better.
The first started after installing the 6.4.0-alpha.4 over the 6.2.6, some columns (CPU, DISK) and the same metrics in the right Pod modal were missing, but after some minutes late, the metrics appeared.

repo: lensapp/lens


text:
Create different dashboards for different purposes

There are too many permutations for a single dashboard:

image

tdxref-minimal
tdxref-multimedia
torizon-core-minimal
torizon-core-docker
torizon-core-podman
tezi

distro

downstream
upstream
non-rt
rt
secure-boot
non-secure-boot

version

master
scarthgap
kirkstone
dunfell

release

nightly
monthly
release
external integration

Therefore it would be easier to visualize data if there were several dashboards.

At the moment, and to make things easier, I'll stick to the "matrix" level which only has info about "version" and "release", but not about "image" and "distro"

repo: leograba/TorizonOSBuildStatus


text:
Reworked pynb into Python script, added options, converted to FP16

I realize it's a monster PR - still, take a look !

I am sorry to bother you. The link to VGG_conv.pth in NST has been broken. Could you please give a new link.

repo: leongatys/PytorchNeuralStyleTransfer


text:
Example with established UI component library

Is your feature request related to a problem? Please describe.
As someone who wants to bootstrap a new and modern looking website quickly without reinventing the wheel and with avoiding work that has not to be done in the pure JS world, I would love to see an example that integrates a popular UI component library such as https://mantine.dev/, Bootstrap etc.

Mantine is a React component library, i.e., a component library you can use with the React framework. Leptos is not React, so you can't use Mantine with Leptos.
Bootstrap is primarily a matter of importing some CSS and using its classes. I'm not sure why this would need an example.
We have Tailwind examples specifically because Tailwind requires some additional setup for its build tools.
Feel free to make a PR contributing any example that you'd like, but most component libraries are either 1) framework specific (so not suitable for use with a different framework) or 2) CSS or web-component-based (so trivial to integrate with a new framework), so not really sure what you're looking for here.

I found that https://github.com/leptos-rs/leptos/tree/main/examples/tailwind_csr_trunk with Daisy gave me a good starting point. I think what I was initially looking for was like a full blown website template.

You might enjoy looking at some of the website/blog examples in awesome-leptos. I think I'll close the issue as I don't plan on adding a full-blown website template to the examples at this time.

authors: gbj gitmalong

repo: leptos-rs/leptos


text:
Versioning for nested packages

Clear and concise description of the problem
As a developer using Lerna-Lite I would love to have the possibility to work with nested packages in a way that changes to a package B being a subpackage of package A directory-wise do not lead to a version-change of package A on lerna version purely due to git diff but only if package A actaully depends on package B. This example reflects our current development structure but produces many new, but unnecessary, versions.
Suggested solution
Potential fix would be in packages/core/src/utils/collect-updates/lib/make-diff-predicate.ts. Replace the if-condition starting on line 65 with the following code:
if (formattedLocation) {
    // avoid same-directory path.relative() === ""
    const excludeSubpackages = execSync("find", [formattedLocation, "-mindepth", "2", "-type", "f", "-name", "package.json" ])
      .split("\n")
      .filter((file) => !!file)
      .map((file) => `:^${path.dirname(file)}`);

    // avoid same-directory path.relative() === ""
    args.push('--', formattedLocation, ...excludeSubpackages);
  }

Alternative
It would also be possible to exclude subpackages after getting the diff via packages like read-pkg-up but that feels suboptimal due to the overhead for diffing and necessary filesystem operations implied.
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

That's a bit outside of my comfortable zone and knowledge of the code, feel free to create a Pull Request with this change, however this seems like a potential change of behavior and it would probably be better to put this under a new flag to not break expectation.

@ghiscoding Yea, I do understand. Already thought about possible negative effects for others but could not find a problematic case, but that's just what I had in mind. But you do get what the change aims at, do you?
Just to give a bit more background: We are maintaining a > 600 packages Monorepo with some packages having something like 20 subpackages and other packages with > 60 dependencies from within the repo. So any unnecessary version can easily lead to a 100 new versions on packages that would really need no change at all.
I will see if I am able to deal with implementing a flag for this to be enabled when required and issue a PR ;)

wow that is quite a large monorepo, my biggest one is still below 20 packages and I use the same version for all packages (not independent). I assume that you are using the independent mode which is why you want less versions (probably make sense with such a large mono). So anyway, I would still prefer a flag to avoid possible surprises for some, though I know this would involve more code change, it's a safer approach

Already thought about possible negative effects for others but could not find a problematic case, but that's just what I had in mind. But you do get what the change aims at, do you?

@dlueth so I copied your code and gave it a try and wanted to see if any unit tests failed and we sure do have some failures (because we have 2 execSync instead of 1 with mocked returned values). That's fine, it can be fixed, but then after looking at the new command you added (which I have never used before), I just realized that it's a Unix only command so for a person like me that would definitely be a breaking change since I'm on Windows, so we definitely need a flag. Are there any possibilities to have a cross-browser command? Also what is this find command supposed to return, that is if I want to mock the returned values in all unit tests?

@ghiscoding Ah, you are right. Find is Unix/Linux/BSD/MacOS only. Have not worked with Windows for a looooong time so completely forgot that.
What the find command does is it looks for package.json files (-type f) any depth below (but not in) the current directory (-mindepth 2). So you effectively get a list of all subpackages of the current one and simple have to remove the filename to get their basedir which  is than added to git diff to be excluded.
Although this is most likely the "fastest" way it is not the only way - and, as you mentioned, not working on Windows :(
2 Options:

it should be relatively easy to replace the execSync find with node-glob (which would probably be the fastest way)
one could filter the changedFiles between line 44 & 46 of the same file and utilize something like load-pkg to find the nearest package.json for every changed file and check if the package-name it includes is the one of the package currently processed

@ghiscoding I will prepare a glob snippet for you, seems to better fit than globby

OK, as globby is already present I implemented it utilizing it. You need to import import globby, { GlobbyOptions } from 'globby';
In addition, replace the complete const excludeSubpackages assignment with:

@ghiscoding Just found a thing I do not quite understand (yet) that is somewhat related, but probably located somewhere else. We have, e.g., the following packages and directory structure:
@schema/webpageelement.dialog (path: packages/schema/WebPageElement/Dialog)
@schema/webpageelement.dialog.address (path: packages/schema/WebPageElement/Dialog/Address)
@schema/webpageelement.dialog.cart.add (path: packages/schema/WebPageElement/Cart/Add)

I changed something in @schema/webpageelement.dialog.address and, with the change, @schema/webpageelement.dialog does not get a version bump - which is what would be expected and imho correct.
But still, lerna version also wants to bump @schema/webpageelement.dialog.cart.add even though it is not changed at all and has no dependency on @schema/webpageelement.dialog.address anywhere.
Is there any other location dealing with what needs to be bumped I might have missed?

@dlueth I created a PR with the information you provided, could you please review it. I'm also not sure if the flag is a proper name (it could be changed), let me know if I misunderstood anything. The new option I created is the following
lerna version --exclude-subpackages

@ghiscoding Thanks, a lot of work you had to do! I reviewed as far as I could and commented where necessary. I think --exclude-subpackages shoudl better be --independent-subpackages because the relation change is in fact the other way round.

@dlueth thanks for the review, I'll rename it, however I think you might have forgot to finish the review because I don't see any comments in the PR

@ghiscoding Yep, sorry - forgot to submit the review... Still a bit lazy at 6:12 in the morning XD

and it's time for me to go to bed, it's past midnight here in Eastern Canada 😉
Thanks for providing the code, there's still a lot of Lerna's code that I'm unfamiliar with

@ghiscoding hope it's OK to reuse this issue instead of opening a new one for one related question left:
Do you happen to know if it is already possible to pass in/through excludeDependents to packages/core/src/utils/collect-updates/collect-updates.ts => collectUpdates function?
If so that would be absolutely awesome. If not, would it be possible make this a public flag as well?

@dlueth
It already seem to be used in the collectUpdates method which is then used by collectPackages

in collectUpdate we see
https://github.com/lerna-lite/lerna-lite/blob/dfbe1eb679a6c097bd35720cec4fc3e4d925b9b4/packages/core/src/utils/collect-updates/collect-updates.ts#L98-L102
and
https://github.com/lerna-lite/lerna-lite/blob/dfbe1eb679a6c097bd35720cec4fc3e4d925b9b4/packages/core/src/utils/collect-updates/collect-updates.ts#L117-L121
then used in collectPackages
https://github.com/lerna-lite/lerna-lite/blob/dfbe1eb679a6c097bd35720cec4fc3e4d925b9b4/packages/core/src/utils/collect-updates/lib/collect-packages.ts#L28-L30
So after looking at all that code, which came from Lerna, it does seem to be implemented. Have you tried it? Should I wait to prepare a release?

@ghiscoding nö need to wait with a release for this. But yes, I saw it implemented there but is it settable via a Lerna version CLI flag?

@dlueth
the docs is available on the filter-packages readme page, take a look and see if that answers your question

@ghiscoding so I need to install the optional filter package and I should be able to use this flag with lerna version? I wonder because docs nowhere state it can be used with version command

no it's a subpackage used by the core, it's installed by default and there's nothing for you to do to take advantage of it. I simply sent you the link to provide you the docs, which seems to be the only docs available, I believe it is global and can be used by any Lerna command (version, publish, run, ...).

@ghiscoding thx, will check that tomorrow and report back. That would be perfect for our usecase ;)

actually I might be wrong, it looks like it's only restricted to certain commands, so I don't think that would work for lerna version, we need to try to see

@dlueth so this might not work because like I found in the post just before it wasn't part of the version & publish version, but just the sake of trying it out, I added --exclude-dependentsto thelerna versionCLI in PR #505. I would totally suggest you to give it a try with the--dry-runoption just to see what it does, I added dry-run for troubleshooting  so it's helpful in that case. For a quick test, I added a console log in thecollectUpdateand it does logtrue`, so it is enabled but again I'm not sure if it will work since it wasn't intended to work with version & publish... anyway, give it a try and see what happens

@ghiscoding Release with the new flag works as perfectly fine & as expected. Regarding the --exclude-dependents:
I can confirm the CLI flag reaches the code but it has some quirks when used with lerna version. It seems as if it not only leads to no bump on the dependent package but does also not update the package.lock of it. So lerna version will afterwards fail when running npm install --package-lock-only. That might be fixable by utilizing workspace-protocol instead of fixed version numbers I presume. Will give it a try later

not surprising that there's quirks around the usage of that flag since it wasn't specifically added to the lerna version command.
If you're not using workspace: protocol (yarn/pnpm, not available for npm though), you can look at using --sync-workspace-lock which is an option I added to sync up the lock file by using the package manager to update the lock file, the main advantage is that since it's part of the version/publish process, it will also be committed. If on the other hand, you're using workspace: protocol then the --sync-workspace-lock is probably redundant
Also just as a reminder, I wrote it on the main readme but in case you didn't see... my main purpose when creating Lerna-Lite fork was to update all deps (when Lerna was no longer supported a year ago), make it more modular and add couple of features like the workspace: protocol and these tasks were all achieved. However there's still a lot of the internal code that I just don't understand or simply not familiar enough to take as a task (for example I'm a Windows person, never use Unix & Git commands are mostly googled when I need them). I'm mentioning this because adding exclude-dependents might be one of these things that I'm not sure that I have enough knowledge to proceed with a change, so at least now you know. Just trying my best 😉

@ghiscoding many thanks for all your efforts! In our case it seems to be sufficient to simply use "*" instead of a version for NPM. We do not need to publish to a registry luckily ;)

@dlueth did you end up using the --exclude-dependents with lerna version? If not then I'll remove it from the version CLI commands (rolling back PR #505).

@ghiscoding I did, yes. No need to roll it back but I am not 100% it works as it should in this case. Still testing

The trick I used so far, as NPM does not support workspace:*, is to simply put * into any internal depency versions. We can do this because we do NOT need to ever publish any package.

Whenever I go with multiple, I now always choose pnpm and workspace: protocol, the main difference is that it always use local code (it will never try to fetch from the registry) as oppose to using "*" with NPM which will try to fetch from the registry and only after use local code.
I don't remember or know how Lerna deals with *, what I can tell you is how workspace: is dealt with in the project since I did implement that portion. It's first used by lerna version with the line below. This will mutate/replace the workspace:* with the actual version number like "2.0.0" when calling this method (basically the updateLocalDependency() is the method that mutates workspace:* to a version number back and forth)
https://github.com/lerna-lite/lerna-lite/blob/7dd260f767edd1967985d49691725d733cd67117/packages/version/src/version-command.ts#L633-L644
in this process it also pushes git changes and creates git tags, then when the user is ready to publish it goes and call the same method to mutate back the package to its original version value workspace:* via this method call
https://github.com/lerna-lite/lerna-lite/blob/7dd260f767edd1967985d49691725d733cd67117/packages/publish/src/publish-command.ts#L676-L709
I'm not sure if similar mutations are done with *, possibly, but what I believe is that you aren't calling a publish then it might not be mutating back to its original value workspace:*, I'm actually not 100% on this but we can easily validate that by calling lerna version --dry-run and see what are showing up in one of the package.json (I'm guessing it's the version number, not workspace:* anymore) and if that is the case then the fact that you're not calling lerna publish, it might never mutating back to its original value for that reason... at the end of the day, Lerna internally will do something similar to what you're doing to mutate the version from/to workspace:* and a version number, the only difference is that in some cases this is done in memory rather than writing to the file (for example, I think it changes the version number in memory when creating the tarball and simply disregard the memory after it's published).
I most say, I don't fully understand why you're calling lerna version if you're not publishing? Are you using it just to create git tag for that version at that point in time, or is it for other reasons? Have you also searched on the original Lerna issues, I often search there to see if anyone posted anything similar

@ghiscoding I would say that our need is really special but I thought, and you seem to agree, that Lerna seems to be doing something similar under the hood ;)
We do not need to publish because the complete project is the monorepo. There is absolutely no need to ever use any of it's packages from somewhere else. But, what we need is the relationship between packages and, even more important, versions.
We do write ES6 packages with static imports but transform them, via Rollup, to a format that is a bit similar to AMD. So what is written as a static import becomes a dynamic dependency (if from the monorepo) and gets picked up by a loader in the frontend that loads it with its version and caches it in local storage for fastest reuse as possible. To further speed up the, in an AMD context, chain of step by step package resolution and dependency loading we have a lookup JSON included that contains every package, its version and all it's dependencies, recursively.
Just to share the rough idea XD

I still wish to see the workflow of the expected steps, looking at Lerna's issue, I found these 2 comments which might be helpful (or not).

Find only packages that did actually change by themselves
Bump their version according to relevant commit messages, in their own package.json only
Update root package-lock.json
Commit changes
Add version tags to the commit

Looking at the comments you linked I would presume that my current status is as close to these steps as we can get. Adding no git-tags via Lerna would mean we would have to re-implement it's logic of what actually changed. So it seems easier to read out and re-apply the tags Lerna added currently

After trying with dry-run, it looks like I was wrong in the sense that it doesn't replace any dependencies with workspace:*, it only bumps the package "version" property (which seems to be what you want). It will only do the workspace:* replacement when creating the tarball and publishing (which you aren't doing), so I guess you should be fine but maybe only when using workspace:*, I don't know what happens when you use only *, it might be doing something totally different. Any chances you can try with pnpm or yarn workspace: protocol? It looks like you might be more successful than with just *. If you want to test workspace: and see if that would work but don't want to test on your large monorepo, you could perhaps try it on Lerna-Lite which I saw you forked already, so maybe try it there and see if that would work (Lerna-Lite is using pnpm workspace:*)
For the steps that you provided, which ones are working and which ones are you having problems with?
Cheers

If you use * (with NPM that is) it replaces it with actual versions on lerna version. I tried Yarn briefly but it, in general, seems to be having problems resolving our packages at all (regarding workspaces and package paths) as both are deeply nested on the workspace as well as package name filesystem structure.
From the bullets above only 2. is actually not working for our case. The rest works just fine

I'm afraid there isn't much more I can do at this point, the implementation of * in Lerna's code have been in place for many years so I'm expecting it to be correct.
Personally with the issue you're having, I would give a try to pnpm workspace:*, I'm pretty sure you would have more luck with pnpm rather than npm and even yarn. The workspace: won't get replaced by an actual version since it only replaces when publishing and it's done in memory, I've checked that couple days ago. You also get a lot more support when using pnpm, they are pretty responsive and would fix any issues related to workspace if you have any. There's maybe a last thing you can try, but I'm not sure how successful that would be, which is to use file: or link: protocol

@ghiscoding yeah, I think we will try out pnpm when we find some time as our needs are clearly a bit special and most likely out of scope regarding Lerna+ NPM.
Thanks a thousand times for all your (awesome) efforts for such weird requirements ;)

@ghiscoding I ended up removing Lerna completely. I refactored most of our scripts to run without Lerna over the last 2 weeks and the only thing left we needed was Lerna version anyway. Having had the base from refactoring the other scripts a minimal, but sufficient, replacement for our case took approx half a day extra

oh ok, that's too bad you're not using anymore but if it simplifies your process then it's probably best for you.. and you can always use it on future project 😉 Cheers

authors: dlueth ghiscoding

repo: lerna-lite/lerna-lite


text:
Добавить возможность работать с fast_bitrix24 из приложения используя access_token вместо хука

Добрый день!
Планируем попробовать использовать ваше решение в нашихх приложениях для Б24. В целом это у нас успешно получилось с незначительными доработками вашего решения.
Пример использования
from fast_bitrix24 import Bitrix

# вместо хука указываем endpoint
webhook = "https://your_domain.bitrix24.ru/rest/"

# в параметре auth указываем токен полученный приложением access_token
auth = "f88f976600.................................6db4fcd154f24"
bx = Bitrix(webhook, auth)

а дальше все как обычно. Единственное появляется необходимость рефрешить этот токен, но это у нас происходит за пределами fast_bitrix24
позволяет не привязываться к конкретной безе хранения токенов доступа

отправил PR .
возможно это можно будет использовать?

Дублирует #243


text:
我们需要词库

兄弟 能不能把词库也一起发上来啊

这个工具没有词库。依赖的jieba分词带有词库。

@letiantian
您好，想请问一下，我可不可以理解为，这个代码的实际使用中，其实是不需要词库的？所以我想在您的代码中加入自己的词库，可以么？

authors: Koping changzeng someus


text:
Improve output data

Proposed changes
This PR improves output data.
Types of changes
What types of changes does your code introduce to the project: Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Update only documentation, not any source code.
[ ] Maintain repository

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of
them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before
merging your code.

[X] I have read the CONTRIBUTING doc
[ ] I have signed the CLA
[X] I have updated the change log (CHANGELOG.md)
[X] I have added tests that prove my fix is effective or that my feature works
[X] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you
did and what alternatives you considered, etc...

Pull Request Test Coverage Report for Build 4841312768

115 of 115 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 4705520999:
0.0%

Covered Lines:
490

Relevant Lines:
490

💛  - Coveralls

authors: coveralls fisuda

repo: lets-fiware/node-red-contrib-NGSI-LD


text:
Fix incorrect stat reporting

With the default Logger, mutilate was reporting the stddev as the
minimum and the minimum as the 1st percentile.

bump @leverich

authors: dschatzberg jmcadden

repo: leverich/mutilate


text:
how can I mock http service with h2non/gock and levigross/grequests

Hi,
how can I mock http service with h2non/gock and levigross/grequests?
Best regards,
Stéphane

I will look into it -- at the moment I don't support mocking the library

@harobed At least for me it works like charm. Below I implemented the simple mocking available at gock readme just changing the http call:
package test

import (
	"testing"

	"github.com/h2non/gock"
	"github.com/levigross/grequests"
	"github.com/nbio/st"
)

func TestSimple(t *testing.T) {
	defer gock.Off()

	gock.New("http://foo.com").
		Get("/bar").
		Reply(200).
		JSON(map[string]string{"foo": "bar"})

	res, err := grequests.Get("http://foo.com/bar", nil)
	st.Expect(t, err, nil)
	st.Expect(t, res.StatusCode, 200)

	body := res.Bytes()
	st.Expect(t, string(body)[:13], `{"foo":"bar"}`)

	// Verify that we don't have pending mocks
	st.Expect(t, gock.IsDone(), true)
}

I don't know if it helps you :)

Thanks :)

authors: harobed levigross marcosinger

repo: levigross/grequests


text:
disconnecting a monitor behavior

Many clients are not visible or accessible after disconnecting a secondary monitor in a 2-monitor > 1-monitor-configuration change.
As an example, when I move a client to workspace 2 on vdesk 1, and disconnect my monitor, the only way to retrieve the client on the now blank screen is with a dispatcher and/or custom hook script. With the secondary monitor disconnected, I hoped this plugin would move workspace-affected existing clients to accessible workspaces, which, for a monitor count of 1 I gather is any odd numbered hyprland workspace: 1,3,5,7,9 (accessible through switching to vdesks 1,2,3,4, and 5, respectively). It would be very helpful for the behavior of preserving workspace-affected clients by moving them to these single-monitor-setup-accessible workspaces to be implemented, possibly byway of a new rememberlayout parameter which enables this behavior when there is only a single monitor connected.

Hey, thank you for your report. Could you:

Provide simple instructions to reproduce this;
When this happens open a terminal and post here the output of hyprctl workspaces and hyprctl clients;
Run hyprctl dispatch vdeskreset. Does this solve your issue?

I load into my hyprland desktop environment with both monitors connected.
I open firefox to this issue on workspace 1 (screen 1 on vdesk 1).
I move to workspace 2 (screen 2 on vdesk 1) and open terminal.
I execute hyprctl workspaces:

workspace ID 1 (1) on monitor eDP-1:
monitorID: 0
windows: 2
hasfullscreen: 0
lastwindow: 0x2b045a0
lastwindowtitle: Terminal

workspace ID 2 (2) on monitor DP-1:
monitorID: 1
windows: 1
hasfullscreen: 0
lastwindow: 0x2b08970
lastwindowtitle: Terminal
```
5. I execute `hyprctl clients`:
```
Window 2b08970 -> Terminal:
mapped: 1
hidden: 0
at: 1549,13
size: 1893,1053
workspace: 2 (2)
floating: 0
monitor: 1
class: gnome-terminal-server
title: Terminal
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 2

Window 28fdb90 -> disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox:
mapped: 1
hidden: 0
at: 13,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: firefox
title: disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox
initialClass: firefox
initialTitle: Mozilla Firefox
pid: 104792
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 1
Window 2b045a0 -> Terminal:
mapped: 1
hidden: 0
at: 776,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: gnome-terminal-server
title: Terminal
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 0
    6. I disconnect my secondary display (DP-1) displaying a terminal client through workspace 2.     7. After my laptop screen returns from a quick black screen, I run `hyprctl workspaces` again (at this point my terminal client from workspace 2 has been disappeared):
workspace ID 1 (1) on monitor eDP-1:
monitorID: 0
windows: 2
hasfullscreen: 0
lastwindow: 0x2b045a0
lastwindowtitle: Terminal — wl-copy
workspace ID 2 (2) on monitor eDP-1:
monitorID: 0
windows: 1
hasfullscreen: 0
lastwindow: 0x2b08970
lastwindowtitle: Terminal
    8. And I run `hyprctl clients` again:
Window 2b08970 -> Terminal:
mapped: 1
hidden: 0
at: 13,13
size: 1510,934
workspace: 2 (2)
floating: 0
monitor: 0
class: gnome-terminal-server
title: Terminal
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 2
Window 28fdb90 -> disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox:
mapped: 1
hidden: 0
at: 13,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: firefox
title: disconnecting a monitor behavior · Issue #11 · levnikmyskin/hyprland-virtual-desktops — Mozilla Firefox
initialClass: firefox
initialTitle: Mozilla Firefox
pid: 104792
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 1
Window 2b045a0 -> Terminal — wl-copy:
mapped: 1
hidden: 0
at: 776,13
size: 747,934
workspace: 1 (1)
floating: 0
monitor: 0
class: gnome-terminal-server
title: Terminal — wl-copy
initialClass: gnome-terminal-server
initialTitle: Terminal
pid: 105865
xwayland: 0
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 0
```
9. I run hyprctl dispatch vdeskreset, and can access the terminal client on workspace 3 on vdesk2, as expected.
Before writing this and getting to this point, I first tried hyprctl dispatch vdesk reset, which did fix anything, because I entered the command incorrectly.
(Correctly) entering hyprctl dispatch vdeskreset fixed the issue.
Thank you

The issue is practically resolved, however, I still think it would be practical to implement this behavior automatically, maybe through a plugin configuration setting.

authors: LaptopDev levnikmyskin

repo: levnikmyskin/hyprland-virtual-desktops


text:
Update README section about customising location of Clang

Current README mentions following lines in config.cake:
  # If you have built your own version of Clang, you can modify
  # this variable to point to the CMAKE_INSTALL_PREFIX for
  # where you have installed your clang/libcxx build.
  clangInstallPrefix = '/usr'

and
  # Set this to the install-prefix of where libc++ is installed.
  # You only need to set this if it is not installed at the same
  # location as clangInstallPrefix.
  libCxxInstallPrefix = None # '/path/to/install'

but these lines are not preset there, at least not verbatim, this may be a bit confusing

Ah. My apologies for the confusion.
I updated the build system to allow specifying these paths as command-line args some time ago and must have missed updating the README.
You can now specify these paths with following arguments to cake:
--clang-executable=clang-8
--clang-install-prefix=/my/clang/install
--libcxx-install-prefix=/my/libcxx/install

I'll update the README to reflect these changes.

authors: boguscoder lewissbaker

repo: lewissbaker/cppcoro


text:
feature: support sql sink/source for DM database

close https://github.com/lf-edge/ekuiper/issues/1790

@Yisaer There are conflicts to rebase, please merge by rebase

@Yisaer There are conflicts to rebase, please merge by rebase

updated.

authors: Yisaer ngjaying

repo: lf-edge/ekuiper


text:
Add StarlingX; close #63

Signed-off-by: Dan Kohn dan@dankohn.com
@geseiler I created this pull request for you to implement https://github.com/lf-edge/lfedge-landscape/issues/63.
If StarlingX created a repo at https://github.com/openstack/starlingx that included all of the other StarlingX repos as submodules, it would allow the display here to show accurate info of # of contributors. Note that OpenStack does that with https://github.com/openstack/openstack.

LGTM.

Thank you everyone for your help.
This is great.
-glenn
From: Wesley Reisz [mailto:notifications@github.com]
Sent: Tuesday, August 13, 2019 11:55 AM
To: lf-edge/lfedge-landscape
Cc: Seiler, Glenn; Mention
Subject: Re: [lf-edge/lfedge-landscape] Add StarlingX; close #63 (#66)
@wesreisz commented on this pull request.
LGTM
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lf-edge/lfedge-landscape/pull/66?email_source=notifications&email_token=ADUAH4FIALZ3Z7QZIF7J2BDQEL7SDA5CNFSM4ILNRXD2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCBOFW4Q#pullrequestreview-274488178, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADUAH4BBQQAVMCRY3DDEFEDQEL7SDANCNFSM4ILNRXDQ.

authors: dankohn geseiler wesreisz

repo: lf-edge/lfedge-landscape


text:
刷不进去uboot，正常开机黑灯，无法进入系统

老大你好，我机器ax1800pro，被我在ssh里调整分区后。重启就黑灯，进不去系统 直接9008。
我在9008里，可以刷gpt，刷固件，但就是刷不进uboot。
现在能通过9008的临时环境来引导进系统，里面能ssh操作等，有什么思路来排查解决这个问题呢

从描述看可能eMMC有问题了吧，不确定，需要TTL看问题，启动停在哪里

无法了，按照了你的指示 用ttl查看 可是。看着都正常。这个emmc，我只做分区调整为啥会搞坏呢。再ssh里，如何验证各个分区等是否正常的
 [2024-10-02 00:49:10.706] Request for: / [2024-10-02 00:49:10.706]  [2024-10-02 00:49:10.706]  [2024-10-02 00:49:10.902] Request for: /style.css [2024-10-02 00:49:10.902]  [2024-10-02 00:49:10.902]  [2024-10-02 00:49:15.846] Request for: /uboot.html [2024-10-02 00:49:15.846]  [2024-10-02 00:49:15.846]  [2024-10-02 00:49:16.042] Request for: /style.css [2024-10-02 00:49:16.042]  [2024-10-02 00:49:16.042]  [2024-10-02 00:49:32.180] Data will be downloaded at 0x50000000 in RAM [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180] Upgrade type: U-Boot [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180] Upload file size: 644624 bytes [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180] Loading: ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ####################################### [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]          ################# [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180] done! [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.180]  [2024-10-02 00:49:32.275] Bytes transferred = 644624 (9d610 hex) [2024-10-02 00:49:32.275]  [2024-10-02 00:49:32.275]  [2024-10-02 00:49:32.310] md5 for 50000000 ... 5009d610 ==> 2b37c2b85b009a93a1a01ed80e5bc47b [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310] **************************** [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310] *     U-BOOT UPGRADING     * [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310] * DO NOT POWER OFF DEVICE! * [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310] **************************** [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310] Executing: mw 0x5009d610 0x00 0x200 && mmc dev 0 && flash 0:APPSBL 0x50000000 $filesize && flash 0:APPSBL_1 0x50000000 $filesize [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.310]  [2024-10-02 00:49:32.420] switch to partitions #0, OK [2024-10-02 00:49:32.420]  [2024-10-02 00:49:32.420] mmc0(part 0) is current device [2024-10-02 00:49:32.420]  [2024-10-02 00:49:32.420]  [2024-10-02 00:49:32.420]  [2024-10-02 00:49:32.420] MMC erase: dev # 0, block # 13346, count 1280 ...  [2024-10-02 00:49:32.464] 1280 blocks erased: OK [2024-10-02 00:49:32.464]  [2024-10-02 00:49:32.464]  [2024-10-02 00:49:32.464]  [2024-10-02 00:49:32.464] MMC write: dev # 0, block # 13346, count 1260 ...  [2024-10-02 00:49:32.510] 1260 blocks written: OK [2024-10-02 00:49:32.510]  [2024-10-02 00:49:32.510]  [2024-10-02 00:49:32.510]  [2024-10-02 00:49:32.510] MMC erase: dev # 0, block # 14626, count 1280 ... 1280 blocks erased: OK [2024-10-02 00:49:32.510]  [2024-10-02 00:49:32.510]  [2024-10-02 00:49:32.510]  [2024-10-02 00:49:32.510] MMC write: dev # 0, block # 14626, count 1260 ...  [2024-10-02 00:49:32.527] 1260 blocks written: OK [2024-10-02 00:49:32.527]  [2024-10-02 00:49:32.527] HTTP ugrade is done! Rebooting... [2024-10-02 00:49:32.527]  [2024-10-02 00:49:32.527]  [2024-10-02 00:49:32.527]  [2024-10-02 00:49:32.527]  [2024-10-02 00:49:35.543] resetting ...

检查9008的两个焊盘是否被挤压粘连在一起了，需要断电，用小刀轻轻分开。
很多人都出现这个问题，我用镊子短接，一点问题都没有

也看了，还用万用表通联量了。没通。靠边的那个点和和那个大铜圈有读数是960上下。和另一个点量是通联的，算了。挂着卖或者就拿9008引导算了。哎

看着焊盘没问题。9008进uboot打开 192.168.1.1/img.html 重刷gpt看看，或者直接刷合并gpt到APPSBL分区的img镜像，最好是你自己的备份。下面这个是我的镜像，刷了之后环境变量的分区APPSBLENV会被我的覆盖，不知道对跑分是否有影响，自行斟酌JDCloud_AX1800_Pro_IMG.zip

天，老大太强了。我再9008临时web里的img里。上传了你的bin，已经正常。简直是路由器的再生父母。 感谢感谢，溢于言表。林伟老大你用哪个uboot，哪个分区，哪个系统呢，我跟着你一起养老用了。不折腾了

看教程按自己喜欢的刷，我已经不用亚瑟了