RFC multi pass idea

this is a refactor attempt to introduce a multi-pass system .
the main goal is to separate feature code and allow to easily introduce new features
in the first pass, a global config is constructed.
in a second pass the cells are generated.
In each pass callbacks can be registered for specific fields (bitbox,annotation,bitheader).
A pass iterates through all fields, annotates fields with an global index as id, and calls the according callbacks.
This minimizing tedious type and value checks.
The first pass generates a global config which can not be modified by the second pass.
The second pass takes this config and similar to the first pass, iterates over all fields and executes callbacks for field types, that generate cells.
A (not implemented) third pass would take the config and all generated cells and map them to table cells.
A third pass may be practical because it can introduce side-effects for cells,
i.e. we have a new feature that introduces gaps

first pass estimates the layout

collects information that is handy to have before generating a cell (like pre/post column count)

second pass generates the cells with relative positions,

does not need to check other cells, simple code

third pass converts relative positions to global ones.

apply position offsets to all cells followed by gap

I would love to see sth like memory maps or other more complex hierarchical stuff like

and I think to make features as easy as possible to integrate may be the way to go here
currently only the provided test.typ is working.
most bitheader code was only copied and got just the minimal adjustments
this PR is based on #12

@jomaway please let me know if this idea has some merit

@nopeslide i just had a look at your first draft and it seems like you have similar ideas than i have.
I just merged #12  and some of my local changes (wasn't that easy to combine everything).
In my changes i already did some refactoring towards a pass system. Currently few things are still bothering me.
The bitheader can be alot of different types and some combinations of smart and msb_first don't make to much sense right now. I think we need to figure out a good user API for this and some internal representation similar to bitbox and annotation. Maybe we can use the current dict version and add a type field which contains custom or bounds or small.  Don't know yet.
Another thought i had on annotations: Maybe it would simplify things if we always only use one column for pre annotations and one for post annotations and then add a subgrid for multiple levels. This would make it possible to drop pre and post len calculations or at least keep them to their local changes. Maybe this will complicate things like groups. Not sure yet.
Anyway your ideas are always welcome. :+1:

Another thought i had on annotations: Maybe it would simplify things if we always only use one column for pre annotations and one for post annotations and then add a subgrid for multiple levels. This would make it possible to drop pre and post len calculations or at least keep them to their local changes. Maybe this will complicate things like groups. Not sure yet.

this would make overlapping annotations quite hard, because they would need rowspans over multiple grids

The bitheader can be alot of different types and some combinations of smart and msb_first don't make to much sense right now. I think we need to figure out a good user API for this and some internal representation similar to bitbox and annotation. Maybe we can use the current dict version and add a type field which contains custom or bounds or small. Don't know yet.

I played a little with the bitheader interface, I think you will like it.
i think the most important change will be the massive use of positional arguments,
to make the interface slim and get a feeling of a "smart" interface, that allows mix and matching
Every bitheader argument has a different types, and can now simply be listed.
check the examples

@jomaway
your annotation implementation is doing something completely different.
it just stuffs annotations from the top down,
my implementation annotated the current row of fields in the table

@jomaway your annotation implementation is doing something completely different. it just stuffs annotations from the top down, my implementation annotated the current row of fields in the table

Yeah that's true, as in my changes the fields aren't processed in an linear order this was kind of hard to get right and it was already getting late. I guess this can be fixed in several ways.

First is to enumerate all incoming fields and calculate the position from that index.
Second is to change layout of annotations completely.

But i am not sure if the first method or the way it was handled in your PR can cover every edge case.
If we want to define where a note is "rendered" an approach would be to say: A annotation corresponded to the same row as the following bitbox  on the left side and on the previous bitbox on the right side.
Anyway i would like to have some sort of API to set the position of an annotation explicitly. So it can be defined anywhere in the bytefield. This probably needs a bit more calculation as there can be multiple cells at the same place.
I want to play with some different approaches and then we will see which is the best option to go with.

The only thing I'm not quite happy with is the true/false for showing just labels or labels with numbers, because it is a global option and not settable for single bits How about negative numbers to explcitiy not show a number? This would be just the shorthand version of specifying a parameter with a list of numbers to not show (which must be used to omit the zero) bitheader(true, 1:[bit 1], -1) is the same as bitheader(false,1:[bit 1]) bitheader(0,1,2,-1) is the same as bitheader(0,2) or bitheader(0,1,2, omit:(1,)) furthermore things like "-all" or "-smart" can also be possible. you want labels without numbers? easy enough bitheader(0,[bit 0],1,[bit 1],"-all")

This looks like an idea which we can work on. I would suggest mixing positional arguments with named arguments for example the true/false for numbers. Actually ˋmsb_firstˋ is also only for the header so we can have a named argument ˋmsb:true ˋ.
Another thing I am not really happy with is that “smart“ and “bounds“ show offsets for fields which are in the second or third line. Which doesn‘t make much sense in my opinion. But I would like to know what you think about that?
If we think what a ˋheader_cellˋ will contain then I come up with:

ˋ positionˋ which indicates the x - offset from bit 0.
ˋnumberˋ which represents the number. Same as ˋpositionˋ if ˋmsb:false  ˋ and  row_width - 1 - position if ˋmsb:true ˋ
ˋlabelˋ which is a text representation or description.

Each cell can show the number and/or the label.
Another question is if we want to support headers between rows I the future and how to handle this also in combination with annotations. And what about annotations above or below. An use case could be to group two fields together and show this with a bracket and note below them.

@jomaway
some thoughts
regarding grid positions
I think it makes sense if we completely build our own placement system and map this at the end to to tablex placements.
fundamentally, we have a grid with bits in the middle, surrounded by annotations.
we can divide our global grid in multiple subgrids: center/left/right/top/bottom
a cell can only be positioned in one of these subgrids.
i.e. a bitcell has a position in the center, a left-sided annotationcell in the left, ...
(I would put bitheaders also into the center, because this enables multiple bitheader for multirow representations of large registers.)
specifying a position could look like this
let first_bit_cell = (
  type:"bitcell",
  pos: (
    center: (0,0)
  )
)

now we can differentiate between different grids instead of types of cells
since multiple cell types may occupy the same grid
regarding IDs
i propose each element has a unique id.
we can use an index series as unique id.
since we start with fields, which are expanded to cells, which are expanded/mapped to table cells,
we automatically generate a unique index series for each element.
the series even reflects the elements origin, making debugging tasks simpler.
regarding left/right annotations:
i propose the convention: annotations are always annotating fields that come after them.
instead of calculating their position themselves, they could refer to the field coming after them in a later pass
i.e. copy the row of the next cell that has a center position

Another thing I am not really happy with is that “smart“ and “bounds“ show offsets for fields which are in the second or third line. Which doesn‘t make much sense in my opinion. But I would like to know what you think about that?

This was my intention, so the ranges of later fields are shown indirectly.
But i see your point, maybe we should add variants which only cover the next lines, or even better, only up until some kind of break or gap field

Another question is if we want to support headers between rows I the future and how to handle this also in combination with annotations. And what about annotations above or below. An use case could be to group two fields together and show this with a bracket and note below them.

haha we had a lot of same thoughts.

regarding grid positions I think it makes sense if we completely build our own placement system and map this at the end to to tablex placements.

Totally agree with you on this point.

fundamentally, we have a grid with bits in the middle, surrounded by annotations. we can divide our global grid in multiple subgrids: center/left/right/top/bottom a cell can only be positioned in one of these subgrids.

That's kind of in the same direction what i suggested earlier on with setting only one column left and right for annotations in the main grid and use subgrids there.

regarding IDs i propose each element has a unique id.

