"edgeless" option for a vertex on a SODG

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Oops, I failed. You can see the full log here (spent 1min)
(/usr/local/texlive/2023/texmf-dist/tex/generic/infwarerr/infwarerr.sty
Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
) (/usr/local/texlive/2023/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO)
)
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode not found.
)
\openout3 = `_eolang-xe/eolang-phi.pl'.

eolang: File with Perl script '_eolang-xe/eolang-phi.pl' saved

! LaTeX Error: File `xstring.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
<read *>

l.319 \makeatletter
                   \newcommand\phiq[1]{%^^M
Here is how much of TeX's memory you used:
 3534 strings out of 477097
 59962 string characters out of 5800493
 1908875 words of memory out of 5000000
 24503 multiletter control sequences out of 15000+600000
 558077 words of font info for 37 fonts, out of 8000000 for 9000
 430 hyphenation exceptions out of 8191
 80i,0n,93p,325b,87s stack positions out of 10000i,1000n,20000p,200000b,200000s

No pages of output.

-----------------------------------------------------------------------------------
          --> failed

  Check failed with difference files
  - ./build/test/macros.luatex.diff
  - ./build/test/macros.pdftex.diff
  - ./build/test/macros.xetex.diff
  - ./build/test/phiq.luatex.diff
  - ./build/test/phiq.pdftex.diff
  - ./build/test/phiq.xetex.diff
  - ./build/test/phiquation.luatex.diff
  - ./build/test/phiquation.pdftex.diff
  - ./build/test/phiquation.xetex.diff
  - ./build/test/sodg.luatex.diff
  - ./build/test/sodg.pdftex.diff
  - ./build/test/sodg.xetex.diff

====================
Tests failed, zip stage skipped!
====================

container 9b0785cb160bb7a6c046982ce9614520214c76e8b8cf61976e67f222657ff314 is dead
Wed 26 Jul 2023 08:21:23 PM CEST

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Oops, I failed. You can see the full log here (spent 3min)
File eolang.sty already exists somewhere on the system.
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdftex)
 restricted \write18 enabled.
entering extended mode
(./eolang.ins (/usr/local/texlive/2023/texmf-dist/tex/latex/base/docstrip.tex
Utility: `docstrip' v2.6b <2022-09-03>
English documentation    <2022-09-03>

**********************************************************
* This program converts documented macro-files into fast *
* loadable files by stripping off (nearly) all comments! *
**********************************************************

********************************************************
* No Configuration file found, using default settings. *
********************************************************

)
File eolang.sty already exists somewhere on the system.
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
Typesetting eolang
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
 ! Compilation failed
container 593cd29e5e4a4a7928fcd30262608bd50e161fc874c4e80ccf42bc41f510b2e1 is dead
Wed 26 Jul 2023 08:34:23 PM CEST

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Oops, I failed. You can see the full log here (spent 3min)
File eolang.sty already exists somewhere on the system.
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdftex)
 restricted \write18 enabled.
entering extended mode
(./eolang.ins (/usr/local/texlive/2023/texmf-dist/tex/latex/base/docstrip.tex
Utility: `docstrip' v2.6b <2022-09-03>
English documentation    <2022-09-03>

**********************************************************
* This program converts documented macro-files into fast *
* loadable files by stripping off (nearly) all comments! *
**********************************************************

********************************************************
* No Configuration file found, using default settings. *
********************************************************

)
File eolang.sty already exists somewhere on the system.
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
Typesetting eolang
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
 ! Compilation failed
container<PHONE_NUMBER>a7f77d9475561e55fa0e73ee23cb4e1a542c4b874b09cf623d954d is dead
Wed 26 Jul 2023 08:42:26 PM CEST

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Oops, I failed. You can see the full log here (spent 3min)
\@tempa=\box80
\@tempa=\box81
\@tempa=\box82
\@tempa=\box83
\@tempa=\box84
\@tempa=\box85
\@tempa=\box86
\@tempa=\box87
\@tempa=\box88
\@tempa=\box89
\@tempa=\box90
\@tempa=\box91
\@tempa=\box92
\@tempa=\box93
\@tempa=\box94
\c@minrows=\count269
\c@columnbadness=\count270
\c@finalcolumnbadness=\count271
\last@try=\dimen149
\multicolovershoot=\dimen150
\multicolundershoot=\dimen151
\mult@nat@firstbox=\box95
\colbreak@box=\box96
\mc@col@check@num=\count272
)
\GlossaryMin=\dimen152
\c@GlossaryColumns=\count273
\check@sum=\count274
\bslash@cnt=\count275
\wrong@table=\toks17
\c@CodelineNo=\count276
\@temptokenb=\toks18
)) (/usr/local/texlive/2023/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
)

! LaTeX Error: File `biblatex.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
<read *>

l.59 \addbibresource
                    {eolang.bib}^^M
Here is how much of TeX's memory you used:
 1083 strings out of 476351
 15666 string characters out of 5786270
 1916244 words of memory out of 5000000
 22227 multiletter control sequences out of 15000+600000
 558832 words of font info for 37 fonts, out of 8000000 for 9000
 430 hyphenation exceptions out of 8191
 61i,1n,65p,271b,91s stack positions out of 10000i,1000n,20000p,200000b,200000s

!  ==> Fatal error occurred, no output PDF file produced!
+ exit -1
container 2a1d3cf31a10f9cb9d32cfe369b8ea8d4d750909cb224be69809da6538d61c6c is dead
Thu 27 Jul 2023 04:17:51 AM CEST

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Oops, I failed. You can see the full log here (spent 3min)
(/usr/local/texlive/2023/texmf-dist/tex/latex/base/atveryend-ltx.sty
Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac
kage
with kernel methods
)
\Fld@listcount=\count458
\c@bookmark@seq@number=\count459

(/usr/local/texlive/2023/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO)

(/usr/local/texlive/2023/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
)
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
85.
)
\Hy@SectionHShift=\skip80
) (/usr/local/texlive/2023/texmf-dist/tex/latex/adjustbox/trimclip.sty
Package: trimclip 2020/08/19 v1.2 Trim and clip general TeX material
(/usr/local/texlive/2023/texmf-dist/tex/latex/collectbox/collectbox.sty
Package: collectbox 2022/10/17 v0.4c Collect macro arguments as boxes
\collectedbox=\box134
) (/usr/local/texlive/2023/texmf-dist/tex/latex/adjustbox/adjcalc.sty
Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back
-ends (calc, etex, pgfmath)
)
\tc@llx=\dimen288
\tc@lly=\dimen289
\tc@urx=\dimen290
\tc@ury=\dimen291
Package trimclip Info: Using driver 'tc-pdftex.def'.
(/usr/local/texlive/2023/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
File: tc-pdftex.def 2019/01/04 v2.2 Clipping driver for pdftex
)))

! LaTeX Error: File `href-ul.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
<read *>

l.68 \PageIndex
               ^^M
Here is how much of TeX's memory you used:
 34479 strings out of 476351
 687391 string characters out of 5786270
 1917244 words of memory out of 5000000
 55042 multiletter control sequences out of 15000+600000
 558832 words of font info for 37 fonts, out of 8000000 for 9000
 430 hyphenation exceptions out of 8191
 96i,1n,101p,426b,196s stack positions out of 10000i,1000n,20000p,200000b,200000s

!  ==> Fatal error occurred, no output PDF file produced!
+ exit -1
container 5460a7112b6565b5a376c0f2d93cfefcede258772917059c8f8501cc4159bc3c is dead
Thu 27 Jul 2023 04:23:30 AM CEST

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Oops, I failed. You can see the full log here (spent 3min)
Package: collectbox 2022/10/17 v0.4c Collect macro arguments as boxes
\collectedbox=\box134
) (/usr/local/texlive/2023/texmf-dist/tex/latex/adjustbox/adjcalc.sty
Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back
-ends (calc, etex, pgfmath)
)
\tc@llx=\dimen288
\tc@lly=\dimen289
\tc@urx=\dimen290
\tc@ury=\dimen291
Package trimclip Info: Using driver 'tc-pdftex.def'.
(/usr/local/texlive/2023/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
File: tc-pdftex.def 2019/01/04 v2.2 Clipping driver for pdftex
))) (/usr/local/texlive/2023/texmf-dist/tex/latex/href-ul/href-ul.sty
Package: href-ul 31.10.20220 0.3.0 Underlined Hyperlinks
(/usr/local/texlive/2023/texmf-dist/tex/generic/ulem/ulem.sty
\UL@box=\box135
\UL@hyphenbox=\box136
\UL@skip=\skip81
\UL@hook=\toks44
\UL@height=\dimen292
\UL@pe=\count460
\UL@pixel=\dimen293
\ULC@box=\box137
Package: ulem 2019/11/18
\ULdepth=\dimen294
))
\@indexfile=\write6
\openout6 = `eolang.idx'.

Writing index file eolang.idx
\@glossaryfile=\write7
\openout7 = `eolang.glo'.

Writing glossary file eolang.glo

! LaTeX Error: File `hypdoc.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
<read *>

l.72 \begin{document}
                     ^^M
Here is how much of TeX's memory you used:
 34638 strings out of 476351
 690283 string characters out of 5786270
 1917244 words of memory out of 5000000
 55190 multiletter control sequences out of 15000+600000
 558938 words of font info for 38 fonts, out of 8000000 for 9000
 430 hyphenation exceptions out of 8191
 96i,1n,101p,426b,196s stack positions out of 10000i,1000n,20000p,200000b,200000s

!  ==> Fatal error occurred, no output PDF file produced!
+ exit -1
container 506acd81a207911d5561728e4a45ce08b4fcc9053e59a90b21fc57dc710d0638 is dead
Thu 27 Jul 2023 04:30:17 AM CEST

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Oops, I failed. You can see the full log here (spent 3hr)
)
File eolang.sty already exists somewhere on the system.
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdftex)
 restricted \write18 enabled.
entering extended mode
(./eolang.ins (/usr/local/texlive/2023/texmf-dist/tex/latex/base/docstrip.tex
Utility: `docstrip' v2.6b <2022-09-03>
English documentation    <2022-09-03>

