Added the CppADCoGen cmake path

This solves #52.

I'm totally against this.
Please read https://github.com/loco-3d/curves/pull/50.

I'm totally against this.
Please read loco-3d/curves#50.

I agree with the statements inside that PR. But inspecting how long it has been there (inside jrl-cmake), I ask myself is we could use this PR for a temporal patch.
If you agree with it, I could add a TODO text. Otherwise, is there another "quick" (and better) solution?

I don't want to manage this.
Do you understand that we need this line in each and every package depending  on pinocchio ? That's close to 100.
Adding a workaround line like that in all our packages is a totally crazy maintenance cost that I'm not willing to pay at all, especially since this will be useful only to people that enable really advanced features and  clearly know how to handle that by themselves while not polluting the main shared repository.
And in that case, It's way easier to edit the installed cmake files from pinocchio instead of the CMakeLists of all the packages you are going to compile.
I'm hugely late for the robotpkg release of the whole SoT, loco-3d and HPP, (in which Carlos you need a crocoddyl release, and you Justin an hpp-fcl update, not mentionning many many other people that have been asking some of the included stuff for literal months), so I'm not going to loose any second for this.
I'm not going to loose time to fight either, so if you want to merge it, go ahead, but that's without me.

I don't want to manage this.
Do you understand that we need this line in each and every package depending on pinocchio ? That's close to 100.
Adding a workaround line like that in all our packages is a totally crazy maintenance cost that I'm not willing to pay at all, especially since this will be useful only to people that enable really advanced features and clearly know how to handle that by themselves while not polluting the main shared repository.
And in that case, It's way easier to edit the installed cmake files from pinocchio instead of the CMakeLists of all the packages you are going to compile.
I'm hugely late for the robotpkg release of the whole SoT, loco-3d and HPP, (in which Carlos you need a crocoddyl release, and you Justin an hpp-fcl update, not mentionning many many other people that have been asking some of the included stuff for literal months), so I'm not going to loose any second for this.
I'm not going to loose time to fight either, so if you want to merge it, go ahead, but that's without me.

@nim65s I perfectly understand your point, I wouldn't merge it if you are not happy with this solution.
We could leave this branch for anyone that needs a quick solution.


Implement objects

a few different ways this could be done:
>> object define test
>> object assign test a b --static
>> object instance test a
>> echo {test.a} # b
>> echo {a.a} # b

OR
>> class test { # would have to add object handling to the function parser
>>   static a b # class only commands
>>   function test {
>>     echo hi
>>   } # would have to add some sort of tracking for brackets
>> }

and then for creating them programmatically it would be something like
class Test(Client.object): # or a @Client.object decorator
    ...

@Client.command
async def run(...):
    test = Test() # automatically adds it to some objects dictionary
    await client.run_command("echo {test.someval}") # would work just fine

no longer relevant due to rewrite


Unable to change Security Modes (i.e. Home, Away)

