aur vercmp-devel auto cache population

Thank you for the Populating the cache documentation in vercmp-devel. I was left wondering why this couldn't be handled automatically (at least to a certain extent) when aur vercmp-devel is executed to handle missing cache directories.
This way more complex problems, like package upstream source changes, can be addressed by clearing the cache and re-running aur vercmp-devel.

Because downloading sources requires you to review the sources, and making aur vercmp-devel open file manager like aur sync is definitely out of scope for vercmp-devel.
More complex problems, like source changes, can be addressed by aur repo --list | cut -f1 | aur sync 😉 Make an alias if you are planning to use this often.

Ok fair enough


fix nil repo_slug when repo name contains dot

Purpose
Fix Issue when GitHub repo's name contains dot.
repo_slug became nil when the repo's name has a dot in it. (e.g.  johnlinvc/test-2.0)
Changes
Handle repo name with dot correctly in CISource::Jenkins#initialize

          1 Message

:book:
@johnlinvc is not a contributor yet, would you like to join the Danger org?

  Generated by :no_entry_sign: Danger

The CI tests are failing for the reason in #738 .
I'll rebase again when 738 is merged.

Awesome, this looks good to me!

@johnlinvc  I've invited you to the org, as a part of Moya Community Continuity - you're welcome to participate in PRs and help out at a level that works for you.

Joined! looking forward to help the community.


Vectorize AstScatter

The easier half is already done. The harder half is simplifying indexing of scatter to expose a constructor that vectorization can work on (it can't work on an indexing term).
If it's helpful, sum v = scatter sh v (\(_i :. ZI) -> ZI) and we can simplify indexing of sum just fine. However, the problem is in the places where the indexes are empty for sum.

So you want to simplify index (scatter sh v f) ix to something that doesn't have index at the head?
This by definition involves inverting f (more precisely: computing preimages), which is not computable in general. :)
Some fs you can invert, like the one for sum: the preimage of ZI is simply the whole of sh. This is why sum works. More generally, if you can invert f, then you should be able to reduce index-of-scatter to something that has either a smaller indexing operation or the sum of a gather, I think. Not sure what happens if ix is shorter than the codomain of f.

More fundamentally, I think the problem you're running into here is push arrays vs pull arrays, or producers vs consumers. Everything expressed in terms of build is a consumer, and reductions like fold and scan are also consumers. Importantly, indexing is also a consumer. Consumers fuse into consumers, hence indexing into a pull array yields another pull array.
However, scatter is a producer, yielding a push array. Producers do not fuse into consumers, because that involves inverting data flow direction of the producer. Hence reducing index-of-scatter is hard.

Huh, that probably means I need to remove scatter from the user-accessible part of the Tensor class. It also means, my ability to simplify the code emitted by AD is limited, It gets stuck at scatter, which appears where there was gather in the (vectorized form of the) objective function. E.g., normally I can fuse any gather contained inside any other gather. Now I can't if there's a scatter on the way.
Assuming we ban scatter, I wonder if there are any other special cases (other than sum) that are both vectorizable and useful.
Alternatively to banning scatter, we could ban build inside scatter or just not vectorize some builds inside some scatters.
Or perhaps, for producers, there is a way to vectorize inside index(producer) without eliminating the indexing. With rewriting systems, if you are stuck reducing, you make the problematic form a normal form and see if this blocks all other reduction rules or if they can be extended to operate on the new normal form specially. We already have special normal forms for fromList, both wrapped in index and wrapped in gather. I wonder if fromList is a producer.

Really, going from push-style to pull-style (i.e. scattering and
then indexing into the result) requires you, operationally, to
materialise the intermediate array. You can't get around that, unless
you can feasibly invert the index mapping function f and turn the
scatter into a gather in the first place.
So since, as we discussed over email, we're going to need let anyway, what about the following?
build n (\i -> index (scatter sh v f) ix)
~>
let a = scatter (n ::: sh) (build n (\l -> v)) (\(j1 ::: js) -> j1 ::: f js)
in gather n a (\i -> ix)

I hope I got that index arithmetic right. Code size increases somewhat, but with a bounded growth factor.

I managed to parse your proposal and I fixed some minor scope-checking problems (and simplified the list notation and renamed build to build1 and gather to gather1)
build1 n (\i -> index (scatter sh v f) ix)
~>
let a = scatter (n : sh) (build1 n (\i -> v)) (\(i : js) -> i : f js)
in gather1 n a (\i -> ix)

Let me know if the fix is spurious, because that would mean I misunderstand our formalism.
Then I mechanically applied backwards the scatter vectorization rule (see the overleaf)
build1 k (var, scatter sh t (vars, ix)) -->
  scatter (k : sh) (build1 k (var, t)) (var : vars, var : ix)

and I arrived at
build1 n (\i -> index (scatter sh v f) ix) -->
  let a = build1 n (\i -> scatter sh v f)
  in gather1 n a (\i -> ix)

which can be distilled to rule (D0)
build1 n (\i -> index t ix) -->
  gather1 n (build1 n (\i -> t)) (\i -> ix)

This looks valid and reminds me of the gross inefficiency of vectorizing fromList, so let me try to distil a similar rule from the  two vectorization rules for fromList, see the Overleaf. Apologies for mixing in the pair notation instead of sticking to the visible lambda notation.  But there is a simple rule for fusion of a long gather with a short transpose, not needed for the vectorization rewriting system, so only present in the code
AstGather ...
  AstTranspose perm v | valueOf @p' >= length perm ->
    AstGather sh4 v (vars4, permutePrefixIndex perm ix4)

and after applying it, we obtain
build1 n (\i -> index t [i2]) -->
  gather1 n (build1 n (\i -> t)) (\i -> [i, i2])

which is almost the same and must indicate a bug, and one that a shape-checker (and even a rank-checker) would catch. Let me venture that rule (D0) should be amended to rule (D)
build1 n (\i -> index t ix) -->
  gather1 n (build1 n (\i -> t)) (\i -> i : ix)