**********************************************************
* This program converts documented macro-files into fast *
* loadable files by stripping off (nearly) all comments! *
**********************************************************

********************************************************
* No Configuration file found, using default settings. *
********************************************************

)
File eolang.sty already exists somewhere on the system.
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
Typesetting eolang
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
5114afc501f16d3777aca93ff8d5cb4ea72a49426a59e3cb3a1c19fd8971fa24
'pid' file is absent on the server after the end of operation; it seems that we didn't manage to start Docker container correctly

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor stop

@rultor stop

@yegor256 OK, I'll try to stop current task.

@rultor release, tag is 0.14.0

@rultor stop

@yegor256 OK, I'll try to stop current task.

@rultor stop

@yegor256 Sorry, I failed to stop the previous command, however it has the following result: Oops, I failed. You can see the full log here (spent 25min)
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdftex)
 restricted \write18 enabled.
entering extended mode
(./eolang.ins (/usr/local/texlive/2023/texmf-dist/tex/latex/base/docstrip.tex
Utility: `docstrip' v2.6b <2022-09-03>
English documentation    <2022-09-03>

**********************************************************
* This program converts documented macro-files into fast *
* loadable files by stripping off (nearly) all comments! *
**********************************************************

********************************************************
* No Configuration file found, using default settings. *
********************************************************

)
File eolang.sty already exists somewhere on the system.
Overwrite it if necessary? [y/n]
\answer=
Generating file(s) eolang.sty

Processing file eolang.dtx (package) -> eolang.sty
Lines  processed: 1656
Comments removed: 828
Comments  passed: 0
Codelines passed: 814

To finish the installation you have to move the ".sty"
file into a directory searched by TeX. To produce the
documentation run the file ".dtx" through LaTeX. If any
questions, submit a new GitHub issue.
 )
No pages of output.
Transcript written on eolang.log.
Typesetting eolang
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=pdflatex)
 \write18 enabled.
entering extended mode
6e3026ea34d640d7cd1135d1b204f4e3ccf35bca76be755ac395ea1c0b414eb8
Error response from daemon: Cannot kill container: 6e3026ea34d640d7cd1135d1b204f4e3ccf35bca76be755ac395ea1c0b414eb8: Container 6e3026ea34d640d7cd1135d1b204f4e3ccf35bca76be755ac395ea1c0b414eb8 is not running
container 6e3026ea34d640d7cd1135d1b204f4e3ccf35bca76be755ac395ea1c0b414eb8 is dead
Wed 02 Aug 2023 11:14:40 AM CEST

@rultor release, tag is 0.14.0

@rultor release, tag is 0.14.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.14.0

@yegor256 Done! FYI, the full log is here (took me 5min)


Preserve intendation in code blocks

The generated code blocks do not have any intendation which makes it hard to read.
With this change, the intendation is preserved in the case that the code block is defined with `

Thanks!

Published in 0.20.27


Should provide a way to access the project JSON.

Can use those APIs provided by require('suave.utils.json'), as #13 has been done.

5597525


Add Support For New Transactions

Motivation
Add new transactions supported by the ledger app.
Changes

Upgrade nns-js
Fix API after upgrading to nns-js
New neuron commands: set-dissolve-delay, merge-neurons, split, leave-community-fund
New command group: node-provider with command set-rewards-account
Add new util to assert ledger version.

@peterpeterparker @mstrasinskis please review


how to use numeric literal in fp16

code like this
qk = tl.zeros([BLOCK_M, BLOCK_N], dtype=tl.float16)
qk += tl.where(mask, tl.dot(q, k, out_dtype=tl.float16), 0.0)

would trigger
AssertionError('initial value for `qk` is of type <[64, 64], fp16>, but the then block redefines it as <[64, 64], fp32>')

So how to represent numeric literals in fp16 or other type?
Besides, why tl.where does not maintain type consistence of the two candidates?

What are the data types of q and k?

What are the data types of q and k?

fp16

    if a_ty.is_fp32() or b_ty.is_fp32():
        return tl.float32

I think you have to explicitly specify that 0.0 is float16 in this case

    if a_ty.is_fp32() or b_ty.is_fp32():
        return tl.float32

I think you have to explicitly specify that 0.0 is float16 in this case

Yes，I wonders how to. Is there some special suffix to specify this is a float16 0.0 like 0.0f, 0.0F, ...?

Oh I get it, maybe tl.constexpr(0.0).to(tl.float16) is okay.

Have you solved it?

Oh I get it, maybe tl.constexpr(0.0).to(tl.float16) is okay.

No. I cannot find a way to express numeric literal in fp16. I got through it with
tl.full(shape, value, dtype). After all, a tensor with all the same values is not expensive to use.


Add new DCO attribute to project and group push rules

The reject_non_dco_commits was recently added to the project and group push rules API; this adds support to the library.

@svanharmelen This is ready for your review!


Implement clustering-only chains

In the current solution, the clustering is supported as a supplementary task in the classification chain. However, composite models can be useful to improve the quality of the clustering problem's solution.
This functionality should be implemented and tested.

Closed as research task that is not very actual now.


[bug] Switch from sidebar to my code, it writes on my code.

I couldn't reproduce it on my end. Could you provide the steps to reproduce it?

lead aa
ask it to fix code
while sidebar is echoing, switch to vim edit code window
the LLM reply is written to the code

This is probably a bug, we might need to do two cursor instead of sending the written buffer under the current cursor


Submit link does not redirect

The link at the bottom of https://botblock.org/lists/ uses SPA routing instead of browser navigation, and so does not redirect properly.

Fixed in https://github.com/botblock/static-site/commit/424c62f81cd252c86d99be582a71ab71248b1a6f


⚠ Punto de Fuga has degraded performance

In 6010f17, Punto de Fuga (http://puntodefugapodcast.com) experienced degraded performance:

HTTP code: 200
Response time: 14009 ms

Resolved: Punto de Fuga performance has improved in 942f4fe.


Use of UnknownUpdateManager

What is the idea behind UnknownUpdateManager? Looks like it only would get used if a device reports with the controllerId unknown.
Can I remove this (and its base class)?

Should be fine to remove, its use case was for devices that are not set up yet, so it should always install the latest firmware.  This is because we run from a USB drive initially, then that reaches out to the firmware server for the first update.

I wonder if there are other users who would have a similar use case, and if its worth leaving in some sensible default value for devices that need an initial install.  Open to changing it, or even adding it as a setting.

Currently, a device that newly registers already gets the latest matching version (based on the reported model / revision).
Is your use-case different as the devices don't have an identifier yet? But even then: such devices would (without the UnknownUpdateManager) register as "unknown" and get the latest updates as well.

The main case is devices that we know don't have a UUID yet, and so shouldn't be registered because their data won't be tracked accurately.

How should we continue with this use case of devices that initially don't have a unique identifier?
I see two options:

Add DDI API Integration test that covers this use case - and fix the problems that the test will likely find.
Remove the code that supports this untested use case.

I'm not strictly opposed to either option, I would prefer to add support for it, but I think that might be tough.  Do you have any better ideas than the way it is being done currently, like some sort of "initial provisioning" handler?

What do we want to do here?  This seems to be the main thing left for 0.3.0, and I'm not even certain what the goal/problem is here...

If currently it is not used then we should remove it. Still have it on my list to wrap my head around your use case of unknown devices.


Andrew/cat 271

changes look good to me, but the build is failing. I'll approve the PR once the build is functioning.


Testing with ph

Cool server!
I tested it out with the official ph client from here: https://github.com/michael-lazar/ccso-nameserver.
When ph connects, it immediately sends a few commands. These all need to return success responses or ph will immediately disconnect:
id 0
siteinfo
status
siteinfo

The id command is used to identify the user to the server (it's just the user's UID). This is only for logging purposes, so all you need to do is accept this command and return a 200 status.
I have no idea why siteinfo is sent twice. The software is very brittle...
status was returning two success codes, a 201 and then a 200. This confused ph and every time I typed a command, it would print the response from the previous command.
With those issues fixed, it works!
Launching ph client in interactive mode
Don't forget to specify the server host with '-s hostname'
100:Ph client $Revision: 7.6 $
100:SomnolCCSO v0.2
100:Serving all your "who are these people" needs since 2024
201:Database ready, read-only.
200:Ok.

ph> siteinfo
-200:SomnolCCSO v0.2
-200:mailfield:email
-200:mailbox:email
<EMAIL_ADDRESS>-200:details:gopher://gopher.somnolescent.net/1/ccso/
200:Ok.
ph> status
100:SomnolCCSO v0.2
100:Serving all your "who are these people" needs since 2024
201:Database ready, read-only.
ph> query name="Cammy"
----------------------------------------
 name: Cammy ('mariteaux')
 sex: Male
 species: European badger, Irish Red-and-White Setter, snow leopard, river otter, Flareon
 universe: Earth
 affiliation: Somnolescent
 discord: mariteaux
 site: http://mariteaux.somnolescent.net, http://cammy.somnolescent.net
 email<EMAIL_ADDRESS> projects: Too many to fuckin count
----------------------------------------
ph>

Excellent! Thanks so much for testing it with the real client and submitting patches--like I said, I don't have an easy way to play with it right now, so I was just going off what third party clients did. If it works with ph proper, I think we can call it legit.


setup user-guide

A decent start at this.

I included some empty docs and comments in various places to provide a sense of the overall structure of this.
One thing I can't seem to get to work is including the following in user-guide/_metadata.yml:
knitr:
  opts_chunk:
    collapse: true
    comment: "#>"

It only seems to work if included in the yaml of each document.
For reference:  https://quarto.org/docs/computations/execution-options.html#knitr-options


"Only orthogonal map types are supported in this version of Phaser"

https://github.com/photonstorm/phaser/blob/28e27647233cfa1fcefa4db1ccc7101a51264cac/src/tilemaps/parsers/tiled/ParseJSONTiled.js#L41
When will non-orthogonal maps be supported? Specifically for my use-case, hexagonal maps?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Honestly, no idea. It's not on our roadmap yet, but we'd happily take a community contribution for the feature.

@photonstorm ok - thanks for getting back to me. Any tips/guidance/documentation on the best approach to make a start on that?
Best as a third party plugin (any examples on how to make plugins)? Or best to fork Phaser and open a PR to get it into "core"?

The different between maps might be transferring position between tileX/tileY and worldX/worldY.
In orthogonal map, tileX could be calculated by worldX, and wordX could be calculated by tileX.
In isometric, staggered, hexagonal map (there are 4 sub-types of hexagonal map), tileX might be calculated by ( worldX, worldY ), and wordX might be calculated by (tileX, tileY)
Here are some formulas of transferring between tileX/tileY and worldX/worldY in orthogonal and isometric map.
But adding additional parameter might break current function interface, is there better solution to extend the map supporting?

@njt1982 If you're looking for examples on plugins there's examples here, in particular the global and scene level plugins http://labs.phaser.io/index.html?dir=plugins/&q=
For a scene level plugin, its useful to inherit from Phaser.Plugins.BasePlugin. here's a little code sample:
export default class YourPlugin extends Phaser.Plugins.BasePlugin {
  constructor(scene) {
    super('YourPlugin ', scene);
    this.scene = scene;
  }

  //reserved method will fire on init
   init(name) {
    console.log(this.scene); //here is your scene.
  }

  //arbitrary method
  test() {
    console.log(this.scene); //here is your scene.
  }
}

and you register this plugin in your game config like:
plugins: {
    scene: [
      {
        key: 'YourPlugin',
        plugin: YourPlugin,
        mapping: 'yourPlugin'
      }
    ]
  },

now yourPlugin is accessible attached to the scene.

I'm currently working on making this work.
I'm fairly (very) new to Phaser 3, and any orientation (see what I did there?) on this topic would be helpful.
@photonstorm, What components are responsible or have something to do with the implementation of the map orientation?
For now, I see that I have to modify almost the whole /tilemaps folder: parsers, coordinate mappers...
I can make the game render the tile positions properly, but the tile culling doesn't seem to properly identify which tiles to cull.
Is there anything outside /tilemaps that needs to be modified to make this work?

Will full isometric support arrive in Phaser 3 in near future? Are there plans? I know there is a plugin (for Phaser 2, ported to v3), but it can't load Tiled maps. I would be more than happy if Phaser natively would support isometric maps. If necessary, I'm willing to put up a small - for the time being - bounty for it.

It won't happen any time soon unless someone from the community contributes it.

Okay, I put up a bounty of 100$ for isometric map support.

Would anyone be interested in implementing it? Interested? - Then how much is your work worth to you? For a start, I gave 200$ total for isometric support for now (which is not much I think) and I'm willing to give more.
We should pool money. I think it's time, now that Phaser 3 is stable for a while, this could be the next great feature.
Also is there a site you'd recommend where I could better promote this feature and which is read by many Javascript developers? I think the visibility here is almost zero.

Thank you for opening this feature request (all those months ago!). As the development of Phaser 4 has now started I am tidying-up the repo and closing off old issues that won't be directly fixed or implemented in Phaser 3 by me. I would still consider community PRs that address this issue, however, and have left the GitHub tags intact so others can track them if they wish to get involved. However, I'm afraid this is no longer a feature that will be added to v3.

Thank you photonstorm, I understand. But now that the github issue is closed, it is automatically closed on bountysource as well, which means nobody can claim it or give more money to the cause. Is this your intend? Should I open a new issue for v4 now or later? How should we handle this?

I know, but it's been well over 2 years and no-one has contributed anything, so I think we can safely say it's never likely to happen.

Maybe that's true, nobody knows for sure. I would like to raise my stake to 400$ this month but now can't. Previously nobody contributed anything for free. I'm hoping that money matters. Of course the 200$ previously was not enough. I'd like to contribute money every few months for this issue until it's done. Is this ok for you?

Fine, go ahead, but I'll be surprised if it makes a difference (as it's a massive feature to ask for)

I believe I can implement this, will begin tomorrow.

Thank you, that would be perfect.
The issue opener njt1982 needed hexagonal map support. I on the other hand am interested in isometric map and Tiled map support. If you want the bounty of $400 it's up to you if you want to do hexagonal also or only add complete isometric support, which of course includes Tiled map support.

hello, i decided to publish my isometric implementation because i found nothing (and i searched a lot. and i tried a lot with statictilemaplayer. lol) for my use case (isometric tilemaps, big maps, fast).  in the end i coded it from "scratch". its based on blitter-component. its in development, its ugly, contains a lot of coding errors, is unstable, ... i dont know.
demo  https://client.xdeltax.now.sh/#/game/phaser
repo https://github.com/xdeltax/xdx-rippms
you can try it on mobile. its a pwa. open on chrome for android: https://client.xdeltax.now.sh add to home-screen

As you guys can see I made a PR over two weeks ago and got no feedback or suggestions, which I was planning on in order to advance.
I totally respect the project's pace, not complaining here, but since if I don't do it soon it will kind of leave my mental headspace, I'll go ahead and implement the staggered isometric orientation on my own (which is very similar to isometric) in the following days.
I'd really rather wait until I have feedback and people test stuff out before I begin implementing hexagonal, because it's more complicated than just adding a different tiletoworld/worldtoTile, but if in two weeks there's no advancement, I will just do it before my brain phases out (lol) the project's structure.

@svipal, thank you, I'm really grateful you took the opportunity to make this real. Kudos to you! I was busy with other work and currently I'm preparing to test the new mode. But I won't respond quickly as I have other stuff to do currently :(
I expect if this is finally merged and released there will be big interest in these new map types. I can't wait to see what people make of it. I hope you and @photonstorm can work together to get this merged and released in the near future, hopefully early this year. I'll keep watching your progress.

Hey there,
I did a test with isometric_grass_and_water (from tiled, see https://github.com/bjorn/tiled/blob/master/examples/isometric_grass_and_water.tmx), changed some things (csv format, layers) and loaded it. It seems to work fine. Good job @svipal :) I'm very happy. Yes, I really like to see staggered as well, please continue as you may.
While I won't comment on the implementation I'm hoping that @photonstorm accepts it if he has time.

@paaaav If at any point in your code you use tileToWorldX or tileToWorldY, you get warned as these functions can't succeed independently with a standard isometric layout. You have to deal with both coordinates at once, because the formulas require it :
world.x =  (tileX - tileY) * (tileWidth / 2);
world.y = (tileX + tileY) * (tileHeight / 2);

You can see it well explained for instance in this link : http://clintbellanger.net/articles/isometric_math/
Staggered is coming by the end of the week.

Hexagonal and staggered are implemented !
Please test them out if you can.

@svipal I wasn't using them :) It's a big project and I'm doing my own calculations.
Nevertheless, I build your phaser repo and found the culprit: in the function collideSpriteVsTilesHandler there were two "separate" calls to tileToWorldX and ...Y. I changed them to
[tileWorldRect.left, tileWorldRect.top] = [tilemapLayer.tileToWorldXY(tile.x,tile.y)];

which seems to work. In the meantime the console spam doesn't trash my browser anymore.

Thanks a lot :)
Sorry I didn't catch that...
Fixed in the build I pushed.

So far so good :)
Are the world bounds isometric? I think physics.world.setBounds(x, y, w, h) sets a rectangle. Can this be adapted to isometric in Phaser's engine? Maybe it already does that, I am not sure.
I've seen some – I think –  drawing issues. You can see it here It's what happens when you draw one or more maps adjacent.
Also how would you recommend to do z-ordering in isometric? Is this already implemented? Do I have to set depth to each tile with varying values?

Thank you for submitting this feature request. We have implemented this and the feature has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


CC0016 should not apply to readonly members

Suppose I have the following class:
public class HttpHandlerRouteHandler<THttpHandler> : IRouteHandler where THttpHandler : IHttpHandler
{
    readonly Func<RequestContext, THttpHandler> _handlerFactory;

    public HttpHandlerRouteHandler(Func<RequestContext, THttpHandler> handlerFactory)
    {
        if (handlerFactory == null) throw new ArgumentNullException(nameof(handlerFactory));
        _handlerFactory = handlerFactory;
    }

    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        return _handlerFactory(requestContext);
    }
}