Just implemented this to fix the annotation positioning. (Related to https://github.com/jomaway/typst-bytefield/issues/13#issuecomment-1939247415)

regarding left/right annotations: i propose the convention: annotations are always annotating fields that come after them. instead of calculating their position themselves, they could refer to the field coming after them in a later pass i.e. copy the row of the next cell that has a center position

Still not sure if this is the most obvious way, but i kept it that way for now.

FYI doing some more refactoring the next days and then you can start adding new features again without the code diverging to much from each other.

I think we should separate metadata/config and fields even more.
It was a delight to have a single metadata/config object as single truth in this PR for debugging and testing purposes.
when we separate metadata/config generation and cell generation in different functions, we can test each individually.
This would make testing and debugging a blaze (i outputted the metadata/config and rendered output as 2 columns in my dev setup)
I think of something like
let bytefield(args, fields) = {
  let meta = generate_meta(args, fields)
  let cells = generate_cells(meta, fields)
  let table = generate_table(meta, cells)
  return table
}

regarding our placement
it could be practical to have special grid variable that holds the various grids and a mapping from positions to cell ids.
this would essentially be the final layout.
let grid = (
  center: (
    "(0,0)":0,
    "(1,0)":1,
    ...
  ),
  left: ( ... ),
  ...
)

this would make a neighbor search trivial, which we need when we are tackling borders.
and even more important, could warn us of any layout problems way before tablex,
which would allow us to annotate any errors and generate sexy debug stuff like


fix: admin redirects and translations

:tada: This PR is included in version 2.0.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.3-next.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.5-next.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.6-next.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


refactor and polish the source code of the library

this PR is all about refactoring the formatting library and executable :yum:
details

Note
i've made this PR such that it's easy to review commit by commit and there are explaination in all the commit bodies :ok_hand:

rename the library to nu_formatter
link to the README in the doc of nufmt
make Clippy run on all the targets, e.g. including benchmarks
remove (almost) all print in favor of log
fix some "hacks" in the code (cli.files, #[cfg(windows)] and exit codes)
simplify the benchmarks
rename some functions
remove useless comments and simplify the documentation when possible
relax Clippy on missing documentation
do not make all items of nu_formatter public

cc/ @AucaCoyan
some questions remaining
Clippy missing doc errors (see here)
i think these errors are too strong and Rust is expressive enough in these cases :thinking:
i propose applying the following patch to the toolkit
diff --git a/toolkit.nu b/toolkit.nu
index 5b421e8..6e986f0 100644
--- a/toolkit.nu
+++ b/toolkit.nu
@@ -51,8 +51,6 @@ export def clippy [
         --
             -D warnings
             -D rustdoc::broken_intra_doc_links
-            -W missing_docs
-            -W clippy::missing_docs_in_private_items
             -W clippy::explicit_iter_loop
             -W clippy::explicit_into_iter_loop
             -W clippy::semicolon_if_nothing_returned

to let developer add documentation when it makes the most sense :relieved:

Note
the patch would have to be adapted for the CI

public functions
there are a bunch of public functions that are exported outside of nu_formatter
> rg '^\s*pub' | lines | parse "{file}:{match}"
╭────┬───────────────────┬──────────────────────────────────────────────────────────────────────────────╮
│  # │       file        │                                    match                                     │
├────┼───────────────────┼──────────────────────────────────────────────────────────────────────────────┤
│  0 │ src/formatting.rs │ pub fn format_inner(contents: &[u8], _config: &Config) -> Vec<u8> {          │
│  1 │ src/formatting.rs │ pub fn trim_ascii_whitespace(x: &[u8]) -> &[u8] {                            │
│  2 │ src/lib.rs        │ pub mod config;                                                              │
│  3 │ src/lib.rs        │ pub mod formatting;                                                          │
│  4 │ src/lib.rs        │ pub fn format_single_file(file: &PathBuf, config: &Config) {                 │
│  5 │ src/lib.rs        │ pub fn format_string(input_string: &String, config: &Config) -> String {     │
│  6 │ src/config.rs     │ pub struct Config {                                                          │
│  7 │ src/config.rs     │     pub tab_spaces: usize,                                                   │
│  8 │ src/config.rs     │     pub max_width: usize,                                                    │
│  9 │ src/config.rs     │     pub margin: usize,                                                       │
│ 10 │ src/config.rs     │     pub fn new(tab_spaces: usize, max_width: usize, margin: usize) -> Self { │
╰────┴───────────────────┴──────────────────────────────────────────────────────────────────────────────╯

i'm just wondering if we need that many exported things, e.g. we could use pub(crate) for those required inside the library and pub for those needed in nufmt?

Hello! Thanks for the time sinked here.

Clippy missing doc errors

Yeah, clippy can be very annoying sometimes. I'm ok with removing those 2 lints. Especially with the private items.

failing test on windows

I'm not sure what is making the test fail, but before \r\n it was passing both in windows and linux. I believe the implementation of \n in low code rust makes the correct assumption whether is \n or \r\n.
To add one more layer to the onion, we usually work on linux EOL when we work on git. So if the formatter edits code files, I don't see the problem of using \n.
Should we format \n for all files in all OSs?

public functions

You are correct. That exports were on my TODO list.
I didn't have time (and patience) to finish the rust book yet, so sometimes I go for the simpler way, not because it's actually better, but because I'm not confident on the meaning of the code 😜. I'm so glad you could resolve that!

💭 Thanks again for the refactor and suggestions! 🎉

Hello! Thanks for the time sinked here.

ehe no worries, that was fun :yum:

Yeah, clippy can be very annoying sometimes. I'm ok with removing those 2 lints. Especially with the private items.

i've disabled the two annoying Clippy items in 13b91dc and made -D warnings explicit in a43cc16

I'm not sure what is making the test fail, but before \r\n it was passing both in windows and linux. I believe the implementation of \n in low code rust makes the correct assumption whether is \n or \r\n. To add one more layer to the onion, we usually work on linux EOL when we work on git. So if the formatter edits code files, I don't see the problem of using \n. Should we format \n for all files in all OSs?

i've reverted d4bb23a in 3433524, i think \r\n is not a good idea, i've alread seen PRs going out control with that :sweat_smile:
where like the global changes are just a block of red and a block of green on wholes files and the actual changes are like 1 line in there :laughing:

You are correct. That exports were on my TODO list. I didn't have time (and patience) to finish the rust book yet, so sometimes I go for the simpler way, not because it's actually better, but because I'm not confident on the meaning of the code stuck_out_tongue_winking_eye. I'm so glad you could resolve that!

i fixed the visibility in fd032a0 :+1:
if you cargo doc --no-deps --lib --open, you'll publicly see

config
format_single_file
format_string
which are, i believe, the only one that needs to be publicly available, for now of course :relieved:
the rests are either marked with
nothing to make them private
pub(crate) to make them public in the scope of the nu_formatter crate only :smirk:

thought_balloon Thanks again for the refactor and suggestions! tada

i'm glad you like them :relieved:
maybe just a last :+1: with the last commits and then let's land this :partying_face:

i've alread seen PRs going out control with that 😅

LOL

Merge it away! I'm happy with these changes

LOL

:laughing:

Merge it away! I'm happy with these changes

cooool, thanks for the review, that was fun :triumph:


provide option to change relative URL to absolute URL in polymer build

<img src="https://avatars.githubusercontent.com/u/2049220?v=3" align="left" width="96" height="96"hspace="10"> Issue by sigmundch
Originally opened as dart-lang/sdk#20691

Provide an option to allow changing relative package/ URLs (derived from HTML imports, CSS, and images) to absolute URLs after invoking pub-build.
Because this might require changing also libraries that are included transitively, this is blocked by first being able to do a global transformation.

This comment was originally written by<EMAIL_ADDRESS>
A related discussion: https://groups.google.com/a/dartlang.org/d/msg/web/szLsH84BpQo/e1xqspqZbBsJ


IAM-224-Oauth interface implementation

Issue

Grafana is Oauth 2.0 capable, but the charm currently can't use the Identity Platform's oauth interface.
Solution

This pr implements integration with the oauth interface, and includes unit and integration tests to verify correct behavior.
Context

Relevant projects are:
playwright
Identity bundle
Hydra charm
Testing Instructions

Use tox for both unit and integration test.
Release Notes

With the update of python-libjuju I had to change some other tests due to changes in wait_for_idle. Everything else seems to be working fine, should be ready for review.

@sed-i @PietroPasotti @simskij this PR is ready for review. It's gotten a little big, let us know if we can help you reviewing it.
If you want a visual representation of the browser test, you can run:
. .tox/integration/bin/activate
PYTHONPATH=. PWDEBUG=1 pytest  -k test_grafana_oauth tests/integration/


Dxvk native cross compile fails for 32-bit

Software information
Fedora 39 Workstation Edition
gcc 13.2.1
build log:
log.txt

@tjhexf Are you still having issues compiling?

@tjhexf Friendly ping


ocaml mdx failure on duniverse

We are using ocaml-mdx for the new owl tutorials, but I cannot make it compile properly. The tests are failing with
   ocaml-mdx alias book/algodiff/runtest (exit 1)
(cd _build/default/book/algodiff && ../../../install/default/bin/ocaml-mdx test --prelude=prelude.ml --direction=to-md README.md)
Got an error while evaluating:
---
#require "core,core.top,ppx_jane,owl-top,owl-plplot";;

open Core
open Owl
open Bigarray

let () = Printexc.record_backtrace false
let () =
  Owl_base_stats_prng.init 89;
  Owl_stats_prng.init 89
---
Line 2, characters 8-12:
Error: Unbound module Core

core seems to be correctly installed, also if I try to run them by hand they instead fail as
   opam exec -- ../../../install/default/bin/ocaml-mdx test --prelude=prelude.ml --direction=to-md README.md
ocaml-mdx-test: internal error, uncaught exception:
                Fl_package_base.No_such_package("unix", "")

I am not sure where to start to triage it.
The code is all here: https://github.com/mseri/owl_tutorials

Yeah the current released version of mdx doesn't work well with duniverse. In RWO we use a fork for now but we're working on getting it merged in mdx's master. It takes some time because it was first based on a few hacks that we're trying to replace with more reliable solutions.
You can see #150 for that. Pinning mdx to this version should solve a few issues. In particular you have to invoke ocaml-mdx rule --duniverse-mode and it will do a couple things to make it work with a duniverse based project including adding explicit dependencies to packages in the duniverse for each #require statement and providing a dummy findlib.conf for the findlib dune port that had a few issues.
I'll try to rebase it today as we've made some progress on the findlib front and it's possible it currently is in an inconsistent state. RWO is using an older version of that fork atm.

Also note that it is normal that it doesn't work if you run it through opam exec as it relies on dune setting the OCAMLPATH for the duniverse's findlib!

Thanks! I was already using the duniverse fork, but with incorrect rules. I've updated them and promoted the changes, let's see if it works 🤞


test: fix canvas context property pane

EE PR: https://github.com/appsmithorg/appsmith-ee/pull/5161

[!WARNING]
Tests have not run on the HEAD 728be22ceaad4b89c32bb6aa806bffa53030e1d8 yet
Tue, 17 Sep 2024 08:47:46 UTC

/ci-test-limit-count run_count=25

/ci-test-limit-count run_count=25


delete main-anthony

i don't believe this should be on the main Git, so removing.

confirmed via email with @anthonymccanny


Need help with lobster font

Challenge Name

Issue Description

Browser Information

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

Screenshot

Hey, can you input your code? Make sure you're linking to the external stylesheet.

Thank you for reporting this issue.
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "Help" button on the challenge on freeCodeCamp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification. Thank you, and happy coding.


reuse code; implement CancellationToken differently; sort array directly

https://github.com/asulwer/RulesEngine/issues/27

rearranged code

private methods under private region
public methods under public region

sort array instead of convert array to list, sort list, then convert back to list
removed params for methods that take CancellationToken as a parameter
removed duplicated code in some of the methods

Hi guys, I've been watching this fork closely and we are willing to move from the original MS Rules Engine repo to this one. Good job on this new repo by the way.
However, this change in the method signature will affects all existing calls we are making to the ExecuteAllRulesAsync method. That would be a significant breaking change on my side.

I moved to this fork since the original is not being maintained. With that, I'd not support breaking changes, as usual, only if it's really necessary which I don't think the case atm.

this PR will not break existing calls to original methods.  only if you are using the new methods that accept CancellationToken as a parameter.  if those methods are called then, yes, your code would change

methods that have parameter CancellationToken are newly added to this repository.  This PR changed the signature of those two methods.  all other code changes were to move methods around to places more appropriate for those methods

@asulwer
If you change the method ExecuteAllRulesAsync from using params to a regular array and reorder the parameters, it will break existing code. For instance, suppose we have the original method:
ValueTask<List<RuleResultTree>> ExecuteAllRulesAsync(string workflowName, CancellationToken cancellationToken, params object[] inputs);

And it gets called like this:
await rulesEngine.ExecuteAllRulesAsync("exampleWorkflow", cancellationToken, input1, input2, input3);

In the new proposed method:
ValueTask<List<RuleResultTree>> ExecuteAllRulesAsync(string workflowName, object[] inputs, CancellationToken cancellationToken);

The call would need to change to:
await rulesEngine.ExecuteAllRulesAsync("exampleWorkflow", new object[] { input1, input2, input3 }, cancellationToken);

If the original code is not updated, it will break because the method signature and parameter order have changed. This makes the migration to the new version difficult and error-prone for users.

Additionally, if we move the CancellationToken to the end, it will mix the signature with other overloads due to the params keyword, causing ambiguity. For example:
Original methods:
ValueTask<List<RuleResultTree>> ExecuteAllRulesAsync(string workflowName, CancellationToken cancellationToken, params object[] inputs);
ValueTask<List<RuleResultTree>> ExecuteAllRulesAsync(string workflowName, params object[] inputs);

If we change to:
ValueTask<List<RuleResultTree>> ExecuteAllRulesAsync(string workflowName, object[] inputs, CancellationToken cancellationToken);

Calling:
await rulesEngine.ExecuteAllRulesAsync("exampleWorkflow", input1, input2, cancellationToken);

This call could be confused with another overload:
ValueTask<List<RuleResultTree>> ExecuteAllRulesAsync(string workflowName, params object[] inputs);

This ambiguity can lead to compilation errors or unexpected behavior, making it crucial to keep CancellationToken in its original position.

@RenanCarlosPereira yes that is true.  those are the only two affected methods.

the method that contains the two parameters params and CancellationToken are the concern here?  no problem to put that back. i can see the need

The design of this API is strict, we shouldn't change this interface
No problem about implementing a new one... we can design a new contract with the new methods names, but changing what is there, really not a good idea

@RenanCarlosPereira i am not changing what is already there.  the methods containing the CancellationToken are newly added.  regardless i have changed the parameter order for the method containing the params, to hopefully, satisfy anyone that is using that particular method.

Yeah but you also changed the type man, that will also break.
That should keep the object[]
Because rules engine accepts objects that are not necessary Parameters, that will also break
I recommend not to change the interface, unless you want to add new methods that will not mix with the existing ones

the type didn't change, the order in the file changed.


Search options are broken

No longer amoled dark

same issue;
Stable 100054 (69f0658)
BetterDiscord 1.2.1

Wanting to keep this thread alive as idk what happened to the dev but this issue is still present.

Maybe we can fork it open a pull request, until pulled, use the fork instead (there's one problem, that I don't know CSS to make it work)

please be sure to check this issue out, as i'm not going to prioritize maintainability of the theme currently, as i'm working on a rewrite for this.

I've fixed this in v2. Please make sure you redownload the theme entirely.


⚠ ClamAV has degraded performance

In a471b9e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 98 ms

Resolved: ClamAV performance has improved in eb252fa after 5 minutes.


Error setting value  for field input:misc:disable_splash_rendering: No such field.

Hyprland Version
Hyprland, built from branch  at commit 1b48642fd15c433c53876f1b933dcd46265caf8f dirty (). Tag: v0.30.0  flags: (if any)
Bug or Regression?
Bug
Description
I cannot use disable_splash_rendering or disable_hyprland_logo in my hyprland config i get this error :
Error setting value  for field input:misc:disable_splash_rendering: No such field.
I'm using hyprland 0.30.0-1 from aur on arch 6.5.9-arch2-1
How to reproduce
misc {
disable_hyprland_logo = true
disable_splash_rendering = true
}
Crash reports, logs, images, videos

You have an unclosed input: category somewhere in your config.


Improve deployCluster.sh use az to get values instead of using output from inception.sh

Fixed by https://github.com/Microsoft/containerized-microservices-pipeline/pull/101


ERROR: Could not connect to lockdownd, error code -5 Invalid device, Please given a vaild device!

ERROR: Could not connect to lockdownd, error code -5 Invalid device, Please given a vaild device!

一样的报错

https://github.com/libimobiledevice/libimobiledevice/issues/391
我执行 sudo chmod -R 777 /var/db/lockdown/   解决了


Import kubeconfigs under a directory

Be able to import all kube configs under a directory

That is a good idea.
I think, I will implement it similar to the current konf delete, which allows a file glob to match multiple files. An then something like konf import . or konf import /path/to/my/dir will be possible

okay this should work now. When you supply a directory to konf import, it will import all files in that directory (excl. hidden ones of course)


respect RUSTC_WRAPPER env var

fixes #45 by respecting RUSTC_WRAPPER (except if empty) and fixes a minor clippy warning from CI

Thanks! If you want a release for this, could you submit a PR to bump the version number?

seems like the fix broke something: https://github.com/rust-cross/cargo-zigbuild/issues/295 ?

I think this change is sound, and it should be fixed elsewhere.


Issues with esbuild-script.mjs

Hello,
I have some issues as soon as I try to install and use aws package.
Indeed when I run the node --no-warnings esbuild-script.mjs (in npm run build).
npm run build

><EMAIL_ADDRESS>build
> npm run clean && npm run lint && tsc && node esbuild-script.mjs

><EMAIL_ADDRESS>clean
> rimraf dist

><EMAIL_ADDRESS>lint
> eslint src/

(node:79545) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
✘ [ERROR] Could not resolve "./auth/httpAuthSchemeProvider"

    node_modules/@aws-sdk/client-lambda/dist-cjs/index.js:223:44:
      223 │ var import_httpAuthSchemeProvider = require("./auth/httpAuthSchemeProvider");
          ╵                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "././runtimeConfig"

    node_modules/@aws-sdk/client-lambda/dist-cjs/index.js:242:35:
      242 │ var import_runtimeConfig = require("././runtimeConfig");
          ╵                                    ~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./middleware-http-auth-scheme"

    node_modules/@smithy/core/dist-es/index.js:1:14:
      1 │ export * from "./middleware-http-auth-scheme";
        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./middleware-http-signing"

    node_modules/@smithy/core/dist-es/index.js:2:14:
      2 │ export * from "./middleware-http-signing";
        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./submodules/client/index"

    node_modules/@aws-sdk/core/dist-es/index.js:1:14:
      1 │ export * from "./submodules/client/index";
        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./util-identity-and-auth"

    node_modules/@smithy/core/dist-es/index.js:3:14:
      3 │ export * from "./util-identity-and-auth";
        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./adaptors/getEndpointFromConfig"

    node_modules/@smithy/middleware-endpoint/dist-cjs/index.js:101:43:
      101 │ var import_getEndpointFromConfig = require("./adaptors/getEndpointFromConfig");
          ╵                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./submodules/httpAuthSchemes/index"

    node_modules/@aws-sdk/core/dist-es/index.js:2:14:
      2 │ export * from "./submodules/httpAuthSchemes/index";
        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./getSmithyContext"

    node_modules/@smithy/core/dist-es/index.js:4:14:
      4 │ export * from "./getSmithyContext";
        ╵               ~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./submodules/protocols/index"

    node_modules/@aws-sdk/core/dist-es/index.js:3:14:
      3 │ export * from "./submodules/protocols/index";
        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./normalizeProvider"

    node_modules/@smithy/core/dist-es/index.js:5:14:
      5 │ export * from "./normalizeProvider";
        ╵               ~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./isStreamingPayload/isStreamingPayload"

    node_modules/@smithy/middleware-retry/dist-cjs/index.js:299:40:
      299 │ var import_isStreamingPayload = require("./isStreamingPayload/isStreamingPayload");
          ╵                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./protocols/requestBuilder"

    node_modules/@smithy/core/dist-es/index.js:6:14:
      6 │ export * from "./protocols/requestBuilder";
        ╵               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "./pagination/createPaginator"

    node_modules/@smithy/core/dist-es/index.js:7:32:
      7 │ export { createPaginator } from "./pagination/createPaginator";
        ╵                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "././getAwsChunkedEncodingStream"

    node_modules/@smithy/util-stream/dist-cjs/index.js:80:32:
      80 │ __reExport(src_exports, require("././getAwsChunkedEncodingStream"), module.exports);
         ╵                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "././sdk-stream-mixin"

    node_modules/@smithy/util-stream/dist-cjs/index.js:81:32:
      81 │ __reExport(src_exports, require("././sdk-stream-mixin"), module.exports);
         ╵                                 ~~~~~~~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "././fromBase64"

    node_modules/@smithy/util-base64/dist-cjs/index.js:19:32:
      19 │ __reExport(src_exports, require("././fromBase64"), module.exports);
         ╵                                 ~~~~~~~~~~~~~~~~

✘ [ERROR] Could not resolve "././toBase64"

    node_modules/@smithy/util-base64/dist-cjs/index.js:20:32:
      20 │ __reExport(src_exports, require("././toBase64"), module.exports);
         ╵                                 ~~~~~~~~~~~~~~

Here's my package.json
{
  "name": "medplum-demo-bots",
  "version": "3.1.5",
  "description": "Medplum Demo Bots",
  "license": "Apache-2.0",
  "author": "Medplum<EMAIL_ADDRESS>  "type": "module",
  "scripts": {
    "build": "npm run clean && npm run lint && tsc && node --no-warnings esbuild-script.mjs",
    "clean": "rimraf dist",
    "lint": "eslint src/",
    "prettier": "prettier --write .",
    "test": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:ui": "vitest --ui"
  },
  "prettier": {
    "printWidth": 120,
    "singleQuote": true,
    "trailingComma": "es5"
  },
  "eslintConfig": {
    "parserOptions": {
      "project": "./tsconfig.json"
    },
    "extends": [
      "@medplum/eslint-config"
    ],
    "root": true
  },
  "devDependencies": {
    "@medplum/bot-layer": "3.1.8",
    "@medplum/cli": "3.1.8",
    "@medplum/core": "3.1.8",
    "@medplum/eslint-config": "3.1.8",
    "@medplum/fhirtypes": "3.1.8",
    "@medplum/mock": "3.1.8",
    "@types/node": "20.14.6",
    "@types/node-fetch": "2.6.11",
    "@types/ssh2-sftp-client": "9.0.3",
    "@vitest/coverage-v8": "1.6.0",
    "@vitest/ui": "1.6.0",
    "esbuild": "0.21.5",
    "form-data": "4.0.0",
    "glob": "^10.4.2",
    "node-fetch": "3.3.2",
    "pdfmake": "0.2.10",
    "rimraf": "5.0.7",
    "ssh2-sftp-client": "10.0.3",
    "stripe": "15.12.0",
    "typescript": "5.4.5",
    "vitest": "^1.6.0"
  },
  "dependencies": {
    "@aws-sdk/client-lambda": "^3.598.0",
    "@aws-sdk/client-s3": "^3.598.0",
    "@aws-sdk/credential-provider-http": "^3.598.0",
    "@aws-sdk/credential-provider-ini": "^3.598.0",
    "@aws-sdk/credential-provider-web-identity": "^3.598.0",
    "@aws-sdk/s3-request-presigner": "^3.598.0",
    "@smithy/middleware-endpoint": "^3.0.3",
    "@smithy/node-http-handler": "^3.1.0",
    "aws-sdk": "^2.1645.0"
  }
}

And here is a simple bot I've created that shows the issue
import { InvokeCommand, InvokeCommandInput, LambdaClient } from '@aws-sdk/client-lambda';
import { BotEvent, MedplumClient, parseReference } from '@medplum/core';
import { Device, DocumentReference, Reference } from '@medplum/fhirtypes';

export const CALIBRATION_SUCCESS = 'SUCCESS';
export const CALIBRATION_FAILED = 'FAILED';
export const CALIBRATION_ERROR = 'ERROR';

type CalibrationBotEvent = BotEvent & {
    input: {
        device: Reference<Device>;
        documentReference: Reference<DocumentReference>;
    };
};

/*
 * This bot is responsible for running the calibration process.
 * - Run the lambda that handles the calibration verification
 * - Create an Observation based on the Lambda's return
 * https://apneal.atlassian.net/wiki/spaces/ADA/pages/476545035/Code+Calibration
 */
export async function handler(medplum: MedplumClient, event: CalibrationBotEvent): Promise<any> {

    const lambdaClient = new LambdaClient();
    const invokeParams:InvokeCommandInput = {
        FunctionName: 'arn:aws:lambda:eu-west-3:XXXXXX:function:Calibration',
        InvocationType: "RequestResponse",
        Payload: JSON.stringify('s3://bucket/file.tar.gz'),
    };
    const response = await lambdaClient.send(new InvokeCommand(invokeParams));
    let observationValue;
    if(response.StatusCode !== 200){
        observationValue = CALIBRATION_ERROR;
    } else {
        const decoder  = new TextDecoder();
        const result = decoder.decode(response.Payload);
        console.log(result);
        if(result === "true") {
            observationValue = CALIBRATION_SUCCESS;
        } else {
            observationValue = CALIBRATION_FAILED;
        }
    }

    await medplum.createResource({
        resourceType: 'Observation',
        code: {
            coding: [
                {
                    system: 'https://fhir.apneal.ai/code-system',
                    code: 'calibration',
                    display: 'Calibration status',
                }
            ]
        },
        status: 'final',
        valueString: observationValue,
        subject: event.input.device,
        issued: new Date().toISOString(),
    });

    console.log(event.input.documentReference)
    const document = await medplum.readResource('DocumentReference', parseReference(event.input.documentReference)[1]);
    if(document === undefined){
        throw new Error('DocumentReference not found');
    }

    await medplum.updateResource({
        ...document,
        docStatus: 'final'
    });

    return response.Payload;

}

I you have any idea of what is going on here I'd be glad to have your input as it is blocking for me to deploy my bots !

After digging a bit, I've managed to build the application by removing "bundle:true" and "external: botLayerDeps,"
This is a hack and gives me other issues.
For examples I have a bot that uses the package "@aws-sdk/s3-request-presigner": "^3.598.0",
When testing the bot in my bot repository, it works all fine and I can build the bot that is not an issue neither.
But after deploying the bot I have an issue as the package is not bundled with the bot.
So I have the error : package not found, which makes sense.
What I did for the moment in order to have the possibility to continue working is that I've added the package in the dependency of the medplum server and rerun the server.
This is hacky and definetely not what I hope for the long term, but it allows me to keep working for the moment !
If you have any idea how I can handle this I'd be more than happy !

I've opened an issue on aws-sdk
https://github.com/aws/aws-sdk-js-v3/issues/6223

Easy fix :
resolveExtensions: ['.ts'],
to
// resolveExtensions: ['.ts'],
or
resolveExtensions: ['.ts', '.js'],
I guess this could be added to the esbuild ! for future compatibility :)


Enable javascript in the browser

So we can view embedded YouTube videos, etc.

Oops - sorry about that! Quite an oversight 😶
Put a fix in v0.1.4. Tested it with YouTube specifically and videos are playing nicely inline now. v0.1.4 was just deployed to the Play Store so should be with your shortly!

Nice one - got the update from the play store and it's working great! :)


typescript: typing errors are shallowed

There is no linting support and/or typescript compilation errors.
Seems it's just ignored.

Yeah, there is not browser linter for TypeScript. There is one in ACE editor I believe though, so considering moving to that. Seems like ACE editor also lints in a worker environment which improves performance.

Related to #72

Monaco solves this even better than ACE, cause not only does it lint, it actually does type-checking in the browser. See: https://github.com/christianalfoni/webpack-bin/issues/158


SVG updated only on page load

SVGs inserted by svg-icons are only updated on page load. If the svgs are dynamically inserted or removed, the updateSvg function needs to run again. https://github.com/fastn-community/svg-icons/blob/e33d5f4900f4f05a21eb60c7dbad29290d404f89/helper.js#L88
We can wrap svg icons component around the iconify-icon web component. But it will also require using iconify's js scripts for it to work. It will take care of changing and rendering the icons, and will handle change of name="" attribute as well.

@xypnox send PR :-)


Alzheimer Detection Using Visual Transfomer Implementation

Project 6 Implementation of Visual Transformer based on the paper “An Image is Worth 16x16 Words:
Transformers for Image Recognition at Scale,” using pytorch to classify images in the ADNI Alzheimers dataset. Hyperparameter tuning with wandb sweeps was used to get the best model of a final accuracy of 60%. Further improvements are noted in the README.
The files provided are:

README - report of the project detailing model, training and results
dataset.py - provides loading of data into pytorch dataloaders with preprocessing of images
modules.py - classes to create the ViT model using pytorch
preditc.py - loads saved model and generates an accuracy using the test set
train.py - trains and saves the ViT model based on the config in the file, logging information to Wandb
utils.py - provides functionality to load, save models, calculate accuracy and creating a new Wandb sweep

Author: Rodger Xiang, 46425067

This is an initial inspection, no action is required at this point
Difficulty: Hard
Readme:

Excellent and detailed

Commit messages: Excellent
Code:

Uses Vision transformer
Well commented
Good design

Functionality/Performance:

Did patient-level split
Model is overfitting
Validation loss increases during training
Potential bugs in the codel
Test acc is 62%

General comments:

Solves the problem well although performance is poor

Marking
Good Practice (Design/Commenting, TF/Torch Usage)
Adequate design and implementation
Good spacing and comments
Header blocks
Recognition Problem
Solves problem
Driver Script present
File structure present
Shows Usage & Demo & Visualisation & Data usage
Module present
Commenting
No Data leakage
Difficulty: Hard
Commit Log
Meaningful commit messages
Progressive commits used
Documentation
ReadMe acceptable, missing usage info -1
Model/technical explanation
Good Description and Comments
Markdown used and PDF submitted
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch)
No Feedback required
Request Description good

Can merge only if the gitignore file is removed. Does not affect grade only the merge

Can merge only if the gitignore file is removed. Does not affect grade only the merge

hi Shakes, thanks for the feedback, I have removed the gitignore file and should be ready to merge.

Feedback attempt and no feedback marks lost.


Turning off stderr logging in Coinsetter StreamingExchangeService

Does anyone know how to turn off the logging to stderr?  I get a stderr message like the following for every event received through the StreamingExchangeService.
Feb 09, 2015 4:42:16 PM io.socket.IOConnection transportMessage
INFO: < 5:::{"name":"ticker","args":[{"bid":{"price":221.72,"size":0.05,"exchangeId":"SMART","timeStamp":1423521736241},"ask":{"price":221.81,"size":3.32,"exchangeId":"SMART","timeStamp":1423521736241},"last":{"price":221.72,"size":2.75,"exchangeId":"COINSETTER","timeStamp":1423521728086},"volume24":640.60877658,"volume":509.07015012}]}

My instantiation looks like this:
Exchange exchange = ExchangeFactory.INSTANCE.createExchange(CoinsetterExchange.class.getName());
		CoinsetterStreamingConfiguration streamCfg = new CoinsetterStreamingConfiguration();
		streamCfg.addAllMarketDataEvents();
	    service = exchange.getStreamingExchangeService(streamCfg);
	    service.connect();

Thanks!

Would you check the source of io.socket.IOConnection and see what logger they use?
I bet it's java.util.logging, In which case we need to add and configure org:slf4j:jul-to-slf4j.

Sorry, @rafalkrupinski, I'm not quite sure where I'd find that.  Mind pointing me where to look?

Correct. It's using java.util.logging.Logger

You may find a trick in CoinsetterSocketIOServiceDemo
// Bridge/route all JUL log records to the SLF4J API.
removeHandlersForRootLogger();
SLF4JBridgeHandler.install();
Sent from my iPhone

On Feb 10, 2015, at 18:13, Tim Molter<EMAIL_ADDRESS>wrote:
Correct. It's using java.util.logging.Logger

Reply to this email directly or view it on GitHub.

That worked.  That's a lot, everyone!


Feature Request: Clarify Expo Support

Our company currently uses the Expo managed workflow, it looks as though dd-sdk-react-native requires access to react-native 'Native Modules' which is fair enough 😆 I'm expecting the sdk requires me to eject to the Expo 'bare' workflow.
In the Expo managed workflow I get this error when trying to initialise.
[Unhandled promise rejection: TypeError: null is not an object (evaluating '_foundation.DdSdk.initialize')]
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:516237:27 in <unknown>
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:516229:26 in initialize
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:515922:53 in <unknown>
at [native code]:null in callFunctionReturnFlushedQueue

It would be useful to us if in the docs you stated whether the 'Expo Managed Workflow' is supported.
It seems reasonable if it's not. Later in the year Expo is planning to add native module support with EAS build https://blog.expo.io/expo-managed-workflow-in-2021-d1c9b68aa10
Describe the solution you'd like
An update to the docs stating expo support. Or an option to use dd-sdk with the Expo Managed workflow
Describe alternatives you've considered
Eject expo, or wait for runtime customisation in expo to give native module support

For what is worth @brookemitchell I also ran into this issue and continue to receive the same error when running the app on an ejected workflow or even on a "vanilla" react-native application.
I'm still waiting to hear back from DD live support to figure out how to initialize the SDK for a react-native application of any stripe.

Hello @brookemitchell and @chunkzer! Thanks for submitting the issue. We didn't look yet at the Expo compatibility, but will definitely check it out.
@chunkzer Can you please give us more details regarding you issue with "vanilla" application. Do you mean the app which is made without Expo (pure React Native app)? If so, can you please share what Datadog React Native SDK version you are using, does it happen only for iOS, or for Android as well? If it is iOS app, then does it have pure Objective-C codebase (no Swift files included) or not, what is the version of XCode, etc.

Same issue here...

Hello @0xnm
An update on my current status with this. I've managed to get the library running as part of an expo bare-workflow (that would be with access to the iOS side of the project with Xcode, etc...)  as well as with a vanilla react-native app.
At least to the point where I'm running the dd-sdk initialization function with no error being returned. (I'm still getting 0 visible activity in DD)
Here's my step by step process to get to this point (Relevant point is that this is react-native 0.63):

Follow the initial new RUM application flow (snippet + install sdk)
Modify your Podfile in the "Flipper" block

  if !ENV['CI']
    use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '~> 1.3')
    post_install do |installer|
      flipper_post_install(installer)
    end
  end

Relevant issues:
https://github.com/facebook/react-native/issues/31179#issuecomment-830453340
Run pod install
Now you’ll need to follow the instructions detailed on:  (I realized the issue is pinned but is there a way for it to have more visibility until fixed?)
https://github.com/DataDog/dd-sdk-reactnative/issues/41
At this point I'm able to build my application and execute a block like this one:
const config = new DdSdkReactNativeConfiguration(
   ...creds,
    true, // track User interactions (e.g.: Tap on buttons)
    true, // track XHR Resources
    true // track Errors
)

DdSdkReactNative.initialize(config).then((conf) => {
  console.log('initialize then promise', conf);
  DdLogs.warn('The RN Sdk was properly initialized', {
      foo: 42,
      bar: 'xyz',
  }).then((r) => {
    console.log('after info log: ', r);
  })

  DdSdkReactNative.setUser({id: "1337", name: "Xavier", email<EMAIL_ADDRESS>type: "premium"})

  DdSdkReactNative.setAttributes({campaign: "react-native-bs"})
})

Still I'm not seeing any activity on the relevant dashboard.

Hi @brookemitchell;
This is a relevant issue. Wondering, why was this closed without much conclusion - any redirection or follow-ups?! Especially with relevance to the expo-managed workflow?!
Thanks.

@astriskit sorry way later, indeed this is working excellently for us with an expo eas build, see: https://github.com/DataDog/dd-sdk-reactnative/issues/47#issuecomment-1010376523

Hey folks, I'm the PM for RUM at Datadog, thank you for the feature request. We're investigating integration with Expo managed workflow and we would love to get insights on your experience. If you're open to a quick chat, please reach out<EMAIL_ADDRESS>and mention this issue.

Hi all,
We now support Expo managed workflow, you can learn about how to enable our SDK with Expo here: https://github.com/DataDog/dd-sdk-reactnative/blob/develop/docs/expo_development.md
If you are using Expo Go, you'll find instructions on how to move to development builds or to prevent your app from crashing with the SDK while using Expo Go.
For now, there is no need to add plugins ;)
cc @louiszawadzki


Fuse.createIndex() differs from Fuse() by not accepting keys in object notation (for weighted search)

Describe the bug
When trying to bring in Fuse.createIndex() it gives me this error:

TypeError: path.indexOf is not a function. (In 'path.indexOf('.')', 'path.indexOf' is undefined)

Version
6.0.4
Is this a regression?
Don't know.
🔬Minimal Reproduction
function buildIndex( items, options ) {
  const defaults = {
    isCaseSensitive: false,
    shouldSort: true,
    minMatchCharLength: 2
  };
  const mergedOptions = {...defaults , ...options};
  return Fuse.createIndex( mergedOptions.keys, items );
}

const datasets = [
  {title: "Foo", description: "Superfooicious"},
  {title: "Bar", description: "Superbaricious"}
];

const options = {
  keys: [
    {name: 'title', weight: 2},
    {name: 'description', weight: 1}
  ]
};

const searchIndex = buildIndex( datasets, options );

Additional context
Nothing to say. But yeah I love Fuse.js!!!

That's fair a flag. I designed this on purpose, since generating the index is completely different, and does not require weights (since weighting is applied at query time).
Nonetheless, it feels like I could just support this functionality, so people don't have to deal with different arg formats.
I will do this for the next release. Thanks!

Now in latest<EMAIL_ADDRESS>

since weighting is applied at query time

So passing options (including keys) again as the second parameter to Fuse() does not cause it to rebuild it's index but really uses the one I pass as third parameter?


How does this compare to android-ddp-client?

How does Android-DDP compare to android-ddp-client? Do both libraries have the same features? I am considering making a switch from android-ddp-client to this library, but I want to make sure that its features are on par first.
See: https://github.com/kenyee/android-ddp-client
I know this isn't an "issue", I just couldn't find any other way to contact the developer.

Good question, thanks!
I've not really taken a closer look at the other library, unfortunately. But if you're a user of that library, you probably know best what features it has and how it works.
So please feel free to ask about any features or the workflow here, and I'll do my best to answer.
Generally, the "Usage" section of this project's README is probably the best point to start:
https://github.com/delight-im/Android-DDP#usage
We can then leave this thread open to collect all information that is relevant to this comparison.

I am considering making the switch from android-ddp-client to your library. It looks very clean and lightweight. I see that you are pretty active on this project and have made quite a few contributions recently, which is also a plus. Do you plan on continuing to make contributions to this library on a regular basis and providing support for the foreseeable future? Or is this just a side project on the back burner that isn't that high of a priority? I would hate to switch to this library only to have development cease and support dropped a day later.

You are welcome to making the switch!
As I said, this library probably has all the features that you need, but I can't say for sure. So please be careful and try things first without spending too much work on this right away :)
I absolutely do plan to continue working on this library and have no plans to stop support. But obviously, I cannot give any support guarantee. (Neither does the other library, however, I guess.) Sorry!
So I'll do my best to continue providing good support for this library and maybe the community can help as well if some problems occur. That's all I can offer ;)


Expose the new LoginManager -> limited login tracking functionality.

Looking through the code it would appear that the new limited login functionality available via the LoginManager and or LoginButton has not yet been exposed to React Native.
Is anyone already working on this or have a timeline for this. Alternatively I'd be happy to help as it looks like it should be a fairly straightforward process.
https://developers.facebook.com/docs/facebook-login/limited-login/ios/

Hi @Techdojo thanks for your suggestion! At this moment I don't have any specific plan towards it.
As you suggested, feel free to contribute with this new lib, I will be more than happy to review and merge it for future release :)

Thanks, I'll have a look at what's involved. 🤞 it shouldn't be a massive change.

No biggie :)
If you see any space that we can work together on that, let me know and we can split up the work