and this fix should be propagated upwards to the other rules. If that's correct, your solution generalizes and we've got ourselves a new vectorization rule (D) (instead of a suitable simplification rule, as I originally hoped, which probably doesn't exist). That's a rule of last resort, so implementation should apply it only when stuck. However, perhaps it eliminates the need for any simplification rules in our presentation, if we are content with presenting an inefficient vectorization procedure and only mention that a different procedure with simplification rules fares much better and falls back to (D) only in some cases of scatter and fromList.

Let's try eager (D) and simplifying afterwards (apologies for the temporary pairs instead of lambdas). To vectorize and simplify fromList we need (D), the simple vectorization rule
build1 k (var, fromList [t1 .. tn] -->
  tr (fromList [build1 k (var, t1) .. build1 k (var, tn)])

and additionally the gather of transpose rule from above
AstGather ...
  AstTranspose perm v | valueOf @p' >= length perm ->
    AstGather sh4 v (vars4, permutePrefixIndex perm ix4)

This lets us mimic the existing "hard part" vectorization rule
build1 k (var, index (fromList [t1 .. tn]) [i]) -->
  gather (k : tshape t1)
         (fromList [build1 k (var, t1) .. build1 k (var, tn)])
         ([var], [i, var])

which seems to offer the least expensive result with build1 pushed down. I think, the general case with ix in place of [i] would work the same and can be subsequently simplified by an existing gather simplification rule that pushes some indexes of gather inside fromList, where they become new gather terms. Except for the first index, which needs to stay in the outermost gather.
For scatter, let's start with
build1 n (\i -> index (scatter sh v f) ix)

With (D) we are getting
gather1 n (build1 n (\i -> (scatter sh v f))) (\i -> i : ix)

with the simple vectorization rule
build1 k (var, scatter sh t (vars, ix)) -->
  scatter (k : sh) (build1 k (var, t)) (var : vars, var : ix)

we obtain
gather1 n (scatter (n : sh) (build1 n (\i -> v)) (\(i : is) -> i : f is)) (\i -> i : ix)

which is the same as the fixed version of the result of your original scatter vectorization rule
    let a = scatter (n : sh) (build1 n (\i -> v)) (\(i : js) -> i : f js)
    in gather1 n a (\i -> i : ix)

and no extra rules are required to simplify anything further.
Let's now try the first of the "hard part" vectorization rules for the remaining normal forms of simplification
build1 k (var, index x ix) -->
  gather (k : tshape (index x ix)) x ([var], ix)

The result of (D) applied to the left hand side is (mixing up variable names)
gather1 n (build1 n (\i -> x)) (\i -> i : ix)

and simple vectorization turns this into
gather1 n (konst n x) (\i -> i : ix)

To proceed we require the simplification rule for gather of konst
AstKonst _k v -> astGather sh4 v (vars4, rest4)

which turns this into
gather1 n x (\i -> ix)

which is indeed equal to
gather (k : tshape (index x ix)) x ([var], ix)

from above.
Let's try one more case, where we need to simplify index(gather) in order to apply the simple vectorization rule for gather
build1 n (i -> gather sh v (vars, ix)) -->
  gather (n : sh) (build1 k (i -> t) ((i : vars) -> i : ix)

Let's assume we start with
build1 n (\i -> index (gather sh v (\(var : vars) -> ix)) [m])

which via indexing simplification rules easily reduces to the left hand side (potentially with some substitutions applied, but never mind that), which then results in the right hand side. Rule (D), OTOH, gives
gather1 n (build1 n (\i -> gather sh v (\(var : vars) -> ix))) (\i -> i : [m])

and the simple vectorization rule for gather reduces the inner build1, giving
gather1 n (gather (n : sh) (build1 n (\i -> t) (\(i : var : vars) -> i : ix))) (\i -> i : [m])

and it surely all ends well, but it's obvious by this point that to resolve this we need fusion of gathers.
Concluding, it seems we have two alternative sets of rules that complement the simple vectorization rules

the "hard part" vectorization rules (including your scatter rule) and indexing simplification rules
rule (D) and gather simplification rules

I'm not 100% sure these sets are disjoint (e.g., in the implementation, some gather simplification rules do "call" indexing simplification rules, but I don't know if these are just shortcuts or if this affects the final results and, if the latter, whether the extra simplification is required to expose redexes for further vectorization or only optional). In general, gather simplification rules are several times more complex than indexing simplification rules.
There's also the third variant you mentioned, "reluctant rule (D)", which consists of simple vectorization, indexing simplification and rule D restricted to the normal forms of simplification (either by instantiating the rule to these forms or by side conditions to the rule). It's most probably the shortest rule set of the three. I will try to implement it (with the usual tweak that I simplify reluctantly, as well) and then, if tests are positive, we could base the first attempt at the Overleaf presentation on that.
Thoughts?

And indeed code got shorter, scatter is now vectorized and the limited testing shows no problems with the "reluctant rule (D)" method.
https://github.com/Mikolaj/horde-ad/commit/5e5c763d1a309ef2e35a38d533069eb84705d34d
Unfortunately, I can't get even a portion of indexing inside scatter, unlike with fromList, so the new normal form is the fully general index (scatter...) ix, except for ix == ZI. I also don't fuse scatter with anything yet, but there's no rush with fusion, it's not needed for vectorization.
Another success.

I've written it all down in the Overleaf the best I could. I haven't touched fromInt until we decide in https://github.com/Mikolaj/horde-ad/issues/91 whether it should be dropped or not.


Iterate over the code points of value using the same algorithm used to interpret strings passed to eval

There's already spec algorithm/text for interpreting JS strings that contain lone surrogates, in the manner that QuoteJSONString wants to interpret them -- as code points, with lone surrogates interpreted as whole code points.  We should reuse that.
Additionally, the main spec already has definitions for leading/trailing surrogate that can be reused.  That seems better than introducing new definitions that cross-reference elsewhere.
I have no idea what the custom is for dels/inses or how exactly this is supposed to be written -- the existing dels/inses do not match up with the spec text in https://github.com/tc39/ecma262 right now, so I'm not sure what they're acting against -- so I mostly just used them with respect to the text currently there.

I'm very confused by this PR given we are so out of sync with what's in ecma262 today. @jswalden what "algorithm used to interpret strings passed to eval" are you talking about?

@michaelficarra https://tc39.github.io/ecma262/#sec-performeval step 6 begins, "Let script be the ECMAScript code that is the result of parsing x, interpreted as UTF-16 encoded Unicode text as described in 6.1.4, for the goal symbol Script."
What's happening there is a JavaScript string of 16-bit code units is being converted into the stream of Unicode code points suitable for interpretation with respect to the Script production -- interpreting valid code points as the same values and lone surrogates as code points of those same values.  This is done by reference to the algorithm in 6.1.4.
This conversion algorithm is exactly the same as what you want to do here, in determining how to quote each portion of the input string into a JSON literal.  Does that clarify things?

Okay, rebased against the main spec -- which I assume is done by copying the main spec text into spec.emu, then making ins/del changes against it?  If there's something more to do here, let me know.
Incidentally, I would probably make that table have only two columns -- and put U+0008 BACKSPACE in one column and \b in the other -- but I'm not sure how to mark up the inses/dels for that, nor how well the rendered view of it would actually display if I tried.

@jswalden I think you misunderstood; I meant that we had to get this proposal defined on top of the spec master and then open a PR that changes it from iterating over code units to iterating over code points. Trying to both at the same time just confuses matters.

@jswalden I just landed the proposal rebase, so you're clear to rebase this PR on top of the new proposal master.

@gibson042 Done, I think.

Updates done.  If I were touching the main spec directly, using the usual diff-tools, I would change UnicodeEscape (which is only used by QuoteJSONString) to accept code points.  But I am not, so I will not.


How to create a tangoPoints.mat file?

I am a beginner so I am not quite understanding how to make this 3 x 11 array. Do we need to use matlab? Please let me know the proper and exact format to make this .mat file. I already have the keypoints collected, so do I write it as an array in notepad and save it as a .mat file? I tried doing this and this is the error I am getting:
Traceback (most recent call last):
File "C:\Users...\GitHub\speedplusbaseline\preprocess.py", line 169, in
json2csv(cfg)
File "C:\Users...\GitHub\speedplusbaseline\preprocess.py", line 82, in json2csv
keypts3d = load_tango_3d_keypoints(tango3dmodelfile) # (11, 3) [m]
File "C:\Users...\GitHub\speedplusbaseline\src\utils\utils.py", line 274, in load_tango_3d_keypoints
vertices  = loadmat(mat_dir)['tango3Dpoints'] # [3 x 11]
File "C:\Users...\AppData\Local\Programs\Python\Python39\lib\site-packages\scipy\io\matlab\mio.py", line 225, in loadmat
MR, _ = mat_reader_factory(f, **kwargs)
File "C:\Users...\AppData\Local\Programs\Python\Python39\lib\site-packages\scipy\io\matlab\mio.py", line 74, in mat_reader_factory
mjv, mnv = get_matfile_version(byte_stream)
File "C:\Users...\AppData\Local\Programs\Python\Python39\lib\site-packages\scipy\io\matlab\miobase.py", line 231, in get_matfile_version
raise ValueError('Unknown mat file type, version %s, %s' % ret)
ValueError: Unknown mat file type, version 46, 52

Please take a look at savemat & loadmat functions from the scipy packages.
https://docs.scipy.org/doc/scipy/reference/generated/scipy.io.savemat.html
Note that we use the loadmat function to load the tangoPoints.mat file in the load_tango_3d_keypoints function of src/utils/utils.py.

Thank you! It worked now. I tried installing the dependencies, however, I am getting an error message about not being able to build wheels for numpy. I made sure that the Python and numpy versions were compatible, however I have been getting the same error.

You'll have to provide more information for me to help you run the code. Which OS are you using? Are you making a new environment using venv or conda with appropriate python version (3.7)?
Also please note that our repository was tested working on Ubuntu 20.04 only - it is up to primarily end users to set it up for different operating systems.

Yes, I am using Ubuntu 20.04 for Linux, and I don't think I am making a new environment. How am I supposed to do that?

Please include the entire error trace in the future.
The error comes from the pnp function in utils/utils.py (line 250). What are the shapes of points_3D and points_2D? Note that for KRN, both should have 11 keypoints.

Closing due to no activity


Added decoding for base64-encoded images

Right now, Image types accept a binary bytes object and return a base64-encoded HTML representation of the image suitable for embedding in an HTML document.  Some packages like Datashader return such a bytes object from their _repr_png_() methods, which works well, but other _repr_png_ methods like the ones in nxpd return a string already base64 encoded.  With this PR, if a string is provided as the image data, Panel will base64-decode the string before moving on; it will later be base64 encoded again.  This double decoding and subsequent re-encoding isn't optimal, but it's a simple fix for not being able to view such objects.
The code uses isinstance(...,str) to check for the string, which seems safe for py2/py3 because a base64-encoded string should not normally be unicode on either Python version.

Codecov Report

Merging #88 into master will decrease coverage by 0.02%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master      #88      +/-   ##
==========================================
- Coverage   91.69%   91.67%   -0.03%
==========================================
  Files          23       23
  Lines        3674     3676       +2
==========================================
+ Hits         3369     3370       +1
- Misses        305      306       +1

Impacted Files
Coverage Δ

panel/pane.py
81.36% <50%> (-0.16%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1547390...44452ba. Read the comment docs.


Add native type literals to UP018

See https://github.com/astral-sh/ruff/issues/1348#issuecomment-1646520368.
UP018/C408 detects some, but not all of the same errors as Refurb:
# detected by Ruff and Refurb
l = list()
d = dict()
t = tuple()

# only detected by Refurb
i = int()
f = float()
c = complex()
b = bool()

# missleading error message in Ruff, see below
by = bytes()
s = str()

Running in Ruff:
$ ruff x.py
x.py:1:1: E741 Ambiguous variable name: `l`
x.py:1:5: C408 [*] Unnecessary `list` call (rewrite as a literal)
x.py:2:5: C408 [*] Unnecessary `dict` call (rewrite as a literal)
x.py:3:5: C408 [*] Unnecessary `tuple` call (rewrite as a literal)
x.py:10:6: UP018 [*] Unnecessary call to `bytes`
x.py:11:5: UP018 [*] Unnecessary call to `str`

Running in Refurb:
$ refurb x.py
x.py:1:5 [FURB112]: Replace `list()` with `[]`
x.py:2:5 [FURB112]: Replace `dict()` with `{}`
x.py:3:5 [FURB112]: Replace `tuple()` with `()`
x.py:5:5 [FURB112]: Replace `int()` with `0`
x.py:6:5 [FURB112]: Replace `float()` with `0.0`
x.py:7:5 [FURB112]: Replace `complex()` with `0j`
x.py:8:5 [FURB112]: Replace `bool()` with `False`
x.py:10:6 [FURB112]: Replace `bytes()` with `b""`
x.py:11:5 [FURB112]: Replace `str()` with `""`

The "Unnecessary call to bytes/str" message is also misleading because there are no arguments to str()/bytes().
Very few projects according to grep.app are using the int(), str(), etc. form, but still worth adding IMO.

Complex seems a bit difficult (no pun intended) as it can accept 0, 1 or 2 arguments and it can accept them as keyword arguments as well:
complex()
# 0j

complex(1)
# (1+0j)

complex(1, 2)
# (1+2j)

complex(real=1, imag=2)
# (1+2j)

complex(1, imag=2)
# (1+2j)


SPIRV emitter backend

As stated in issue #2387, I am working on a CompilerSPIRV to allow emitting SPIRV after reflection.
My plan is to only support simple modifications to the SPIRV, such as decorator changes.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


createRef does not work with styled.View and TypeScript

Environment
react-native 0.68.2
styled-components/native 5.3.3
@types/styled-components-react-native 5.1.3
typescript 4.8.3
Reproduction
import styled from 'styled-components/native'
import { View } from 'react-native'

const StyledView = styled.View({})

function App() {
  const viewRef = createRef<View>()
  return <StyledView ref={viewRef}><Text>Hello World</Text></StyledView>
}

Workaround
import styled from 'styled-components/native'
import { View } from 'react-native'

const StyledView = styled.View({})

function App() {
  const viewRef = useRef<View | null>()
  const setViewRef = useCallback((ref) => { viewRef.current = ref; }, [])
  return <StyledView ref={setViewRef}><Text>Hello World</Text></StyledView>
}

Expected Behavior
It should be possible to use createRef() with the proper typing
Actual Behavior
Throw the typing error:
gave the following error.     Type 'RefObject<View>' is not assignable to type 'Ref<View> | undefined'.

Same issue for forwardedRef, probably related (?)
import { forwardRef } from 'react';
import { TextInput } from 'react-native';
import styled from 'styled-components/native';

const Input = styled.TextInput``;

interface Props {}

const MyTextInput = forwardRef<TextInput, Props>((props, ref) => {
  return <Input ref={ref} />;
});

    Type 'ForwardedRef<TextInput>' is not assignable to type 'Ref<TextInput> | undefined'.

any way you guys got around this?


sieve: should be unlocked before other extra exercises dealing with primes

So far I've identified diffie-hellman and nth-prime as getting unlocked before sieve ☹

I'm realizing that this issue may have to do with how the exercises in the track are configured. I would like to know more. #985

I'm closing this as belonging to the larger question of topics and order....


Set up user login and authentication

Set up routes/, data/, and some basic forms in views/
Use bcrypt to encrypt user passwords
Use express-session to track user login status

Done.


Cross compilation with ENABLE_JNI is impossible

The CMakeLists.txt in td/generate makes impossible to build tdjni because it copies JavadocTlDocumentationGenerator only if the target is "install".
To cross compile, the target would be "prepare_cross_compiling", not "install", so the following lines don't work:
  if (TD_ENABLE_JNI)
    install(TARGETS td_generate_java_api RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
    install(FILES JavadocTlDocumentationGenerator.php TlDocumentationGenerator.php DESTINATION "${CMAKE_INSTALL_BINDIR}/td/generate")
    install(FILES scheme/td_api.tlo scheme/td_api.tl DESTINATION "${CMAKE_INSTALL_BINDIR}/td/generate/scheme")
  endif()

I fixed it temporarily by replacing that lines with this:
  if (TD_ENABLE_JNI)
    install(TARGETS td_generate_java_api RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
    file(COPY JavadocTlDocumentationGenerator.php TlDocumentationGenerator.php DESTINATION "${CMAKE_INSTALL_BINDIR}/td/generate")
    file(COPY scheme/td_api.tlo scheme/td_api.tl DESTINATION "${CMAKE_INSTALL_BINDIR}/td/generate/scheme")
  endif()

I'm currently building so I don't know if there are other bugs with cross compilation with jni enabled.

Of course, crosscompilation with TD_ENABLE_JNI is possible, otherwise we wouldn't be able to build TDLib for Android.
You don't need to copy JavadocTlDocumentationGenerator.php and other files anywhere, unless you install TDLib. You can just use them from their original location.
The target td_generate_java_api is not built at all if TDLib is crosscompiled, For JNI interface cross-compialtion, you need to run natively both
cmake --build . --target prepare_cross_compiling
cmake --build . --target td_generate_java_api

prior the cross-compilation.


adding line continuation

Hi @4c74356b41, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@4c74356b41 : Thanks for your contribution to the Azure documentation! The author, @jimdial, has been notified to review your proposed change.

Thank you for the edits  @4c74356b41 !  #sign-off


Enhance Release Event Card for Mobile View

https://contributors.ohc.network/releases

I would like to work on this issue

is this ok when the screen size is small ?

maybe we could make the font sizes smaller in mobile view. also decrease the amount of margin so that we get more width to play around.
We could also hide the "coronasafe" / github org. part in mobile view.

okk

Also, we are showing the release time on the home page but not on the dedicated release section. Can we add that too on this page?

yes , I will update that too


Galvan should not call System.exit from a TestHarness

AbstractHarnessEntry calls System.exit from its UncaughtExceptionHandler.  This should probably not happen as it can cause strange behavior from things like surefire.

Looking at this more closely, the current approach seems to be to catch uncaught errors in galvan, rather than actual test failures.
Instead of removing the System.exit(), we may just want to make it more descriptive and easier to find in the logs of a run so that these outstanding issues can be resolved.
I am trying to observe this to see what kinds of errors fall into this case but it is proving difficult.

Going to return to this after some other work, to see if I can see us hit this code path.  The code is in GalvanExceptionHandler, which is in AbstractHarnessEntry.java.

The System.exit() cases actually represent the point where Galvan bugs appear.  In these cases, there is no well-defined way to bring down all other processes.
I enhanced some of the logging around these cases so we can find them, when they occur:  02ec4d53d2b4d4bb3f08ee28a118b070f25fbd13


Update to 1.2.1 with server.ts

Do you plan to update it?

i'll update the example soon. the adapter itself should work just fine on 1.2.1, i have it in a few projects. is there something not working for you?

If I understood correctly, it now possible to define server.ts and it's will be compiled alongside remix. Correct me if I'm wrong.

If I understood correctly, it now possible to define server.ts and it's will be compiled alongside remix. Correct me if I'm wrong.

correct! i'll update the example later today

example updated! https://github.com/mcansh/remix-fastify/commit/5bbec5812db6c321f5b4c430f78ba84a472760e0


Building x11 tools fails on current master

As of current master (commit 020700af1d664c7b6e3b8b8d50a23e86286ef3dd) I get an error when trying to build godot. scons p=x11 gives the error:
platform/x11/joystick_linux.cpp:36:44: fatal error: libevdev-1.0/libevdev/libevdev.h: No such file or directory
compilation terminated.

git blame points to commit af633c794179d29a4bf0c01983c8b08d14553596 so most probably that's the faulty commit.
Note that I couldn't find version 1 of the evdev headers for my distro (kubuntu 15.10), only version 2.

Oh yeah the gamepad stuff adds a dependency to libevdev-dev. I tested it on
a pretty old Ubuntu (12.4) but the package seems to still be around (
http://packages.ubuntu.com/wily/i386/libevdev-dev/filelist), isn't it?
There was a second dependency, I don't remember it. We should note them and
update the building wiki page.
On 20 December 2015 at 22:13, est31<EMAIL_ADDRESS>wrote:

As of current master (commit 020700a
https://github.com/godotengine/godot/commit/020700af1d664c7b6e3b8b8d50a23e86286ef3dd)
I get an error when trying to build godot. scons p=x11 gives the error:
platform/x11/joystick_linux.cpp:36:44: fatal error: libevdev-1.0/libevdev/libevdev.h: No such file or directory
compilation terminated.
git blame points to commit af633c7
https://github.com/godotengine/godot/commit/af633c794179d29a4bf0c01983c8b08d14553596
so most probably that's the faulty commit.
Note that I couldn't find version 1 of the evdev headers for my distro
(kubuntu 15.10), only version 2.
—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/3108.

Installing the libevdev-dev package did it.

Yes, but this code is wrong:
#include <libevdev-1.0/libevdev/libevdev.h>
we must do this correctly using pkg-config
On Sun, Dec 20, 2015 at 10:28 PM, est31<EMAIL_ADDRESS>wrote:

Closed #3108 https://github.com/godotengine/godot/issues/3108.
—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/3108#event-496996209.

fixed it. Next time please use pkg-config to add libraries, which is there
for a reason :)
On Mon, Dec 21, 2015 at 10:28 AM, Juan Linietsky<EMAIL_ADDRESS>wrote:

Yes, but this code is wrong:
#include <libevdev-1.0/libevdev/libevdev.h>
we must do this correctly using pkg-config
On Sun, Dec 20, 2015 at 10:28 PM, est31<EMAIL_ADDRESS>wrote:

Closed #3108 https://github.com/godotengine/godot/issues/3108.
—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/3108#event-496996209.

46dee92c8eb2eed4ed72e0b79670889eca5e1896 thanks

also as far as I know, there is libevdev for freebsd, so this should be
fine without checking linux platform
On Mon, Dec 21, 2015 at 11:24 AM, est31<EMAIL_ADDRESS>wrote:

46dee92
https://github.com/godotengine/godot/commit/46dee92c8eb2eed4ed72e0b79670889eca5e1896
thanks
—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/3108#issuecomment-166316448.

Sorry for not doing this properly :/
And thanks for the hint on evdev being available on freebsd, I'll set up a VM and check it out.
It won't have hotplugging, as that depends on udev, but I think that's still better than no gamepad input at all.
Also, I may have an opportunity to borrow a macbook, so I might be able to check out joystick support on osx. But I can't promise anything at this point.


bug: EventPairPriceUpdated is not detected properly

This endblocker event EventPairPriceUpdated is not caught although it is part of the websocket dump. Most likely not the right route of json is being parsed.

It seems this was deleted. Closing unless we see this come up again


feat: add pause feature

related to #195
This PR introduces a pause feature.
pause() method stops the camera, but does not release the texture.
And It takes the following state transitions.
stateDiagram-v2
    [*] --> Start
    Start --> Pause
    Pause --> Start
    Pause --> Stop
    Start --> Stop
    Stop --> [*]

If this feature is useful and fits the concept of this library, please consider merging it.

Thanks for your reply.
I will try these for now.
However, I am new to MacOS and MediaStream, so it will probably take some time.

@navaronbracke I implemented pause for MacOS and web.
Please review if you have time.

Any update on this?


Feature/delete api backend

Closes #1516
Closes #1508
Changes

restructure Feedback files into own module
clean up AutoForm hooks for Delete API

Known issues

submit feedback form causes page refresh

Reviewing

@brylie Nice refactoring and delete also seems to function now.


401 response never ends loading

Hello,
I am using angular-http-auth and when a resource I am calling return 401 response the loading bar never ends. Is there a known bug?
Thanks a lot.

There are no known issues related to this.  A 401 would be considered an error response, which is handled by the loading bar.  If you're able to create a plunker or fiddle demonstrating a problem, I'm happy to take a look.

Hello. I have the same issue, angular-http-auth intercepts 401 response and just triggers a new event, so futher handling is possible only by handling this event. Could you provide an API method to increment number of completed requests manually? Will it make sense to pull a request?


Seatunel supports zeppelin data analysis tool

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
Can data collection and conversion support zeppelin? Can data cleaning and conversion be achieved in zeppelin? Can it be connected
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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


Node status is stuck as Unknown

I see the following in the kube-controller-manager log:
Mar 03 17:54:31 kubernetes-master kube-controller-manager[3535]: E0303 17:54:31.439747    3535 nodecontroller.go:221] error updating node <IP_ADDRESS>: minion "<IP_ADDRESS>" is invalid: update contains more than labels or capacity changes
Mar 03 17:54:31 kubernetes-master kube-controller-manager[3535]: I0303 17:54:31.437298    3535 nodecontroller.go:218] updating node <IP_ADDRESS>

@dchen1107 - This is happening to me on HEAD and is the reason why pod status is always showing unknown even when they are scheduled and running.

This is with the vagrant cloud provider.
It looks like the delta between the new and old minion is the Node.Spec.ExternalID is being set on the incoming minion but is not set in the originally created minion.

I am not sure how this is not affecting other cloud providers.
It looks to me that NodeController populated the node ExternalID here:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/cloudprovider/controller/nodecontroller.go#L273
It looks like the Kubelet provided value is missing the ExternalID

Actually, I am now confused on what the NodeController may or may not be doing here that is causing the status to not get updated.

It looks like the client is passing an ExternalID on the incoming request, but the original value that is in etcd does not have an ExternalID set.  Not sure what changed that would have caused this issue to appear.

I think this causes problems:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/cloudprovider/controller/nodecontroller.go#L175
The memory is re-used in a for-loop by Go so referring to a pointer value in a map here will cause problems I think.

Ok, the referenced line is the problem.  Sending a PR.

Well, I go back on that now.
A simple way to reproduce this is to delete all the minions in your cluster, and verify the node controller is able to add them back.  For me, this is causing the node controller to add them back in an unknown status, and then all updates to the node fail.  The update fails because the node controller is not setting an ExternalID on the original object.

I am looking into this now. cc/ @ddysher too

Related issue opened while debugging this: #4992

Debugged through here:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/cloudprovider/controller/nodecontroller.go#L142
I can via manual fmt see that the object has an ExternalID set prior to the call Create.
When I look at etcd, I end up with this persisted:
 {
                        "createdIndex": 8,
                        "dir": true,
                        "key": "/registry/minions",
                        "modifiedIndex": 8,
                        "nodes": [
                            {
                                "createdIndex": 10,
                                "key": "/registry/minions/<IP_ADDRESS>",
                                "modifiedIndex": 10,
                                "value": "{\"kind\":\"Minion\",\"id\":\"<IP_ADDRESS>\",\"uid\":\"14dcbfd9-c1da-11e4-b6da-0800279696e1\",\"creationTimestamp\":\"2015-03-03T19:18:32Z\",\"apiVersion\":\"v1beta1\",\"resources\":{\"capacity\":{\"cpu\":\"1\",\"memory\":3221225472}},\"status\":{}}"
                            }
                        ]
                    }

Note: it is missing an ExternalID somehow ;-)

Ok, I think I see the issue
Nodes returned from here:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/cloudprovider/controller/nodecontroller.go#L407
Do not have an ExternalID
Which can make Nodes created from here:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/cloudprovider/controller/nodecontroller.go#L181
End up without an External ID.
Having two different nodeClient.Create() paths in this code is confusing.
Also we are doing bad things in maps holding pointers to memory allocated in for-loop.
We need to fix that ;-)

Yeah, this is bug we should fix. Thanks for looking into this. If you already have a potential fix, please feel free to grab the issue from me.

I think I have a PR that should fix.  Testing that now.  Will cc you on the PR.

Thanks for fixing - it did end up affecting AWS as well (AWS isn't in a fully working state just yet, particularly with node discovery).


Bump Telegraf

High-level description
Bump to latest telegraf to incorporate https://github.com/dcos/telegraf/pull/63
Corresponding DC/OS tickets (required)

COPS-5629 Telegraf saturates CPU on agents

Related tickets (optional)

D2IQ-ID JIRA title / short description.

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot request-review @janisz

@mesosphere-mergebot help

@mesosphere-mergebot backport 2.0 1.13


Rule for import/no-extraneous-dependencies being ignored

We have the following snippet below in our ESLint config. Running lint directly yields no errors while the plugin does. The configuration is valid according to: import/no-extraneous-dependencies. We are using ESLint 4.18.2.

    "import/no-extraneous-dependencies": [
      "error",
      {
        "devDependencies": [
          "**/*.test.js",
          "**/*.tests.js",
          "**/*.stories.js",
          ".storybook/**/*.js"
        ]
      }
    ]

Can you provide me with a GitHub respository I can clone that demos the behaviour?

Here is a repo: https://github.com/gregbty/vscode-eslint-issue-433.

@gregbty thanks. Unfortunately I can't run yarn install on the project. It results in
info No lockfile found.
[1/4] Resolving packages...
error Couldn't find package "@storybook/addon-links" on the "npm" registry.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

Any hint?

It looks like it didn't find a lockfile when you ran the command, but it's definitely there: https://github.com/gregbty/vscode-eslint-issue-433/blob/master/yarn.lock. Maybe try re-pulling and trying again?

@gregbty I deleted the yarn.lock file. If it is present yarn does nothing on my machine. No node_modules folder after running and no error message. npmfails as well with some strange SHA error message.

@gregbty no I am not. I can't run yarn nor npm on the cloned GitHub repository successfully (e.g. in a way that a complete node_modules folder exists afterwards)

Any other way to get you a repro?

Can you try this on a different machine and see if you can use yarn or npm to install. Can anyone else provide a repro I can use that is cloneable and installable.


place holder still shows ${ref}

gradle 7.4
android gradle plugin 7.3.0
in the generated resolved.xml, it shows the correct string
but in app, it just shows ${ref} ...
any possible reasons? thanks.

got the same issue

Hi! thanks for your feedback. Maybe Google changed the way to define extra resource dirs, I haven't taken a look at it yet, I've had a busy couple of days lately, though I'm planning to take a look this week

Same issue here. Can't wait for the fix :)
android gradle plugin 7.3.0
gradle-7.4.2-all.zip

Same issue, i resolved temporarily by adding these lines of code in the android block of the app's gradle
sourceSets {
        debug {
            res.srcDirs = ["${project.buildDir}/generated/resolved/debug/"]
        }
        release {
            res.srcDirs = ["${project.buildDir}/generated/resolved/release/"]
        }
    }

Same issue, i resolved temporarily by adding these lines of code in the android block of the app's gradle
sourceSets {
        debug {
            res.srcDirs = ["${project.buildDir}/generated/resolved/debug/"]
        }
        release {
            res.srcDirs = ["${project.buildDir}/generated/resolved/release/"]
        }
    }

Confirmed.
By adding these lines of code under app:gradle android{} block, this problem has been temporarily fixed.
Thanks for sharing.

Thanks for the feedback guys, this should be fixed now on version 2.2.3 - Please feel free to reopen it if you still get the issue.


Auto add applabel to installed_apps settings

Automatically add the application name to the INSTALLED_APPS list in the settings module when the startapp command is run
When we run the startapp command, we want to automatically add it to the settings.py, which will append to the INSTALLED_APPS list.
Further, I want to add an argument to the startapp command that will allow the flexible option for automatically including the app name in the settings file like --auto or similar options. By default, it won't add it, just when we parse the --auto parameter, it will append it to the list replacing it with regex.
Below is what my end goal looks like with the feature
django-admin startapp --auto my_app

In the current PR, it just adds it by default, since I am not sure how to add an argument/option to the app's command.
This is just an idea for further polishing of the feature.
How is the idea, please I am open to suggestions to make it thoroughly usable

Thanks for this patch, however this change is backward incompatible and it's not always desirable to add a new app to the INSTALLED_APPS. You can start a discussionon the django-developers mailing list if you don't agree.


Update Langterms

Add fallback terms from en.js when a language is missing a lang-term.

Should we update en.js to use double quotes around object keys too?

Serge will populate the files without double quotes again. The double quotes are only because of the script.
If inconsistency is a problem, we can change it. Other than that, this poses no issues.


[BUG] RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds

Im using version 6.7.7 and im getting the following error for sending messages in the lengtg of 40 chars and above (messages below are sent fine):
RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds
at proto.utf8Write (node:internal/buffer:1066:13)
at Op.writeStringBuffer [as fn] (/workspace/node_modules/protobufjs/src/writer_buffer.js:61:13)
at BufferWriter.finish (/workspace/node_modules/protobufjs/src/writer.js:453:14)
at encodeWAMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/generics.js:75:112)
at createParticipantNodes (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:248:51)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async Promise.all (index 0)
at async /workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:410:135
at async Object.transaction (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.js:136:26)
at async relayMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:306:9)

downgrade node from 22.7.0. im use 20-alpine and proplem resolved

Im using version 6.7.7 and im getting the following error for sending messages in the lengtg of 40 chars and above (messages below are sent fine):
RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds at proto.utf8Write (node:internal/buffer:1066:13) at Op.writeStringBuffer [as fn] (/workspace/node_modules/protobufjs/src/writer_buffer.js:61:13) at BufferWriter.finish (/workspace/node_modules/protobufjs/src/writer.js:453:14) at encodeWAMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/generics.js:75:112) at createParticipantNodes (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:248:51) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Promise.all (index 0) at async /workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:410:135 at async Object.transaction (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.js:136:26) at async relayMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:306:9)