Note that _handlerFactory is a readonly field so it can't generally be changed on more than one thread. In this particular case, it also can't be null. So there is no need to copy the event handler to a variable before firing it.
But Code Cracker still recommends I copy it. Not a big deal since I'm betting this is tricky to get right. But thought I'd mention it. :smile:

@Haacked Thanks for your comment about this!

@Haacked On the GetHttpHandler method there are only two options for _handlerFactory: null or not null, and, as you said, that cannot be changed. Not a single thread, but at all, as being readonly only allows it's value to change during object construction. So, there is no way that the value is going to change, and therefore, there is no need to check.
A better approach would be to simply _handlerFactory?.Invoke:
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
    return _handlerFactory?.Invoke(requestContext);
}

But that would fail unless we declare that THttpHandler is a class:
public class HttpHandlerRouteHandler<THttpHandler> : IRouteHandler where THttpHandler : class, IHttpHandler

So, yes, the copying is unnecessary, but the check for null is not. And we cannot reliably fall back to ?..
So, I am suggesting that we simply remove the copy when the field is readonly.
Also, there is another bug to fix. I applied the fix, and it removed the return statement, ending up like this:
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
    var handler = _handlerFactory;
    if (handler != null)
        handler(requestContext);
}

This also has to be fixed. I will update the description of this issue with the expected output.