Hi guys.
I've made a fork adding a separate (and very simple) limitedLogin method in order to add the desired behaviour. Before opening the PR, I'd like to know if someone else are making the same part in order to organise the work. Thanks in advice :)

@leolusoli fantastic! No one else has done anything in the area that I know of, post that PR :smile: !

With a bit of modifications I was able to obtain AuthenticationToken but it is kind of useless. Only supported response type is jwt encoded id_token https://www.facebook.com/.well-known/openid-configuration/ which you are receiving in the app, and no way to safely send this to the server and replace the classic auth token. If this was intended to be a useful replacement, they should support code response type (like Apple did with their Apple ID). And with this code you can safely receive the user's id, name and email server side... Does anyone come to a different conclusion?

@mikehardy Hi. I am also forked and implemented Limited Log in, but only for LoginManager.
I can try to PR. Also you can check in my repo. Branch name limited-login
tl dr
created separated method limitedLogInWithPermissions
and for getting Authentication Token - class AuthenticationToken

Hi @cocoa-rum. I'm watching your modifications. Can you give an example of using this method in JS? I also have some questions about it:

The authentication token with the class that you are build is relevant to the one taken by this example? https://developers.facebook.com/docs/facebook-login/limited-login/ios/
What is the graphDomain property?
If I want to grab userID, email and other information about the user logged I'll have to do in JS by decoding the token, right? Maybe, it would be great to get this information directly from the SDK in order to not require a jwt decoding library for do this stuff in JS.
Why you are request an additional param loginTracking if the method name is limitedLogInWithPermissions? The user will expect that the configuration of the limitedLogInWithPermissions will contain FBSDKLoginTrackingLimited (otherwise he'll have to use the classic loginWithPermission method).

@mikehardy Please give me a feedback if what I'm saying is wrong. Thanks to all :)

@leolusoli

The authentication token with the class that you are build is relevant to the one taken by this example? https://developers.facebook.com/docs/facebook-login/limited-login/ios/

Yes. My class relevant by this example. This is the same FBSDKAuthenticationToken, but called in another place
Why did  I create separate class? I relied on the implementation of getting a access token. We loged in and then call getCurrentAccessToken. So in my implementation the same way for  authentication token , but we will call getAuthenticationToken

What is the graphDomain property?

The graph domain where the user is authenticated. as we can read from FBSDKAuthenticationToken properties. For me it was graphDomain: 'facebook'. Really do not know where it can be used, but may be someone what to know

If I want to grab userID, email and other information about the user logged I'll have to do in JS by decoding the token, right? Maybe, it would be great to get this information directly from the SDK in order to not require a jwt decoding library for do this stuff in JS.

I passed this token to the server for validation, so I do nothing with it on frontend part. Server will parse and validate this token. As I said in (1) I want to save same flow as with access token.
May be if we need profile info, let's create class for getting info from FBSDKProfile? I think it will simple enough

Why you are request an additional param loginTracking if the method name is limitedLogInWithPermissions? The user will expect that the configuration of the limitedLogInWithPermissions will contain FBSDKLoginTrackingLimited (otherwise he'll have to use the classic loginWithPermission method).

I create separate method just to be sure, I won't break anything. Let's say for "for backward compatibility". Yes, may be I should leave only logInWithPermissions, with loginTracking, nonce for IOS. This make sense. I will do this just after someone will comment this answer.
And why did I add loginTracking ? Developer will control himself, If dev needs to make log in limited or not, based on app tracking transparency. So id user restricted tracking - dev will pass limited

@cocoa-rum Thanks for the detailed informations. I think it's every correct.
In order to go on:

We can build the separate class in order to retrieve the profile information directly from the SDK. If you want I can make by myself if you are busy ;)
@mikehardy If you could give us the information about the method naming (create new method or extend the loginWithPermission one) in order to have a uniformed root.

For me is a good implementation of this functionality. I believe it can be merged :)
I'm waiting your feedback. Thanks guys :)