I was having the same problem ,fixed now
what I did was mentioned here
https://github.com/WhiskeySockets/Baileys/issues/995#issue-2481942187

downgrade node from 22.7.0. im use 20-alpine and proplem resolved

Invalid node version specification '20-alpine'
I’ll try with a Dockerfile

Already done ✅

Im using version 6.7.7 and im getting the following error for sending messages in the lengtg of 40 chars and above (messages below are sent fine):
RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds
at proto.utf8Write (node:internal/buffer:1066:13)

at Op.writeStringBuffer [as fn] (/workspace/node_modules/protobufjs/src/writer_buffer.js:61:13)

 at BufferWriter.finish (/workspace/node_modules/protobufjs/src/writer.js:453:14)

 at encodeWAMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/generics.js:75:112)

 at createParticipantNodes (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:248:51)

 at process.processTicksAndRejections (node:internal/process/task_queues:105:5)

 at async Promise.all (index 0)

 at async /workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:410:135

 at async Object.transaction (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.js:136:26)

at async relayMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:306:9)

The solution ✅
package.json
engines
"node": "20.0.0"
"dependencies": {
"@whiskeysockets/baileys": "^6.6.0",

Im using version 6.7.7 and im getting the following error for sending messages in the lengtg of 40 chars and above (messages below are sent fine):
RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds
at proto.utf8Write (node:internal/buffer:1066:13)

at Op.writeStringBuffer [as fn] (/workspace/node_modules/protobufjs/src/writer_buffer.js:61:13)

 at BufferWriter.finish (/workspace/node_modules/protobufjs/src/writer.js:453:14)

 at encodeWAMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/generics.js:75:112)

 at createParticipantNodes (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:248:51)

 at process.processTicksAndRejections (node:internal/process/task_queues:105:5)

 at async Promise.all (index 0)

 at async /workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:410:135

 at async Object.transaction (/workspace/node_modules/@whiskeysockets/baileys/lib/Utils/auth-utils.js:136:26)