On the GetHttpHandler method there are only two options for _handlerFactory: null or not null

Well, in this case it cannot be null because the constructor for HttpHandlerRouteHandler would throw if it were null. I'm not sure how difficult it is to do that sort of flow analysis with Roslyn or not. For example,
if I did a Debug.Assert(_handlerFactory != null); just before calling _handlerFactory(...) would Code Cracker still tell me I need to use .??

@Haacked We can totally check for that. We are already doing that for CC0031 (see it on UseInvokeMethodToFireEventTests.cs), which is similar to this one. I have updated the description again to reflect the discussion.
Also, I will create another issue to take care of the scenario of when a readonly reference field is used, as it will always be null.

Created issue #647 to track Readonly reference field is never assigned and is used.

@code-cracker/owners I'd like to try my hand at fixing this.
@giggio by updating the description I take it you mean the original post by @Haacked, and that the part under "Summarizing:" is what needs to happen, no?

@Vossekop Go for it.
Yes, under the summarizing I tried to summarize what we discussed in this issue comments.

@giggio since #647 is now closed as willnotfix, how should I handle situations where the initializer sets the read only variable to null. I had first assumed this should be ignored by CC0016 and picked up by whatever initializer should be made in #647, however since that one got axed I am unsure what should be done. It is clearly something that we might want to detect, but i feel CC0016's message is not applicable to the situation (also the suggested fix is somewhat illogical).
Also, i presume its ok to fix some spelling/grammar errors in the message/description for the analyzer.

Ok, so I've thought about this some more and have come to the conclusion that the ideal solution would have the following:
The warning stays for read only members if it can not be determined that they are initialized for certain to a value other than null. Meaning that if we encounter an initializer that sets the member to null then we will show the warning. If the constructor contains syntax that could possibly bypass an initializer in some cases (like an if statement) then the warning stays as well.
This is quite hard to get watertight (for instance what to do with an initializer in a for-each loop over a collection that might have no elements), but except for some corner cases I think I have a pretty good solution. Just have to document that sucker before doing a pull request.

@Vossekop Yes, you can fix spelling and grammar errors. :)
#647 was cut because C# already has a diagnostic for exactly that, CS0649.
Regarding the problem of not being sure the field was initialized, I would simply verify if the assignment is inside any conditional statement, like if, for, foreach, etc. Any of those means that the field could end up null, and CC0016 still applies. Also, any return statements before the assignment, including the ones inside conditional statements, would also imply that the field could end up null, and CC0016 still applies.

That is indeed what I did + if there is an assignment to null anywhere in the constructor CC0016 still applies. Also if not all constructors have an assignment then CC0016 still applies (if it was not assigned where it was defined obviously). Also if both if an else branch have an assignment then I don't apply CC0016, and also for switch statements where all cases assign a non null value.

Cool! Nice job!

Closed on #660.


[Feature Request] Flowable helper factories for get and fresh

Is your feature request related to a problem? Please describe.
I'm trying to follow a similar pattern to our usage of Store.getSingle and Store.getFresh but with Flowable<Output> as the return type. I want our reactive database to be updated and then (through Store) our UI to benefit. Does it make sense to even offer that factory in the context of a Flowable? I can't think of a reason not to, but I'm happy to be told it is not a good idea.
Describe the solution you'd like
Helper factories in both the rx2 and rx3 extension modules that look like this:
/**
 * Helper factory that will return stream of data as a [Flowable] for [key] if it is cached otherwise will return fresh/network data (updating your caches)
 */
fun <Key : Any, Output : Any> Store<Key, Output>.getFlowable(key: Key) = rxFlowable { this@fgetFlowable.foo(key) }

/**
 * Helper factory that will return a fresh stream of data as a [Flowable] for [key] while updating your caches
 */
fun <Key : Any, Output : Any> Store<Key, Output>.freshFlowable(key: Key) = rxFlowable { this@freshFlowable.bar(key) }

Note: I've not thought about how to define foo or bar from the store4 module which would need to return a Flow<Output> but could look something like this:
Store.foo(key: Key): Flow<Output> = stream(StoreRequest.cached(key, refresh = false))
                                     .filterNot { it is StoreResponse.Loading || it is StoreResponse.NoNewData }
                                     .map { it.requireData }

Store.bar(key: Key): Flow<Output> = stream(StoreRequest.fresh(key))
                                     .filterNot { it is StoreResponse.Loading || it is StoreResponse.NoNewData }
                                     .map { it.requireData }

Describe alternatives you've considered
Writing the above as local extension functions in our code base.
Additional context
I'm happy to raise a PR if you think this is worth pursuing.

sorry I don't quite understand if this is different from https://github.com/dropbox/Store/blob/main/store-rx2/src/main/kotlin/com/dropbox/store/rx2/RxStore.kt#L22

Hi there. I think because that extension function returns Flowable<StoreResponse<Output>> whereas this would return Flowable<Output>.
I suppose to further elaborate on where my thinking is I'm looking to use Store with the following types:

Single <-- I can do this right now with the extensions in store-rx2(3) which apply over the helper extensions in store.
Maybe <-- I can do this right right with RxJava operators on top of 1.
Flowable <-- I'd like to also do this.

Makes sense! Sure we'd gladly accept a pr. Thanks for explaining


tensorflow-gpu in requirements?

simply "tensorflow" installs both CPU and GPU versions.  as the requirements are now it downloads TF twice, which takes awhile.

see https://www.tensorflow.org/install/pip


Lazy load user sessions list

Right now the user.data part of the state tree is required before the app finishes loading, because this contains the user's current session info.
Since the sessions revamp, the current session variable has been removed.
As such user.data can be renamed to user.sessions, and this can be lazy-loaded in the background.

This is fixed with the redux-saga backend conversion.


Sluggish on a big project

vim or neovim?

[x] vim
[ ] neovim

Output of vim --version or nvim --version:

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 29 2020 00:00:00)
Included patches: 1-1770
Modified by<EMAIL_ADDRESS>Compiled by<EMAIL_ADDRESS>Huge version with GTK3 GUI.  Features included (+) or not (-):
+acl               -farsi             +mouse_sgr         +tag_binary
+arabic            +file_in_path      -mouse_sysmouse    -tag_old_static
+autocmd           +find_in_path      +mouse_urxvt       -tag_any_white
+autochdir         +float             +mouse_xterm       -tcl
-autoservername    +folding           +multi_byte        +termguicolors
+balloon_eval      -footer            +multi_lang        +terminal
+balloon_eval_term +fork()            -mzscheme          +terminfo
+browse            +gettext           +netbeans_intg     +termresponse
++builtin_terms    -hangul_input      +num64             +textobjects
+byte_offset       +iconv             +packages          +textprop
+channel           +insert_expand     +path_extra        +timers
+cindent           +ipv6              +perl/dyn          +title
+clientserver      +job               +persistent_undo   +toolbar
+clipboard         +jumplist          +popupwin          +user_commands
+cmdline_compl     +keymap            +postscript        +vartabs
+cmdline_hist      +lambda            +printer           +vertsplit
+cmdline_info      +langmap           +profile           +virtualedit
+comments          +libcall           -python            +visual
+conceal           +linebreak         +python3/dyn       +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       +lua/dyn           +ruby/dyn          +wildmenu
+dialog_con_gui    +menu              +scrollbind        +windows
+diff              +mksession         +signs             +writebackup
+digraphs          +modify_fname      +smartindent       +X11
+dnd               +mouse             +sound             -xfontset
-ebcdic            +mouseshape        +spell             +xim
+emacs_tags        +mouse_dec         +startuptime       +xpm
+eval              +mouse_gpm         +statusline        +xsmp_interact
+ex_extra          -mouse_jsbterm     -sun_workshop      +xterm_clipboard
+extra_search      +mouse_netterm     +syntax            -xterm_save
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/etc"
 f-b for $VIMRUNTIME: "/usr/share/vim/vim82"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/at-spi-2.0 -pthread    -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT  -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--enable-new-dtags -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld   -Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  -lSM -lICE -lXpm -lXt -lX11 -lSM -lICE  -lm  -lselinux  -lncurses -lcanberra  -lacl -lattr -lgpm -ldl   -Wl,--enable-new-dtags -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib64/perl5/CORE -lperl -lpthread -lresolv -ldl -lm -lcrypt -lutil -lc

Output of :echo has("python"): 0
Output of :echo has("python3"): 1
Output of :echo &pythondll(only vim, not neovim): nothing
Output of :echo &pythonthreedll(only vim, not neovim): libpython3.9.so.1.0
Output of :py print(sys.version): nothing
Output of :py3 print(sys.version):

3.9.0 (default, Oct 6 2020, 00:00:00)
[GCC 10.2.1 20200826 (Red Hat 10.2.1-3)]

Output of :echo g:Lf_Debug_Cmd: Undefined variable
Output of :echo g:Lf_FilesFromCache: Undefined variable
Operating system:

[x] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Configurations related to LeaderF in vimrc:

let g:Lf_WindowPosition = 'popup'
let g:Lf_PreviewInPopup = 1
let g:Lf_RootMarkers = ['.git']
let g:Lf_WorkingDirectoryMode = 'a'
let g:Lf_PopupWidth = 0.6
let g:Lf_PopupHeight = 0.3
let g:Lf_PopupPosition = [1, 0]
let g:Lf_PopupPreviewPosition = 'bottom'
let g:Lf_AutoResize = 0
let g:Lf_CommandMap = {'<C-K>': ['<Up>'], '<C-J>': ['<Down>']}
nmap <C-f> :Leaderf file<CR>
nmap <C-g> :Leaderf rg<CR>

