Avoid relying on side effects of subscription in View layer

Hi @sergdort, first of all thank you very much for your inspiring work. I am in the process of adopting some of the architectural patterns from your project and wanted to discuss with you my concern.
In PostViewController you are subscribing to createPost and selectedPost of the view model without any actual observer code passed. It is clear for me that this is done that the delegate style callback to the navigator hidden in the view model's do operator would be called -- without subscription neither the do is called. I have a kind of bad feeling about this solution because it is not clear in the view controller why one should create an empty subscription as the side effect of this subscription (i.e. calling navigator.toPost) is hidden in the view model. Do you think there is a way to refactor this code?

Hi, @mrtj. Yeah I agree, and it's bothers me as well.
On the current project we are using very interesting approach, will try to find some time to implement this.
Would love to hear your ideas as well.

Well, I came up a solution that does not completely satisfy me but "it works".
First of all I think we need to separate the concept of ViewModel's Output into two parts:

in the first part there are the data sequences that should drive the view (for this I left the name Output)
in the second part there are event sequences that should be handled by somebody else, hierarchically above the ViewModel. In your PostViewModel these would be createPost and selectedPost. I created a new structure for these and I called it Events.

Now the problem is that in your architecture the View is calling the transform function of the ViewModel and the Events structure is created only then. How could we inject the Events back to the higher levels, in this case the PostsNavigator? (I followed the MVVM + Coordinators pattern by Lukasz but it basically does not matter from this point of view). The way with that I currently came up is the good old delegate pattern:
protocol ViewModelDelegate {
    func viewModel(_ viewModel: ViewModel,
                   didCreate eventSources: ViewModel.Events,
                   viewLifecycle: DisposeBag)
}

As it is said Events contains the drivers that produce the high-level events. The ViewModel takes an optional delegate in the initializer (implemented by the Navigator or the Coordinator), and in the transform function, before returning, calls the delegate with the newly created Events structure. The only interesting thing here is the viewLifecycle dispose bag. This allows the navigator to dispose its subscriptions to the event drivers when the view will be deallocated, and it is simply the dispose bag of the View. The View passes it as an additional parameter of the transform function and the ViewModel passes it to the delegate:
public func transform(input: Input, viewLifecycle: DisposeBag) -> (Output, Events) {
    let output = // ...
    let events = // ...
    delegate?.viewModel(self, didCreate: events, viewLifecycle: viewLifecycle)
    return (output, events)
}

(Note: I return the events also from the transform function because it makes unit testing much simpler)
Comments are welcome! 😉

Hello @sergdort, any updates on this?

Hi, guys :) Sorry for the delay, kinda burned out off doing OSS
So in our app, we started to use RxFeedback and we are very happy about it.
We use Flow protocol as an abstraction on how VC can be presented we are going to open source it soon
Everything looks something like
final class FlowController {
    func handle(route: Route)
}
final class ViewModel {
    let state: Driver<State>
    let routes: Signal<Route>
}

final class Builder {
    func makeViewController() -> UIViewController {
        let flowController = FlowController(pushFlow: Flow, modalFlow: Flow)
        let viewModel = ViewModel(dependency: dependency)
        flowController.subscribeNext(viewModel.routes)

        return  ViewController(viewModel: viewModel)
    }
}

Thank you @sergdort, surely we'll have a look at it!

Thanks @sergdort, I've recently started to use RxFeedback in our project and I am very happy with it too. I am facing some difficulties with navigation and how to pass data between screens/states. Any idea on when you plan to opensource Flow?

An other solution could be flatMap the outputs with do side effects to .empty() (hence ignoring all the elements) and merge all of them in an output where the View is going to subscribe/drive. In this way there's no need to pass around a DisposeBag.
Example taking in consideration the PostsViewModel:
struct Output {
    let fetching: Driver<Bool>
    let posts: Driver<[PostItemViewModel]>
    let error: Driver<Error>
}

and in transform just return
return Output(
    fetching: fetching,
    posts: Driver.merge(
        posts,
        selectedPost.flatMap { _ in .empty() },
        createPost.flatMap { _ in .empty() }
    ),
    error: errors
)


Add Roots integration

The activities:

Mortar and Pestle Crafting
Imbuer Crafting
Casting Altar Crafting

@Thiana I know you're also working with Roots; was there any other things you'd like to see added along with the above?
Thanks.

@JAWSAWN unfortunately, with the way Roots is coded, I won't be able to do either the Mortal and Pestle crafting or the Imbuer crafting, as the Mortar and Pestle are coded to only output things that are petal dusts, and the Imbuer is likewise coded to only accept petal dusts / sticks.
I do have ritual crafting done, however.

I'd like to be able to modify the number of charges per staff type and modify the cost of a cast with the permanent staff. If that isn't possible, can the mortar crafting be set to allow/disallow crafting of particular dusts? ie, disable the petal dust until they reach a particular progression point. Thanks.

In regards to charges:
https://github.com/RootsTeam/Roots/blob/master/src/main/java/elucent/roots/item/ItemStaff.java#L186
It looks like the regular staff gets a set number of charges regardless of what spell is being placed on it, so, to fix that, I'd either have to (off the top of my head):

Hook into their item creation methods
Scan inventories and update unused staves to the proper use counts.

Neither of which are exactly 'great' ways of going about it.
In regards to costs: There is an 'xpCost' per component (spell), which is then translated to being a mana cost.  Is that what you'd want to change for the crystal staff?

@Thiana thoughts on this?
                {
                    // A list of components can be found at:
                    // https://github.com/RootsTeam/Roots/blob/master/src/main/java/elucent/roots/component/ComponentManager.java#L52-L166
                    type: "Roots.removeDust",
                    what: "dandelion"
                },
                {
                    // Make Rose's Thorns cost quite a bit more:
                    type: "Roots.setSpellCost",
                    what: "rosebush",
                    cost: 20 // About half a mana bar
                }

If there is a corresponding 'Roots.addDust' operation that would work. Even better would be the ability to alter the crafting cost. Something like:
{
  type: "Roots.addDust",
  what: "dandelion",
  reagents: [ dustGold, imbuedDandelion, dustBlaze, ... ]
}

That would also solve the problem of not being able to alter the cast count of basic staves since I can increase the up front cost for them. Not quite as good as being able to alter the cast count directly but acceptable since I can gate the higher tier spells behind other things like a T4 blood altar reagent recipe.
setSpellCost is good :) Basically I want to stop them being able to spam unbalancing spells (as DW20 is currently demonstrating so well with the accel staff ;) without incurring a greater cost than just mana/food.
Thanks :)

@Thiana updating 'Roots.removeDust' to be 'Roots.disableDust' (well... technically Roots.removeDust still works, but it's an alias) and adding in a respective 'Roots.enableDust' operation as well (though you could also just remove the set that Roots.disableDust is in to have a similar effect).  Just... try not to get too fancy with it, as I didn't create a proper stack for enabling/disabling them, so, trying to layer multiple sets with it might start to get... awkward and end up with the wrong result.
In addition, there's now:
                {
                    // You can also change the reagents used in a dust; there must be at least 3 reagents used:
                    type: "Roots.setReagents",
                    what: "rosebush",
                    reagents: ["minecraft:diamond","minecraft:string","minecraft:diamond_sword"]
                }

I won't need multiple reagent sets for a single dust, so that's perfect. Thank you :)


NPSP: Retiring Batch Data Entry Alert

WI : W-7807554
Batch Data Entry Retirement Alert
Critical Changes
Changes
Issues Closed
Community Ideas Delivered
New Metadata
Custom Labels:

bdeRetirementWarningBody
bdeRetirementWarningHeader
commonOkay

Custom Setting Field:

Viewed Retirement Alert

Deleted Metadata