at async relayMessage (/workspace/node_modules/@whiskeysockets/baileys/lib/Socket/messages-send.js:306:9)

The solution ✅
package.json
engines
"node": "20.0.0"
"dependencies": {
"@whiskeysockets/baileys": "^6.6.0",

This is a bug fixed in the node version > 22.8.0. I confirm the error is gone after I changed my node version to 22.9.0


js/ts intelisense crashes repeadetly after a few minutes of starting VS Code

Type: Bug
VS Code project set up:
nvm, node.js (V^18), npm, typescript (V^5), webpack-dev-server (V^5)+ html-webpack-plugin(V^5).
After loading VS Code, in a few minutes, I get the notification that intelisense for JS/TS has crached.

If so, please try collecting the TS Server log from the crashed instance:

Set "typescript.tsserver.log": "verbose"

Restart VS Code and reproduce the problem

Open the TypeScript section of the output panel

At the very top, find the first line that prints to path to the semantic error log file. It should look something like:
[Info  - 19:54:59.247] <semantic> Log file: /Users/matb/Library/Application Support/Code - Insiders/logs/20200213T104930/exthost55/vscode.typescript-language-features/tsserver-log-ZT2zau/tsserver.log

That file contains the typescript logs.

Look through that log file for the first error or stack trace you see. If you can share the log, I can also take a look to see if anything stands out

⚠Warning: The TypeScript log may include information from your workspace, including file paths and source code. If you have any concerns about posting this publicly on Github, just let me know and we can arrange something else. On our side, we only use these logs to investigate issues like this

It reproduces in the latest VS Code insiders build with all extensions disabled.
2024-07-13 09:09:16.494 [info] Starting TS Server
2024-07-13 09:09:16.494 [info] Using tsserver from: c:\Program Files\Microsoft VS Code\resources\app\extensions\node_modules\typescript\lib\tsserver.js
2024-07-13 09:09:16.494 [info]  Log file: c:\Users\wwamp\AppData\Roaming\Code\logs\20240713T090914\window1\exthost\vscode.typescript-language-features\tsserver-log-iB0vnh\tsserver.log
2024-07-13 09:09:16.494 [info]  Forking...
2024-07-13 09:09:16.494 [info]  Starting...
2024-07-13 09:09:16.494 [info]  Log file: c:\Users\wwamp\AppData\Roaming\Code\logs\20240713T090914\window1\exthost\vscode.typescript-language-features\tsserver-log-qiBhCb\tsserver.log
2024-07-13 09:09:16.494 [info]  Forking...
2024-07-13 09:09:16.494 [info]  Starting...
2024-07-13 09:10:14.999 [error] TSServer exited. Code: 134. Signal: null
tsserver.log
ti-4936.log

I also have a project that has been plagued for years with tsserver crashing repeatedly.  I can send this the typescript team privately, or what can I look for in the log file?
[[timestamp]] [error] TSServer exited. Code: 134. Signal: null
[[timestamp]] [info] TSServer log file: c:\Users\[[me]]\..\[[semantic-last]]\tsserver.log
[[timestamp]] [info] Starting TS Server
[[timestamp]] [info] Using tsserver from: c:\code\...
[[timestamp]] [info] <syntax> Log file: c:\Users\[[me]]\...\[[syntax]]\tsserver.log
[[timestamp]] [info] <syntax> Forking...
[[timestamp]] [info] <syntax> Starting...
[[timestamp]] [info] <semantic> Log file: c:\Users\[[me]]\...\[[semantic]]\tsserver.log
[[timestamp]] [info] <semantic> Forking...
[[timestamp]] [info] <semantic> Starting...

[[timestamp]] [error] TSServer exited. Code: 134. Signal: null
[[timestamp]] [info] TSServer log file: c:\Users\[[me]]\..\[[semantic]]\tsserver.log
[[timestamp]] [info] Starting TS Server
[[timestamp]] [info] Using tsserver from: c:\code\...
[[timestamp]] [info] <syntax> Log file: c:\Users\[[me]]\...\[[syntax-next]]\tsserver.log
[[timestamp]] [info] <syntax> Forking...
[[timestamp]] [info] <syntax> Starting...
[[timestamp]] [info] <semantic> Log file: c:\Users\[[me]]\...\[[semantic-next]]\tsserver.log
[[timestamp]] [info] <semantic> Forking...
[[timestamp]] [info] <semantic> Starting...

I don't see any special mention of "134" "error" "tserror" "crash" in the log.
I notice this as the last line of the semantic ends consistently(?) at ~279K lines with:
Info 23436[11:25:30.212] FileWatcher:: Added:: WatchInfo: C:\code\...\node_modules\aws-sdk\package.json 2000 undefined Project: c:/code/.../tsconfig.json WatchType: File location affecting resolution

and that aws-sdk (v2.1528.0) package.json file doesn't have anything wrong with it that I notice.
That is last FileWatcher:: Added:: WatchInfo in a sequence of many that all appear about the same for different package.json files.  I see aws-sdk (same version) mentioned many times previously as various script/module paths and even with one similar line but included from a different project.  The very next line from THAT sequence is about @types\express-serve-static-core\package.json as it wraps up that batch of lines with Info 21856[11:35:39.982] Elapsed:: 0.04400000000168802ms that my crash never seems to reach.

Does this reproduce in the latest VS Code insiders build with all extensions disabled?
If it still does, you may be running into a memory limit. Please try following this guide to see if increasing the memory usage helps


NJ -Missing ORC-23

Name: Mark Firkser
Email<EMAIL_ADDRESS>Please note the error below with your ELR File: covid-19-82ba6f13-72c9-4942-9f53-d10fbf8887e9-20220606134029.hl7
Order: 9d2c5990-377e-43a8-80f9-121d1cdcef77
ORC-23 missing
Please correct and resubmit.

Duplicate to 5537


Settlement tutorial scripts

Thanks, I left a few comments.
Looks great, I only wonder whether in the Intermediated examples we want to use a simple Alice -> Bob via the respective banks without using Charlie as an intermediary

Looks great, I only wonder whether in the Intermediated examples we want to use a simple Alice -> Bob via the respective banks without using Charlie as an intermediary. But it's hard to judge without the actual written tutorial

Agree, it might be better to replace Charlie with Bank2 or so, but let’s see once I write the tutorial for the scripts.


Suggestion - admin commands

As a GM on a server that's running the companies mod, I would like to be able to assign or unassign people to companies, so that I can help resolve mistakes the players made.
It would also be very sweet to have additional commands (change CEO or so), but those would be of less importance

#36 adds a demote option to the force command.
@thomasfn - company force is there a time now - think the issue should be closed?


Incorrect "Variable assigned but never used" error flagged

$Columns = 6    # display data across n columns
'abcdefghijklmnopqrsyuvwxyz' -split '' |  # test strings
ForEach-Object  -Begin { $n = 0 } -Process { Write-Host $_.padright(8) -NoNewline; if( $n % $Columns -eq 0 ) { Write-Host }; $n++ } -End { Write-Host }
The above code runs but shows a problem "Variable n assigned but never used."  In fact, $n is used in the Process code but this is not detected.
VS Code version: Code 1.66.0 (e18005f0f1b33c29e81d732535d8c0e47cafb0b5, 2022-03-30T05:50:14.623Z)
OS version: Windows_NT x64 10.0.19042
Restricted Mode: No

/extPowershell

https://github.com/PowerShell/PSScriptAnalyzer/issues/1163

/extPowershell


snapshot path

I apologize if this is not the appropriate forum for these types of questions, but I am unable to find the relevant info in the docs. I am attempting to create a snapshot repository but haven't had much luck. I can create the repository, but  am unable to create snapshots. I suspect it has to do with the path.repo setting in the elasticsearch.yml file but am unable to verify if this is indeed being read/used. I can create the repo, but cannot query the repository:

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "request [/_snapshot/primary_repo/_all] contains unrecognized parameter: [repository]"
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "request [/_snapshot/primary_repo/_all] contains unrecognized parameter: [repository]"
  },
  "status": 400
}