Describe your question, feature request, or bug.
On a big project like linux kernel, Leaderf file --popup and Leaderf rg --popup becomes sluggish with or without C extention.
Steps to reproduce
Check out linux kernel, run Leaderf rg --popup
Actual behaviour
Typing and deleting word responds noticeably slow, that you wouldn't see in a small projects.
Expected behaviour
Behave the same regardless of the project size.
Also let me thank for the best fuzzy finder plug in.
Let me know where I can look into to fix the issue.

The issue randomly happens on the same project, having column limit might've decreased the frequency.
#686 issue sounds familiar. Is the related patch only applicable to nvim?  So it's just limitation of vim, maybe?
Especially with paste being sometime extremely slow behaviour, it is as if one character is causing some action and freeze the input. It also might be that when I add space in the search time it gets even slower. backspace also feels slow and sometimes crash(keep popup open and go back to editing mode) when that issue happens.

I did some digging. Here are my findings with leaderf rg --popup.

backspace is always slower than normal input.
shift + insert paste is always slow regardless compared to ctrl + v
3 removing sleep in cli.py improves the situation.
if you type like test test test test and back space, it can crash sometimes, also becomes slow.

I finally found out how to reproduce the issue consistently. It's overall slow on big project but I haven't been able to reproduce very-slow issue consistently up until now.

Open vim
Jump around files, using ctags, some language server client, and etc. (I use vim-lsc to jump to references)
Run Leaderf file --popup or anything with popup. Typing will be extremely slow.

The issue doesn't happen with non popup mode, fortunately.

If the current open file is very large or has very long lines, the popup mode may become slow, I know this issue, it should be a bug of vim.

Thanks for clearing it up. Closing the issue now. I'll watch out for vim update.

I created an issue in vim-lsc just, as I didn't observe the issue when it's disabled. I pasted vim profiler results there, if you are interested.
The profiler results look normal but maybe vim-lsc is blocking something on input.


bias parameter for lif neuron missing.

This parameter is not strictly necessary for IAF or a LIF with no synapse but it cannot be replicated without an explicit inclusion in the neuron model if there is synaptic state in the neuron model.

Stale. Will not fix this for now

Stale. Will not fix this for now


fix: auto remove 7 days ago log files

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[ ] documentation is changed or added
[ ] commit message follows commit guidelines

Affected core subsystem(s)

Description of change

closes https://github.com/eggjs/egg/issues/23

This change is

1.0.2

这个当初怎么不直接用 egg-logrotator 配置？


🐛 Biome client: couldn't create connection to server.

Environment information
CLI:
  Version:                      1.2.2
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           windows

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         unset
  JS_RUNTIME_VERSION:           "v18.12.1"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         "pnpm/8.6.12"

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 true

Workspace:
  Open Documents:               0

What happened?
Biome Vs Code extension just breaking and wouldn't start the lsp server.
So the issue is only in the vscode extension, on Windows 10 platform. It said Couldn't create connection. But the npm package works as expected though
Configuration file required, looking for one.
Config file found at c:\Users\<username>\Documents\Dev\<dir>\biome.json, enabling Biome extension
Using Biome from c:\Users\<username>\Documents\Dev\<dir>\node_modules\.bin\biome
[cli-stderr] data 105
[cli-stderr] end
[cli-stdout] end
[cli-stderr] finish
[cli-stdout] finish
[cli-stdout] close
[cli-stderr] close
[cli] exit 1
[cli] close 1
[Error - 8:13:26 AM] Biome client: couldn't create connection to server.
Error: Command "c:\Users\<username>\Documents\Dev\<dir>\node_modules\.bin\biome __print_socket" exited with code 1
Output:
'c:\Users\<username>' is not recognized as an internal or external command,
operable program or batch file.

	at getSocket (c:\Users\<username>\.vscode\extensions\biomejs.biome-1.4.2-win32-x64\out\main.js:19600:11)
	at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
	at async createMessageTransports (c:\Users\<username>.vscode\extensions\biomejs.biome-1.4.2-win32-x64\out\main.js:19615:16)
	at async LanguageClient2.createConnection (c:\Users\<username>\.vscode\extensions\biomejs.biome-1.4.2-win32-x64\out\main.js:15576:28)
	at async LanguageClient2.start (c:\Users\<username>\.vscode\extensions\biomejs.biome-1.4.2-win32-x64\out\main.js:15152:30)
	at async activate (c:\Users\<username>.vscode\extensions\biomejs.biome-1.4.2-win32-x64\out\main.js:19421:3)
	at async E.n (c:\Users\<username>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:107:6206)
	at async E.m (c:\Users\<username>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:107:6169)
	at async E.l (c:\Users\<username>\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:107:5626)

Expected result
Start linting Js/Ts file
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

I came across something similar and fixed it by explicitly setting the biome client path in the extension config via biome.lspBin as outlined in https://marketplace.visualstudio.com/items?itemName=biomejs.biome#biome-resolution
This is the config that worked for me but your local node path may vary so adjust it accordingly
"biome.lspBin": "node_modules/@biomejs/cli-darwin-arm64/biome",

Seems it doesn't give expected results. I'm guessing it's an OS compatibility issue.
Error: Command "c:\Users\Jhon<EMAIL_ADDRESS>__print_socket" exited with code 1
Output:
'c:\Users\Jhon' is not recognized as an internal or external command,

p.s my win username is separated with space

It's definitely a possibility! The output of the command is definitely weird and I wonder why that happens. We should investigate

It's definitely a possibility! The output of the command is definitely weird and I wonder why that happens. We should investigate

Hi, I just create a PR for this issue, it's absurdly simple problem. please review it, thanks 😉😁

I'm getting this error
Biome binary found at /Users/am/Coding/v/node_modules/.pnpm/@biomejs+cli-darwin-arm64@1.5.1/node_modules/@biomejs/cli-darwin-arm64/biome
Copying binary to temporary folder: file:///Users/am/Library/Application%20Support/Cursor/User/workspaceStorage/50933622a7b39cb4c04b4170b8da80c3/biomejs.biome/biome
Executing Biome from: /Users/am/Library/Application Support/Cursor/User/workspaceStorage/50933622a7b39cb4c04b4170b8da80c3/biomejs.biome/biome
[cli-stderr] data 217
[cli] exit 1
[Error - 12:38:09 PM] Biome client: couldn't create connection to server.
Error: Command "/Users/am/Library/Application Support/Cursor/User/workspaceStorage/50933622a7b39cb4c04b4170b8da80c3/biomejs.biome/biome __print_socket" exited with code 1
Output:
internalError/io ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Errors occurred while executing I/O operations.

    Caused by:
      Connection refused (os error 61)

    at getSocket (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:37483:11)
    at createMessageTransports (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:37497:16)
    at LanguageClient2.createConnection (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:15897:28)
    at LanguageClient2.start (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:15470:30)
    at activate (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:37316:3)
    at u.n (/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:141:6342)
    at u.m (/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:141:6305)
    at u.l (/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:141:5762)
[Error - 12:38:47 PM] Restarting client failed
Error: Command "/Users/am/Library/Application Support/Cursor/User/workspaceStorage/50933622a7b39cb4c04b4170b8da80c3/biomejs.biome/biome __print_socket" exited with code 1
Output:
internalError/io ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Errors occurred while executing I/O operations.

    Caused by:
      Connection refused (os error 61)

    at getSocket (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:37483:11)
    at createMessageTransports (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:37497:16)
    at LanguageClient2.createConnection (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:15897:28)
    at LanguageClient2.start (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:15470:30)
    at activate (/Users/am/.cursor/extensions/biomejs.biome-2.1.1/out/main.js:37316:3)
    at u.n (/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:141:6342)
    at u.m (/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:141:6305)
    at u.l (/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:141:5762)
[cli-stderr] end
[cli-stdout] end
[cli-stderr] finish
[cli-stdout] finish
[cli-stdout] close
[cli] close 1
[cli-stderr] close


update velocypack

Scope & Purpose
Update ArangoDB version of VelocyPack to latest

[ ] :hankey: Bugfix
[x] :pizza: New feature
[x] :hammer: Refactoring
[ ] :book: CHANGELOG entry made
[ ] :muscle: The behavior in this PR was manually tested
[x] :computer: The behavior change can be verified via automatic tests

Testing & Verification

[x] There are tests in an external testing repository: arangodb/velocypack

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12310/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12312/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12317/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12318/


Document new command-line interface structure

The following pull request have introduced some drastic naming changes that should be documented:

https://github.com/iterative/cml/pull/1026
https://github.com/iterative/cml/pull/1073

Note
Closing this issue won't only require updating the documentation, but also all the active example repositories and material.

[x] https://cml.dev/ #324

[x] https://cml.dev/doc/

[x] https://cml.dev/doc/ref/

[x] runner
[x] comment
[x] check
[x] pr
[x] workflow
[x] tensorboard

[ ] DVCLive demo for --watch --publish #327

[ ] cml readme
[ ] example repos

[ ] GH
[ ] GL
[ ] BB

[x] https://github.com/iterative/cml/labels

Removing labels that https://github.com/iterative/cml.dev/pull/324 seems to have taken care of.

I'd consider transferring this to cml if the main thing missing is the REAMDE update.

p.s. but https://github.com/iterative/cml/issues/718 ?


Just a thought.. cache could ideally be its own project

I am interested in just the cache implementation for couple of projects. I encourage you guys to think about making it a separate project in itself, in case you haven't already discussed that... Thoughts? Thanks.

Have you looked at the current cache implementation
Looking at a filesystem cache is targeted for v.15 in the Roadmap
Although we do welcome any insights or discussions on the subject

Cache is already its own package. And I think it is a good idea to make it even less dependent from revel. This works for testing package, too. There are tasks with higher priority right now though. So, added to backlog for now.

:+1: this is ready for contribution if anyone else has time to do this.

Closing, there are other topics in need of focus


Missing Next Stops content