@leolusoli
I have already extended loginWithPermission and removed limitedLogInWithPermissions. I will push commit to my repo soon.
Also added check for AuthenticationToken , because I did not add this method to android. So I am going to add AuthenticationToken to android

If you want I can make by myself if you are busy

It's ok if you will do this 👍
While I'm finishing LoginManager and AuthenticationToken
Also I think to try make limited login for the FB button, after I finish current part

:sweat_smile: please don't wait on my feedback, I just processed 700 github notifications this morning and about 40 PR reviews (not exaggerating) and I won't have time for more volunteer open source stuff for a little while, apologies :-), it does sounds like you all are making great progress though which is always fun to hear

@cocoa-rum @leolusoli if you push a PR I can review it and maybe we can include it in the new release :)
Also I can try to help with testing it o/

@cocoa-rum I'm making the part for profile (only iOS for now). I will push this in hours.

@cocoa-rum Ready: https://github.com/cocoa-rum/react-native-fbsdk-next/pull/1

@thebergamo I think I am ready to do PR. Should I to do PR at master branch or you will create limited-login, so you and other devs could test it? I tested it on real devices ios and android (dev env).
There were no problems, maybe there are specific scenarios that I did not encounter. Let me know if there are any
I added Limit Log in to FB button.
Also I wanted to add AuthenticationToken class to android, but unfortunately I  did not found such api in android sdk, maybe I didn't see it, but seems AuthenticationToken only for IOS
@leolusoli I added your PR. Thx for Profile part. Also I edit a little bit some lines in js part ( nothing serious, you can check my commits )