Perhaps I have something mis-configured? What is the recommended method of transferring data from an existing ES cluster?
Thanks

I found this, which explains the inability to snapshot:

Elasticsearch unsupported features
----------------------------------

* Tribe node allows to query multiple Elasticsearch clusters. This feature is not currently supported by Elassandra.
* Elasticsearch snapshot and restore operations are disabled (See Elassandra backup and restore in operations).

Is there a technical reason for disabling  snapshots? It would seem to reduce interoperability with elasticsearch quite a bit.

Elassandra does not support elasticsearch snapshot because it requires a shared FS and because of elassandra data distribution (one shard per node per index in elassandra, vs. X shards with some replica in elasticsearch). Instead, you can do cassandra snapshot including elasticsearch files as explained in the elassandra doc.
If you want to move your data from elasticsearch to elassandra, you can use logstash with the elasticsearch input plugin + the elasticsearch or cassandra output plugin (the cassandra output plugin will be faster because the CQL directly send data to the right node).
Thanks.

Makes sense, although we do use snapshots with the google cloud storage plugin so a shared file system is not needed.
Nevertheless, elassandra is very attractive since we maintain separate clusters of cassandra and elasticsearch and it would be nice to consolidate.
I'll keep working with it to see if it meets our needs. Some of the hiccups I've hit so far gave to do with empty/null objects. I built and installed the fixed version and that helped, but its still picky in terms of handling nulls since elasticsearch doesn't consider an empty array as a null.  I also notice that I'm hitting different errors when indexing via the bulk API vs a PU. Documents that error out with the bulk API go through fine with a PUT. Is that expected behavior?
Thanks