Hey so I know we are customizing the Last Stops pages but we are still keeping the fact sheet info too. (screenshot below) All of the other sites have their next stops listed and then the fact sheet info. The undergraduate page doesn't have options to visit or apply; without the deadlines, visit and apply links undergraduate students cannot easily access this information.

Was this removal of content a request from Debra or Parikh? Thanks!

If I remember correctly, the removal was not a request from the department. We did it before we sent the dev site out for approval because we thought there was already too much content on that page. I'll add it back right now.


Add optional SEED=n command line option to Makefile, and -s n command…

… line option to test scripts, for deterministic regression tests.

Oh, nice! That was quick.
The autotest.sh script (tests/tools/autotest.sh) also has a -S option for a rng seed. (It is however not used for testcase generation but for test pattern generation.) For "make test" this script is run via tests/tools/autotest.mk, see for example tests/simple/run-test.sh. I think it might be a good idea to also include that in "make SEED=1234 test". Would you like to also add support for that?
I think if the autotest.sh seed is also managed by the top-level makefile, then two successive runs of "make SEED=1234 test" should generate exactly the same files in the tests/ directory.

Yes, I'll add that. I probably won't get around to it for a week or more, though.  Perhaps I should change the -s option I added to the other scripts to -S for consistency.

The pull request has been updated to pass the seed to autotest, and to use "-S" option rather than "-s".


extensions functions call bugs

vkGetPhysicalDeviceFeatures2 call is missing sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
def _wrap_vkGetPhysicalDeviceFeatures2(fn):
    def vkGetPhysicalDeviceFeatures2(physicalDevice
            ,):

        pFeatures = ffi.new('VkPhysicalDeviceFeatures2*')
        #pFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2

        result = _callApi(fn, physicalDevice,pFeatures)

        return pFeatures[0]

Here is another C\C++ usage code which not able to do
    VkPhysicalDeviceDescriptorIndexingFeaturesEXT descriptorIndexing = { };
    descriptorIndexing.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;

    VkPhysicalDeviceFeatures2 features2 = { };
    features2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;

    auto found = std::find(_deviceExtensions.begin(), _deviceExtensions.end(), VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME);
    if (found != _deviceExtensions.end())
        features2.pNext = &descriptorIndexing;

    vkGetPhysicalDeviceFeatures2( _physicalDevice, &features2 );

vkGetPhysicalDeviceProperties2 is the same not able to assign other structs to pNext
def _wrap_vkGetPhysicalDeviceProperties2(fn):
    def vkGetPhysicalDeviceProperties2(physicalDevice
            ,pNext=ffi.NULL):

        pProperties = ffi.new('VkPhysicalDeviceProperties2*')
        #pProperties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2
        #if pNext != ffi.NULL:
            #pProperties.pNext = ffi.addressof(pNext)

        result = _callApi(fn, physicalDevice,pProperties)

        return pProperties[0]

    return vkGetPhysicalDeviceProperties2

Example of usage
# VkPhysicalDeviceRayTracingPropertiesNV should be able to pass to VkPhysicalDeviceProperties2.pNext
self._rayTracingProperties = VkPhysicalDeviceRayTracingPropertiesNV(
            maxRecursionDepth=0,
            shaderGroupHandleSize=0
        )
props = vkGetPhysicalDeviceProperties2KHR(self._physicalDevice, self._rayTracingProperties)

I'm working on the VKRay examples and found out above issues. There could be more bugs. Right now I change the code(comment out on above) to pass those bugs.

def _wrap_vkGetAccelerationStructureHandleNV(fn):
    def vkGetAccelerationStructureHandleNV(device
            ,accelerationStructure
            ,dataSize
            ,):

        pData = ffi.new('void*')

        result = _callApi(fn, device,accelerationStructure,dataSize,pData)
        if result != VK_SUCCESS:
            raise exception_codes[result]

        return pData[0]

pData = ffi.new('void*')
should be
pData = ffi.new('uint64_t*')

Hello,
Thanks for the report, I will take a look.

Hi realitix,
Found another one
def _wrap_vkGetRayTracingShaderGroupHandlesNV(fn):
    def vkGetRayTracingShaderGroupHandlesNV(device
            ,pipeline
            ,firstGroup
            ,groupCount
            ,dataSize
            ,data=ffi.NULL):

        pData = ffi.new('void*')
        #pData = ffi.new('uint64_t*')
        #if data:
            #pData = data

        result = _callApi(fn, device,pipeline,firstGroup,groupCount,dataSize,pData)
        if result != VK_SUCCESS:
            raise exception_codes[result]

        return pData[0]

This one maybe a bit more tricky.
The C++ example of usage
// _shaderBindingTable is a buffer class to create buffer
VkResult code = _shaderBindingTable.Create(shaderBindingTableSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT);
// call vkMapMemory to get the buffer memory
void* mappedMemory = _shaderBindingTable.Map(shaderBindingTableSize);
// vkGetRayTracingShaderGroupHandlesNV fill the real Ray Tracing Shader Group Handles data to mappedMemory
code = vkGetRayTracingShaderGroupHandlesNV(_device, _rtPipeline, 0, groupNum, shaderBindingTableSize, mappedMemory);

_shaderBindingTable.Unmap();

First pData = ffi.new('void*') is all ways failed to run.
Change to pData = ffi.new('uint64_t*') works but in the RTX pipeline we need this data to fill into the buffer.
And vkMapMemory return a ffi.buffer obj which I don't know howto fill the return data to it.
Here is the working change for me.
in _vulkan.py
def _wrap_vkGetRayTracingShaderGroupHandlesNV(fn):
    def vkGetRayTracingShaderGroupHandlesNV(device
            ,pipeline
            ,firstGroup
            ,groupCount
            ,dataSize
            ,data=ffi.NULL):

        pData = ffi.new('uint64_t*')
        if data:
            pData = data

        result = _callApi(fn, device,pipeline,firstGroup,groupCount,dataSize,pData)
        if result != VK_SUCCESS:
            raise exception_codes[result]

        return pData[0]

In the app side
self._shaderBindingTable.create(shaderBindingTableSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT)

mappedMemory = self._shaderBindingTable.map(shaderBindingTableSize)
# get the cdata back from the buffer obj
buf = ffi.from_buffer(mappedMemory, require_writable=True)
# pass it to the call
rtsgHandles = vkGetRayTracingShaderGroupHandlesNV(self._device, self._rtPipeline, 0, groupNum, shaderBindingTableSize, buf)

self._shaderBindingTable.unmap()

VK_SHADER_UNUSED_NV should not be None
debug with C++ got this
VK_SHADER_UNUSED_NV =<PHONE_NUMBER>

here is the example code you can try
https://github.com/mackst/pyVkRayTutorials

I'm working on it.
Extension functions are not well managed...

I fixed the first problem, you can now override the return value in extension functions (so you can set stype and pnext manually).
I'm working on the others problems.

Ok I fixed everything, can you try with the master version.

Thanks fix it. I tied. There still small issues.
Take vkGetPhysicalDeviceProperties2 for example
self._rayTracingProperties = VkPhysicalDeviceRayTracingPropertiesNV(
            maxRecursionDepth=0,
            shaderGroupHandleSize=0
        )
properties2 = VkPhysicalDeviceProperties2(pNext=self._rayTracingProperties)
props = vkGetPhysicalDeviceProperties2KHR(self._physicalDevice, properties2)

Will get error
Traceback (most recent call last):
  File "D:/codeWorkspace/vulkan/pyVkRayTutorials/01_InitRaytracing.py", line 135, in <module>
    win.run()
  File "D:\codeWorkspace\vulkan\pyVkRayTutorials\application.py", line 471, in run
    self.initialize()
  File "D:\codeWorkspace\vulkan\pyVkRayTutorials\application.py", line 491, in initialize
    self.init()
  File "D:/codeWorkspace/vulkan/pyVkRayTutorials/01_InitRaytracing.py", line 125, in init
    props = vkGetPhysicalDeviceProperties2KHR(self._physicalDevice, properties2)
  File "D:\codeWorkspace\vulkan\pyVkRayTutorials\application.py", line 22, in __call__
    return func(*args, **kwargs)
  File "D:\codeWorkspace\venv\vulkan37\lib\site-packages\vulkan\_vulkan.py", line 7446, in vkGetPhysicalDeviceProperties2
    return pProperties[0]
TypeError: cdata of type 'struct VkPhysicalDeviceProperties2' cannot be indexed

If pProperties is given should just return it.

Hello @mackst, I pushed a commit to fix it.
Can you try again ?

Cool. All works.

great


Server Installation Status Never Moves Past Downloading

A Picture's Worth a Thousand Words

Decompresses after Atom restart

Hmm, not yet been able to repro this myself on Windows. What OS are you on?

No response. Please feel free to respond to this issue if you are still able to reproduce this.

@ungb able to repro. Investigating.


Migrate from Operating System: CentOS Linux 7 (Core)  to Rocky 8.

OS environment before upgrade:
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-957.el7.x86_64
Architecture: x86-64
Can I smoothly migrate to Rocky 8 using script migrate2rocky.sh

Hello. migrate2rocky.sh is for any enterprise linux 8 to rocky linux 8 and migrate2rocky9.sh is for 9. The readme briefly touches on this. These scripts do not perform upgrades.
If you are wanting to go to Rocky Linux 8, you are recommended to install a new system and migrate your data that way. You can also use a tool called "ELevate" but we do not formally support it.


Expose the publishAllOutstanding() method as public

This will allow external systems who need to ensure that all messages have been published transmit any messages that are currently waiting for the batch to fill.

I signed it!

I signed it!

I signed it.  But amazingly I have more than one email.  What a concept.  I just signed an agreement for the email I have given to github.

I signed it!  Maybe you will figure it out now robot!


Centralized jinja template entrypoint

This PR makes the following changes:

template_sql/base_templates now has a single entrypoint for rendering templates

This also supports loading templates from designated folders
As a result, everything going through this now gets access to macros