Good point @ptewson-sfdo , If that's the case with deleting lightning components, we would only be able to display the alert in the VF page, The utilPrompt component can be reused so that doesn't need to be deleted. Also how does deleting components that have been packaged and released affect fully retiring Batch Data Entry?

@voduyemi & @ptewson-sfdo I reviewed the custom labels and updated the description of this PR, and it looks good to go from my end! Thanks.


Added details of Docker and Kubernetes free courses

Added details of Docker and Kubernetes free courses.

add alphabetically and also add in allcourses.json file

I have done the changes. Kindly check and accept the PR. (Hackroberfest)


Please add this college

Add this!

@isrmicha Please rename the file path to `lib/domains/br/edu/faeterj-rio.txt. Thank you!

@isrmicha Could you please reply to the comment above?

@isrmicha I am sorry, I have to close this request because it remains unanswered for a while. Please reopen as soon as you have an update. Thank you!


VJP error when custom_vjp and custom_vmap are used together.

Description
When using both custom_vjp and custom_vmap on the same function (applied in either order), I get the following error:
  File "/build/work/88c64dd2a6f04c75e55857743c6570e5c618/google3/runfiles/google3/third_party/py/jax/_src/api.py", line 2641, in vjp
    return _vjp(
  File "/build/work/88c64dd2a6f04c75e55857743c6570e5c618/google3/runfiles/google3/third_party/py/jax/_src/api.py", line 2650, in _vjp
    out_primal, out_vjp = ad.vjp(
  File "/build/work/88c64dd2a6f04c75e55857743c6570e5c618/google3/runfiles/google3/third_party/py/jax/interpreters/ad.py", line 137, in vjp
    out_primals, pvals, jaxpr, consts = linearize(traceable, *primals)
  File "/build/work/88c64dd2a6f04c75e55857743c6570e5c618/google3/runfiles/google3/third_party/py/jax/interpreters/ad.py", line 128, in linearize
    assert all(out_primal_pval.is_known() for out_primal_pval in out_primals_pvals)
AssertionError

Example code:
@jax.custom_vjp
def add(a, b):
  return a + b

add.defvjp(fwd=lambda a, b: (add(a, b), None), bwd=lambda _, g: (g, g))

add = jax.custom_batching.custom_vmap(add)
add.def_vmap(lambda axis_size, in_batched, *args: (add(*args), True))

What jax/jaxlib version are you using?
No response
Which accelerator(s) are you using?
No response
Additional system info
No response
NVIDIA GPU info
No response

Thanks for filing! I suspect that this is a consequence of custom vmap not yet supporting reverse-mode autodiff (custom or otherwise). Still, it's useful to have a specific test to track the interaction with custom AD in particular.
cc #9073

Hi @chr1sj0nes
Looks like this issue has been resolved. I executed the mentioned code with JAX version 0.4.23 (CPU and GPU) and 0.3.25 (TPU). It executed without any error.
import jax

@jax.custom_vjp
def add(a, b):
  return a + b

add.defvjp(fwd=lambda a, b: (add(a, b), None), bwd=lambda _, g: (g, g))

add = jax.custom_batching.custom_vmap(add)
add.def_vmap(lambda axis_size, in_batched, *args: (add(*args), True))

Output:
<function __main__.<lambda>(axis_size, in_batched, *args)>

Kindly find the gists on CPU, GPU and TPU for reference.
Thank you.


WIP: Sparse sets

Closes #16
the only incompatibility here is that I removed the ability for components to have single fields. So (def-componet pizza :string) is no more. The reason is that its impossible to update those fields, since they're often simple data types which are passed by value! This is actually broken in the 01-ecs.janet example with the lives component.
TODO:

[X] get sparse set working on examples/01-ecs.janet
[ ] cache view results. need to invalidate relevant cache whenever a component or entity is added/removed
[ ] either remove component limit, or find clean api to configure it. Should we try to reuse stale entity id numbers??
[ ] verify all other examples and code works
[ ] create a minimal performance comparison

I am on the phone ATM and it looks good, but I can do a proper review tomorrow first thing in the office if you want to. Let me know, please

@pepe you're input is always appreciated! However I will say this MR is not quiet ready yet. Specifically, adding caching I suspect will change the code here up pretty significantly. I also am probably going to bite the bullet and write some tests, which could make reviewing easier?
All that to say, maybe hold off until I work through more of the checklist?

Oh. Thanks for the info! Maybe consider changing PR status to draft? May I ask, is the checklist visible somewhere?

hmm, the todo should be right in the description of this PR. I did edit the desc after creating the PR. I also just updated the title to include "DRAFT"

added a super simple caching of views results. Some super simple timing looks very promising :smile:
(use /junk-drawer)

(def-component position :x :number :y :number)
(def-component velocity :x :number :y :number)

(def world (create-world))

(for i 0 10000
  (add-entity world
              (position :x i :y i)
              (velocity :x i :y i)))

(def-system a {es [:position]} nil)
(def-system b {es [:velocity]} nil)
(def-system c {es [:position :velocity]} nil)

(register-system world a)
(register-system world b)
(register-system world c)

(for i 0 1000
  (:update world 1))

timings
# main branch
> time janet perf.janet
janet perf.janet  47.26s user 0.01s system 99% cpu 47.276 total

# Sparse set
> time janet perf.janet
janet perf.janet  0.06s user 0.00s system 99% cpu 0.063 total

However I still need to invalidate the cache on entity/component adding/removing. I doubt that will drastically change timingresults though!

It's a pity I blame the phone GH app 😂. Great work anyway, more from the table with display, a real keyboard, coffee, and glasses. So not to embarrass me even more 😉

I've made a couple of updates here

made sure all the docstrings start with capital letters and end with the period. I also reworded some things to hopefully be more clear.
use is used where it can be, thanks to the quote the function deep magic
added a test/performance/stress-test.janet script that has horrible macros but tests more parts of the ECS. Seems like there's a bottleneck creating/deleting entities from the world. However the difference in perf between this and main is still about the same

# main
janet test/performance/stress-test.janet  171.47s user 0.02s system 99% cpu 2:51.52 total

# sparse set
janet test/performance/stress-test.janet  2.90s user 0.02s system 99% cpu 2.923 total

Thank you very much for considering my codes!
The one thing I have been wondering about from the beginning of this adventure: What if we make sparse-set Janet abstract type in C. After this PR gets in and settled, would you consider checking that route?

yes, I've actually been thinking about that a lot also!
One concern would be loosing any sort of portability. Consider if someone eventually added Janet to TIC-80. With a pure Janet implementation you could copy/paste the code here and be on your way. But with C bindings I don't know if/how that would work. However that's a very specific concern for something that doesn't exist yet, and since right now I'm more interested in doing stuff with Jaylib/Raylib its definitely not a deal breaker.
Another thought would be if were writing C code, would it be a ton more work to go the extra mile and bind to an existing ECS like FLECS?.. I'm not sure that even fits the philosophy of this code base, plus my gut says I'm underestimating the work there haha.
TL;DR: Yes, I'm open to moving the sparse set, and maybe even the view/query logic, to C!

That is heavenly chords to my ears. I would even go one step further and write it in jpm/cgen.
As for wrapping some other code, I am not interested in this approach as I would like to stay in Janet's realm mentally

I plan on merging this today or tomorrow!


Loaded Libraries Cache is not thread-safe

The HashSet-based loadedLibraries field  inReLinkerInstance  holding the names of already loaded library names is not thread-safe or guarded with a mutex. Relinker.loadLibrary() can be called from multiple threads either by user code or by loading asynchronously via a LoadListener, so it is a good idea to either use a lock on the Set, or Collections.synchonizedSet() or better, just pick something appropiate from java.util.concurrent like a ConcurrentHashMap wrapped with Collections.newSetFromMap()

Thanks for bringing this up.
Do you ever run into the issue where you load it from multiple threads? For us, we load libraries on app start from one place.
It would be great if you'd open a PR for this. I think there is no downside in making it thread safe.

I will do a fork and open a PR.
There one more thing in my mind for which I am not sure to open an issue or just merge it with the current change request. Currently I am using the library though a singleton-like wrapper which does not need an Context argument, but uses a non-exported ContentProvider which gets a reference to the application context on launch of the app. This way I very much have a drop-in replacement for System.loadLibray().
Do you interest in such a change, I can open a PR for it as well?


Added Mondrian Website Project

It consists of Mondrian painting with the help of HTML and internal CSS.

You can also checkout our Idea-Arca, the project idea bank for any languages, for open-source contributions.
Happy Contributing season!
Keep up the good work!


Added Stream #111

@nilsweb maybe we should add some unit tests and CircleCI to check that markdown format is correct and things aren't missing!


Refactor and move all old Observability logic to Compiler Back-end Desugar phase

Purpose

Since all the newer Observability instrumentation had been added to the desugar phase, all the remaining logic from old implementation were also moved to the compiler back-end desugar phase.

Approach

The logic related to Observability were removed from the Byte-code generation phase. Additional logic to recognize and instrument functions related to service resources, main method and workers were added in the compiler back-end desugar phase. Moreover, since the Ballerina based Jvm Back-end will be removed in the future completely, changes done to it previously, were reverted as well.

Codecov Report

:exclamation: No coverage uploaded for pull request base (observability-improvements@8f7266a). Click here to learn what that means.
The diff coverage is n/a.

@@                      Coverage Diff                      @@
##             observability-improvements   #22595   +/-   ##
=============================================================
  Coverage                              ?   14.59%
=============================================================
  Files                                 ?       51
  Lines                                 ?     1411
  Branches                              ?      219
=============================================================
  Hits                                  ?      206
  Misses                                ?     1189
  Partials                              ?       16

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 8f7266a...3128007. Read the comment docs.


swf debugger : stepover(f10) error

error messsage
unknown request command: setExceptionBreakpoints

Strange, I don't know what exception breakpoints have to do with step over.
Regardless, this issue may be fixed in commit 5bbc4da6aeb650b2bec9e7ca26c007a43a8e83ef, which will be included in the upcoming v0.6.

I tried to build and test.
this feature working well. thank you your answer.

Great!


property "background" is not working with hex color with opacity

input:
.a {
    background: #00000080
}

expecting:
[dir="rtl"] .a {
    background: #00000080
}

but getting:
[dir="rtl"] .a {
    background: #000000right 80 top 50%
}

result from playground:

Hi @jieweizheng,
Two things:

That rule should not be modified because it doesn't contain any declaration that should be flipped. So, the only way that you should expect that rule to be prefixed is if you use the safeBothPrefix option.

You should report your issue in the RTLCSS repo (which postcss-rtlcss uses behind the scenes). Insert that rule in the playground and check the result.

If you want to ignore that for now, just add an ignore directive before the rule:
/*rtl:ignore*/
.a {
    background: #00000080;
}

Regards

Hi @jieweizheng,
It is just to update you that the version 5.3.1 contains the last RTLCSS version which fixes your issue.
The Playground is updated with the last version.


Build failure in Gmake Cygwin

Given my lack of experience with this, I'm not sure if this is actually a problem with your code or Makefiles, or something on my end. That said, my attempts to build version 2.5 using GMake installed via Cygwin have failed, with the compiler complaining that it cannot find one of the includes for convsym. Seems like there might be something up with the handling of wildcards, but I honestly have no idea.

I'm not entirely sure where this error is coming from (it's fails to find a header file that is clearly there), but I've spotted see 2 issues so far:

You have spaces in your full path (.../game disasemblies/MD Libraries/Error Handlers/...);
Makefiles don't tolerate spaces in many cases, because whenever the full path is substituted, spaces act like file list separators. This is not issue for building utils though, but you won't get far with building modules this way.

You're running a Windows-specific Makefile in Bash instead of Cmd.
This is indicated by md: No such file or directory. md (make directory) is a DOS/Windows utility, but for Bash with Unix binutils, you'd use mkdir.
You need to run make -f Makefile.win from Cmd.exe (Windows native Command line). But make sure make, python and gcc are available there (should be included in PATH environment variable). The easiest solution on Windows (that I know of) is to use Chocolatey package manager to install everything:
choco install mingw python3 make

I don't run Windows as my main OS, so I only tested that. Not sure about other ways, but one can probably use WSL/WSL2 to run Linux build scripts without a hassle.
... But if you use Cygwin, you probably don't need Windows build scripts! It aims to provide fully POSIX-compatible environment, meaning you can stick to native Linux/Unix build system. Technically, you're supposed to run just make (will pick up Makefile instead of Makefile.win) and it should do the job for you... except it will probably build only utils and error out on modules, since it relies on wine :)
I don't recommend using Cygwin here, because it's essentially a POSIX emulator with a ton of overhead. And I don't use POSIX calls/API anywhere, only so the standard C++ library, so my code is fully cross platform. Try out MinGW instead.

Went ahead and tried MinGW. Still fails, this time because it can't find the Python install (possibly related to having an older version already installed?). Ultimately though I ended up not needing to build it; the preassembled bundle ended up working for what I needed (a bit perfect reference for putting together a fully-source assembled version as part of the process of rebasing my Mega CD Error Handler).


quic: client connection takes socket option in cluster config

Commit Message: make quic client connection also takes ClusterInfo::clusterSocketOptions() during creation, in addition to connection pool socketOption() added in https://github.com/envoyproxy/envoy/pull/21444
Also make sure that automatic port migration applies the same socket options from the original socket in maybeMigratePort().
Risk Level: low, h3 uptream only
Testing: added unit tests and integration test
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a

/assign @alyssawilk

LGTM though it'd be lovely if we can come up with an integration test which will validate HTTP/1, HTTP/2 and HTTP/3 support

Thanks for the quick review! Testing upstream socket options in integration tests is hard overall because they usually are not reflected in any behavior change in fake upstream or client.


edit: Fix GIT_EDITOR evaluation

The command 'lab mr note ' fails when the GIT_EDITOR variable contains
single quotes.  For example, if GIT_EDITOR is 'vim -c 'set tw=74' -c 'set
noai' -c 'set wrap' the 'lab mr note' command attempts to open 4 different
files (tw=74, noai, wrap, and MR_NOTE_EDITMSG).  If the single quotes
are replaced by double quotes the 'lab mr note' command completes as
expected; only MR_NOTE_EDITMSG is modified.
Replace single quotes in the GIT_EDITOR environment variable with double
quotes.
Signed-off-by: Prarit Bhargava<EMAIL_ADDRESS>

Hi @zaquestion, thanks for the wonderful tool.  I've been playing around with it and found this bug when executing (as indicated in the description) 'lab merge note ' which resulted in strange behaviour in vim.
P.

Hey @prarit Thanks for all the contributions. I've been slacking and only just got the CI shenanigans fixed. You'll need to bring in the latest changes (here and your other PRs) which will get a working version of the tests brought in and also trigger the updated travis setup. After that myself or one of the other maintainers should be able to make quick work of them

Hey @zaquestion.  Thanks for writing the tool.  I've been struggling with getting the tests running :( and am wondering if you have time to give me a pointer.  I'm following the steps in the CONTRIBUTING.md file and have set GOPATH, added $GOPATH to my global PATH, and set GO111MODULE but still cannot get the tests to run?
[prarit@prarit lab]$ pwd
/home/prarit/go/src/github.com/zaquestion/lab
[prarit@prarit lab]$ echo $GOPATH
/home/prarit/go
[prarit@prarit lab]$ echo $PATH
/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/libexec/git-core:/home/prarit/bin:/usr/libexec/git-core:/usr/libexec/git-core:/home/prarit/go
[prarit@prarit lab]$ echo $GO111MODULE
on
[prarit@prarit lab]$ go get golang.org/x/tools/cmd/cover
go: found golang.org/x/tools/cmd/cover in golang.org/x/tools v0.0.0-20200820010801-b793a1359eac
[prarit@prarit lab]$
[prarit@prarit lab]$ make test
bash -c "trap 'trap - SIGINT SIGTERM ERR; mv testdata/.git testdata/test.git; rm coverage-* 2>&1 > /dev/null; exit 1' SIGINT SIGTERM ERR; make internal-test"
make[1]: Entering directory '/home/prarit/go/src/github.com/zaquestion/lab'
rm coverage-* 2>&1 > /dev/null || true
rm: cannot remove 'coverage-*': No such file or directory
GO111MODULE=on go test -coverprofile=coverage-main.out -covermode=count -coverpkg ./... -run= github.com/zaquestion/lab/cmd github.com/zaquestion/lab/internal/...
go tool: no such tool "cover"
go tool: no such tool "cover"
make[1]: *** [Makefile:15: internal-test] Error 2
make[1]: Leaving directory '/home/prarit/go/src/github.com/zaquestion/lab'
mv: cannot stat 'testdata/.git': No such file or directory
make: *** [Makefile:11: test] Error 1
Any ideas on what I'm doing wrong?

I think the easiest is just to rebase on master and let travis-ci run the tests on the PR. I remember having the same problems and ending up running it somehow in a docker container since so much stuff was going on.
There are also some tests that run against a test repo on gitlab.com for which a token is needed.

Thanks @rsteube , I've rebased and pushed.
P.


Support Laravel 11?

Feature Description
When will support for Laravel 11 come out approximately?
Is this feature valuable for other users as well and why?
No response

Temporary solution:
I discovered that our friend @animena created a fork for this problem, I leave you the solution.
´´´json
"require": {
// ...
"rawilk/laravel-form-components": "dev-main",
// ...
}
"repositories": [
{
"type": "vcs",
"url": "https://github.com/animena/laravel-form-components.git"
}
],
´´´

I need the 11 support asap plssss


Option to customize conventions

Type of issue

Feature request

This plugin is using the getbem.com standard instead of the BEM standard from bem.info (which is from the original creators of BEM), it would nice if the customize the BEM conventions to match what we are targeting. Thanks.
https://en.bem.info/methodology/naming-convention/

I find this feature also good 👍🏻

I find this feature also good 👍🏻

Sorry, I've neglected this repo terribly. Thanks for the reminder.
I'll try to take some time this weekend.

Sorry, I've neglected this repo terribly. Thanks for the reminder.
I'll try to take some time this weekend.

No work? is the package died?

No work? is the package died?

@pdaus1405 The last commit was dec/2020, I think it's not dead.

@pdaus1405 The last commit was dec/2020, I think it's not dead.

but some comments, wishes and pr's and no movement

but some comments, wishes and pr's and no movement

I am using this plugin in multiple projects and it works well.
Adding now tons of option will increase the complexity for configuration and maintenance.
That's the reason why we are cautious to add new options unless they are solving a common problem.

I am using this plugin in multiple projects and it works well.
Adding now tons of option will increase the complexity for configuration and maintenance.
That's the reason why we are cautious to add new options unless they are solving a common problem.

Sorry guys for the late replies. And thanks for the feature request.
In addition to Jan's answer:
As you can see from the examples, we didn't just take over rules, but also extended them. The Linting Tool represents our idea of how the class names should be structured. This has developed over the years.
For example, we decided to only allow lower case letters. On the one hand this is very readable, on the other hand it's easy to lint.
We are aware that this stylelint plugin cannot be used to lint different bem naming conventions, which is why we have decided to publish the package scoped. We want to offer a simple, clear plugin and keep the complexity small to remain maintainable.
Do you know this stylelint plugin stylelint-selector-bem-pattern?
It offers configuration options for different naming conventions. It didn't match our needs, but maybe it goes in the direction you want?

Sorry guys for the late replies. And thanks for the feature request.
In addition to Jan's answer:
As you can see from the examples, we didn't just take over rules, but also extended them. The Linting Tool represents our idea of how the class names should be structured. This has developed over the years.
For example, we decided to only allow lower case letters. On the one hand this is very readable, on the other hand it's easy to lint.
We are aware that this stylelint plugin cannot be used to lint different bem naming conventions, which is why we have decided to publish the package scoped. We want to offer a simple, clear plugin and keep the complexity small to remain maintainable.
Do you know this stylelint plugin stylelint-selector-bem-pattern?
It offers configuration options for different naming conventions. It didn't match our needs, but maybe it goes in the direction you want?

thank you, i know the plugin.
unfortunately it is dead and can no longer cope with the current stylelint version.

thank you, i know the plugin.
unfortunately it is dead and can no longer cope with the current stylelint version.

Closing, due to the fact, that this is an optiniated scoped stylelint plugin to follow our idea of how the class names should be structured.
We will not invest additional development time in ideas that generate work for us but add little value. PR's we would of course like to discuss.


Livereload and update

Hello. Nice work on this. I have one issue. The gulp and gulp watch command builds the dependencies to a js. But If I modify the angular original js file, i need to run gulp again to do its magic and make a final-***.js file.
Is there no other way to add a task to the gulp. I don't really know much about gulp but I found out thats a way to do it.
Summary: Whenever the origibal angular js file is modified, gulp needs to be run again to build d final js file. Whats d solution to this?

Found out i needed to run gulo watch instead of gulp --watch


Not running the test if the coverage file already exists?

Nice action you got there, but I was wondering if it would be possible to add an option to not run the test if I know I ran them earlier and that the coverages files are already present.
An easy way to make my CI faster :)
Thanks!

Hello!
As I understood, you want to see something like cache on this action. As I know, jest already has a cache, but you need some additional configuration to enable it in your action. Here is the docs for caching dependencies. If you run your action on a linux machine, the jest cache will be located under /tmp/jest_rs.
However, as it seems to me, the most time-consuming part - installing dependencies. Currently, this action forcibly removes node_modules folder, so configuring cache will not help here. I think I could add the skip_deps_installation option for this action, so you could use some other action for dependency installation with cache, like bahmutov/npm-install@v1.
What do you think? Is this solution right for you? Or is the skip_deps_install option not necessary in your case?

Morning!
Maybe I was not clear, sorry bout that. Actually I have a job that does 3 things, first it runs unit tests, then it does report the unit tests results to the PR and third it does report the coverage (your action here)
So when I do run the unit tests before reporting resultsts, I already have the coverages files generated, so when your  action runs it does runs the tests again and I am tring to make my action runs faster, which is why I wanted an option to not rerun the tests when I know that the coverage results are already generated.
Does this make sense?

https://github.com/ArtiomTr/jest-coverage-report-action/issues/20#issuecomment-809337361

Does this make sense?

Yeah, now I understand what you want to see.
Short answer
Currently there is no workaround for this.
Long answer
This action uses two coverage reporters: text and text-summary. These coverage reporters are printing output to stdin. This means, that you actually could do something like jest . > cov.txt and then specify as test script cat cov.txt, but it's not good solution, because anyway, this action will run npm install command.
There are two possible ways to achieve this functionality:

Create skip_install option. Not really good solution, because you still will need to specify junky commands (jest . > cov.txt / cat cov.txt)
Create custom coverage reporter. I think this solution is the best, because it will solve this issue and #10, because it could extract more information, required for that issue.

Hope you find this answer helpful. I will not close this issue, so you will receive a notification when it is resolved.

So by using #34 and @master, will we need to re-run jest if we already have a report.json file?

So by using #34 and @master, will we need to re-run jest if we already have a report.json file?

For now, yes, the action will automatically restart the jest. But we are already very close to adding the ability to skip the jest launch step. We just need to add an additional option to the configuration - skip-step that determines which step to skip -  install (for npm install step #37) or test (both npm install and jest launch steps)

Finally, this problem was solved thanks to @taschetto!
For now, until version 2.0 was released, you can try it by using @master version with this configuration:
name: 'coverage'
on:
    pull_request:
        branches:
            - master
jobs:
    coverage:
        runs-on: ubuntu-latest
        env:
            CI_JOB_NUMBER: 1
        steps:
            - uses: actions/checkout@v1
            - uses: artiomtr/jest-coverage-report-action@master
              with:
                  github-token: ${{ secrets.GITHUB_TOKEN }}
                  skip-step: all


Cannot download/display artworks of newer SR/SSRs

In the game's last update, it appears like the artworks of newer SR/SSRs cannot be downloaded/displayed by the program. This is probably due to the game updating into a newer unity version. The artworks or 'jackets' of newer songs cannot be downloaded/displayed either, but the songs themselves can still be played. Will there be a possibility to get this fixed? Thank you very much.

Sorry, I have no idea how to fix it as I don't know u3d file format, the current decoding logic is translated from https://github.com/marcan/deresuteme/blob/master/decode.py

I only encountered the lz4_dec issue but can retrieve recent card portraits like usual


add DateArrayType to all projet with units test

This pull request add the new Date Array type to all version of hibernate-type. Issue #150

Thanks for the Pull Request. I'll review it when I have some time.

Your PR lacks the DateArrayType which was the main goal of this PR. Therefore, I'm going to close it. Feel free to open a new PR which includes the DateArrayType as well.


Store TLS settings back to what it supposed to be

Skipped over the last review but I'm Using these settings to develop needs to be in sync.

It doesn't work for me at all :(

are you using 0.10.1 ?

Which lnd docker image are you able to successfully use these options with?

Yes, lncm/lnd:v0.10.1-experimental (what it is in the latest docker-compose.yml).


SAK-4328 ContentHostingService: Validate filename

In the first implementation of this Jira, I modified the Kernel to include the exception when adding a collection or a resource using the contentHostingService API. However, is not needed because the problem resides in Resources, where the user can insert forbidden characters, they can't insert forbidden characters through file upload (Operating systems don't allow these characters).

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 2
- Added 1

Complexity increasing per file
==============================
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceRecycleTest.java  1
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceTest.java  1
- content/content-tool/tool/src/java/org/sakaiproject/content/tool/FilePickerAction.java  2

Complexity decreasing per file
==============================
+ kernel/kernel-impl/src/main/java/org/sakaiproject/conditions/impl/ResourceReleaseRule.java  -16

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 2
- Added 1

Complexity increasing per file
==============================
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceRecycleTest.java  1
- samigo/samigo-qti/src/java/org/sakaiproject/tool/assessment/qti/helper/AttachmentHelper.java  1
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceTest.java  1
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1
- content/content-tool/tool/src/java/org/sakaiproject/content/tool/FilePickerAction.java  2

Complexity decreasing per file
==============================
+ kernel/kernel-impl/src/main/java/org/sakaiproject/conditions/impl/ResourceReleaseRule.java  -16

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 2

Complexity increasing per file
==============================
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceRecycleTest.java  1
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceTest.java  1
- samigo/samigo-qti/src/java/org/sakaiproject/tool/assessment/qti/helper/AttachmentHelper.java  1
- content/content-tool/tool/src/java/org/sakaiproject/content/tool/FilePickerAction.java  2
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

Complexity decreasing per file
==============================
+ kernel/kernel-impl/src/main/java/org/sakaiproject/conditions/impl/ResourceReleaseRule.java  -16

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 2

Complexity increasing per file
==============================
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceTest.java  1
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1
- kernel/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/ContentHostingServiceRecycleTest.java  1
- samigo/samigo-qti/src/java/org/sakaiproject/tool/assessment/qti/helper/AttachmentHelper.java  1
- content/content-tool/tool/src/java/org/sakaiproject/content/tool/FilePickerAction.java  2

Complexity decreasing per file
==============================
+ kernel/kernel-impl/src/main/java/org/sakaiproject/conditions/impl/ResourceReleaseRule.java  -16

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

PR rebased with latest master to avoid conflicts.

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- kernel/api/src/main/java/org/sakaiproject/exception/InvalidFilenameException.java  1

See the complete overview on Codacy

@ottenhoff Should we close the Jira as non issue? This jira has 14 years and looks like nobody is interested on this?

I'm okay closing it. Is it important to you? If yes, let's add a unit test and merge it in .

Is not important to me, it has 14 years and nobody resolved it....there are many watchers in the Jira but nobody answers.


Time limit dont cancel/update the countdown, just send the messages

I don´t really know if the title is the actual issue, but heres a video.
Video proof & version: http://youtu.be/FttWabOQpSM

Still happen
Video proof & version: http://youtu.be/A-dchWDduaU

If the match is running the time should be added, for example, if the player took 5 seconds after the match started to do /timelimit 30s, the match will last 35s. Now, Cardinal just set the limit, doesnt add it.
If the match is waiting, it just should set the time limit.

TM video example: http://youtu.be/qGSFnY_0N6s
Cardinal video: http://youtu.be/txhSACDhe6I
Cardinal version 4ed7f33: http://gyazo.com/9734333fe6a4537750e749e69bdcb55d

Can we make it such that there can be a /timelimit set <time> and /timelimit add <time> to keep these 2 different?

@SungMatt That sounds good, I'll try and work on it tonight.

@iEli2tyree011 Should I do it?

@dentmaged If you want, sure. Right now I'm overhauling the scoreboard, but I should be done soon.


"Syrian Arab Republic" country incorrectly named as "Syria"

Please look at country.php:
'SY' => 'Syria',

But according to the ISO_3166-1_alpha-2 that should be Syrian Arab Republic

Thanks, but this data is coming form ICU database, so that's where you should report issues. This just converts it to other formats.


Revert "Submission_2352467_2352333_2352930_2352553_2352339_Group51"

Reverts martinakaduc/MM241-Assignment#413

I am apologise for my mistake, i have researched that if my request is merged i can not close the request. I am so apologise for my fault.


feat: make gateway api optional

Currently LNV2 api requires you to specify the gateway api by url, makes it optional. Only really used in testing. In practice you would set this to none and module will choose the gateway for you.
Philosophy of LNv2: guardians set list of vetted gateways and module handles selection logic. All gatways are equal but some are more equal than others.

Philosophy of LNv2: guardians set list of vetted gateways and module handles selection logic. All gatways are equal but some are more equal than others.

Can gateways still register without guardian intervention btw? This is a very useful feature to be able to provide "fallback gateways" when guardians may not be around to fix the situation.

Not currently. The main issue is around DoS and user experience, when gateways can register without guardian approval, it is possible to either spam the guardian's DB with fake registrations or register gateways that have no inbound ecash, causing payments to fail.
@joschisan and I have chatted about some potential improvements. One idea was to pay for a registration with ecash, another was to submit a "proof" that proves you hold some threshold of ecash (proof here is very hand-wavy).

Guardians would have to set multiple gateways then the gatways fall back automatically.


docs(misc/Version Support Status): adding LTS extension support

(): adding extension support information

On twitter, the angular account (https://twitter.com/angular/status/1287780634572857357) has
announced an extension to the Long Term Support period. Updating the website to let people know.
AngularJS is in LTS mode
We are no longer accepting changes that are not critical bug fixes into this project.
See https://blog.angular.io/stable-angularjs-and-long-term-support-7e077635ee9c for more detail.

Does this PR fix a regression since 1.7.0, a security flaw, or a problem caused by a new  #browser version?

What is the current behavior? (You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change?
Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Fix/Feature: Docs have been added/updated
[ ] Fix/Feature: Tests have been added; existing tests pass

Other information:

@googlebot I signed it!

@Splaktar Thanks for the comments - i have updated commit message. How can I re-run the CircleCI test?

i have updated commit message. How can I re-run the CircleCI test?

Once you force push your changes up to the patch-1 branch in your fork, CI will run automatically. Though since you appear to be using the GitHub UI, that may be non-trivial. Plus it looks like @gkalpak is handling it for you 😄

Should there be a set date e.g Dec 31, 2021 for the ultimate LTS as opposed to opaque end of 2021.
(like how originally the date was prices, i.e. June 30, 2021)

Thanks @ewaDev for issuing the MR. 👏

I am having issues understanding why my CircleCI: lint is failing. I would really appreciate if someone would help me with sorting this out, thank you!

The linting was failing because some of the commit messages did not adhere to our guidelines. More specifically, some lines were longer than the max allowed 100 chars.
I have made some changes to the PR:

Squashed all commits into one.
Updated the commit message to what I proposed in https://github.com/angular/angular.js/pull/17057#pullrequestreview-456452470.
Added a missing period in the alert text (after (until December 31, 2021)).

@ewaDev, please take a look and lmk if it looks good to you. Thanks again for kicking this off 👍

Looks great @gkalpak ! Thanks for squashing the commits, I did not realise all of the commits had to comply. Thanks !

@gkalpak I am curious, are we waiting on some before merging the PR?

I @g-patel, I wanted to give people time to offer feedback and check with DevRel. Merging now...

I am not seeing this change in the docs online. I am wondering if there is something else we should be doing?

I @g-patel, I wanted to give people time to offer feedback and check with DevRel. Merging now...

@gkalpak  Thanks much for the update.

It has been deployed to the latest snapshot, but not to other versions. You can see it live here (or by selecting master-snapshot in the version picker).
Our docs deployment infrastructure seems to nave been slightly broken since we switched from TravisCI to CircleCI. I will look fixing it and/or manually deploying.

FYI, I am working on a fix in #17060 (if anyone wants to follow my progress).

FYI, I am working on a fix in #17060 (if anyone wants to follow my progress).

@gkalpak Thanks for providing the update.

@gkalpak thanks for looking into this!


add groupId to pluginzip publication

Signed-off-by: Peng Huo<EMAIL_ADDRESS>Description
Added groupId as org.opensearch.plugin in pluginZip publication
Issues Resolved
https://github.com/opensearch-project/opensearch-build/issues/2521
https://github.com/opensearch-project/sql/issues/790
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #906 (5903560) into 2.x (c3840b6) will decrease coverage by 2.80%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                2.x     #906      +/-   ##
============================================
- Coverage     97.90%   95.10%   -2.81%
  Complexity     3072     3072
============================================
  Files           293      303      +10
  Lines          7588     8246     +658
  Branches        490      609     +119
============================================
+ Hits           7429     7842     +413
- Misses          158      350     +192
- Partials          1       54      +53

Flag
Coverage Δ

query-workbench
62.76% <ø> (?)

sql-engine
97.90% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Hey @penghuo it should be actually groupId = "org.opensearch.plugin"


restarted UI and got rollback errors

DB.ts?b8fd:315 Uncaught (in promise) TypeError: Cannot read property 'rollback' of undefined

tried to capture stack trace
https://gist.github.com/bthaile/63d3b249dafae5487ecd2061c0c7897a

This appears to be fixed. Please re-open if it happens again.


Support for Complete Automation probability

From the API Results, Everything is Returned except the Complete Automation probability. Is it a feature for only the Paid API access. ?

I believe they are under the cap field of the return object, whereas you may be looking at the scores field. Please correct me if I'm wrong.


[Bug] Grouped notifications sometimes open a chat when tapped instead of simply opening the app

It could either be that the chat at the top of the list is opened, or the name of the chat that is tapped on

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @CSab6482 in #android-requests.


Software genlock trigger?

Required Info

Camera Model
{ D400 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win (8.1/10)

Platform
PC

SDK Version
{ legacy / 2.. }

Language
{C/C#/labview/nodejs/opencv/pcl/python/unity }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
Is it possible to trigger the frame capture with a software command?
I have a third party hardware sync pulse that I read in code. I need to trigger the realsense shutter when this pulse is received in c++.
Thanks!

Hi @antithing  A simple method of accomplishing your goal may be to use trigger the C++ script provided at https://github.com/IntelRealSense/librealsense/issues/2219 when your C++ code acknowledges the third-party trigger pulse. This script takes a single image capture from all attached cameras simultaneously.
The script has a mechanism that only allows it to activate if a D415 camera model is detected, so that checking mechanism would need to be edited out if your RealSense model is not a D415.

Alternatively, you could use the External Synchronization (Genlock) hardware sync system described in the Intel white-paper guide at the link below.
https://dev.intelrealsense.com/docs/external-synchronization-of-intel-realsense-depth-cameras
The Genlock system allows a camera to be configured as a Genlock slave by setting its Inter Cam Sync Mode option to a value of '4'.  The camera will then wait indefinitely for a trigger signal from an external signal generator device and only initiate capture when it detects that pulse.
The status of Inter Cam Sync Mode can be set with scripting.  For example in C++:
sensor.set_option(RS2_OPTION_INTER_CAM_SYNC_MODE, 4);

Thank you! i am trying to avoid any hardware development (the genlock signal comes over an SDI cable currently, into a capture card) so the first option sounds good.
i am a bit confused by the snippets in the linked thread.
So i would do this? (psuedo)
void run()
{

//connect camera
while(true)
{
          if(syncpulse== true)
          {
                                  frameset fs;
			          if (kvp.second.poll_for_frames(&fs))
			          {
				          //process frames
			          }
          }
}
}

i need to stream the imu data as well, in between camera frame grabs, is there any example code available on that setup?
Thanks again

Your psudeo-code is structured logically, yes, so it should work.
The rs-data-collect C++ example program can collect IMU data (accel and gyro) if the attached camera has an IMU.
https://github.com/IntelRealSense/librealsense/tree/master/tools/data-collect

Hi @antithing  Do you require further assistance with this case, please?  Thanks!

All good! thank you very much.

Thanks very much @antithing for the update!

The Genlock system allows a camera to be configured as a Genlock slave by setting its Inter Cam Sync Mode option to a value of '4'. The camera will then wait indefinitely for a trigger signal from an external signal generator device and only initiate capture when it detects that pulse.

Hi @MartyG-RealSense , we want to create map from rtabmap_ros and we have two D435i, and I our map is nor quite well, we have a doubt about hw sync, do we have to do that in order to create map? If it is, our first consideration is to sync depth and RGB that's why, I thought that we can make FULL SLAVE mode, but in documentation only GENCLOCK sync type is documented and I don't really get it FULL SLAVE, do we still have to trigger from external signal generator as in GENCLOCK or only setting params in rs-viewer or in SDK is enough?

Hi @tugbakara  Hardware sync enables the timestamps of multiple cameras to follow the timing of a central trigger.  It is not necessary to use hardware sync for all multiple camera applications though.  An example of this is Intel's ROS guides for stitching together pointclouds from two or more RealSense cameras at the links below.
Two cameras, one computer
https://github.com/IntelRealSense/realsense-ros/wiki/Showcase-of-using-2-cameras
Three cameras, two computers
https://github.com/IntelRealSense/realsense-ros/wiki/showcase-of-using-3-cameras-in-2-machines

Full Slave mode is enabled when Inter Cam sync Mode is set to '3', and this mode synchronizes RGB and depth streams on the same camera (i.e not synching to an external non-RealSense RGB camera).
As you highlight though, there is only a small amount of documentation for Full Slave mode.  It is probable that you would be able to achieve your map generation goal without using hardware sync.

Two cameras, one computer
https://github.com/IntelRealSense/realsense-ros/wiki/Showcase-of-using-2-cameras

In that section, we are not aiming to unite two pointclouds only, we are trying to use RGB and depthto make map (as an example), I reallly don't get why did you point out that?

You said above that "we want to create map from rtabmap_ros and we have two D435i".  I interpreted this as you wanting to combine together the pointcloud views of two D435i cameras into a single combined pointcloud map.  I apologize if I misunderstood.
Intel's single-camera D435i SLAM guide that uses rtabmap_ros would produce a similar map to the one in the YouTube video that you linked to.
https://github.com/IntelRealSense/realsense-ros/wiki/SLAM-with-D435i

Thanks, we will look at that tutorial and if it works great and if we get some trips and tricks , I will provide here :)


Bugless with no docker no code

As FROM is required for every docker file, this PR will actually cause a bug
sometimes no code causes bug too


Compatibility issue between Cilium>=1.8.3  and Kubernetes <= 1.18.5.

We identified a compatibility issue between client-go 0.18.6+ and apiservers <= 1.18.5.
When a client disconnects from an apiserver and reconnects to another one with an older RV the Informer will never recover because clients 0.18.6+ expect a more complete error message from apiservers to understand TooLargeResourceVersion errors. So the Informer keeps trying to relist with the RV it knows and getting 504 from the apiserver (while it should relist with RV=“” when this happens). Of course for resources that change a lot, the Informer recovers once the RV of the apiserver it is connected to gets updated to a recent one but this can still create transient issues.
This manifest as errors on apiservers and (we think but are not completely sure) as errors retrieving pod labels when the pod informer is temporarily stuck this way (leading to pods with "init" identity).
This means that Cilium 1.8.3+ can have issues with Kubernetes <=1.18.5 (this is how we noticed it)
We built a 1.8.3+ version of Cilium with an older version of client-go (0.18.5) and verified that 504 errors disappear. We should know in a few days if the "init" identity issue goes away completely too.
Upstream PR introducing the new behavior: https://github.com/kubernetes/kubernetes/pull/92537
The apiserver now sends:
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
  },
  "status": "Failure",
  "message": "Timeout: Too large resource version:<PHONE_NUMBER>, current:<PHONE_NUMBER>",
  "reason": "Timeout",
  "details": {
    "causes": [
      {
        "reason": "ResourceVersionTooLarge",
        "message": "Too large resource version"
      }
    ],
    "retryAfterSeconds": 1
  },
  "code": 504
}

While before it was sending:
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
  },
  "status": "Failure",
  "message": "Timeout: Too large resource version:<PHONE_NUMBER>, current:<PHONE_NUMBER>",
  "reason": "Timeout",
  "details": {
    "retryAfterSeconds": 1
  },
  "code": 504
}

But in the same PR the client code is modified to expect
details.causes.reason== ResourceVersionTooLarge

Since it is not getting it, it does not behave as expected (relisting with RV="")
I discussed the problem with @wojtek-t and he confirmed (and explained the detail of) the problem. The change was not backported to older apiservers as the official support policy is client-go version <= apiserver version.
General Information

Cilium version: 1.8.6
Kernel version: 5.4
Orchestration system version in use: kubernetes 1.14

cc @aanm as we discussed this on slack

Ok the issue actually came back with client-go 0.18.5 so we dived again in the commit history. It turns out:

https://github.com/kubernetes/kubernetes/pull/83520 introduced a bug that was reverted in 1.17.1 but kept in master and fixed for real in 1.18.6 but the fix introduce an incompatibility with client-go <=0.18.5 triggering the same problem
impacted versions are client-go 0.17.0 (0.17.1+ are fine) and 0.18.[0-5]
client-go 0.18.6 is fine but does not work with apiservers <= 1.18.6

So I think we can say:

Cilium 1.8.3+ only works with Kubernetes >= 1.18.6
Cilium 1.8.0-2 uses a client-go version that has a known bug in informers (regardless of apiserver version)

We're validating this with a custom Cilium v1.8.6 build using a client-go version no impacted by the bug or its fix (0.17.17)

And is Cilium 1.7.x affected at all?

And is Cilium 1.7.x affected at all?

It should not be as it seems to be using client-go versions between 0.17.3 and 0.17.17 (not 100% sure as it is referencing a specific commit but other references to kubernetes packages use these versions)

👋 We can confirm that since we deployed 1.8.7 with client-go 0.17.17 we don't get any 504 any more on our 1.14 clusters
We are going to deploy more widely to verify this also addresses the problem where pods get the Init identity because the cilium-agent can't find the local pod in its informer

This issue has not seen any activity since it was marked stale. Closing. Feel free to re-open a new issue if it is still persisting. Thank you.


Upstart mode of metatron.sh script can't be used

Describe the bug
The Upstart mode (running Metatron discovery in forgeround) of metatron.sh script can't be used because the argument isn't parsed by the script. The logic is there though.
To Reproduce

Excute /opt/metatron/discovery/bin/metatron.sh upstart

Expected behavior
Metatron starts in the forground
Screenshots
N/A
Desktop (please complete the following information):
N/A
Additional context
N/A

Issue fixed by merging of PR #2210.


ssu-bills doesn't show actual bill count

ssu-bills used to show actual bill count, now it doesn't. It would be really good to get that feature back.
Running ssu-bills alone results in an error:
$ ssu-bills
Reset bill counts for dispenser.
Usage: ssu-bills [<machine name>] [<top count> <bottom count>]

Example: ssu-bills fancy-horse 200 50
Resets top cartridge to 200 bills, bottom cartridge to 50 bills.
If you're only operating one machine, machine name is optional.

Current counts:
No data returned from the query.
QueryResultError: 0
    at QueryResultError.Error (<anonymous>)
    at new QueryResultError (/usr/local/lib/node_modules/lamassu-scripts/node_modules/pg-promise/lib/errors/queryResult.js:125:22)
    at null.<anonymous> (/usr/local/lib/node_modules/lamassu-scripts/node_modules/pg-promise/lib/query.js:172:41)
    at Query.handleReadyForQuery (/usr/local/lib/node_modules/lamassu-scripts/node_modules/pg-promise/node_modules/pg/lib/query.js:106:10)
    at null.<anonymous> (/usr/local/lib/node_modules/lamassu-scripts/node_modules/pg-promise/node_modules/pg/lib/client.js:163:19)
    at emit (events.js:117:20)
    at Socket.<anonymous> (/usr/local/lib/node_modules/lamassu-scripts/node_modules/pg-promise/node_modules/pg/lib/connection.js:109:12)
    at Socket.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:764:14)
    at Socket.emit (events.js:92:17)

Running it with the machine name it doesn't return anything:
# ssu-bills machine-name
Reset bill counts for dispenser.
Usage: ssu-bills [<machine name>] [<top count> <bottom count>]

Example: ssu-bills fancy-horse 200 50
Resets top cartridge to 200 bills, bottom cartridge to 50 bills.
If you're only operating one machine, machine name is optional.

You have multiple machines, please supply a machine name.

It also tells me that I have multiple machine and I should mention a machine name (even though I mentioned it).

Thanks for the findings, @keo. Could you confirm your versions with npm -g ls lamassu-config?
Also, were there any changes made on the server leading up to this error?

Just so, technically, this is the result of calling either db.one or db.many that require data to be returned by the query, but the query returns nothing :wink:

@naconner we're on<EMAIL_ADDRESS>

I'm reconfirming this issue with<EMAIL_ADDRESS>&<EMAIL_ADDRESS>(git://github.com/lamassu/lamassu-config.git#eec24cc97272bbcfd13877fa2085eeb817e7ae7c)


Feat: getDataInTime from 4D data

Feature

using either a coordinate or segmentation Id, gets the scalar data for each voxel requested for a provided series of time points, or if left blank, for all time points
scalar data is returned as an array for a coordinate, and an array of arrays for a segmentation

@sedghi Comments have been resolved


B/database

Pull Request for initial Implementation

Backend
Make sure, you have done de following before merging this pull request:

[ ] Your code is documented using doc comments.
[ ] You added appropriate logging in your code.
[ ] You added unit tests to all your implemented functions.
[ ] You ran cargo format to format your code.
[ ] You ran cargo clippy to check for improvements.
[ ] You added the class descriptions of the classes you implemented in the latex document on overleaf.
Make sure to mark any changes you made to the design documents specification.

The Image-Rank function definition is still missing.


Nesting collapsibles

Thanks for this nicely written package! I am having a bit of difficulty understanding how to use multiple collapsibles when nested; in particular, there is a need to associate a given region to a specific collapsible. Consider the following structure:
<aria-collapsible open>
  <button control>toggle 1</button>

region 1

  <aria-collapsible open>
    <button control>toggle 1</button>

region 2

  </aria-collapsible>
</aria-collapsible>

The expected behaviour of hitting toggle 1 is that the div region 1 disappears. The actual behaviour is that both divs region 1 and region 2 disappear.
It strikes me that within the scope of a given aria-collapsible element, any regions should be "isolated" from aria-collapsible elements at higher levels. Alternatively, the relation might be encoded by some kind of id.
Is there a way to achieve what I am trying to do?

I have found, for example, that changing the code for constructor() to the following achieves my desired behaviour:
  constructor() {
    super();

    this.#control = this.querySelector("[control]");

    const regionsUnder = (node) => [...node.querySelectorAll("[region]")];
    const collapsiblesUnder = (node) => [...node.querySelectorAll(this.tagName)];

    const regionsToRemove = collapsiblesUnder(this).flatMap(regionsUnder);
    this.#regions = regionsUnder(this).filter((region) => !regionsToRemove.includes(region) );

    this.#configured = this.#control && this.#regions.length;
  }


Add "Inputs" Moneropedia entry

"Monero uses the unspent transaction output (UTXO) model for handling transaction verification.
Each transaction requires one or more outputs to be used as inputs. The term input is only relevant in the context of a transaction. Outside the context of a transaction all moneroj is considered as 'owned outputs'.
Inputs, represent some amount of Moneroj which is required to satisfy the intended outputs of a new transaction.
Using multiple outputs to satisfy a new transaction is called 'input mixing'."


HTMLColor is missing colors.

List of colors missing:

Magenta

RebeccaPurple

Cyan

LightGrey

DimGrey

DarkSlateGrey

Thanks for narrowing this down, @michaelcheers

A Pull Request (#1779) has been submitted to fix this issue. The pr will be merged into Bridge 15.0.
@michaelcheers Thanks for pointing out the issue and making the list.


Preventing from using the same canvas for multiple render()

Attempt to make life less confusing (#8476)
Fixes #5636

/botio test

/botio test


Fish completion is broken

Describe the bug
tmuxinator/completion/tmuxinator.fish doesn't correctly set __fish_tmuxinator_program_cmd in set __fish_tmuxinator_program_cmd (commandline -o)[1]. In my shell, tested in empty fish environment as well, this variable is empty after I try reproducing this problem.
$ set -q __fish_tmuxinator_program_cmd
> returns 0, the variable is set
$ count __fish_tmuxinator_program_cmd
1

Copying tmuxinator.fish into ~/.config/fish/completions/tmuxinator.fish and setting __fish_tmuxinator_program_cmd to tmuxinator instead of (commandline -o)[1] mitigates the problem. As far as I understand (commandline -o)[1] returns empty string.
My guess that setting it to (commandline -o)[1] was intended to make it work with both mux and tmuxinator commands, but I don't think that's necessary because mux expands into tmuxinator anyway. Or if needed maybe a for-loop and explicitly setting both might be a better solution. I am not quite sure.
To Reproduce
Typing tmuxinator  (notice space at the end) triggers the following
~> tmuxinator complete: too many arguments

/usr/share/fish/vendor_completions.d/tmuxinator.fish (line 17):
complete -f -c $__fish_tmuxinator_program_cmd                                                -a '(__fish_tmuxinator_program completions start)'
^
from sourcing file /usr/share/fish/vendor_completions.d/tmuxinator.fish
in command substitution

(Type 'help complete' for related documentation)
complete: too many arguments

/usr/share/fish/vendor_completions.d/tmuxinator.fish (line 18):
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_use_subcommand'                  -x -a "(__fish_tmuxinator_program commands)"
^
from sourcing file /usr/share/fish/vendor_completions.d/tmuxinator.fish
in command substitution

(Type 'help complete' for related documentation)
complete: too many arguments

/usr/share/fish/vendor_completions.d/tmuxinator.fish (line 19):
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command start'     -a "(__fish_tmuxinator_program completions start)"
^
from sourcing file /usr/share/fish/vendor_completions.d/tmuxinator.fish
in command substitution

(Type 'help complete' for related documentation)
complete: too many arguments

/usr/share/fish/vendor_completions.d/tmuxinator.fish (line 20):
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command open'      -a "(__fish_tmuxinator_program completions open)"
^
from sourcing file /usr/share/fish/vendor_completions.d/tmuxinator.fish
in command substitution

(Type 'help complete' for related documentation)
complete: too many arguments

/usr/share/fish/vendor_completions.d/tmuxinator.fish (line 21):
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command copy'      -a "(__fish_tmuxinator_program completions copy)"
^
from sourcing file /usr/share/fish/vendor_completions.d/tmuxinator.fish
in command substitution

(Type 'help complete' for related documentation)
complete: too many arguments

/usr/share/fish/vendor_completions.d/tmuxinator.fish (line 22):
complete -f -c $__fish_tmuxinator_program_cmd -n '__fish_tmuxinator_using_command delete'    -a "(__fish_tmuxinator_program completions delete)"
^
from sourcing file /usr/share/fish/vendor_completions.d/tmuxinator.fish
in command substitution

(Type 'help complete' for related documentation)

Expected behavior
No output, load tmuxinator completion file.
Environment

fish: version 3.4.1
tmuxinator Version: tmuxinator 3.0.2
tmux Version: tmux 3.2a
Ruby Version: ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]
OS: Arch Linux

Additional information
Add any other context or (potentially) useful information about the problem here. Feel free to include screenshots, videos, scripts, Dockerfiles, etc. which may help others diagnose/reproduce the issue.

Can confirm, seeing the same issue on MacOS

Speaking with my fish developer hat on:
set __fish_tmuxinator_program_cmd (commandline -o)[1]

This doesn't work, at all. This is run when the file is loaded, which happens when fish determines that it needs to complete for the command tmuxinator - it autoloads completion files by name.
To complete an alias like another command, you need to set up wrapping completions with complete -c nameofalias -w tmuxinator - if you use fish's alias it handles that for you automatically.
So this is neither necessary nor useful. Just use complete -c tmuxinator in the entire file.

Reproduced with this:
Environment

fish Version: version 3.4.1
tmuxinator Version: tmuxinator 3.0.4
tmux Version: tmux 3.3a
Ruby Version: ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]
OS: macOS 12.5.1


1st update to agent profiles for BIBFLOW project

redefined resources and added categories using bibfra.me vocabulary

Please re-request to the bibfra.me branch in this repositor, where work like this is sort of under way.