If you have unexpected error, please open a case with the detailed information.
BTW, i would recommend to use the CQL driver to ingest data rather than the ES bulk API, because cassandra is just better for write operation (no JSON overhead + write on the right node according to the primary key, asynchronous write, batch etc...).


Port update repo cli

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1281   +/-   ##
=======================================
  Coverage   95.39%   95.39%
=======================================
  Files           2        2
  Lines         152      152
=======================================
  Hits          145      145
  Misses          7        7

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5038783...5740b8a. Read the comment docs.

Stratagem CLI:

Another update:

Adding servers using the cli:


redirect to login page if token is invalid

https://github.com/Shippable/admiral/issues/1468

why are we seeing the error message. the screen should be exactly like the user is visiting for the first time


Ubuntu 20.04 cannot be selected as a base image in Pipelines Build Machine Image task

Feature
Type: Release Build
Enter Task Name: PackerBuildV1
Environment
Azure Pipelines

Agent - Hosted or Private: Hosted

Issue Description
Ubuntu 20.04 was released over a year and a half ago and it still is not available in:
Releases->Tasks->Build Machine Image->Auto Generated Packer Template->Gallery Image
The Ubuntu version available to be selected as an image are 14.04.4, 16.04, and 18.04
Ubuntu 20.04 image is available elsewhere on Azure, I needs to be added as a selectable option for machine images

@egor-bryzgalov @bishal-pdMSFT
20.04 was released nearly two years ago, 22.04 will be released in the coming months. 18.04 is getting outdated, can we please get an update to packer templates to modernize Ubuntu releases.


Typo: loose -> lose

Thank you very much!

Nice GitHub profile pic! Looks like AF canyon. I can't wait for the weather to get a bit warmer so I can go ride the Devil's Racetrack.

Thanks! I think this particular picture was on the Squaw Peak road, near
Provo Peak. I've been planning some trails as soon as it gets warm enough
as well :) What do you ride? Is Devil's Racetrack the one down by Saddle
Point? I haven't got down there yet, but I'd like to do more in Central and
Southern Utah.
On Thu, Jan 26, 2023 at 2:58 PM Lee S Jensen @.***>
wrote:

Nice GitHub profile pic! Looks like AF canyon. I can't wait for the
weather to get a bit warmer so I can go ride the Devil's Racetrack.
—
Reply to this email directly, view it on GitHub
https://github.com/webprogramming260/.github/pull/11#issuecomment-1405724378,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABP3KCYNWOWYURCOM47LGQDWULXRFANCNFSM6AAAAAAUHAXLAE
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Nathan Petersen
@.***

My brother recently got me on a dirt bike. It is a Yamaha TTR 250. I'm a
complete NOOB, but loving it.
Devil's Racetrack is just West of Saddle Point off of I-70. I haven't done
it yet, but plan on doing it as a loop with Eagle Canyon.
On Thu, Jan 26, 2023 at 3:11 PM nathan petersen @.***>
wrote:

Thanks! I think this particular picture was on the Squaw Peak road, near
Provo Peak. I've been planning some trails as soon as it gets warm enough
as well :) What do you ride? Is Devil's Racetrack the one down by Saddle
Point? I haven't got down there yet, but I'd like to do more in Central and
Southern Utah.
On Thu, Jan 26, 2023 at 2:58 PM Lee S Jensen @.***>
wrote:

Nice GitHub profile pic! Looks like AF canyon. I can't wait for the
weather to get a bit warmer so I can go ride the Devil's Racetrack.
—
Reply to this email directly, view it on GitHub
<
https://github.com/webprogramming260/.github/pull/11#issuecomment-1405724378
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ABP3KCYNWOWYURCOM47LGQDWULXRFANCNFSM6AAAAAAUHAXLAE
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Nathan Petersen
@.***
—
Reply to this email directly, view it on GitHub
https://github.com/webprogramming260/.github/pull/11#issuecomment-1405738490,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACNBRBBEZJLBNCVOQIWD6DTWULZARANCNFSM6AAAAAAUHAXLAE
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


[dns-sd] Use a common function for determining CHIP service name

Problem
3 copies of the same logic for determining a CHIP service name based on fabridID & nodeID are present and they have
already diverged.
Summary of Changes
Extract the code to a common function and make it comply with the spec.

I have a PR open right now that does a similar thing, but for the host name. Right now I'm building the host name as a part of the advertising parameters. I'm wondering if that might be a better place for it than in a separate helper file. The parameters already have the node and fabric IDs - it's would be too crazy to just put a function in there to pop them together into a string.
https://github.com/project-chip/connectedhomeip/pull/5437

@cecille I generally like having a separate file for such helper methods since I like public structures such as the advertising parameters to be as lightweight as possible and not involved in the implementation details. I don't, however, have a very strong opinion on that, so I'm OK with aligning with your solution when it's ready :)

I don't have a really strong opinion on that either. The list itself is something of an implementation detail because it's a list of all the things you need create a chip-specific set of dns-sd responses. The reason I like it in the parameters list is just because it reduces the number of places you need to look to find all the info you need to build the advertisement. Good arguments for both, but we should match. So I'd say just pick what you think makes the most sense for all the names, and I will match the pattern for the host name.


loadExtension - library not found

Describe the bug
when calling loadExtension function, I got Error Exception in HostFunction: dlopen failed: library "mylib.so" not found
location of .so compiled file for 'arm64-v8a' :
/node_modules/@op-engineering/op-sqlite/android/jniLibs/arm64-v8a
Notice: I've rolled back to<EMAIL_ADDRESS>it reads the library properly with no error raised, with the same file location.
Versions:
OS and version: Android 12 device and emulator
op-sqlite version: 6.0.4
RN version: 0.74.1
New Architecture: Yes
EXPO framework v51.0.9
Reproducible example
export async function loadExtension() {
  let db = open(DB_CONFIG);
  db.loadExtension("mylib", "sqlite3_mylib_init");
}

Oh, thanks for finding this. Can you create a reproducible example so I can take a look?

I've created a reproducible repo,
installation guide :
npm i
.so file extension in extension directory needs to be copied into the corresponding archs folders in  /node_modules/@op-engineering/op-sqlite/android/jniLibs/
npm run android  or npx expo run:android

😨 no, you are not supposed to copy to node_modules folder... there is a reason why I didn't want to document this... dealing with the file system is brittle and complex but I see I have fallen into the API that is exposed, API that is abused hole
You need to copy your .so files into /android/app/src/main/jniLibs. Here is your project with the files placed correctly:

I will add some documentation.

Thanks for your clarification for resolving this issue, it works properly.
Actually, it was not clearly documented where to place extensions, thanks for updating documentation, I was not sure initially where to put it, tried with the installation package which I know is not appropriate path, but just to test the load_extension function.

I know, I didn't document it on purpose, because people will constantly ask me how to compile their extensions. But it's there now.


Lenient restriction on country name attribute

The country name within the subject or issuer Name should consist of two printable string characters, yet ZLint’s parser does not enforce this length requirement. We found country name such as "My Country" is not reported as an error.

This case is covered when all the linter profiles are enabled. Not just RFC 5280.


Model interpolation error

From @orerocks
Attempting to interpolate from a BlockModel to Octree

After discussion, need to add a check for integer data type.


Periodic test failures due to runner issue

https://github.com/ansible/ansible-runner/issues/694
recheck usually gets through this
2021-05-15 16:08:42.659697 | ubuntu-bionic | E       +******** ERROR: TMUX RESPONSE TIMEOUT @ 60.006299034999984s @ 2021-05-15T16:06:44.833441+00:00 ********
2021-05-15 16:08:42.659708 | ubuntu-bionic | E       +******** Captured to: /home/zuul/zuul-output/logs/anible-navigator/tests/integration/actions/collections/test_direct_interactive_ee.py/showing_timeout.txt
2021-05-15 16:08:42.659718 | ubuntu-bionic | E       +Traceback (most recent call last):
2021-05-15 16:08:42.659760 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/bin/ansible-navigator", line 8, in <module>
2021-05-15 16:08:42.659781 | ubuntu-bionic | E       +    sys.exit(main())
2021-05-15 16:08:42.659791 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/cli.py", line 104, in main
2021-05-15 16:08:42.659801 | ubuntu-bionic | E       +    run(args)
2021-05-15 16:08:42.659810 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/cli.py", line 54, in run
2021-05-15 16:08:42.659820 | ubuntu-bionic | E       +    wrapper(ActionRunner(args=args).run)
2021-05-15 16:08:42.659840 | ubuntu-bionic | E       +  File "/usr/lib/python3.6/curses/__init__.py", line 94, in wrapper
2021-05-15 16:08:42.659851 | ubuntu-bionic | E       +    return func(stdscr, *args, **kwds)
2021-05-15 16:08:42.659860 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/action_runner.py", line 50, in run
2021-05-15 16:08:42.659876 | ubuntu-bionic | E       +    self._run_app(interaction)
2021-05-15 16:08:42.659886 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/action_runner.py", line 59, in _run_app
2021-05-15 16:08:42.659895 | ubuntu-bionic | E       +    interaction = run_action(self.steps.current.name, self.app, self.steps.current)
2021-05-15 16:08:42.659905 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/actions/_actions.py", line 95, in run_interactive
2021-05-15 16:08:42.659915 | ubuntu-bionic | E       +    return action_cls(app.args).run(app=app, interaction=interaction)
2021-05-15 16:08:42.659924 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/actions/collections.py", line 118, in run
2021-05-15 16:08:42.659933 | ubuntu-bionic | E       +    self._run_runner()
2021-05-15 16:08:42.659942 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/actions/collections.py", line 308, in _run_runner
2021-05-15 16:08:42.659958 | ubuntu-bionic | E       +    output, error = _runner.run()
2021-05-15 16:08:42.659968 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_navigator/runner/api.py", line 232, in run
2021-05-15 16:08:42.659977 | ubuntu-bionic | E       +    out, err = run_command(**self._runner_args)
2021-05-15 16:08:42.659986 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_runner/interface.py", line 372, in run_command
2021-05-15 16:08:42.659996 | ubuntu-bionic | E       +    r = init_command_config(executable_cmd, cmdline_args=cmdline_args, **kwargs)
2021-05-15 16:08:42.660005 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_runner/interface.py", line 282, in init_command_config
2021-05-15 16:08:42.660015 | ubuntu-bionic | E       +    rc = CommandConfig(**kwargs)
2021-05-15 16:08:42.660038 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_runner/config/command.py", line 61, in __init__
2021-05-15 16:08:42.660049 | ubuntu-bionic | E       +    super(CommandConfig, self).__init__(**kwargs)
2021-05-15 16:08:42.660059 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/site-packages/ansible_runner/config/_base.py", line 122, in __init__
2021-05-15 16:08:42.660068 | ubuntu-bionic | E       +    os.makedirs(self.private_data_dir, mode=0o700)
2021-05-15 16:08:42.660077 | ubuntu-bionic | E       +  File "/home/zuul/src/github.com/ansible/ansible-navigator/.tox/py38/lib/python3.6/os.py", line 220, in makedirs
2021-05-15 16:08:42.660087 | ubuntu-bionic | E       +    mkdir(name, mode)
2021-05-15 16:08:42.660096 | ubuntu-bionic | E       +FileExistsError: [Errno 17] File exists: '/home/zuul/.ansible-runner'
2021-05-15 16:08:42.660105 | ubuntu-bionic | E       +(py38) bash-4.4$

The use of temp + uuid eliminates this as an issue for ansible-navigator


how to identify number of field on redis to run YCSB

Hi
when run WorkloadA on Cassandra , we should first create keyspace and table and 10 field but i run WorkloadA without create table and filed , how it run without specific table?

I haven't used Redis much, so take this with a grain of salt.
Redis is a key-value store, it doesn't really have databases or tables, you can sort of think of it as a single database with a single table. So, you don't need to create a database or table first because everything goes into a single bucket.

so what is different between 10 field with less or more field ? why on cassandra is not this? can you explain more? thank you

so what is different between 10 field with less or more field ?

The number of fields YCSB uses and expects the target database to handle is configurable because it could potentially affect performance. I don't have any specific examples for you but it is easy to imagine that some databases may be slower to read if they were storing 100 fields as opposed to only storing 10 fields. The default is 10 fields, that number is arbitrary, you can choose what ever you like. Keep in mind that the number you choose may affect how you setup your target database. EX. as you point out you have to define a table with the correct number of fields in Cassandra.

why on cassandra is not this?

I'm not sure what this question is asking. You can use as many fields as you want for your benchmark on Cassandra, you just have to make sure that you have configured the Cassandra table properly before hand.

actually my opinion is according to this link:
https://github.com/brianfrankcooper/YCSB/tree/master/cassandra2
we create table and 10 filed and next we do benchmak for example WorkloadA but for redis on this link:
we dont create any table with number of fields for benchmark https://github.com/brianfrankcooper/YCSB/tree/master/redis
when we dont create 10 filed , how to store data from workloadA to redis?

Take a look at how the RedisClient actually works: https://github.com/brianfrankcooper/YCSB/blob/master/redis/src/main/java/com/yahoo/ycsb/db/RedisClient.java.
The basic concept is that the the fields are combined into a map, then hashed into a value that is stored in Redis. What you have are keys (ex. 'user1') pointing to a blog that represents a map of field names to values.

can we say Generally that is mean on workloads there are different type of field to use to different type of database (like: document store , key value , ...) and they is created for specific database to store?

@Hadi14 - Yes, that is correct. Each database client in YCSB has different requirements for setup of the target database, so it is crucial to read through the specific client README's first. Cassandra's README explains how to create a keyspace and table, whereas Redis's README does not mention the need for creating any type of collection or table.

ok thank you very much @kruthar .


New Errata E15.FR.04: 15118 can in some cases not stop the OCPP transaction

OCPP Version
OCPP2.0.1
Describe the problem
Error in E15.FR.04. When the EV stops a session via 15118: SessionStopReq, this cannot stop an OCPP session if the TxStopPoint is not Authorized or PowerPathClosed.
This becomes important when
Describe your solution
Final errata not yet written!
Additional context
No response

@RobertDeLeeuw can you add what you want to say after: This becomes important when...


Add translated subtitles to videos

Feature Request
Although courses can be and actually are translated, they make use of videos which can be an important part of the learning process (especially for beginners). However those are available only in English (except for the "What is GitHub" one).
It would be great if those videos could be offered with translated subtitles into different languages, so that someone following the course in, say, Spanish, would be able to at least read the subtitles in Spanish.
I'm willing to make those translations into Spanish, much easier if a transcript is available. Is this possible? How/where should I provide such translations?

This is a great idea. Thank you, @mberasategi.
I'm not sure how we could go about this. I would assume different video hosting platforms have different options, and of course we could keep transcripts and translations in markdown in a repo somewhere that we could link to from video descriptions.
@a-a-ron, what would be your advice for how to approach transcripts and translations of videos?

Just wanted to provide a quick update here that there's an ongoing internal conversation about how to approach this. I've cross-linked this issue to that thread and we'll update here if/when we find out more.

I don't know how we could help but I hope we will find some way soon 👍


Citadel integration

Make JoinMarket Web UI available as an app for Citadel.
Probably related to #17, as the underlying architecture should be the same.

Quote from @AaronDewes:

There is a new version of the app.yml format coming very soon (It's basically finished, it just needs documentation), so I recommend waiting.

Will start as soon as we have confirmation from Aaron.

https://github.com/runcitadel/apps/blob/v2/PORTING_APPS.md
Here's a porting guide from docker-compose.yml (Umbrel) to app.yml. Please tell me if you run into any issues.

WIP PR for reference: https://github.com/runcitadel/apps/pull/9

https://github.com/runcitadel/apps/pull/9 (v0.0.3) has not been merged, but implemented separately by @AaronDewes . Closing this now as https://github.com/runcitadel/apps/pull/10 (v0.0.4) was integrated :rocket:


No dots, skip or done buttons in both examples

Hi.
I tried both the Basic and Advanced examples but the skip, next and done buttons don't show, as well as the dots. I can only swipe (both Android and iOS).
Am I missing something?
I'm on RN 0.33.

Hi again,
I tried forcing all the props showSkipButton, showDots, showDoneButton to true, setting the nextBtnLabel, doneBtnLabel, skipBtnLabel, but there's no way I can see the bottom buttons. I tried with small texts on Android, iPhone 4 to iPhone 6, simulator and real devices, but with no success.
Maybe it isn't compatible with RN 0.33?

I have seen you using Navigator
Is marginTop the reason?

That was it!
Thank you so much!

@nbastoWM  Hi! I am having the same issue. Could you please post how you fixed it? I cannot find where to modify the marginTop. Thanks!


Stroke and Fill style does not declutter when used with Circle style.

Describe the bug
When we have a stroke and fill style used with circle style and set declutterMode to "declutter", then icon and circle decluster, but not circle fill. see the picture below.

when declutterMode set to "declutter".

when declutterMode set to none or removed from the style array.

This is the shadow style function we used.
// A circle shadow style function that takes icon options and returns a Openlayers icon style.
export const getCircleShadowStyle = (options?: Options): Style => {
    return new Style({
        image: new Icon({
            src: options?.src || CIRCLE_SHADOW_IMAGE,
            scale: options?.scale || ICON_SCALE,
            color: options?.color || slate["900"],
            anchor: options?.anchor || ICON_ANCHOR,
            anchorOrigin: options?.anchorOrigin || "bottom-left",
            opacity: options?.opacity || ICON_OPACITY,
            rotation: options?.rotation || 0,
            width: options?.width,
            height: options?.height,
            declutterMode: options?.declutterMode || "declutter", // || "none",
        }),
    })
}

And this is the circle style that has been set to declutter.
/* A style function that takes options and returns a style of
 * highlighted transparent colored circle.
 */
export const getCircleStyle = (options?: Options): Style => {
    return new Style({
        image: new Circle({
            radius: options?.radius || 20,
            displacement: options?.displacement || [0, 0],
            stroke: new Stroke({
                color: options?.strokeColor,
                width: options?.strokeWidth || 3,
            }),
            fill: new Fill({
                color: options?.fillColor,
            }),
            declutterMode: options?.declutterMode || "declutter", // || "none",
        }),
    })
}

Expected behavior
Is there any solution when you set the declutterMode to "declutter" so that the style needs to be shown as the picture (2), without having to remove the circle style from style [ ] ?

If you're able to use a Text style instead of an Icon style for the main style, it will work out of the box. You can do that when your icon is available as part of a web font. There are also tools to create such a font yourself.

If you're able to use a Text style instead of an Icon style for the main style, it will work out of the box. You can do that when your icon is available as part of a web font. There are also tools to create such a font yourself.

Thanks for your feedback, but I don't know if you got it right. We don't have a problem with declutter when we only have text and icon style, but we add a circle and a shadow style to the bottom of the main icon, and when icon and text style are set to declutter, circle and shadow style remain, with some fill and stroke even if it is also set to declutter. See the code below for how we use them together
            // Util style for various site types.
            style = [
                ...[getCircleShadowStyle({ scale: 1.2 })],
                ...createCircleStyle({
                       ******Functions/component,
                }),
                ...[
                    getIconStyle(
                        createIconStyle({
                             ******Functions/component,
                        })
                    ),
                ],
                ...[
                    getTextStyle(
                        createTextStyle({
                             ******Functions/component,
                        })
                    ),
                ],
            ]

Yes, I do get what your problem is. You can use the Text style's rich text feature to combine the icon from a webfont and the numbers into a single text style.

Yes, I do get what your problem is. You can use the Text style's rich text feature to combine the icon from a webfont and the numbers into a single text style. The goal of moving the icon from an Icon style to the Text style is so you can set the image of the main style to the shadow circle.

I'm a bit unsure if I've understood you correctly, it's still the same problem if I did as you mentioned, you can see an example below, Please provide me with a simple example if you can
new Style({
        image: new Icon({
            src: IMAGE_CIRCLE_SHADOW,
            scale: ICON_SCALE,
            color: slate["900"],
            anchor: ICON_ANCHOR,
            anchorOrigin: "bottom-left",
            opacity: ICON_OPACITY,
            rotation: 0,
            declutterMode: "declutter",
        }),

        text: new Text({
            text: options?.text,
            font: fontStyle,
            scale: options?.scale,
            textAlign: options?.textAlign,
            justify: options?.justify,
            textBaseline: options?.textBaseline,
            placement: options?.placement,
            offsetX: options?.offsetX,
            offsetY: options?.offsetY,
            padding: options?.padding,
            overflow: options?.overflow,
            fill: new Fill({ color: options?.textFillColor }),
            backgroundFill: new Fill({ color: options.backgroundFillColor }),
            backgroundStroke: new Stroke({
                color: options.backgroundStrokeColor,
                width: options.backgroundStrokeWidth,
            }),
            declutterMode: options?.declutterMode || "declutter",
        }),
    })

If this is your only Style then yes. If you still have a second Style, then no.
If you can provide a sandbox or a repository with your current minimal code, I can provide you a modified version which shows what I meant. The option I described would possibly overlay shadows over content icons. If you don't want that, there is another option: put the shadows on a separate layer with its own declutterGroup. To ensure that both shadows and content icons declutter at the same rate, the images of the shadow and the content icons need to have the same size and position.

If this is your only Style then yes. If you still have a second Style, then no.
If you can provide a sandbox or a repository with your current minimal code, I can provide you a modified version which shows what I meant. The option I described would possibly overlay shadows over content icons. If you don't want that, there is another option: put the shadows on a separate layer with its own declutterGroup. To ensure that both shadows and content icons declutter at the same rate, the images of the shadow and the content icons need to have the same size and position.

No, it's not my only style. We have several style functions which we add to a combined, style array. The code below shows how we use the style,

This is the vector layer that return a style:

const  layer = new VectorLayer({
                declutter: true,
                source: new VectorSource({
                    features: new GeoJSON().readFeatures(data, {
                        featureProjection: "EPSG:3857",
                        dataProjection:  "EPSG:4326",
                    }) as Feature<Geometry>[],
                }),
                style(feature) {
                    const style = vectorStyle({ feature })

                    return style
                },
            })

           map.addLayer(layer)

This is the vectorStyle function That return a feature-style.

export function vectorStyle({ feature }): Style[] {
      const style: Style[] = []

              style.push(
                  ...featureStyle({  feature })
                 )

    return style
}

This is the feature style function that returns a multiple style function.

export const featureStyle = ({ feature }:): Style[] => {
    let style: Style[] = []

      // Switch case to handle different site types and their respective styles.
    switch (...cases...) {
        case 1:
        case 2:
        case 3:

            style = [
                ...[getCircleShadowStyle({...})],
                ...getCircleStyle({....}),
                ...[ getIconStyle(....)],
                ...[getTextStyle(...))],
            ]

            return style

And those are the style functions that been return

export const getCircleStyle = (options?: Options): Style => {
    return new Style({
        image: new Circle({
            radius: 20,
            displacement:  [0, 0],
            stroke: new Stroke({
                color: "black",
                width: 3,
            }),
            fill: new Fill({
                color: "black",
            }),
            declutterMode: "declutter",
        }),
    })
}

export const getIconStyle = (options?: Options): Style => {
    const heading = options?.feature?.get("heading")

    const style = new Style({
        image: new Icon({
            src: IMAGE_CIRCLE_ICON,
             declutterMode: "declutter",
        }),
    })

    return style
}

export const getTextStyle = (options: Options): Style => {
    return new Style({
        text: new Text({
            text: "Some text",
            fill: new Fill({ color: "black" }),
            backgroundFill: new Fill({ color: "white",),
            backgroundStroke: new Stroke({
                color: "white",
                width: "white",
            }),
            declutterMode: "declutter",
        }),
    })
}

export const getCircleShadowStyle = (options?: Options): Style => {
    return new Style({
        image: new Icon({
            src: IMAGE_CIRCLE_SHADOW,
            declutterMode: "declutter",
        }),
    })
}

in that way we style our different features depending on the feature type

I only meant if what you sent above is the only style for the shadow/icon combo, or if you're still combining two for that. A clear and concise minimal example in a sandbox or repository would be more helpful than what you pasted above.


Add verification logic to Republisher

Consensus steps are (likely) instantiated at each round while the message republishers are instantiated only once at consensus startup. Since for the most part, the republishers need to republish valid messages, they also need to access verification logic. This suggests that the verification functions should probably be extrapolated from the steps and passed to both the entities at different times if possible.
This would be especially recommended if verifications can be pure functions. Othewise we might considering some controlled duplication and slightly different verifications

Score messages should not be handled by the Republisher, but need to be gossiped directly from the selection step

After consulting @toghrulmaharramov the general direction is that the republishers should only republish messages for the current round.
@toghrulmaharramov can you comment on the corner cases when you have the chance?


Add g:lightline#bufferline#number_map

This configuration option lets you map ordinal numbers (0-9) to their
alternate character representations. It allows you to optionally use
Unicode superscript symbols, for example, which saves space.
This only applies when g:lightline#bufferline#show_number = 2.

I considered setting the Unicode superscript symbols by default based on g:lightline#bufferline#unicode_symbols, but I thought that might be too disruptive. I'm happy to make that change if it seems like an overall improvement though.

Thanks for your work. This addition is very nice.
I agree that the unicode superscript symbols might be too disruptive. Since they are added as an example in the readme one can easily copy the setting into their config.