reorged all template renderers to go through this entrypoint
moved statistics templates to be a subfolder of statistics for pattern standardization

Checklist

[ ] Consider if documentation (like in docs/) needs to be updated - They do, I'm going to do that in one go.
[X] Consider if tests should be added
[X] Update template repo if there are changes to study configuration

I decided to not go crazy on moving additional macro snippets into shared locations, but it should be simple to do that going forward now.


Force to navigate the podman image's cockpit to the containers view

$ touch /usr/local/share/cockpit/shell/manifest.json
$ touch /usr/local/share/cockpit/shell/index.html
$ cat <<EOF >> /usr/local/share/cockpit/shell/manifest.json
{
    "requires": {
        "cockpit": "137"
    },

    "tools": {
        "index": {
            "label": "system"
        }
    }
}
EOF
$ cat <<EOF >> /usr/local/share/cockpit/shell/index.html
<html>
  <body>
     <meta http-equiv="refresh" content="0<EMAIL_ADDRESS>  </body>
</html>
EOF

@praveenkumar we can also add these statement to the image creation to force the Cockpit view to directly navigate to the 'Podman Containers' view.

Solved by adding files with ignition.


Forget password solution

Maybe it would be nice to give the admin the chance to recover or change the other users' passwords, in case sonebody forgets theirs

Indeed this would be very helpful in case some lazy user forgot his
password.
On Tue, Apr 14, 2015 at 8:53 PM, elisafilevich<EMAIL_ADDRESS>wrote:

Maybe it would be nice to give the admin the chance to recover or change
the other users' passwords, in case sonebody forgets theirs
—
Reply to this email directly or view it on GitHub
https://github.com/JATOS/JATOS/issues/74.

+1 for allowing users to reset their password if it's forgotten. Perhaps via a link sent to the user's email?

We should implement this then. :)
Send emails to recover a password isn't easily done. But what I could do is allow the admin user to change other users passwords. The only fallacy left is if the admin looses her password.

Sounds good to me. Thanks!

Feature added in upcoming release.


Bug: DockerCompose.client_args not working

Describe the bug
I was trying to pass client_args to the DockerCompose constructor. However, I get the error:
Traceback (most recent call last):
  File <removed>, in <module>
    test_foo()
  File <removed>, in test_foo
    compose = DockerCompose(
              ^^^^^^^^^^^^^^
TypeError: DockerCompose.__init__() got an unexpected keyword argument 'client_args'

I presume this is because it is in the doc string, but not the actual class definition.
To Reproduce
from testcontainers.compose import DockerCompose

compose = DockerCompose(
    client_args=True,
)

Runtime environment
testcontainers-python is 4.5.1 on Debian
Docker version 26.1.3-1, build b72abbb6f0351eb22e5c7bdbba9112fef6b41429
Docker Compose version v2.27.1

thats correct, it just calls subprocess.run to execute "docker compose" commands, so there is no meaning for client_args


allow to fetch event descriptions that given process instance is listening to

the main purpose of this change is to allow easily to get access to all possible listening components of the process instance. With this consumers can easily know what sort of "signals" or "events" given process instance can expect to move forward.
In addition to that an extra commit was added to enhance JobService used by the engine to allow to get current schedule time of a timer by its id. Something that the JobsService (vert.x based) already exposed as it returns complete ScheduledJob info.
Set<EventDescription> eventDescriptions = processInstance.getEventDescriptions();
        assertThat(eventDescriptions)
            .hasSize(2)
            .extracting("event").contains("Yes", "timerTriggered");
        assertThat(eventDescriptions)
            .extracting("eventType").contains("signal", "timer");
        assertThat(eventDescriptions)
            .extracting("dataType").hasAtLeastOneElementOfType(StringDataType.class);
        assertThat(eventDescriptions)
            .extracting("processInstanceId").contains(processInstance.getId());
        assertThat(eventDescriptions)
        .filteredOn("eventType", "timer")
        .hasSize(1)
        .extracting("properties", Map.class)
        .anyMatch(m -> m.containsKey("TimerID") && m.containsKey("Delay"));

here is a jira https://issues.redhat.com/browse/KOGITO-1632

closing for the time being as there is a feature freeze


Documentation not clear about the "mapping" parameter of OrdinalEncoder

Hi,
Please look at this stack-overflow question for reference. The mapping parameter usage by the user in this question is wrong.
But I am not able to find the documentation of perfect usage of mapping param in OrdinalEncoder. The documentation only says this:

"a mapping of class to label to use for the encoding, optional."

Implementing default examples and the example in this issue #52, and then looking at the output of the following code:
encoder.category_mapping
# Output: [{'col': 'col1', 'mapping': [(None, 0), ('a', 1), ('b', 2)]}]

makes it clear.
I think the documentation should be clear on format that the 'mapping' should be a list of dicts and dicts should contain the keys 'col' and 'mapping' and that the mapping should be a list of tuples of format (original_label, encoded_label), with an example preferably.

Great feedback, I agree. Would you like to work on a documentation update PR to resolve this?

@wdm0006  Yes, would like to do this. Can you please refer me to some examples on how to do this correctly?

Hey @vivekk-ezdi, you should just need to update the doc-string in the ordinal encoder class, the docs themselves are autogenerated on build with sphinx.

Thanks for doing this. I was the original poster in stack overflow question referenced above. Too bad the question was downvoted in SO :(. Looks like this issue is closed now.


Type hint the providers in the Generic class

Feature request
Would it be possible to type hint the providers in the Generic class?
Thesis
class Generic(BaseProvider):
    """Class which contain all providers at one."""

    address: Address
    # similarly type hint the other providers

    ...

Reasoning
This allows for autocomplete in editors/IDEs, and static type checking by type checkers.

I'm totally agree with this request. It would be much better to have annotated Generic.
@sobolevn I know that you have solid expertise with mypy and typing in general. What would you recommend to annotate lazy attributes?
I thought to solve this problem by adding a stub file for generic.py like this:
import typing as t

from mimesis.locales import Locale
from mimesis.providers import Address, Datetime, Finance, Food, Person, Text
from mimesis.providers.base import BaseProvider
from mimesis.types import Seed

__all__ = ["Generic"]

class Generic(BaseProvider):
    locale: Locale
    person: Person
    text: Text
    address: Address
    finance: Finance
    datetime: Datetime
    food: Food
    # ...
    # ...

    def __init__(self, locale: Locale = ..., seed: Seed = ...) -> None: ...

    class Meta:
        name: t.Final[str]

    def __getattr__(self, attrname: str) -> t.Any: ...

    def __dir__(self) -> list[str]: ...

    def reseed(self, seed: Seed = ...) -> None: ...

    def add_provider(self, cls: t.Type[BaseProvider], **kwargs: t.Any) -> None: ...

    def add_providers(self, *providers: t.Type[BaseProvider]) -> None: ...

    def __iadd__(self, other: t.Type[BaseProvider]) -> Generic: ...

But I'm not quite sure about this idea. Any advice or recommendation would be greatly appreciated.

seems fine :)

Fixed in 12.1.0


DBZ-8023 check PDB field against both null and blank

Fixes https://issues.redhat.com/browse/DBZ-8023

@Naros This is the fix I mentioned on Zulip

/packit test --labels oracle

Those tests above seem to have failed due to:
13:16:31,405 [INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (enforce-java-version) @ debezium-build-parent ---
13:16:33,015 [WARNING] Rule 1: org.apache.maven.plugins.enforcer.RequireJavaVersion failed with message:
To build this project JDK 21 (or greater) is required. Please install it.

I'm claiming that's not my fault! ;-)

What would I need to do to backport to the 2.7 stream if I needed it?

@andreas-ibm Thanks for the report, @obabec Is working on TF issue.

@andreas-ibm WRT backport, I'll do it after the merge into main.

/packit test --labels oracle

@jpechane since TF is still not operational, I tested the following scenarios:

Complete LogMiner run with changes - :heavy_check_mark:
Streaming/Snapshot Data Type ITs for XStream - :heavy_check_mark:
Manually tested running LogMiner in non-CDB mode (Streaming/Snapshot Data Type ITs) - :heavy_check_mark:
Manually tested running XStream in non-CDB mode (Streaming/Snapshot Data Type ITs) - :heavy_check_mark:

I believe that's a reasonable cursory check for these changes.

@Naros I agree
@andreas-ibm Applied, thanks!


support cache version

Pull Request Test Coverage Report for Build 30

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.009%) to 96.848%

Totals

Change from base Build 27:
0.009%

Covered Lines:
338

Relevant Lines:
349

💛  - Coveralls

Pull Request Test Coverage Report for Build 30

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.009%) to 96.848%

Totals

Change from base Build 27:
0.009%

Covered Lines:
338

Relevant Lines:
349

💛  - Coveralls


Tour not continuing after redirect