@cocoa-rum feel free to open into Master branch, we can test it directly to your branch before merging, so it should be good.
If you could implement some test for this feature to be added it would be easier for us to test. Like using detox it would be great as well.
In near future I would like to have those features tested this way so it would save us some time :)
Anyway thanks for your effort and also @leolusoli :)

I believe this is done!

hi @mikehardy @cocoa-rum is there any way to get facebook pages list and publish permission while using limited login on iOS?


JSONPath comparison and standardisation

@cburgmer's JSONPath comparison project is currently discussing some issues relating to a proposed implementation of JSONPath known as "Proposal A". May I encourage you to get involved if you are interested in influencing the direction or, indeed, if you want to make your own proposals.
Similarly, please join us in slack (invitation) for informal discussions on the comparison project and potential JSONPath standardisation.

@glyn do you mind to send a fresh invitation link? I'm willing to join :)

Here you go. This one won't expire. https://join.slack.com/t/jsonpath-standard/shared_invite/zt-fp521hp0-D7gmDcmOMK4UkrRRug~SQQ


Lower logo resolution to avoid aliasing on low-dpi screens

What
Has now the same vertical resolution as the R menu icon

Before on low-dpi (windows):

After on low-dpi (windows):

Before on low-dpi (mac):

After on low-dpi (mac):