Please check existing (open or closed) issues before creating a new one. (https://github.com/fuatakgun/eufy_security/issues?q=is%3Aissue+)
If this is not an issue, you can use Discussions (https://github.com/fuatakgun/eufy_security/discussions) section.
Describe the bug
Since updating, the alarm_control_panel services do not change the security mode of any of my cameras. I normally use Node-Red with the Home Assistant Websocket nodes for my automations. But nor can I get my alarm modes to change in the Developer Tools -> Services page of Home Assistant. I also can't get the eufy_security.alarm_arm_custom services to work.
This was working fine previously.
To reproduce
Steps to reproduce the behavior:

Go to 'Developer Tools -> Services'
Select 'Alarm Control Panel: Arm Away'
Choose Target device
No change in security mode

Expected behavior
Using alarm_control_panel.arm_away/home/disarm change security mode on the target device.
Additional information
Go to Settings -> System -> Repairs -> Click on 3 dots (...) -> System Information and get Version and Installation Type to below fields;

Home Assistant Installation Type (OS - Supvervised - Core): Container
Home Assistant Core Version: core-2023.11.2
Eufy Security Add-on Version: eufy-security-ws v1.7.1
Eufy Security Integration Version: 7.7.4

Hardware Information;

Camera Model: eufyCam 2C, IndoorCam C24, IndoorCam P24

Live Streaming Protocol (RTSP/P2P):  N/A

Debug Logs from Home Assistant (https://github.com/fuatakgun/eufy_security/discussions/624):

https://pastebin.com/C2kmsvj6

Logs from Eufy Security Add-on (either from Add-ons page of Home Assistant or Docker output):

2023-11-20 13:22:58.713  INFO  Eufy Security server listening on host <IP_ADDRESS>, port 3000
2023-11-20 13:23:00.967  INFO  Connected to station T8010N23214525C6 on host <IP_ADDRESS> and port 22309
2023-11-20 13:23:00.990  INFO  Connected to station T8020P11233301CA on host <IP_ADDRESS> and port 15515
2023-11-20 13:23:01.160  INFO  Connected to station T8410P3121321F89 on host <IP_ADDRESS> and port 20119
2023-11-20 13:23:01.987  INFO  Connected to station T8400P312203059E on host <IP_ADDRESS> and port 20119
2023-11-20 13:23:03.135  INFO  Push notification connection successfully established

Would you share your device with me in case further debugging required? (Yes/No):
Yes

Additional context
Add any other context about the problem goes here. Mainly, share everything as log files and use screenshots as last resort.

thanks for the logs but it only captures loading information of the entity.
Please get more while taking the aforementioned actions to see what is going on behind the scenes, call respective services using home assistant UI (not node red please) and share new logs

I've looked again and it doesn't seem like the devices have any entities in which to target the Arm commands at. I've look at the the device pages for the cameras in the settings page and confirmed this.

Can i see the device page listing all sensors?

Is this what you meant? Of note, the Guard Mode and Current Mode diagnostics are both Unavailable

Just enable them

They are not disabled. They are not available at all. If I could enable them, I would have already

Also having this issue

I 've the same problem. Before some days a had problems to set the guard Mode at one camera. The ither camera this function was there. So I deleted the eufy integration an add a new eufy integration. After this, my support fir guard mide was gone. Its nit available anymore.

@mattsmithuk , so you have checked entity settings page and they are enabled??

@fuatakgun: Thanks for this hint. This solves my problem. The eufy show hidden entities. I ve selected the guard Mode entity and was able to activate this entity. Now I can change the guard Mode. Thanks a lot

@fuatakgun for some reason they were disabled by the integration. I've been successfully able to manually enable each of them.


Reloadium experienced a fatal error and has to quit.

Very similar to: https://github.com/reloadware/reloadium/issues/76#issue-1472779069
Except:  using Python 3.10 on Manjaro with a local project and the cakeshop.py "calculate" example.

@ericmock Could you provide more info?
Describe the bug*
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop or remote (please complete the following information):**

OS: [e.g. Windows]
OS version: [e.g. 22]
M1 chip: [yes/no]
Reloadium package version: [e.g 0.8.6]
PyCharm plugin version: [e.g 0.8.0 or None]
Editor: [e.g PyCharm]
Python Version: [eg. 3.9.1]
Python Architecture: [eg. 32bit, 64bit]
Run mode: [e.g Run/Debug]

Additional context
Add any other context about the problem here.

Also could you run it again with environmental variable set to RW_DEBUG=True?

The debug information ended with:  RecursionError: maximum recursion depth exceeded in comparison

@ericmock
I can't reproduce this.
Is it the whole traceback?
Also could you share the code around line 148 in feature.py?

Restarting PyCharm (again?) seems to have fixed the issue.


Add chmod up directory tree for world read/execute on directories

Fixes #210

This change is

Coverage increased (+0.05%) to 46.022% when pulling 2b02ea6530eff56172cbf14338b5e86b4522d273 on andrewstuart:master into 9bba94732590ebdb832ac725cf55d06538457df6 on kubernetes:master.

/lgtm

@andrewstuart thanks!


Add Organization microservice

The objective is to design and implement a REST API service for managing Organization information. This information will be used primarily to fed data to the Organization page (#685 ).
Tasks

[ ] Review the OA definition of the existing Organization endpoints
[ ] Create the OA definition of the Organization REST API
[ ] Create a project for the Organization REST API with auto-generated stub
[ ] Add Organization mock data to the Challenge DB
[ ] Implement the Organization REST API endpoints

This is the second service that I will implement after the user service. Targeting to complete this Story in sprint 22.12, though I may already start it this sprint.

Update December 23, 2022
The Organization service was mainly developed last week. This service is now used in the web app to populate information shown on the Organization pages. This implementation of this service provided the base for the development of the Challenge service (#853). This Epic is now complete.


Why gt_bboxes_ignore is not loaded by default  in Faster RCNN?

I found that in old version of mmdetection, the with_crowd=True by default (https://github.com/open-mmlab/mmdetection/issues/190#issuecomment-447833090):
data = dict(
    imgs_per_gpu=1,
    workers_per_gpu=4,
    train=dict(
        type=dataset_type,
        ann_file=data_root + 'annotations/instances_train2017.json',
        img_prefix=data_root + 'train2017/',
        # TODO: train时使用了multi-scale
        img_scale=[(1333, 600),(1333, 1000)],
        img_norm_cfg=img_norm_cfg,
        size_divisor=32,
        flip_ratio=0.5,
        with_mask=False,
        # TODO: with_crowd=True，加入了coco中的iscrowd标注，暂时不加
        with_crowd=True,
        with_label=True),

It means the iscrowd annotations will be loaded, which is the same as gt_bboxes_ignore.  But in the latest version of mmdetection, gt_bboxes_ignore is not loaded by default. Why?

We found it brings marginal gains during implementation and thus do not do that


Use method_defined? instead of instance_methods lookup

This one is related to #336 and #307 and solves problem more efficient and simple (no memoization).
There is no need to call instance_methods at all because Ruby already has method_defined? that internally uses hash lookup (st_lookup from st.c). After all, it doesn't create new array/set objects that is good too.

It's also worth to not convert every string to symbol — there's no need to do it now.

the behavior of method_defined? vs instance_methods.include? aren't equivalent. method_defined? would also return true if the method were defined by one of it's superclasses, while instance_methods.include? would not.
from my reading of the code, the latter behavior is what we want. i took a quick look at Module and don't see an equivalent. do you know of something that i missed?

the behavior of method_defined? vs instance_methods.include? aren't equivalent. method_defined? would also return true if the method were defined by one of it's superclasses, while instance_methods.include? would not.

No, instance_methods traverses all superclasses too:
class X
  def m
  end
end

class Y < X; end

puts Y.instance_methods.include?(:m) # outputs 'true'

# However:

puts Y.instance_methods(false).include?(:m) # outputs 'false'

But instance_methods without false  is being calling.

from my reading of the code, the latter behavior is what we want

I don't think so. What if I want to inherit my model class from another?

I created a benchmark branch in my fork — it just contains a benchmark rake task that runs User.all with mocked faraday response. After this i created separate branches for all of relevant PRs and merged them with benchmark.
So we have 4 variants:

benchmark — current master with benchmarks.
benchmark-instance_methods_by_generalassembly — the #307 with benchmarks
benchmark-instance_methods_by_faisalmansoor — the #336 with benchmarks
benchmark-instance_methods_by_marshall_lee — this one

Here the benchmarks from my laptop:
master            0.350000   0.000000   0.350000 (  0.352151)
generalassembly   0.160000   0.000000   0.160000 (  0.169817)
faisalmansoor     0.230000   0.000000   0.230000 (  0.234990)
this one          0.110000   0.000000   0.110000 (  0.103908)

This one performs better!

Also we can see that faisalmansoor's solution (#336 — that constructs a Set for memoization) is slower than generalassembly's (#307 — that memoizing with Array). I think this is because of Set constructing overhead but maybe i'm wrong.

should have tried it out rather than just reading the doc, which lead to me overlooking the diff between modules and classes.
re: what the behavior should be
class A
  attr_accessor :foo
end

class B < A
  include Her::Model

  attributes :foo
end

it's a corner case, but here, i'd expect the attribute foo to overwrite the foo= method. that said, the behavior is not changing so no need to try and deal with now.
the PR code gets exercised indirectly in specs, but could you add specs to verify the attributes method is doing what we expect in the case where there isn't a user defined version of the setter and predicate method?
GTG once that's in place.

:cupid: the benchmark

ok I will add it soon.

@marshall-lee can you explain your benchmark a little bit more, how many objects did you test with and how many attributes each object had? array include is implemented using a linear search, I don't think just memorizing the array will solve the problem, even with memorization we will end up with a quadratic runtime for this function. I think we should use a set or method_defined function, they both will result in at max O(n lg n) runtime for this function.
VALUE
rb_ary_includes(VALUE ary, VALUE item)
{
    long i;

    for (i=0; i<RARRAY_LEN(ary); i++) {
        if (rb_equal(RARRAY_PTR(ary)[i], item)) {
            return Qtrue;
        }
    }
    return Qfalse;
}

@faisalmansoor

how many objects did you test with and how many attributes each object had

benchmark code is open, i provided the link above (benchmark and all benchmark-* branches). The benchmark rake task itself is here: https://github.com/marshall-lee/her/blob/benchmark/Rakefile#L13
In this benchmark I emulate a case when fetching from server an array of 1000 objects. Each object has three properties: id, email, name.

I don't think just memorizing the array will solve the problem

O(lgN * N) vs O(N * N) just tells us about a rate of growth. Sure, solution with Set will be better than linear search but only when N is sufficiently large. In our concrete case this N is not so big and probably will never be — it's just the number of methods of a class. So our problem is not a large value of N.

By the way, Set lookup is not a O(lgN) — it's simply O(1).

@hubert

the PR code gets exercised indirectly in specs

Sometimes directly and sometimes indirectly. Specs for setters/getters are already in spec/model/dirty_spec.rb. Are they sufficient?
I just wrote my spec for attributes class method in spec/model/attributes_spec.rb but not yet commited it because I realized  it's redundant.

About a corner case discovered by you: yeah it's a big problem. I think we should split attributes class macro and attributes definition that's being calling indirectly in 1.0. So attributes macro should always override methods defined before but indirect call should check for existence with method_defined?.

@marshall-lee the reason i asked for specs is the behavior of the attributes method is i think it will be clearer to gem users if the behavior is spec-ed explicitly. the current specs also don't check that the predicate method gets defined.
the attribute.to_sym call is also unnecessary since it gets converted back to a string when it gets interpolated. we can deal with that separately if you prefer.

the attribute.to_sym call is also unnecessary since it gets converted back to a string when it gets interpolated. we can deal with that separately if you prefer.

I wanted to do it separately because it's not the only place to fix string <=> symbol transformation. It's also not necessary to do interpolation like :"#{attribute}" because @attributes is already a HashWithIndifferentAccess. This fix deserves separate PR.

I added specs. Are they ok?

yep. looks good.
thanks for your contribution :+1:


[HOLD for payment 2024-09-12][$250] Can't edit messages by pressing UP ARROW

Previous issue that should've fixed this https://github.com/Expensify/App/issues/46391
Steps

Open a chat
Send a message
Press UP ARROW
Edit of message is not started when it should

This is happening on web in staging but not in production
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021831333353313013695
Upwork Job ID:<PHONE_NUMBER>313013695
Last Price Increase: 2024-09-04
Automatic offers:

ishpaul777 | Reviewer | 103816825

Issue OwnerCurrent Issue Owner: @ishpaul777

@iwiznia should this single platform shortcut really block the deploy?

🤷 maybe not, feel free to remove the blocker if you disagree

cc @puneetlath @fedirjh @bernhardoj

maybe not, feel free to remove the blocker if you disagree

I'll leave it up to Rory, maybe it's resolved before the decision has to be made

BTW this is in our regression testing and in fact applause had reported it a few minutes before me here https://github.com/Expensify/App/issues/48548

This seems worthy of a deploy blocker to me. It's on our primary platform.

Issuing payment tomorrow assuming no regressions 👍

Payment Summary:
Contributor: @fedirjh owed $250 via NewDot
Contributor+: @ishpaul777 paid $250 via Upwork

Confirmed the linked issue is not related and the payment should not be penalized.

$250 approved for @fedirjh


How to handle multiple anatomical context qualifiers

@EvanDietzMorris has complained that having multiple qualifiers of the same type is not valid. Unfortunately, this is sometimes correct: for example, for model https://amigo.geneontology.org/amigo/model/66c7d41500001120, we emit the triple:
CHEBI:15428	biolink:affects	GO:0017146	http://model.geneontology.org/6690711d00000596	infores:go-cam	(biolink:anatomical_context_qualifier=CL:0000540)&&(biolink:anatomical_context_qualifier=GO:0045211)

This is correct, because according to the model, the process linking CHEBI:15428 - glycine and GO:0017146 NMDA selective glutamate receptor complex occurs in the GO:0045211 "postsynaptic membrane" of the CL:0000540 "neuron".
Another thing that can happen (I think) is that we could determine:
A (takes place in X) --[affects]--> B (takes place in Y) --[affects]--> C

And I think the way in which we've set up reasoning right now, we'll end up inferring:
A --[affects]--> C (takes place in X and Y)

So we might need some way to fix that as well.
Possible solutions:

We figure out how to add this to TRAPI/ORION.
We add some reasoning so that we try to come up with one best answer for every property, e.g. in this case by reasoning that GO:0045211 is a part of the CL:0000540, so the latter statement is unnecessary.

That's going to make things trickier when we mix different kinds of qualifiers, because then we could have a situation where we know a process has:

subject_aspect_qualifier=abundance
subject_direction_qualifier=decreased
anatomical_context_qualifier=liver
anatomical_context_qualifier=cytoplasm

So then we'd need to split it up so that we get:
?s ?p ?o ?g subject_aspect_qualifier=abundance&subject_direction_qualifier=decreased&anatomical_context_qualifier=liver
?s ?p ?o ?g subject_aspect_qualifier=abundance&subject_direction_qualifier=decreased&anatomical_context_qualifier=cytoplasm


Method type arguments incorrectly shadow class type arguments in structural subtyping

The following code currently fails to compile
interface A[X]
    fun aa[Y: X]()

class B[X]
    fun aa[Y: X]() => None

actor Main
    fun foo[Y]() =>
        let x: A[Y] ref = B[Y]
        None

Error:
main.pony:9:25: right side must be a subtype of left side
        let x: A[Y] ref = B[Y]
                        ^
    Info:
    main.pony:9:18: Y #any is not a subtype of Y #any: the subtype has no constraint
            let x: A[Y] ref = B[Y]
                     ^
    main.pony:5:5: type parameter constraint Y #any is not a supertype of Y #any
        fun aa[Y: X]() => None
        ^
    main.pony:5:5: B[Y #any] iso is not a subtype of A[Y #any] ref: method 'aa' has an incompatible signature
        fun aa[Y: X]() => None

Changing the code in  Main to use Z instead of Y makes it work.
What's happening here is that the X in the constraints gets rewritten into the "wrong" Y. Here's the same code annotated with indices to the type variables to make it clearer.
interface A[X]
    fun aa[Y1: X]()

class B[X]
    fun aa[Y2: X]() => None

actor Main
    fun foo[Y0]() =>
        let x: A[Y0] ref = B[Y0]
        None

When reifying A[Y0] and B[Y0], it changes (Y1: X, Y2: X) into (Y1: Y1, Y2: Y2), whereas it should be changing it into (Y1: Y0, Y2: Y0).

Updated to add the missing create for Main:
interface A[X]
    fun aa[Y: X]()

class B[X]
    fun aa[Y: X]() => None

actor Main
    new create(env: Env) =>
      None

    fun foo[Y]() =>
        let x: A[Y] ref = B[Y]
        None

This compiles so I am assuming the issue is fixed.


chore: adjust manifest limits

This PR

Removes health and readiness probes from the kube-rbac-proxy since they continuously fail due to certificate
adjust limits based on monitoring while running the performance tests

@thisthat can you tell me more about the failing probes? I'd rather leave them in and fix them or change them than completely remove them

Probes to kube-rbac-proxy print the following log: 2023/02/22 07:19:43 http: TLS handshake error from <IP_ADDRESS>:38312: EOF. This is printed with an error level and could cause alerts on your observability platform.
On the K8s side, everything works fine since K8s skips cert checks, but the proxy prints this error log nevertheless.

Then we could still use more low level probes that don't rely on certificates instead of removing them altogether.

@mowies @RealAnna and I discussed this topic and the benefits of kube-rbac-proxy to our project.
Given our Observability first approach, this container goes against our principle, making it harder to scrape the container metrics. So, I would like to remote it.

@thisthat let's create a separate issue for the removal :)

You're right @mowies , I've created https://github.com/keptn/lifecycle-toolkit/issues/901


Don't call select() on Windows in InputHookContext

Windows select() can't be used on fds, so this will always fail.
I've no idea if the gevent problem this was meant to prevent can occur on Windows.
Closes gh-367
See also ipython/ipython#9836

Yes, this is the fix. Thanks! See: https://github.com/jonathanslenders/python-prompt-toolkit/commit/6d30d445d49c5c8c39df9f66ba40cda3e259edeb
I did some testing and the gevent bug that this should handle does indeed not occur on Windows.
It's weird that select.select did not cause any issue on my Windows system.
Anyway, I'll push a new release now.

If you tested on Python 3, I think that would have obscured the bug: due to a reorganisation of exceptions, the error it raises now inherits from OSError, which is caught in call_inputhook(). All four reports of this issue came from Python 2.7 users.

Thanks for pushing a new release out so quickly :)

That explains. Even on Python 3 that would have been a bug. It would essentially cause the inputhook to quit immediately. This was bad :(


[Feature Request] Bookmark node view offset

Option to add screen offset to bookmark node.
Very useful node but sometimes the position where I put the node and where I want the screen position to be needs to be slightly different.
Also suggestions for other features this node can have:

Align view (Default is top-left corner, similar to current behavior)
Align view options in list format: top-left / top-center / bottom-right / etc
Lock node position

Node could look something like:

Shortcut Key: 1
Zoom: 1.00
Align View: Top-Left
Offset X Axis (Left - Right): 0.00
Offset Y Axis (Up-Down): 0.00

(not sure if scaling input or pixel works better for offset)

I've submitted a pull request for this feature at #252. Feel free to check it and share your thoughts!


Add AOT benchmarks.

Add AOT benchmarks
Description
Description of the pull request changes and motivation.
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report
Attention: 85 lines in your changes are missing coverage. Please review.

Comparison is base (16b36c8) 76.19% compared to head (9e821e1) 76.02%.

:exclamation: Current head 9e821e1 differs from pull request most recent head 0ec84c7. Consider uploading reports for the commit 0ec84c7 to get more accurate results

Files
Patch %
Lines

src/executor.rs
0.00%
26 Missing :warning:

src/executor/aot.rs
0.00%
22 Missing :warning:

src/bin/cairo-native-compile.rs
0.00%
13 Missing :warning:

src/bin/cairo-native-run.rs
0.00%
12 Missing :warning:

src/cache/aot.rs
0.00%
7 Missing :warning:

src/ffi.rs
70.00%
3 Missing :warning:

src/utils.rs
88.23%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #407      +/-   ##
==========================================
- Coverage   76.19%   76.02%   -0.18%
==========================================
  Files         108      108
  Lines       27598    27686      +88
==========================================
+ Hits        21028    21047      +19
- Misses       6570     6639      +69

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Refactor of Python _unique_schemas for ordered=True

Currently the Python OAS2 implementation has a bug (lines 571-574, python\src\derek\_parse\_oas2.py):
        for i, s in enumerate(map(json.dumps, schemas)):
            schema = schemas[i]
            if schema not in unique:
                unique.append(schema)

This doesn't actually check for duplicates using json.dumps. In Python, list.__contains__ will check if something is in the list by doing an equality check, not an identity check.
I think the equality check (==) should pass for different schemas, even if the identity check (is) fails.

I'm going to refactor this to use the following instead, for brevity:
        for s in schemas:
            if s not in unique:
                unique.append(s)


.createLayer layerIndex

It appears that the LayerIndex property of createLayer only supports a single numerical value instead of an array of values. Thus if you wanted to add 2-3 layers from a visualization to a map, it becomes an inefficient process where you would have to request the vis.json 2-3 seperate times across several createLayer functions.
Currently you cannot do:
cartodb.createLayer(map, 'https://<name>.cartodb.com/api/v2/viz/<id>/viz.json', {
            layerIndex: [0,1,3],
        }).addTo(map);

but instead you would have to do:
cartodb.createLayer(map, 'https://<name>.cartodb.com/api/v2/viz/<id>/viz.json', {
            layerIndex: 0,
        }).addTo(map);
cartodb.createLayer(map, 'https://<name>.cartodb.com/api/v2/viz/<id>/viz.json', {
            layerIndex: 1,
        }).addTo(map);
cartodb.createLayer(map, 'https://<name>.cartodb.com/api/v2/viz/<id>/viz.json', {
            layerIndex: 3,
        }).addTo(map);

Can we add support to the layerIndex so you can pass an array of layers you want brought in?
Thank you.

What are you trying to do? In cartodb the layers are merged in a single layer so when they get to the client you have tipycally:
0 - basemap layer
1 - cartodb layers merged
2 - torque layers
3 - labels layers
I guess what you are trying to do is render some of the layers, in that case you need to do:
cartodb.createLayer(map, 'https://<name>.cartodb.com/api/v2/viz/<id>/viz.json', {
            layerIndex: 0,
        }).done(function(layer) {
layer.getSubLayer(0).hide();
layer.getSubLayer(2).hide();
...
}).addTo(map);

Yes, that is similar to what I am trying to do, but createLayer only supports bringing in a single layer, so there is no getSubLayer(0) function, because the layer being returned when it is done is already a single layer(or possibly a layergroup, i am not sure).

layerIndex refers to the layers inside the viz.json. Each layer in the viz.json is a layer you can render with leaflet or google maps, it's not a layer you see in the editor.
In the other hand createLayer only creates one layer

There has been no activity on this issue for several months and that's why we are closing it (automatically). If you think this still needs to be addressed please reopen it. The good news is that we are now working on the next version of CARTO.js, stay tuned.


Sentry client for flask not returning user_info from get_user_info method

Currently if SENTRY_USER_ATTRS is defined in the flask config and user is indeed authenticated, the get_user_info method prepares a user_info dict, but forgets to return it :smile: . Have submitted a pull request to fix this.

Fixed in GH-669


compact+store+tools: Filter for duplicate block data only within a compaction group and in parallel

[ ] I added CHANGELOG entry for this change.
[x] Change is not relevant to the end user.

Changes
Changes DeduplicateFilter to only look for duplicate block data within a single compaction group. This both provides a speedup by a factor of the number of group and allows the deduplication to be parallelized over groups. Concurrency level is taken from block-meta-fetch-concurrency as it is for other filters. In our deployment this dropped meta fetch time in the compactor from 10 hours to 6 minutes.
This does mean that, if you're using a replica label in the compactor, stores may load unnecessary blocks since they won't spot label change that will put the duplicate data in two different streams. This resolves after ignore-deletion-marks-delay when the store acknowledges that the old blocks were deleted. This seems like a good tradeoff since it only impacts a small section of data and provides a massive speedup for large buckets. It could be resolved by making the store aware of replica labels, but this diff is already getting rather large.
Also moves group key computation from DefaultGroupKey in the compact package to GroupKey on the Thanos object in the metadata package as now both the compact and block packages need to compute these.
Verification
local tests pass, and we're actively using a version of the compactor with this change (though based off the 0.22 release, before the rebase)

As far as I can tell the e2e test failures here are not related to my changes. Those tests pass consistently when they're run in isolation locally (full runs time out, but so does a clean checkout of main).

Awsome performance improvment. 🚀

ping @yeya24

@bwplotka You might care about this one (you did the review for the PR that introduced this logic)

Seems like CI failure is related.

Yeah, someone added some new calls to NewStoreGW on main since last run. I'll have a fixed version up in a few minutes.

Should be set now if someone can approve running tests.

I only did a basic check, I would recommend already adding the Changelog so this can move forward asap :)

I only did a basic check, I would recommend already adding the Changelog so this can move forward asap :)

I thought the guideline was changelog only for user impacting changes? Happy to add one if that's not correct.

I thought the guideline was changelog only for user impacting changes? Happy to add one if that's not correct.

Hm I can imagine that is listed somewhere (if you know where, please give me a link :) )
However the top of the readme states

All notable changes to this project will be documented in this file

So, just from my perspective, I think it adds value to add this change to the readme. Let's say I have an edge-case when upgrading my Thanos version. I will search for changes related to my issue/component. It's nice to see this in the changelog.
Basically any change in components can have user impact, if something isn't correct ;p (I know, maybe a lame answer but it has nothing to do with the quality here, just in general!)

Hm I can imagine that is listed somewhere (if you know where, please give me a link :) )

From the Changelog and Review Procedure in CONTRIBUTING.md:

If your change affects users (adds or removes feature) consider adding the item to the CHANGELOG.

Also the PR template.
But point taken. I'll add a changelog entry. Better to over communicate than under communicate.

@bwplotka Can you take another look? Think all the nits are addressed.


Leading zeros in numeric string leading to invalid integer

When trying to map a class such as:

class DayOfMonth
{
    /** @param <1, 31> $day */
    public function __construct(private int $day) {}
}

with value "05" and flexible casting enabled, the following error message is returned:
Could not map type `DayOfMonth`. An error occurred at path day: Value '05' is not a valid integer between 1 and 31.

Ideally, string("05") should be cast to integer(5) without problems.

Hi @delolmo thanks for the report. This should be fixed with #458. 🙂


Added category "delayed"

This update adds new job category "Delayed" to correctly display jobs that previously were considered as stuck. Addresses https://github.com/ShaneK/Matador/issues/26

Kudos for figuring out ko etc., well done!

Damn, I really need to rewrite this stuff... This is the definition of callback hell. I'm sorry!
Also thinking about changing the UI to use angular instead of knockout (knockout was part of the stack we used when I worked for the company I made this for), thoughts anyone? I'll open an issue about it for comments.
Also thanks for the comment on that date divisor. Interesting information.

Thanks for merging! Mind doing a npm publish for us?

Just did it!


Story video not downloading

Browser(Chrome/Firefox):
Chrome and Firefox
Extension Version:
Chrome: 2.0.9
Firefox: 2.1
Reproduction of links:
https://www.instagram.com/stories/paulina.thewarning/

Hi, thanks for the feedback!
I've updated a new version(2.1.2) to fix this.
You can try it on Chrome.
It is still under review on Firefox.

So I've figured out how to re-produce the bug.
If you click on a story that doesn't have the id in the url and click download it will download a .plain file. You need to click on another story and then click back to get the ID.


Bring back INCOMPLETE status in derivatives bagel

So we will have 4 statuses, with the logic being:

UNAVAILABLE: The subject does not have the required MRI datatype for this session (based on the manifest)
If the right MRI datatype(s) are theoretically available for this subject-session pair:

INCOMPLETE: The expected parent directory for the derivatives does not exist -> the pipeline hasn't been run yet

The directory to check must be specific to both the subject AND the session. For example for fMRIPrep it should be .../sub-<SUBJECT>/ses-<SESSION>, and for Freesurfer it should be .../ses-<SESSION>/sub-<SUBJECT>

If the expected parent directory for the derivatives exists:

SUCCESS: all files specified in the tracker exist
FAIL: at least one file specified in the tracker does not exist

@alyssadai @nikhil153 does that look okay?

Hey @michellewang, @nikhil153, this looks reasonable to me. If you have a prototype derivatives bagel that includes INCOMPLETE status values, you should already be able to test it in the current version of the dashboard (it doesn't do any validation of the column values in the bagel yet, so the range of values specified in the schema is basically a recommendation for now). The in-table filtering and plotting at least should still work.
I believe the main changes in the dashboard code will be to

add the INCOMPLETE status back to the pipeline status legend
add it back as a dropdown option under the "Advanced Filtering Options" part of the dashboard (the available pipeline status options are currently hardcoded to discourage too many arbitrary values/stay aligned with the schema-defined ranges, but this can be changed if desired)
add it back to the schema for an imaging bagel

(1) and (2) are highlighted in the screenshot below

If that sounds good, I'll create a corresponding issue for this update in the dashboard 🙂

Overall looks good. One question would be: do we use datatype info from the manifest to decide INCOMPLETE status. Since availability of T1w / dti / func could be different for each session.

@alyssadai that sounds good!
@nikhil153 my thought was that if they didn't have the expected datatype for that subject/session then the status would be UNAVAILABLE (manifest has datatype for subject and session so that works). INCOMPLETE would be if in theory they should have results available but we don't find any (because they weren't run or BIDS conversion was not successful). And FAIL is if we know processing was started but the expected result files are not found

@michellewang - yes I think we are saying the same thing.

if they didn't have the expected datatype for that subject/session then the status would be UNAVAILABLE

Yup

INCOMPLETE would be if in theory they should have results available but we don't find any

This would be based on the fact that there is an expected datatype entry for that participant_id x session combination, but no session-specific output data-dir on disk, correct?

This would be based on the fact that there is an expected datatype entry for that participant_id x session combination, but no session-specific output data-dir on disk, correct?

Yes exactly!


Provide OpenID connect

At the moment we got only basic authentication - secured by HTTPS.
For better User ID handling, corporate integration etc. we will provide openID connect

Wanted behaviour
Server shall be configurable how to do authorization implementation, so admin can decide which implementation shall be used.
Documentation about OpenID-Connect and Spring Boot:

https://www.baeldung.com/spring-security-openid-connect
https://www.codeflow.site/de/article/spring-security-openid-connect (german)


Attached property binding to another prop via setter doesn't work

Describe the bug
When we create an attached property and try to set their value via binding to another property, e.g.:
<Setter Property="attachedPropertyBindingRepro:MyAttachedProperties.TestWatermark"
        Value="{TemplateBinding Watermark}" />

Nothing happens.
To Reproduce
Repro project: https://github.com/SKProCH/AvaloniaBugsRepros/tree/master/VirtualizingStackPanelScaleTransform
Steps to reproduce the behavior:

Create an attached propertypublic static class MyAttachedProperties {
    public static readonly AttachedProperty<string?> TestWatermarkProperty
        = AvaloniaProperty.RegisterAttached<TextBox, string?>("TestWatermark", typeof(MyAttachedProperties));

    public static string? GetTestWatermark(TextBox element) {
        return element.GetValue(TestWatermarkProperty);
    }

    public static void SetTestWatermark(TextBox element, string? value) {
        element.SetValue(TestWatermarkProperty, value);
    }
}

Create a ControlTheme (or Style), inherit from TextBox and try to set new property value here:<ControlTheme x:Key="TestTextBox" BasedOn="{StaticResource {x:Type TextBox}}" TargetType="TextBox">
  <Setter Property="attachedPropertyBindingRepro:MyAttachedProperties.TestWatermark"
          Value="{TemplateBinding Watermark}" />
</ControlTheme>

Add TextBox, set target property and our theme<TextBox Theme="{StaticResource TestTextBox}"
         Watermark="Watermark should be duplicated to custom property"></TextBox>

See error

Expected behavior
As repro result - TestWatermark property should be bound to Watermark property and have equal values
Desktop (please complete the following information):

Version: 11.0.*

Additional context
I've tried and this is don't work:

Make MyAttachedProperties non static and use a AvaloniaProperty.RegisterAttached<MyAttachedProperties, TextBox, string?>("TestWatermark");
Use Binding with RelativeSource TemplatedParent.A binding with a TemplatedParent RelativeSource has to be in a ControlTemplat

Use $parent and RelativeSource FindParent syntax

Also, @maxkatz6 suggest a write a unit test for it, but currently I doesn't have a required amount a free. Maybe later.

Note: manually created binding MyTextBox.Bind(MyAttachedProperties.TestWatermarkProperty, MyTextBox.GetObservable(TextBox.WatermarkProperty)); works fine.

iirc the syntax for it is a bit different. The property gets wrapped into (...):
<ControlTheme x:Key="TestTextBox" BasedOn="{StaticResource {x:Type TextBox}}" TargetType="TextBox">
  <Setter Property="(attachedPropertyBindingRepro:MyAttachedProperties.TestWatermark)"
          Value="{TemplateBinding Watermark}" />
</ControlTheme>

can you please double-check if it solves your issue? If yes, we may need to add this to the docs if it's missing there.

iirc the syntax for it is a bit different. The property gets wrapped into (...):
<ControlTheme x:Key="TestTextBox" BasedOn="{StaticResource {x:Type TextBox}}" TargetType="TextBox">
  <Setter Property="(attachedPropertyBindingRepro:MyAttachedProperties.TestWatermark)"
          Value="{TemplateBinding Watermark}" />
</ControlTheme>

can you please double-check if it solves your issue? If yes, we may need to add this to the docs if it's missing there.

Nope. This also doesn't work. Moreover i can use setter to set up an usual value, e.g.:
<Setter Property="attachedPropertyBindingRepro:MyAttachedProperties.TestWatermark"
        Value="Test" />

And this is works fine. But i can't bind to another property.

TemplateBinding is only valid in a ControlTemplate. This works for me:
<Window.Resources>
    <ControlTheme x:Key="TestTextBox" BasedOn="{StaticResource {x:Type TextBox}}" TargetType="TextBox">
        <Setter Property="(views:MyAttachedProperties.TestWatermark)"
!                Value="{Binding $self.Watermark}" />
    </ControlTheme>
</Window.Resources>
<StackPanel>
    <TextBox Theme="{StaticResource TestTextBox}"
             x:Name="Box"
             Watermark="Watermark should be duplicated to custom property">
    </TextBox>
    <!-- To double-check -->
    <TextBlock Text="{Binding #Box.(views:MyAttachedProperties.TestWatermark)}"></TextBlock>
</StackPanel>

result:

Yes, @timunie, you are right. This is works fine.
But in my opinion this is kinda counter-intuitive.
Maybe it would be better to make it so that either the TemplateBinding works in the current conditions (just like $self), or throw an error. This would be better from the point of view that it would be possible to clearly understand that something is wrong, instead of guessing why it doesn't work, although it seems to be supposed to.

I think throwing an error or at least an analyzer would be great, yes. Can you edit the issue description to reflect this?


Documentation rendering in Widget catalog is broken

See below screenshot:

Entry 5 is only showing the closing bracket of the restriction that this works only for indoor maps
Entry 8 formatting is broken due to usage of a link in Readme.md

Resolved.


mf version does not appear to be a valid command

Contributions

[X] I have read the contribution docs, and understand what's expected of me.

Link to the page on docs.getdbt.com requiring updates
This section mentions that users can check the version of MetricFlow like this:
mf version

But that does not appear to be a valid command.

What part(s) of the page would you like to see updated?
.
Additional information
No response

Fixed by https://github.com/dbt-labs/docs.getdbt.com/pull/3701


Update README.md

Thank you for developing this! We recently used it in a Neon guide, which I just updated to give proper credit.
This PR makes a few minor adjustments.

Reference the Neon serverless driver
Capitalize "Neon Proxy"
Change the title to reflect that it does not just support connections over HTTP

I hope these updates are acceptable to you!

Hi @danieltprice, thanks for the PR. Happy to see you find it useful.


ts/checker: tsc test keeps failing with compiling testing_macros error

After updating testing_macros upto ^0.2.0, this error will be resolved.
Currently we are using v0.1.2 instead which seems to be failed to compile.
   Compiling testing_macros v0.1.2
error[E0432]: unresolved import `proc_macro2::SourceFile`
 --> /Users/flow/.cargo/registry/src/github.com-1ecc6299db9ec823/testing_macros-0.1.2/src/fixture.rs:6:19
  |
6 | use proc_macro2::{SourceFile, Span};
  |                   ^^^^^^^^^^ no `SourceFile` in the root

error[E0599]: no method named `source_file` found for struct `proc_macro2::Span` in the current scope
  --> /Users/flow/.cargo/registry/src/github.com-1ecc6299db9ec823/testing_macros-0.1.2/src/lib.rs:58:34
   |
58 |     let file = Span::call_site().source_file();
   |                                  ^^^^^^^^^^^ method not found in `proc_macro2::Span`

Some errors have detailed explanations: E0432, E0599.
For more information about an error, try `rustc --explain E0432`.
error: could not compile `testing_macros` due to 2 previous errors

This is an issue ofprocmacro2_semver_exempt.
But does a normal cargo test fail with it?
I've been using cargo test without a compilation failure

@kdy1 Yes. I've gotten same error with normal cargo test in stc_ts_type_checker.

https://github.com/dudykr/stc/pull/145 should fix it

@kdy1 thank you for the quick fix :)


Forbid access to private fields ?

First, congrats for this really nice project :)
For my use case I need to disallow access to private fields (recursively). Is there currently any way to do that? Thanks.

Hi, thanks!
This is, actually, default behavior.  Maybe related to this commit ? https://github.com/antonmedv/expr/commit/54e885c27967ebe13e0eb580ebae5a267fbf3bb1

Hmm, I don’t think so.

OK well, anyway it's fixed now. Sorry for the noise .. Thanks for your time


Missing request object on ws.open?

Hello, first of all thank you for this library it as pleasure to work with.
I have a question about the API:
I can see that per the doc, the handler open(ws) only takes one argument: ws
but in the underliying lib we can see that req is also passed
https://github.com/uNetworking/uWebSockets/blob/master/misc/READMORE.md#the-appws-route
and also on some test files on uWebSockets.js it is also passed
https://github.com/uNetworking/uWebSockets.js/blob/ea8d4c784d2eeb70ac6884c30b68b17070118d21/tests/Autobahn.js#L25
So I guess, either it has been the case in the past and changed, or it's missing from the underliying API?
Why am I asking this?
I'd like to open a websocket that is aware of the "path" it connected from
something like
const app = uWS.App().ws('/:identifier', {
    open: (ws, req) => {
        console.log('A WebSocket connected!');
        console.log('request identifier: ' + req.param[0]); // pseudo code
    },

Let me know the best way to do it

ok found the trick
i have to use the upgrade handler
https://unetworking.github.io/uWebSockets.js/generated/interfaces/httpresponse.html#upgrade

You're right, the user manual hasn't been updated - will fix


Fix provider flag

Privider flag was a copy/paste of the kubeconfig one so there are two flags defined as -k

Sorry it wasn't adequately tested. LGTM.

No worries!


Add nodeSelector config parameter to mongodb chart

Thank you for contributing to kubernetes/charts. Before you submit this PR we'd like to
make sure you are aware of our technical requirements and best practices:

https://github.com/kubernetes/charts/blob/master/CONTRIBUTING.md#technical-requirements
https://github.com/kubernetes/helm/tree/master/docs/chart_best_practices

For a quick overview across what we will look at reviewing your PR, please read
our review guidelines:

https://github.com/kubernetes/charts/blob/master/REVIEW_GUIDELINES.md

Following our best practices right from the start will accelerate the review process and
help get your PR merged quicker.
When updates to your PR are requested, please add new commits and do not squash the
history. This will make it easier to identify new changes. The PR will be squashed
anyways when it is merged. Thanks.

Closes #3766

CLA signed

/assign @tompizmor

/ok-to-test

/ok-to-test

/lgtm


Restructure repository

Restructure into separate folders per PFS
Make all image references relative
Expand the README a bit with links to all documents

See also #28

@m-mohr
Not sure how to make a review, Matthias, and I'm new to GitHub. But what you sugest above and under #28 seems to make sense.


add callback

@MoAlyousef  What do this flag means "system-fltk"?

The system-fltk feature would attempt to find an installed FLTK 1.4 library using cmake, which is unreliable unfortunately. The fltk-config feature is more reliable, however it doesn’t work on windows.

@MoAlyousef  Does this sound like me? :)


Confidence score

Hi, How to check the confidence score or probability score of the generated text? Throwing me error when I try to find the logits

Apply normal ligits using torch and you need to pass output_scores=True to the model.gen function


Change all green logos and icons to indigo versions.

I believe we want to change all the green icons and logos to their indigo counterparts. If so, we can make a list here as we find them.

The sign-in/log-in page has a green icon.

https://design-style-guide.freecodecamp.org/ has the green favicon

coderadio has a green favicon

@moT01 @ahmadabdolsaheb I'd like to update the logo's if you guys say so😉!

I believe it's okay to change these, so you can probably make a PR if you want @Twaha-Rahman.

@moT01 @ahmadabdolsaheb  I'm using the GitPod to make changes and preview them. Is there any way, I can preview pages like https://design-style-guide.freecodecamp.org/ and https://coderadio.freecodecamp.org/?

It looks like those are both separate repositories. code radio and design style guide. I haven't used gitpod so I'm not sure if you can use that over on those. But that's where they are.

@moT01 I did a PR on the  design style guide repo. All of the favicons were hosted from https://s3.amazonaws.com/freecodecamp/favicons/, so I created a folder and added the new logos there. (I also update the index.html accordingly).
Here's a screenshot of the new logo in action ->

Lemme know if I need to change or update anything ;)

@Twaha-Rahman, I think I need to change those manually on the amazon bucket and bust the cache. thanks for looking into it tho.

@Twaha-Rahman, I think I need to change those manually on the amazon bucket and bust the cache. thanks for looking into it tho.

After you update the resources, if the link to the resource's change, please let me know. I'll update them...

Hi folks!
The cdn still uses some green logos.
This particular one appears on the forum:

The current social card meta uses green background

All of the backend example projects and boilerplates use the green logos. If you go to the timestamp microservice project page and click the example link at the top. The green icons appears in the browser tab...

The same is true with all the boilerplates for the lessons and projects in the backend area (pretty sure).

auth.freecodecamp.org has the green icons...

Heya @ahmadabdolsaheb - it looks like the Design Style Guide is still using the green logos. I had prepped a PR to use the assets from the CDN before I saw your comment about replacing the S3 images on Amazon instead. Is that still the planned route?

Thanks for double checking. We are pulling our favicons from here at the moment. https://github.com/freeCodeCamp/cdn/tree/master/build/universal/favicons.

Still there is a green logo in auth.freecodecamp.org.

Still there is a green logo in auth.freecodecamp.org.

Hi @Moseschand003, thanks for the offer of help.  The auth pages are stored here: https://github.com/freeCodeCamp/auth0-templates
In that repo the org-tenant and dev-tenant branches contain the code for auth.freecodecamp.org and auth.freecodecamp.dev, so I would start by looking here: https://github.com/freeCodeCamp/auth0-templates/tree/org-tenant

Hi @Moseschand003, thanks for the offer of help.  The auth pages are stored here: https://github.com/freeCodeCamp/auth0-templates
In that repo the org-tenant and dev-tenant branches contain the code for auth.freecodecamp.org and auth.freecodecamp.dev, so I would start by looking here: https://github.com/freeCodeCamp/auth0-templates/tree/org-tenant

it's probably related to something already mentioned
but linking to contribute.freecodecamp.org, the embed has the green icon:

Thanks @ieahleen - I'll take a look at this today :)

Demo projects with green favicon:
https://request-header-parser-microservice.freecodecamp.rocks
https://url-shortener-microservice.freecodecamp.rocks
https://exercise-tracker.freecodecamp.rocks
https://file-metadata-microservice.freecodecamp.rocks

Only thing left to fix here is the demo projects it looks like. If we fix those two, we can get this closed and create new issues for individual icons as we find more.

I'll tackle fixing those today.


Fix Querying GetMutations HTTP API

Querying /v1/epochs/1 returns "Not Found" although epoch 0 and 1 have passed (and were signed)

Seems like the existing MutationService is not registered yet.

Right. When this service was implemented, we didn't have working binaries, so I didn't register it since there was no way to test that.

Thanks for the explanation @cesarghali. I changed the title title to better reflect what is going on.


I don't know why my system (wsl2 ,  Ubuntu22.04 )could not run the latest appimage

/tmp/.mount_SciHubYvhawg/AppRun: line 8: 10804 Segmentation fault      ${APP_DIR}/SciHubEVA

I guess it may be the problem of WSL2. I only test on desktop version ubuntu in virtual machine. I will test it on WSL2 later to see whether I can fix the problem.

Thank you for taking the time to respond to my questions，I've also tried a few previous versions of appmage and they all get the same error.

I tested on WSL2 and got the same error. And there is no more error message, it's diffcult to debug. So I cannot fix this problem, recommand use the windows version instead. Linux version only tested to work on desktop version linux not wsl version.


Uploading tests fails on a large repo with 19K+ tests

We have a large repo with 19K+ tests, the uploading tests step started to fail with the following error:
>dbt --cache-selected-only run --selector lexis_nexis --target sub
17:00:44  Running with dbt=1.3.0
17:00:59  Found 2694 models, 19362 tests, 351 snapshots, 9 analyses, 856 macros, 1 operation, 20 seed files, 1671 sources, 0 exposures, 0 metrics
17:00:59
17:01:05  Concurrency: 1 threads (target='sub')
17:01:05
17:01:05  1 of 1 START sql view model prep_sub.lexis_nexis.tmx_session_log_deluxe ........ [RUN]
17:01:09  1 of 1 OK created sql view model prep_sub.lexis_nexis.tmx_session_log_deluxe ... [SUCCESS 1 in 3.86s]
17:01:09
17:01:09  Running 1 on-run-end hook
17:01:09  Uploading model executions
17:01:12  Uploading seed executions
17:01:12  Uploading snapshot executions
17:01:12  Uploading test executions
17:01:12  Uploading exposures
17:01:12  Uploading tests
17:01:20  Database error while running on-run-end
17:01:21  Encountered an error:
Database Error
  001795 (42601): SQL compilation error: error line 14 at position 13
  maximum number of expressions in a list exceeded, expected at most 16,384, got 19,362

^ this is a known Snowflake limitation on the length of the query. It could be resolved by inserting the data in the loop.

@NiallRees FYI. The fix that we added on our local repo for the time being is to upload only up to 15K tests. Ideally it has to be the loop somewhere in the upload_results. If I have the time next week, will see if I can contribute to this fix.

I am fixing it locally for now and it seems to work.

upload_results change (adding a loop for chunks of tests)

        {% do log("Uploading tests", true) %}
        {% set tests = dbt_artifacts.get_relation('tests') %}
        {% set tests_set = [] %}
        {% for node in graph.nodes.values() | selectattr("resource_type", "equalto", "test") %}
            {% do tests_set.append(node) %}
        {% endfor %}
        {# upload tests in chunks of 10000 tests or less #}
        {% set n = (tests_set|length/10000)|round(0, 'ceil')|int %}
        {% for i in [1,n] -%}
            {% set content_tests = upload_tests(tests_set, i) %}
            {{ dbt_artifacts.insert_into_metadata_table(
                database_name=tests.database,
                schema_name=tests.schema,
                table_name=tests.identifier,
                content=content_tests
                )
            }}
        {%- endfor %}

upload_tests change -- adding a limit of 10000 tests to upload. It might make sense to upload even less performance-wise

{% macro upload_tests(tests, i) -%}
    {{ return(adapter.dispatch('get_tests_dml_sql', 'dbt_artifacts')(tests, i)) }}
{%- endmacro %}

{% macro default__get_tests_dml_sql(tests, i) -%}

    {% if tests != [] %}
        {% set test_values %}
        select
            {{ adapter.dispatch('column_identifier', 'dbt_artifacts')(1) }},
            {{ adapter.dispatch('column_identifier', 'dbt_artifacts')(2) }},
            {{ adapter.dispatch('column_identifier', 'dbt_artifacts')(3) }},
            {{ adapter.dispatch('column_identifier', 'dbt_artifacts')(4) }},
            {{ adapter.dispatch('parse_json', 'dbt_artifacts')(adapter.dispatch('column_identifier', 'dbt_artifacts')(5)) }},
            {{ adapter.dispatch('column_identifier', 'dbt_artifacts')(6) }},
            {{ adapter.dispatch('column_identifier', 'dbt_artifacts')(7) }},
            {{ adapter.dispatch('parse_json', 'dbt_artifacts')(adapter.dispatch('column_identifier', 'dbt_artifacts')(8)) }}
        from values
        {% for test in tests -%}
            {% if loop.index > (i-1)*10000 and loop.index <= i*10000 %}
                (
                    '{{ invocation_id }}', {# command_invocation_id #}
                    '{{ test.unique_id }}', {# node_id #}
                    '{{ run_started_at }}', {# run_started_at #}
                    '{{ test.name }}', {# name #}
                    '{{ tojson(test.depends_on.nodes) }}', {# depends_on_nodes #}
                    '{{ test.package_name }}', {# package_name #}
                    '{{ test.original_file_path | replace('\\', '\\\\') }}', {# test_path #}
                    '{{ tojson(test.tags) }}' {# tags #}
                )
                {%- if not loop.last and not loop.index == i*10000 %},{%- endif %}
            {%- endif %}
        {%- endfor %}
        {% endset %}
        {{ test_values }}
    {% else %}
        {{ return("") }}
    {% endif %}
{% endmacro -%}

{% macro bigquery__get_tests_dml_sql(tests, i) -%}
    {% if tests != [] %}
        {% set test_values %}
        {% for test in tests -%}
            {% if loop.index > (i-1)*10000 and loop.index <= i*10000 %}
                (
                    '{{ invocation_id }}', {# command_invocation_id #}
                    '{{ test.unique_id }}', {# node_id #}
                    '{{ run_started_at }}', {# run_started_at #}
                    '{{ test.name }}', {# name #}
                    {{ tojson(test.depends_on.nodes) }}, {# depends_on_nodes #}
                    '{{ test.package_name }}', {# package_name #}
                    '{{ test.original_file_path | replace('\\', '\\\\') }}', {# test_path #}
                    {{ tojson(test.tags) }} {# tags #}
                )
                {%- if not loop.last and not loop.index == i*10000 %},{%- endif %}
            {%- endif %}
        {%- endfor %}
        {% endset %}
        {{ test_values }}
    {% else %}
        {{ return("") }}
    {% endif %}
{%- endmacro %}

there must be a better way of doing this, just sharing it here, if anyone wants to pick it up and make it prettier.

^ I changed the above code to use a parameter instead of hardcoded number of tests. If anyone is interested, I can submit a PR. I doubt anyone except us has 20K+ tests.

@nhrebinka thanks for sharing this!  We experienced something similar in BIgQuery, but with much fewer tests.  At ~900 tests, we found that BigQuery would complain with:

Resources exceeded during query execution: Not enough resources for query planning - too many subqueries or query is too complex.

Interestingly, this seemed to happen specifically with test_executions, but not tests themselves -- the former table is a little wider, so I'm suspecting that it's a volume issue in this case instead of the number of lines in the query or the number of rows inserted.
In any case, I took inspiration from your solution and overrode upload_results:
[...]
            {% do log("Uploading test executions (overridden)", true) %}
            {% set test_executions = dbt_artifacts.get_relation('test_executions') %}
            {# This section overrides upload_test_executions; we break the encapsulation of how results are
               processed into a DML statement, so we have to do this inline instead of overriding the macro
               .sql file. Namely, we batch test results and then pass them to the (unmodified) macros that
               generate the DML, and run them one at a time. #}
            {% set test_execution_set = [] %}
              {% for result in results %}
                {% if result.node.resource_type == "test" %}
                  {% do test_execution_set.append(result) %}
                {% endif %}
              {% endfor %}
            {% set test_execution_batches = test_execution_set | batch(500) %}
            {% for ibatch in test_execution_batches %}
              {% do log("  Inserting batch of test executions", true) %}
              {% set content_test_executions = adapter.dispatch('get_test_executions_dml_sql','dbt_artifacts')(ibatch) %}
              {{ dbt_artifacts.insert_into_metadata_table(
                  database_name=test_executions.database,
                  schema_name=test_executions.schema,
                  table_name=test_executions.identifier,
                  content=content_test_executions
                  )
              }}
            {% endfor %}
[...]

Instead of separately going to modify upload_test_executions as well, I decided to continue to use the get_tests_executions... macros and insert_into_metadata_table macros as-is, but only giving them a few hundred rows at a time.
Just thought I'd share another (similar) approach!

@matt-lam-thinkific thanks for sharing! it's pretty elegant and I really wish this could become a part of dbt-artifacts at some point. Thanks for sharing!

HI @nhrebinka . Thank you so much for your excellent work in here. I'm really sorry how long it's taken to get back to you.
Would you be willing to open a PR with your solution so that others could benefit too?

@glsdown sure, I will work on the PR!


Command Line Driver

Basic implementation of a command line utility for Foreshadow. Addresses issue #43

For level 2 and 3, can we add another parameter to pass in the configuration for X_preprocessor and y_preprocessor. With this, as a user, I can selectively choose what input pipeline to tune for level 2 and what exactly pipeline to use for level 3. We can keep the default as this when this new parameter is not provided.

For level 2 and 3, can we add another parameter to pass in the configuration for X_preprocessor and y_preprocessor. With this, as a user, I can selectively choose what input pipeline to tune for level 2 and what exactly pipeline to use for level 3. We can keep the default as this when this new parameter is not provided.

For level 2 how should the optimization section be merged? There is a high likelihood of some form of conflict there.

In the case a config file is provided for level 2, it's up to the user to specify the combination section in the config file to determine the search space.

Pull Request Test Coverage Report for Build 235

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at ?%

Totals

Change from base Build 231:
0.0%

Covered Lines:

Relevant Lines:
0

💛  - Coveralls

Two issues remain, one being the utility function from the AutoEstimator that determines the problem type, waiting on advisement on that. Also, I am not certain if coverage is actually being done correctly, my computer is reporting 99% coverage while the dev branch of the repo is reporting 100% on coveralls and I am not certain what the discrepancy is.

@robocoder99 See above for the system's problem determination. Basically it's was a temporary measure to keep the project moving. We should either address it in this PR or punt it for another. As far as coveralls goes, not sure why it's broke. I'll take a look at it.

Also, this looks fantastic! It may be worth looking into https://click.palletsprojects.com/en/7.x/ if the command line aspect of the project is to get any more complicated.

Thanks for the suggestion adithya. Probably worth looking into that at some point. Honestly this is just a proof of concept stage feature, we should figure out how exactly we want this platform to be used and focus in on those interfaces.
Defining some formalized workflows would probably be a good step forward here to prioritize work interface-wise.

Level 2 issues, along with other suggestions from @jichaogp  have been fixed.
However, I am coming up with a problem on level 3 I am not familiar enough with to solve in a timely manner. @adithyabsk you being more familiar with the AutoEstimator and auto-sklearn might be able to identify the issue quickly. I have sample code loaded into examples/adult_small.py that throws an auto-sklearn error right now.
I would appreciate someone taking a look and seeing if its familiar.
Traceback (most recent call last):   File "adult_small.py", line 19, in <module>     model.fit(X_train, y_train)   File "/home/arallen/GeorgianPartners/Code/foreshadow/foreshadow/foreshadow.py", line 204, in fit     self.pipeline.fit(X_df, y_df)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/sklearn/pipeline.py", line 250, in fit     self._final_estimator.fit(Xt, y, **fit_params)   File "/home/arallen/GeorgianPartners/Code/foreshadow/foreshadow/estimators/meta.py", line 38, in fit     self.estimator.fit(X, y)   File "/home/arallen/GeorgianPartners/Code/foreshadow/foreshadow/estimators/auto.py", line 195, in fit     self.estimator.fit(X, y)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/estimators.py", line 500, in fit     dataset_name=dataset_name,   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/estimators.py", line 267, in fit     self._automl.fit(*args, **kwargs)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/automl.py", line 965, in fit     only_return_configuration_space=only_return_configuration_space,   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/automl.py", line 203, in fit     only_return_configuration_space,   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/automl.py", line 379, in _fit     exclude_preprocessors=self._exclude_preprocessors)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/automl.py", line 835, in _create_search_space     exclude_preprocessors=exclude_preprocessors)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/util/pipeline.py", line 51, in get_configuration_space     return _get_classification_configuration_space(info, include, exclude)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/util/pipeline.py", line 93, in _get_classification_configuration_space     include=include, exclude=exclude).\   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/pipeline/classification.py", line 83, in __init__     random_state, init_params)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/pipeline/base.py", line 36, in __init__     self.config_space = self.get_hyperparameter_search_space()   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/pipeline/base.py", line 216, in get_hyperparameter_search_space     dataset_properties=self.dataset_properties_)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/pipeline/classification.py", line 181, in _get_hyperparameter_search_space     exclude=exclude, include=include, pipeline=self.steps)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/pipeline/base.py", line 294, in _get_base_search_space     pipeline, dataset_properties, include=include, exclude=exclude)   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/pipeline/create_searchspace_util.py", line 34, in get_match_array     exclude=node_exclude).keys()))   File "/home/arallen/.pyenv/versions/fs/lib/python3.6/site-packages/autosklearn/pipeline/components/feature_preprocessing/__init__.py", line 46, in get_available_components     "%s" % incl) ValueError: Trying to include unknown component: n

Hi @robocoder99, I am trying to use the cmdline driver for a demo of Foreshadow to the team on Monday. When trying to run the following command, I get error raised:

coverage dropped due to #58


examples window dropdown does not close

          @punkish again, please find a solution. This is akward when you search https://ocellus.info/?page=1&size=30&resource=images&articleDOI=10.11646%2Fzootaxa.5032.4.6 , and then the search window does not close and the results are displayed behind it and thus obscured.

and is does not close, when I remove the search terms

it does not work, when you pull down the "more examples" to figure out how to enter a term, and then use the search term without closing first the "more examples"
Originally posted by @myrmoteras in https://github.com/plazi/plaziWebsite/issues/416#issuecomment-2090786573

ok, the search examples window will close automatically if you do either of the following two things:

click on any example: This will fill the input box with the example from where you can either click the button to get the results, or modify the example for your specific needs (the example helps you with the syntax).
click on the "more examples" button again: That button acts as a toggle. Click it to open the window and click it to close the window.

I am generally not in favor of "close the window when clicking outside it" pattern because accidentally clicking outside will close the window and that can be confusing/frustrating. In any case, I will see if I can make the button more intuitive.


[CARBONDATA-1236] Support absolute path without scheme in loading

While giving the raw data in LOAD command, the path should be with the scheme like hdfs:// , viewfs:// etc. with this improvement the data path can be absolute path without the scheme. data path for load data and pre-created dictionary data are improved here.

Can one of the admins verify this patch?

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2732/

Build Failed with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/157/

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/carbondata-pr-spark-1.6/660/Failed Tests: 3carbondata-pr-spark-1.6/org.apache.carbondata:carbondata-core: 3org.apache.carbondata.core.util.CarbonUtilTest.testToCheckAndAppendHDFSUrlWithBlackSlashorg.apache.carbondata.core.util.CarbonUtilTest.testToCheckAndAppendHDFSUrlWithNullorg.apache.carbondata.core.util.CarbonUtilTest.testToCheckAndAppendHDFSUrlWithNoBlackSlash

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2734/

Build Success with Spark 1.6, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/159/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/carbondata-pr-spark-1.6/662/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2735/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/carbondata-pr-spark-1.6/663/

LGTM


serverpod generate does not regenerate my_server/generated/tables-serverpod.sql

Describe the bug
I upgraded Serverpod from 1.0.1 to 1.1.1, and even after doing docker down -v ; docker up --build --detach and then running the pgsql scripts to recreate my databases, I got:
WARNING: The database does not match the target database:
 - Table "serverpod_health_connection_info" is not like the target database.
 - Table "serverpod_health_metric" is not like the target database.

The reason is that columns were added to these databases recently.
Running serverpod generate in my server project does not fix the problem. The file my_server/generated/tables-serverpod.pgsql are not updated to represent the new tables contained in the Serverpod project.
Instead, you have to run the script at templates/serverpod_templates/projectname_server/generated/tables-serverpod.pgsql.
Since another script, serverpod/modules/serverpod_auth/serverpod_auth_server/generated/tables.pgsql, also has to be manually run when setting up a new database, probably my_server/generated/tables-serverpod.pgsql should not actually be included in the new project template, because it will become outdated on any significant Serverpod upgrade.

This is now fixed as part of the new migration system. When this warning happens (after generating the project) you can simply create a new migration.

If you didn't see my other comment, you have the project migration guide for 1.2 here:
https://docs.serverpod.dev/next/upgrading/upgrade-to-one-point-two
And migration documentation here:
https://docs.serverpod.dev/next/concepts/database/migrations

According to the 1.2 docs on deploying using google cloud, I should run sql queries from generated/tables-serverpod.pgsql and generated/tables.pgsql. I dont see a file named tables-serverpod.pgsql. and tables.pgsql mentions that it is deprecated and shouldn't be used. How do i generate the tables in my production DB?


Fix: unescape() cannot work on an utf8 string, send him an ascii one

youtube-dl is crashing on some utf8 pages like: http://www.dailymotion.com/video/xn3lf8_jean-luc-melenchon-sur-bfm-tv-2012_news#from=embediframe

I'm not sure what you mean by "UTF-8 string". In Python 2.x, there are encodingless strings (unicode), and byte arrays (str), which can be a representation of a string. Nevertheless, I'll have a look at it and try to resolve this issue asap.

This fix works for me (Debian / Python 2.6 / locale UTF8 / Dailymotion)

Before applying this patch I was getting the following output (also seems similar to #264)
python ../../youtube-dl http://www.dailymotion.com/video/xn3lf8_jean-luc-melenchon-sur-bfm-tv-2012_news#from=embediframe
[dailymotion] xn3lf8: Downloading webpage
[dailymotion] xn3lf8: Extracting information
Traceback (most recent call last):
File "../../youtube-dl", line 4514, in
main()
File "../../youtube-dl", line 4505, in main
_real_main()
File "../../youtube-dl", line 4489, in _real_main
retcode = fd.download(all_urls)
File "../../youtube-dl", line 840, in download
ie.extract(url)
File "../../youtube-dl", line 1098, in extract
return self._real_extract(url)
File "../../youtube-dl", line 1638, in _real_extract
video_title = htmlParser.unescape(mobj.group('title')).decode('utf-8')
File "/usr/local/lib/python2.7/HTMLParser.py", line 393, in unescape
return re.sub(r"&(#?[xX]?(?:[0-9a-fA-F]+|\w{1,8}));", replaceEntities, s)
File "/usr/local/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 10: ordinal not in range(128)

Applied. This bug should be fixed in 2012.01.05


feat: Non-recoverable account when imported with pvt key disclaimer

This PR adds a disclaimer stating that accounts imported via a private key cannot be recovered because they are not linked with the wallet seed phrase.
Kindly review the PR for any necessary wording changes or styling adjustments.
closes #1388
Attachments:

After requested changes:

Hey @LuizAsFight ,
I have made the suggested changes and attached a new screenshot in the PR description. Kindly review it.
Thanks.


Re-evaluation of old code is not necessary when adding code

Instead of evaluating the entire program I can pass in the old locals into eval with the section of new code.  (assuming the user is adding new code, and not modifying existing code)
Every time there is a new line I would deep copy all of the old locals.  For each change to the new line I would exec the new line and pass in the old locals.
This has two benefits:

increased speed with larger programs

No re-evaluation of old code (so repeated side-effects are avoided)

The drawback is overhead associated with deep-copying all the locals every time there is a new line.  I might want to do some performance tests to see what the impact of this would be.

removed milestone - ran into some snags (ex: deepcopy can't copy modules).

Done - finally!  This is a opt-in feature that can be used by typing #$save
Try it out:
import random
x = random.random()
#$save
print(x) # this number will not change when editing below the #$save line

The way I implemented it has some major caveats:

Dill, the library i used for saving the local variables from saved section, can't handle the following types: frame, generator, traceback

Imports are not saved (although you can still use imports in the saved section, the import will just happen twice)

Conditional imports and imports in functions ARE NOT supported in saved section.

Calling a saved function that uses a builtin will not work

def test(foo):
  print(foo)
#$save
test('this will result in an error!: name print is not defined')

regex matching is not supported in saved section.  Specifically, _sre.SRE_Match is not picklable.  There are probably many more object types that do not work.

File I/O is not supported in saved section


Fix bug related to pasting yaml in function

Description
Changes proposed in this pull request:

Add getting dependencies and source code from yaml in the function

Close: #775
Related issue(s)

/retest

/retest

/test pre-busola-integration-test-k3s

/test pre-busola-integration-test-k3s

/test pre-busola-integration-test-k3s

/test pre-busola-integration-test-k3s


Installation issue

I install on Windows and after some time after the start appears such a window, what can this be due to?

I had a very similar error. I uninstalled the program and reinstalled it, but changed the installation path to c:\Ultimate Vocal Remover.
The first launch of the program went smoothly and the extraction of the song as well.
It looks like the program doesn't like European characters (hooks, commas above letters, etc.) in the username. If you look at your error message, instead of a username you have a jumble of characters.
I hope this helps you.


[Wave8] Create a Workspace Card

Details
This PR introduces new Ideal Nav component: WorkspaceCardCreateAWorkspace.tsx.
It's just the component for further use in Ideal Nav project. To render it somewhere, add the code below to SidebarLinks.js:
// Import
import PressableWithFeedback from '@components/Pressable/PressableWithFeedback';
import Text from '@components/Text';
import WorkspaceCardCreateAWorkspace from '@pages/workspace/card/WorkspaceCardCreateAWorkspace';
// Import

            <View style={[styles.mh4, styles.flexRow, styles.justifyContentBetween, styles.alignItemsCenter, styles.mb3]}>
                <Text
                    style={styles.label}
                    color={theme.textSupporting}
                >
                    Workspace
                </Text>
                <PressableWithFeedback accessibilityRole={CONST.ACCESSIBILITY_ROLE.BUTTON}>
                    {({hovered}) => (
                        <Icon
                            src={Expensicons.Plus}
                            width={12}
                            height={12}
                            additionalStyles={[styles.highlightBG, styles.borderRadiusNormal, styles.p2, hovered && styles.bordersBG]}
                        />
                    )}
                </PressableWithFeedback>
            </View>
            <WorkspaceCardCreateAWorkspace />

// New style
        bordersBG: {
            backgroundColor: colors.darkBorders,
        },
+ change `sidebar: colors.darkHighlightBackground,` to `sidebar: colors.darkAppBackground,`
// New style

Fixed Issues

$ https://github.com/Expensify/App/issues/31766
PROPOSAL:
Tests

Verify that no errors appear in the JS console
Plus icon and the Get Started button should have Touchable effects on them. On press behaviour is not part of this PR though - clicking them won't do anything so far.

Offline tests

Same as Tests

QA Steps

Verify that no errors appear in the JS console
Check the margins and paddings and sizes against Figma designs.
Click on Plus icon and the Get Started buttons - validate that Touchable effects are visible.

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome
https://github.com/Expensify/App/assets/85628901/1d37dd53-b8f3-41c6-b69c-273ba534bcff

iOS: Native

iOS: mWeb Safari
https://github.com/Expensify/App/assets/85628901/a0110720-816b-4e54-80d7-8ddfc180102f

MacOS: Chrome / Safari

MacOS: Desktop

Conclusions from slack discussion: For now two variants are OK - so iconPosition should stay. In the future cards will be unified to only have a single style.

Spanish translations slack thread: https://expensify.slack.com/archives/C01GTK53T8Q/p1701709855624649

@dannymcclain @shawnborton ready for your design check

For the small button here:

Can we confirm that it is using our standard button styles? It seems like the background color is incorrect. Also to confirm, it should be 28x28.

@dannymcclain @dubielzyk-expensify does the space between the headline and the text look right to you?

I think I was imagining those would be closer. Here is what we had in Figma:

I think that means we want a "normal" sized button in that card too, which is 40px tall

Looks good to me!

@shawnborton thanks, I adjusted and double checked everything you mentioned. Result:

@aimane-chnaif ready for review

Looks good on my end.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.15-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@MaciejSWM could you help with QA steps?

Check the margins and paddings and sizes against Figma designs.
Click on Plus icon and the Get Started buttons - validate that Touchable effects are visible.

We don't have access to Figma designs. Also which plus icon to click?

@kavimuru you can chrck it off we will qa this in future prs once used

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.4.15-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Adding suport for jumping to nth post?

Hi there,
Is it possible to added a feature that allow jumping to the nth post on current page by typing :n? Just like in vim you can jump to a line #.
Thanks!

Hi! Currently you can use G / gg to jump to the first or last submission, but that's it.
It's a bit more complicated than vim because in rtv the submissions are loaded on demand. For example, if you want to jump to the 1000th post, the application would need to first load 999 posts through the reddit API. I think it could still be doable but it might not be such a good user experience.

Hi Michael,
Thanks for the follow up. Let me clarify a bit. Jumping to 1000th post is unnecessary, but jumping to the 16th on the current page might be very convenient. So, this requested feature could help the viewer to navigate through the posts on the current page faster. What do you think?

Hmm I don't see it as being any more convenient than using page up / page down in that case. I'm not against the idea though, if somebody wants to put together a PR that's well written and tested I would probably accept it.
If we use the vim keybind of : + 1 + 6 + Enter, it would work best if we assigned the : key to open a command prompt at the bottom of the page, similar to how vim's command mode works. Then it could be extended to support other commands in the future.

Yes, supporting : key is a good idea. I would prefer one key stroke for each navigation movement, just like q for quit, j k for up and down. : key should help more complicated functions.
I haven’t read the source code yet, will check it out and see if there could be a quick fix.


[release-1.11] Fix endpoint slice cache memory leak

Manual cherrypick required.
#36518 failed to apply on top of branch "release-1.11":
Applying: fix endpoint slice cache memory leak
Applying: add unit test
Using index info to reconstruct a base tree...
M	pilot/pkg/serviceregistry/kube/controller/endpointslice_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/serviceregistry/kube/controller/endpointslice_test.go
CONFLICT (content): Merge conflict in pilot/pkg/serviceregistry/kube/controller/endpointslice_test.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0002 add unit test
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

/close


Artifacts in IE 11

I've gotten heatmap working great in chrome, but IE has some weird artifacts showing up when I zoom or pan. I appears that the edge of the image is repeated just beyond the edge of the extent.
Any ideas what's causing this?

I've managed to work around this issue by calling resizeHeatmap any time the extent changes. It's still odd that the issue only appears in IE.
  map.on('load', function () {
    if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) {
      ieFix = map.on("extent-change", function() {
        heatLayer.resizeHeatmap(window.innerWidth, window.innerHeight);
      });
    }
  });


Maf concat

Maf concert pv module

Takes in a list of maf files
Combines maf files based on minimum required columns for a MAF file
outputs combined maf file

Things to do:

add argument (@carmelinacharalambous )
clean up cases and logging (@buehlere and @carmelinacharalambous )
restructure commands around maf. See (https://lucid.app/lucidchart/5e7ee89d-ab30-412a-b077-b29035f44ac6/edit?invitationId=inv_4a7ba6e7-6296-4441-a474-40605b76e47a&page=.C9a5LZ.mnBZ#) (@buehlere)

@carmelinacharalambous and @rhshah I think this is ready for review. Let me know your thoughts!
Here are the two basic test cases I tried:
pv maf concat -f /Users/ebuehler/Downloads/C-3WHLWR-L001-d.DONOR22-TP.combined-variants.vep_keptrmv_taggedHotspots_fillout_filtered.maf -f /Users/ebuehler/Downloads/C-3WHLWR-L002-d.DONOR22-TP.combined-variants.vep_keptrmv_taggedHotspots_fillout_filtered.maf

where each -f is a simple maf file.
pv maf concat --paths test.txt

where test.txt is a text file where each row is a maf path and a ',' denotes a new line.

@buehlere Thanks, I will add the additional column fields required

also I added tests in that work, but need to de-identify the test data before pushing everything.

where test.txt is a text file where each row is a maf path and a ',' denotes a new line.

, not sure why is this needed

where test.txt is a text file where each row is a maf path and a ',' denotes a new line.

, not sure why is this needed

so format for the .txt should be:
/path/to/C-1234-L001-d.maf
/path/to/Downloads/C-1234-L002-d.maf

Tests are working in most recent commit.

Additional Features:

Deduplicate option (remove sample specific columns, and squash to unique). @carmelinacharalambous what columns are sample specific?
should work with extensions txt and maf
Check for standard minimum maf headers. If using non-standard minimum, header file must be provided.


trouble with codesonar plugin after moving a job from jenkins to cloudbees

the job was successful in regular jenkins, plugin version 2.0.8.  when I moved it to my cloudbees instance, the version of the codesonar plugin went up to the latest.  then the failures started.
CloudBees Jenkins Distribution <IP_ADDRESS>-rolling
plugin version - 2.0.9
Here is the command line that fails now:
codesonar conditions: [redAlerts(warrantedResult: 'FAILURE')], credentialId: "${CREDENTIALS}", hubAddress: 'xxx', projectName: 'thor/ui/builder/thor', protocol: 'http'
I can navigate to the project and see analysis, but the plugin give me this error:
Project by the name thor/ui/builder/thor was not found on the hub

projectName: 'thor/mp/builder/thor' but you write thor/ui/builder/thor? I think it's difficult to see exactly what's wrong now without the analyze command, as well. If you don't want to share this information on public Github, you're welcome to write me an email<EMAIL_ADDRESS>

sorry it was just my cut and pasting.  the project paths match in my jenkins console log.

Sorry for the wait! I'm still not quite sure what could be wrong with the setup after the change to the CloudBees instance. It also happens when you just trigger the build manually? I have some attempts to set up some test environment, where "project by the name ... not found on the hub" seem to pop up when the analyze command failed.

I see this when there is a valid run of the build.  The analysis report is in the hub.  the plugin command doesn't find it.  I have tried manually running the codesonar conditions command in jenkins pipeline using all variations of the path to the analysis in the hub without success unless the analysis is at the top level of the hub path.  So, this path fails... thor/ui/builder/thor, so does thor alone, or just ui/builder/thor.  but if I set the build to create the analysis at thor/builder_mp_ui, it is found with no problem.


[EventEngine] Add ResolvedAddress default constructor

Going with your alternative, thanks.

(it's also very unclear to me that it matters)

Vignesh got a bit hung up on some MSAN issues in another PR, code trying to use the array's garbage data. Giving this a sane default is a step. There are probably still some methods that don't respect the 0-sized address, which will need to be fixed.


compile fail openalpr-net

OpenCV build is ok.
OpenALPR build is ok.
openalpr-net build fail.
ie : C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe returned a non-zero exit code
At D:\openalpr\windows\build.ps1:194 char:9

    Die ("{0} returned a non-zero exit code" -f $Filename)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Die

What is the problem? Can u help me?

I'm on the same problem as you @kenanadakan. Were able to find the solution ?

Unfortunately, I couldnt find it. you?


Research endpoint RPC/Http integration

Including potential existings framework integrations:

Play
Spray
Akka Http
Remotely
Http4S

We decided on integrating with a SalaJS compatible client for now such as https://github.com/pepegar/hammock. For framework like Play and Spray we just need to add docs in order for users to understand Free programs can be adapted to any target runtime types such as Future or Task which are the IO of most web frameworks. As for the RPC piece seems like something similar to the way Remotely does it seems to fit Freestyle philosophy but it's still uncertain how can we derive that from simple method definitions annotated with Free and keep the concept that in the same way  smart constructors returning Free are composable so should be endpoints and endpoint calls both from a sequential and parallel point of view.