Hi There,
Thanks for the excellent plugin. Unfortunately, I'm dealing with an issue I can't solve. I've tried path RegExp, with and without a redirect function, Using the fully qualified URL as the path. I can get the redirect to happen fine but the next step doesn't show up.
It is a Backbone app and the views are being triggered. Here's the steps code:
    return [
      {
        orphan: true,
        backdrop: true,
        title: "Welcome",
        content: this.template('admin/welcome')
      },
      {
        orphan: true,
        path: '/test/tour#new/user',
        element: 'textarea',
        title: "Create Users",
        content: this.template('admin/create_users')
      },

What am I doing wrong? I've also tried the promise, stepped through the bootstrap-tour.js code all without any luck.
Thanks for the help.

@brandonhall  Is bootstrap-tour.js being loaded on the page you are redirecting to?

@reubenbrown Yes, it's a single page app so bootstrap-tour.js is already available.

@brandonhall Hmm well if the 'textarea' element is on the same page as the first step then you shouldn't need to redirect at all. It would seem then that your tour cannot locate the 'textarea' element. Maybe try selecting a more specific element, like the textarea's class or id if it has one and see in debug mode if the tour can find it.

I have the same problem with redirect. I have a button in a page but the Tour is in another page. Redirect happen but the Tour doesn't start. (All steps have element with ID)

+1 same issue. Has anyone found a fix for this?

Ok I was correct about the above regarding tour not waiting for the async template to load before continuing.
I needed to get past this as soon as possible so I implemented a fix in my angular application. It also required changes to bootstrap-tour.js which you can see in my fork. If anyone wants to port the fix into the coffeescript source and make a pull go for it. Might also want to remove the angular promise and use a jquery one instead.
Here's the modified bootstrap-tour.js: https://github.com/parliament718/bootstrap-tour/blob/master/build/js/bootstrap-tour.js
And here's how I handle it in my app code.
 new Tour({
           redirect: function (step) {
                                    var deferred = $q.defer();

                                    if ($location.path() != step.path) {
                                        if (step.templatePath) {
                                            $http.get(step.templatePath, { cache: $templateCache })
                                                .finally(function () {
                                                    $location.path(step.path);
                                                    $timeout(function () {
                                                        deferred.resolve();
                                                    });
                                                });

                                            return deferred.promise;
                                        }
                                    }

                                    deferred.resolve();
                                    return deferred.promise;
                                }
   });

I ended up reverting my fix because I found it wasn't working very well and still needed an arbitrary delay to work consistantly. I then found a better way, at least in Angular. What I did instead was initialize the Tour from inside an Angular directive and then I used that directive mlutiples times on different pages from WITHIN the asyn loaded template.
As long as the directive is placed within the template itself that needs to be awaited, then the Tour will intiailize properly. Then inside the directive I set the steps property on the tour based on the current path.
In this way I no longer needed any promise code to wait for the template to load, since it will have already been loaded by the time Angular bootstraps the directive used inside.

I then handled navigation between pages manually using the callback functions like onNext, onShown etc.

Since #418, one can set the path as a hash for SPAs.

For whoever comes across this issue: see my answer on Stack Overflow. I've had the issue too and the support for hashes in the path didn't solve the issue.
The gist of the solution I've implemented is that there needs to be an event, something that will cause bootstrap-tour to continue the tour, for as a matter of fact, it does not continue. For now, I just issue (in an Angular-based SPA) a $(window).resize() call. For some reason I didn't figure out, that's enough to cause the tour to continue. In the near future, I'll create a directive to handle that call, in a cleaner manner.
HTH.


Chip add efr32 nltest

Problem
There is no way to run the unit tests on EFR32.
Change overview

Add an on device test driver for EFR32, this uses RPCs which are actuated using the included python test runner.
Fix a subset of the unit tests so they work with EFR32 and include them in the build.
Included a simple python test runner script which can be used to flash and run the tests.

Testing
Built and ran using the included test runner on an EFR32MG12 board, passes all of the included 265 tests.

/gcbrun

@mspang for build system changes

/gcbrun

/rebase


Companion object constant is not working as default parameter in navArgsDelegate

Hi! 👋🏼 I have the following destination with navArgsDelegate
@Destination(
    navArgsDelegate = MyViewModel.ViewState::class,
)

where MyViewModel.ViewState looks similar to this
@HiltViewModel
class MyViewModel @Inject constructor() : ViewModel() {
    data class ViewState(
        ...
        val verificationCodeLength: Int = VERIFICATION_CODE_LENGTH,
        ...
    )

    companion object {
        const val VERIFICATION_CODE_LENGTH = 6
    }
}

but I'm getting this error when the destination is generated
e: .../MyScreenDestination.kt: Unresolved reference: VERIFICATION_CODE_LENGTH

public object MyScreenDestination : TypedDestination<ViewState> {
    ...
    public operator fun invoke(
		...
		verificationCodeLength: Int = VERIFICATION_CODE_LENGTH, // <====== Error HERE!
		...
    ): Direction {

Thank you in advance! 🙌🏼

Hi 👋
Default values are not given to us by ksp. We are literally reading them from the source file. So put it in top level. It’s gonna be the same and debatable even better as it avoids the instantiation of the companion object

Hi 👋
Default values are not given to us by ksp. We are literally reading them from the source file. So put it in top level. It’s gonna be the same and debatable even better as it avoids the instantiation of the companion object

roger that, thank you so much for you quick  reply!


[WIP][V2V] Add storage validations for transformation_mapping_items

Creates Validations for Infra Mapping and Specs for Validation Code
Target Datastores
•	RHV (Class:  Storage, Filters:  Must belong to target cluster)
•	OSP (Class:  CloudVolumeType, Filters:  Must belong to target CloudTenant's ExtManagementSyste)
Source Datastores
•	VMW (Class:  Storage, Filters:  Must belong to one of the source clusters
)

will recreate to cleanup too many commits


Changelog normalization

We should probably have CI for this too. This issue serves as a reminder to fix the client-server changelog before release.
Eg: https://github.com/matrix-org/matrix-doc/pull/2148 has a .misc changelog.

I think this must have happened?


Add an option to enable overlapping compaction separately with overlapping queries

This is so that Mimir ingesters don't compact overlapping blocks and let the compactor handle it

I will port this PR in Mimir before merging this to test if disabling overlapping compaction fixes the query bug


:honeybee: try replacing poetry with uv package manager

Background
uv is a very fast Python package manager. It does some nice things:

It replaces pyenv by using its own redistributable Python veresions
It picks package versions for all platforms at once (MacOS, Windows, Linux)
It's just very very fast 🚀
(perhaps) It doesn't randomly fail in CI pipelines? 😬

Proposal
We'd like to switch to uv, since moving to ruff has already been so good, and we think it could fix occasional CI issues.
Check out the slack discussion.
Todo

[ ] Update the ETL and sub-packages to use uv
[ ] Update their Github CI pipelines
[ ] Update the ops repo templates to install uv
[ ] Tell all data folk to (brew install uv)
[ ] Batch install uv for all staging servers
[ ] Manually update all Buildkite pipelines

Nothing will fall over if we don't do this, but it would be a really nice improvement to the developer experience to migrate.


Deploy docker-based microservices via Fargate (in AWS)

@mvantellingen showed how easy it is to deploy a Fargate based docker container, for use-cases where AWS Lambda is not sufficient.
I suggest we document it and add it as an example, so users can decide what platform to use, to deploy on. I'm not sure if any changes are required to MACH composer itself.
Perhaps document pro's/cons of using either and proper guidance when to use what (including how to combine both options in a single deployment).

"moved" to https://github.com/mach-composer/mach-composer-plugin-aws/issues/3


Fixing Issue #83 - Applied an SVM model

Fixed #83 by implementing an SVM model on the dataframe to check job satisfaction and benchmarked it along with the pre-existing random forest regression and logistic regression model, using a barplot for visualization of accuracies.

This is awesome works , I will soon merge it


buildFHSUserEnv includes 32bit libraries when building on 64bit

Issue description
For some (to me unknown reason) libstdc++.so is 32bit while other libs are of type 64bit (as they should be). below expression was working ~3 months ago, while rebuilding it last weekend is saw this problem. I'm suspecting that this is a problem with multiple outputs that was merged meanwhile. there i'm pining @vcunat.
Steps to reproduce
my custom VidyoDesktop expression that suffers from this can be found here.
following commands should reproduce an error:
% git clone https://github.com/garbas/dotfiles
% nix-build -A VidyoDesktop -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/29644950d4786eb2bc9b28719b6ce0e652077675.tar.gz
% ./result/bin/VidyoDesktop
/opt/vidyo/VidyoDesktop/VidyoDesktop: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS32
% file -L /nix/store/...-VidyoDesktop-fhs/lib/libstdc++.so.6
/nix/store/...-VidyoDesktop-fhs/lib/libstdc++.so.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (GNU/Linux), dynamically linked, stripped
% file -L /nix/store/cbhv6mrmvk9b9g6nz7m9kfn47zfalc7q-VidyoDesktop-fhs/lib/libz.so.1
/nix/store/cbhv6mrmvk9b9g6nz7m9kfn47zfalc7q-VidyoDesktop-fhs/lib/libz.so.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

Technical details

System: NixOS
Nix version: ix (Nix) 1.12pre4523_3b81b26
Nixpkgs version: 16.09pre83100.25e3c09

Duplicate of https://github.com/NixOS/nixpkgs/issues/15033


openai.api_base -Error communicating with OpenAI: Failed to parse:

Describe the bug
I use nginx proxy api_base  “https://api.openai.com” on my server :  “http://myserverip:port”
and get a error msg:
My server is can connect https://api.openai.com
and i use this way apiBaseUrl on https://github.com/transitive-bullshit/chatgpt-api  is no error
To Reproduce
[WARNING][2023-03-08 18:35:58][log.py:39] - Error communicating with OpenAI: Failed to parse: http://myserverip:port/v1/chat/completion
Code snippets
nginx conf:
server {
    listen       9999;
    server_name  <IP_ADDRESS>;
    error_log /var/log/nginx/chatgpt.error.log error;
    access_log  /var/log/nginx/chatgpt.access.log combined;
    location / {
       proxy_pass https://api.openai.com/;
    }
}

python code:

class ChatGPTModel(Model):
    def __init__(self):
        openai.api_key = model_conf(const.OPEN_AI).get('api_key')
        # https://api.openai.com/v1/chat/completions
        openai.api_base = model_conf(const.OPEN_AI).get('api_url')

python conf:
    "openai": {
      "api_url": "http://myserverip:port/v1"

OS
Debian10.0
Python version
3.9.2
Library version
0.27.0

I just tried it, and this openai.api_base works. Here is my code:
import openai

openai.api_base = "https://mydomain.xyz/v1"
openai.api_key = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

completions = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)

message = completions["choices"][0]["message"]["content"]

print(openai.api_base)
print(message)

giveup