Before on high-dpi (mac):

After on high-dpi (mac):

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/{{ pr.number }}) (if applicable)

[PR Build Summary](https://build.rerun.io/pr/{{ pr.number }})
[Docs preview](https://rerun.io/preview/{{ "pr:%s"|format(pr.branch)|encode_uri_component }}/docs)
[Examples preview](https://rerun.io/preview/{{ "pr:%s"|format(pr.branch)|encode_uri_component }}/examples)

actually. wait a second, this is cut off now to the right a little bit 🤦

fixed.

This thing started out as a font and looked pretty bad - no recognizability


Rename does not rename methods across classes in hierarchy

Issue Type: Bug
If I refactor rename an overridden method, it does not rename the base class method, and vice versa. Also, no references are found. Basically, intellisense has no knowledge of polymorhpism, which can cause havoc in a large codebase, if someone does not know about this lack of feature.
I will provide additional info if needed.
Extension version: 2020.12.2
VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:34:46.910Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz (4 x 3200)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.94GB (1.25GB free)

Process Argv
--crash-reporter-id 504acee2-a3ea-41ce-a1e2-99e1630d8500

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
openlogontheside:30221877
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30211401
wsl2prompt:30224612
pythonvsdeb440:30237827
unusedpromptcf:30224611
folderexplorercf:30224615
openfilemenu:30224647
pythonvsded773cf:30236630
pythonvspyt859:30241729

Furthermore, docstring of base method is not inherited in child method, even when there is no child method docstring.

Furthermore, docstring of base method is not inherited in child method, even when there is no child method docstring.

The original issue was about renaming class methods within a hierarchy, which requires some discussion/thought about what we think is the "correct" behavior; we currently have the safer behavior of not trying to modify a bunch of classes due to a rename.
That docstring example is a different issue, but I'd be curious to see the example because that would indicate there's a bug in the inheritance code as a whole (as we definitely find docstrings). Do you have a codebase that reproduces this?

The original issue was about renaming class methods within a hierarchy, which requires some discussion/thought about what we think is the "correct" behavior; we currently have the safer behavior of not trying to modify a bunch of classes due to a rename.
That docstring example is a different issue, but I'd be curious to see the example because that would indicate there's a bug in the inheritance code as a whole (as we definitely find docstrings). Do you have a codebase that reproduces this?

You renamed my issue title to try to reduce the problem domain, but here I show you a demonstration where

method renaming
docstring inheritance
reference finding

Don't work on my side. In the attached gif, I don't show the renaming, because that is not the root cause of this problem, just a symptom of not finding references.

You renamed my issue title to try to reduce the problem domain, but here I show you a demonstration where

method renaming
docstring inheritance
reference finding

Don't work on my side. In the attached gif, I don't show the renaming, because that is not the root cause of this problem, just a symptom of not finding references.

Hm, I guess I don't see that behavior as "wrong" per se; there are no uses of the child method; finding references to the child method shouldn't be going back to the base class the base class technically doesn't call the child class. Would have to see how this is done in other LSs.
RE: docs, I'd be interested in seeing what help says about each of these items in the child class; does Python's own builtin functions go to the base class for overriden functions? From it's POV, I'd have thought it would hit the function and say "no doc" because it can't really know that it's an override without walking the entire MRO to find one... but I know we can choose to do something different in the editor.

Hm, I guess I don't see that behavior as "wrong" per se; there are no uses of the child method; finding references to the child method shouldn't be going back to the base class the base class technically doesn't call the child class. Would have to see how this is done in other LSs.
RE: docs, I'd be interested in seeing what help says about each of these items in the child class; does Python's own builtin functions go to the base class for overriden functions? From it's POV, I'd have thought it would hit the function and say "no doc" because it can't really know that it's an override without walking the entire MRO to find one... but I know we can choose to do something different in the editor.

Local refactoring works very well as I've tried it, hoping that in the future, more advanced refactoring options will be possible in Pylance. Thank you for what we already have!

Local refactoring works very well as I've tried it, hoping that in the future, more advanced refactoring options will be possible in Pylance. Thank you for what we already have!

This issue has been fixed in version 2022.4.1, which we've just released. You can find the changelog here: CHANGELOG.md


F11 proposal

https://youtu.be/q8d9uuO1Cf4?si=Fd7YG66FWP0q5f5x

potential-robot is a TypeScript project that a Cardano developer could use to explain eUTXO model to an engineer in another industry. I aim it to be an introduction to Cardano for a developer who comes from OOP background.
eUTXO model is far from simple but its needed to create the list of requirements. What put me off was that to run a transaction I had to wait for nix to build for 30-90 minutes, and this isn't doable for a hobbyist: usually people don't have any excitement left after they bought into the idea but had to wait for so long.
So if one wants to experiment on the cheap and follow along the books and docs - its a good choice. It will build in less then a minute, has very few files but it holds the essence of what an architecture would look like.

4 ?
5 ?

Cardano Open: Developers


Impulse Response returning only wet audio

This line seems to be returning only wet audio after convolving over dry audio.
This needs fixing.
Please feel free to assign me if it is not intentional.

Hey @iver56,
I'm sorry for not getting back any sooner.
I was referring to having the randomized functionality of mixing dry and wet audio with a random percentage (random*wet + ((1-random) * wet). I was thinking of having an effect like this to mimic the chain of augmentations one might obtain while recording from a microphone (a very specific case of my work). But realized that this would only add confusion for the end users later. So I am taking the liberty of closing this issue.


Improve cli

I've added propper cli flags that are checked.
I also seperated the cli from the proxy.
I still need to write some documentation.

I've altered it much more since, to the point it is a fork
See my main branch for more details: https://github.com/lil5/http-proxy-logger


Pipeline calculates all steps again even though only one step has changed

There seems to be a bug where the pipeline calculates all steps again even if it's not necessary. We need to take look into this.

When does this happen? Any more info?

Example: Load Junius pipeline -> Run the pipeline -> Swap the last two step -> Run the pipeline again -> NEFI calculates the whole pipeline again although it's only necessary to calculate the last two steps again.

That is because move_category() function does not call alg.set_modified() for the swapped categories.


pull the gomega deps

What changed?
Pull go mega module before running acceptance tests in deploy job.

Why?
Deploy job is broken since PR#309 is merged

Can I suggest using the tools.go pattern to help with versioning the tools?

@bigkevmcd thanks for your review, it's a good idea. I'll look into it and see if that can be done across the jobs in separate PR.


#162 Data Annotation

Description of proposed changes
What does this pr accomplish and why should it be integrated?
Implement a note-taking feature that is a panel on the right-hand side that doubles as replacing the tooltip feature (found in d3). It has the ability to create a note with a title, labels, and note content. It then saves that note for a user to have the ability to export the notes and is retrievable on upload dataset.
Checklist
_Put an x in the boxes that apply. _
[x ]Lint and unit tests pass locally with my changes
[x ] I have added tests that prove my changes work (if applicable)
[x ]I have added or updated necessary documentation (if appropriate)
Additional comments
Is there anything else you want us to know?
Turns off the d3 mouseover
adds a setPosition action to the controls reducer (for a future use)

Addressed these issues

[x] Linting errors
[x] Hid the detail panel on the initial load until there is something to show the details of.
[x] Save/delete buttons are:

centered
black and white
consistent with the size/style of the other icons

[x] Visually offset the notes area from the imported data with CRViz style conventions
[x] Once a note is entered, a user doesn't have to click off of the node and then back on to see the note.
[x] Made visually clear that the title and note areas are text areas are text fields
[x] Made the notes entry area fit the width of the tooltip through multi-line
[x] Remove Tagging feature


Replacable events for drafts

actually i think replaceable events will do

save draft every x amount of seconds if text or title has changed


[Stepper] does not register clicks on safari

Problem description
Stepper does not register clicks on nonlinear vertical stepper
Steps to reproduce
open http://www.material-ui.com/#/components/stepper on safari
try to click on the nonlinear vertical stepper on the steps. You need to click 2 or 3 times for a step to open
Versions

Material-UI: 15
React: 15
Browser: Safari

@Taakn Bizarrely, this happens when I click the touchpad, but not when I tap it.

This is because EnhancedButton has an issue with onClick I think. The examples are using onClick.

@Taakn Since we have merged the PR, can we close this issue?

Thanks !


Call multiple lookup operations async

To improve the efficiency of bulk/multi lookups, we could call lookups async and await on the results of all lookups -- rather than awaiting on them individually.

Pulled from comment in PR #163
use futures::future;

// generate your vector of individual tasks by spawning them on green threads
// but you need to clone "self" in order to apply on different threads, which will
// shard the data-access pointer and cache pointers, etc to yield individual Directory<_>
// instances on each thread
let tasks = proofs_to_generate.into_iter().map(|proof| {
  let self_clone = self.clone();
  tokio::spawn(async move { self_clone.lookup(proof).await })
}

let outputs = future::try_join_all(tasks).await?;


Merling Tail

One of the mods I use chances the Merling model ever so slightly in the water. Thankfully, there are no conflicts between this mod and that one, just only makes the Merling look a little silly while in water. I just wanted to ask if it's possible to have a configurative option that allows the tail from this mod to be visible all the time, while out of water or while in water.
The mod that I was talking about is called the Mermod, just so you know. I don't mind having two tails while in water, but it does look a little silly.

I'll add compatibility for this in the next update. Thank you for reporting
it!
On Thu, Nov 16, 2023, 6:38 PM Lin Wen @.***> wrote:

One of the mods I use chances the Merling model ever so slightly in the
water. Thankfully, there are no conflicts between this mod and that one,
just only makes the Merling look a little silly while in water. I just
wanted to ask if it's possible to have a configurative option that allows
the tail from this mod to be visible all the time, while out of water or
while in water.
The mod that I was talking about is called the Mermod, just so you know. I
don't mind having two tails while in water, but it does look a little
silly.
—
Reply to this email directly, view it on GitHub
https://github.com/avetharun/OriginalFur/issues/8, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATFET7C5KFO6OPUOVB5FRJLYE3EZHAVCNFSM6AAAAAA7PD4PZWVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4TQMJVHE4DIMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Added warning support to casechecker module

Pull request checklist:

[ ] CHANGELOG.md was updated, if applicable
[x] Documentation in docs/ or install-docs/ was updated, if applicable

Awaiting merge of https://github.com/pajbot/pajbot/pull/1364


npx hardhat gobind failed with error (total length of command line and environment variables exceeds limit)

npx hardhat gobind

An unexpected error occurred:
Error in plugin @dlsl/hardhat-gobind: total length of command line and environment variables exceeds limit
Need to merge process.env?
https://github.com/dl-solarity/hardhat-gobind/blob/b28f5c72cbdcc216030b4b5811cf1d9a2e781720/src/abigen/generator.js#L111

Your environment is too long (see https://github.com/golang/go/issues/31105). Try to clean some of your env before executing npx hardhat gobind


f3: newer git rev, build extra binaries

Motivation for this change
The v6.0 tag is almost a year old, so I've just switched to the newest revision on github. Also, 3 binaries (f3brew, f3fix, f3probe) weren't being built by this derivation. I had to add a HACK for building with the current gcc+glibc, as described here: https://github.com/AltraMayor/f3/issues/34
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits [CONTRIBUTING.md] (https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).

tested binaries and worked for me.

Okay, done; was wondering about that but wasn't sure if in needed to be numerically greater than 6.0.

Nix does not really care about version number. It is just about conventions.

Thanks!

I thought nix-env did though? Like it complains about a collision when trying to replace 6.0 with unstable-2016-11-16, whereas if I were to use 6.0.1 it would perform an upgrade without errors. Additionally, I cannot nix-env -e f3 without providing the version suffix, if the version is non-numeric.
... I looked through the nix source and I'm pretty sure starting the first version component (delimited by . and -) with a non-numeric value is a mistake. I've amended this commit with what is a better version, in case you care to replace the commit. Sorry for the hassle.

I needed to make a new PR: #20751


Investigate flaky test in security dashboards functional test

During the latest functional test build for version 2.2, a test in permissions_spec.js: "should create new action group successfully by selecting Create from blank" intermittently fails during cy.intercept() call in mockPermissions in command.js
Failure artifact:
security.zip

looks like fix by https://github.com/opensearch-project/opensearch-dashboards-functional-test/issues/284 and https://github.com/opensearch-project/opensearch-dashboards-functional-test/pull/561

confirmed with @RyanL1997 this not happened after release 2.7, we can close it for now.
We can re-open if we surface it again in future release.


Fix generate not respecting source icon path option

Firstly, thanks for the awesome project as it saves me a lot of headache managing app icons in react-native! :tada:
Getting into the problem, the current implementation of generate does not respect the supplied icon source path given by the -i CLI option.
The generate function in src/generate.js receives the icon path, the problem is that the icon is not passed on to generateManifestIcons and generateIconsetIcons functions and the string 'icon.png' was hard-coded. This PR fixes this problem by passing the sourceIcon into these 2 functions.
Also I had to bump node-inspector to the current latest to avoid npm install problems. If this dep is not used, probably a good idea to remove it as well?
Lastly I also slightly refactored tests for generateIncosetIcons and generateManifestIcons so that the Promise chain has less nesting and more 'flat'.

Looks great, thanks so much! Will publish a new release now and add you to the contributors list 😄

all done, published in version 0.4.2, thanks!

Thank you so much for the quick response, I have installed the new release (0.4.2) from npm and it works wonderfully! 😄

Great, thanks for contributing!


query with limit provides exactly half of what has been given

Hey!
I have a strange behaviour that a query provides exactly half of the entries that I've provided in the limit query param...
I'm currently using 7.1.0 and I recently upgraded from 4.6.3 - I guess this issue appeared when upgrading the package.
Any Idea? May I help?
Unfortunately the query wasn't logged... I don't really understand whats going on.

Found something. I knew there are side effects using limit/offset with joins. But always assumed this is an issue with the ORM. But this article explains well that this comes from SQL itself.
https://dncrews.com/limit-and-offset-can-work-with-join-f03327fa2ad3
Take/skip actually works like the proposed solution in the article. But in TypeORM it comes with others issues.
Need to play around with it next week if we can use the sub query limit/offset and have everything else work properly as well.
For now, you could change pagination type to take/skip.

Ok. Seems very cumbersome to solve on our own. Defaulting back to take/skip. Seems to work well with test suite for sqlite and postgres.


fix: script name when using downloader.ini

quick fix:
Download the script to Scripts/games_menu.sh instead of bgm,sh
Cheers!

Thank you!


build(code-coverage): enable source-maps by default

This is a workaround to fix code coverage mapping

Pull Request Test Coverage Report for Build 1167

0 of 0   changed or added relevant lines in 0 files are covered.
3752 unchanged lines in 357 files lost coverage.
Overall coverage decreased (-4.7%) to 53.002%

Files with Coverage Reduction
New Missed Lines
%

src/app/shared/models/user.model.ts
1
50.0%

src/app/template/template-sidebar/template-os/template-os.container.ts
1
75.0%

src/app/shared/components/keyboards/keyboards.component.ts
1
85.71%

src/app/vm/vm-creation/components/service-offering-selector/service-offering-selector.component.ts
1
94.29%

src/app/shared/pipes/stringifyDate.pipe.ts
1
85.71%

src/app/template/template-sidebar/containers/details.container.ts
1
71.43%

src/app/shared/directives/integer-value.directive.ts
1
70.0%

src/app/shared/pipes/division.pipe.ts
1
83.33%

src/app/security-group/services/creation-services/private-security-group-creation.service.ts
1
83.33%

src/app/shared/utils/filter.ts
1
50.0%

Totals

Change from base Build 1163:
-4.7%

Covered Lines:
7871

Relevant Lines:
13087

💛  - Coveralls


Topic wise Leetcode Problem with the difficulty level of Easy to Medium

Hey @Ayush7617 I wish to add some problem regarding the same . Can u please assign me the task.

@Ritikkumar992 can you plss tell me you are participant in LGM SOC or not

@Ayush7614  can I also work on this issue as an LGM SOC participant


Fix .get() for sometimes condition with falsy values

Following on from this issue reported in https://github.com/skaterdav85/ember-changeset-conditional-validations/issues/10 and the fix provided in https://github.com/skaterdav85/ember-changeset-conditional-validations/pull/11, this PR fixes the issue highlighted in this comment where the fix for false values not working as expected does not resolve the issue for other falsy values like null and undefined.
I've attempted to handle nested property paths as part of this, but the spec is definitely open to discussion 😉

@andrewpye thanks! Released in v0.6.0.


[ECS] extend checker skipping/including strategy

I'm integrating ECS into legacy project. Some checkers are risky, like DeclareStrictTypesFixer or StrictComparisonFixer, but affect almost all of the files. We are talking about 1500 files. Letting these checkers do the work on these files results in tons of crashes in application. It's just unrealistic to check all of the cases at once. What needs to be done is enable these checkers gradually over parts of the codebase, but it's currently not possible to enable checker only for certain files/directories. Doing the reverse, excluding, would make for convoluted config, where exclude section is filled multiple times with arrays listing 1500+ files.
I'm not really asking to make new config section, but rather ability to extend current skipper, or provide own skipping provider. That should be much more versatile.

Seems legit.

I'm not really asking to make new config section, but rather ability to extend current skipper, or provide own skipping provider. That should be much more versatile.

Any ideas?

Depend on interface instead of having single final Skipper class. Bonus points: split it to multiple classes, so I don't have to reimplement whole thing.

How would you solve case when parameters would not be reflected in your custom Skipper?
E.g. sb would edit the config and add this it would not work:
parameters:
   skip:
       SomeSniff:
           - SomeFile.php

That's implementation detail. What would I do is that my Skipper would decorate official Skipper. My Skipper would implement just shouldSkipCheckerAndFile where I first call real Skipper and if it returns false, only then I continue checking it according internal array map, where I just reverse the condition (should skip the checker for files not in array)

Ok

Is there any will add this feature from your side? Otherwise I'll close it.

Yep

When?

Honestly, I don't see an issue in long opened tickets. It tracks things left to do. I don't understand why do you have to close it when it's yet to be done. Nobody else does that.
You are making it really hard to filter issues which are no longer valid because they have been fixed/implemented and those which you just didn't like to leave open.
When ticket is opened, it's not just for you and OP, it's free for anybody to see and contribute with their comment. Likewise, even if I don't have time right now to implement this, there could be someone in future needing same thing and we could discuss it more. It's much less likely for people to dig through closed issues and comment there. Your project is still small, but what this causes is duplicate issues and conversation scattered all over the place, instead of centralized in open ticket. Because with time, you will also start losing overview over old issues. This is just putting it under carpet.


 Please check the plan result very carefully!
Plan: 1 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Delete

null_resource.application_ecs_service_create-task-definition-file_6BADBAF7

Change Result (Click me)

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "app"
                                  + ContainerPort = 4005
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:996905175585:task-definition/ListAPI-Prod:921"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

  # null_resource.application_ecs_service_create-task-definition-file_6BADBAF7 will be destroyed
  # (because null_resource.application_ecs_service_create-task-definition-file_6BADBAF7 is not in configuration)
  - resource "null_resource" "application_ecs_service_create-task-definition-file_6BADBAF7" {
      - id       = "6974683148643347119" -> null
      - triggers = {
          - "alwaysRun" = "2024-01-19T15:12:13Z"
        } -> null
    }

Plan: 1 to add, 0 to change, 1 to destroy.
╷
│ Warning: Deprecated attribute
│
│   on cdk.tf.json line 1961, in resource.aws_sns_topic_subscription.pagerduty_alarm-critical-subscription_E2168B84:
│ 1961:         "endpoint": "https://events.pagerduty.com/integration/${pagerduty_service_integration.pagerduty_pagerduty_cloudwatch_7956692A-critical_546FC7B5.integration_key}/enqueue",
│
│ The attribute "integration_key" is deprecated. Refer to the provider
│ documentation for details.
│
│ (and 3 more similar warnings elsewhere)
╵

:warning: Warnings
Warning: Deprecated attribute

   on cdk.tf.json line 1961, in resource.aws_sns_topic_subscription.pagerduty_alarm-critical-subscription_E2168B84:
 1961:         "endpoint": "https://events.pagerduty.com/integration/${pagerduty_service_integration.pagerduty_pagerduty_cloudwatch_7956692A-critical_546FC7B5.integration_key}/enqueue",

 The attribute "integration_key" is deprecated. Refer to the provider
 documentation for details.

 (and 3 more similar warnings elsewhere)

:white_check_mark: Apply Succeeded (list-api-cdk)
CI link
Apply complete! Resources: 1 added, 0 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  - destroy

Terraform will perform the following actions:

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "app"
                                  + ContainerPort = 4005
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:996905175585:task-definition/ListAPI-Prod:921"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

  # null_resource.application_ecs_service_create-task-definition-file_6BADBAF7 will be destroyed
  # (because null_resource.application_ecs_service_create-task-definition-file_6BADBAF7 is not in configuration)
  - resource "null_resource" "application_ecs_service_create-task-definition-file_6BADBAF7" {
      - id       = "1009060315704888043" -> null
      - triggers = {
          - "alwaysRun" = "2024-01-19T17:32:26Z"
        } -> null
    }

Plan: 1 to add, 0 to change, 1 to destroy.
null_resource.application_ecs_service_create-task-definition-file_6BADBAF7: Destroying... [id=1009060315704888043]
null_resource.application_ecs_service_create-task-definition-file_6BADBAF7: Destruction complete after 0s
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=2dada58e573f71dc8c56e94ac5888ecc28bdbe08]
╷
│ Warning: Deprecated attribute
│
│   on cdk.tf.json line 1961, in resource.aws_sns_topic_subscription.pagerduty_alarm-critical-subscription_E2168B84:
│ 1961:         "endpoint": "https://events.pagerduty.com/integration/${pagerduty_service_integration.pagerduty_pagerduty_cloudwatch_7956692A-critical_546FC7B5.integration_key}/enqueue",
│
│ The attribute "integration_key" is deprecated. Refer to the provider
│ documentation for details.
│
│ (and 3 more similar warnings elsewhere)
╵
Releasing state lock. This may take a few moments...

Apply complete! Resources: 1 added, 0 changed, 1 destroyed.


Terms are indented by first-line-indent

Description
When the first-line-indent property of par is not zero, terms of term lists are indented.
Note that elements of bullet lists and numbered lists are not indented, which is what I expect.
Reproduction URL
https://typst.app/project/re5ELw3XOePv_NXoG2jXZj
Operating system
Web app
Typst version

[X] I am using the latest version of Typst

This has been open for an embarrassing amount of time. I've opened https://github.com/typst/typst/pull/3325 to fix it.


Fix parallel make

I'll merge this and after I'll have a look at the tests that are failing. If we cannot fix quickly the part with ADIOS I would suggest to remove them from the CI (or keep only 1 CI with them) to avoid all this plethora of failed tests, that in essence is just a single aspect of the library. Let me know what do you think? Maybe we can have a CI just for ADIOS with all the compilers in it

Yes this is also an option

Just merging the main first check that only ADIOS test are failing and after merge

I will open a dedicated PR to skip running the ADIOS2 CI tests. We can talk about the CI tests at the beginning of the next week


Applications shouldn't have to manually linger a publication

Applications should not have to manually keep a publication open to linger as can optionally be done in the BasicPublisher application. The media driver should accept a param to the publication to add more time to the linger timeout for the publication if it desires the lingering behavior.

All done.


[DOC] Haskell Docker API tba.

I just found this today;
Docker Remote API wrapper for Haskell - a Work in progress ; https://github.com/denibertovic/docker-hs
The doc page said to add a bug if new API's were discovered :).
https://docs.docker.com/reference/api/remote_api_client_libraries/

Adding this would be a easy way for someone looking to get involved with contributing to docker to add to the docs

https://github.com/docker/docker/pull/12399