[Exploratory Testing] No way of distinguishing 401 vs 403 for apis.

Since we do not have a separate authentication phase, we do authentication and authorization while doing authorization. Since the current overloads only return a bool, there is currently no way of distinguishing between an authentication failure ( 401 ) vs an authorization failure ( 403 ).
Also read #133.

Back in november we discussed this, that this time we want to get it right - so please do.
http://leastprivilege.com/2014/10/02/401-vs-403/

Related issue (in MVC): https://github.com/aspnet/Mvc/issues/634 :dancers:

As this came up again yesterday @HaoK, @loudej

Please file a bug stating for both the cookie and bearer authn middleware: If the middleware is processing an outgoing 401, and the middleware has produced an identity for the current request, then it should change the status code to 403 and should not redirect.

I can take a look at making this change as part of the security auth changes, gives me an excuse to dig deeper into guts of the cookie/bearer code

@lodejard @HaoK hum, this change seems really weird. Why do you think the cookies or bearer middleware should be responsible of setting the response status code?
IMHO, the component responsible of doing the authorization stuff should set the 403 status code when needed. In MVC, you should change that line to use 403 when the user has been correctly authenticated: https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNet.Mvc.Core/Filters/AuthorizationFilterAttribute.cs#L34

This is an odd place to implement this. It is at the very least incomplete since something like Facebook or OIDC could convert the 401 to a redirect before getting to the cookie auth middleware, so you'd still be stuck in a loop.
Doing this centrally in the authorization layer would be less error prone than trying to handle it in the individual authentication components.

To be honest I agree with you as well. We know exactly in the authorize filter when to return a 403 (only after the authorize policy fails) and it's much simpler than sprinkling this 401 to 403 logic all over the various auth middlewares.
But @loudej feels strongly that this is how it should work. Perhaps we can get some insight into why this approach is better?

And to underscore one thing;
The 401 (Unauthorized) status code indicates that the request has not been applied because it lacks valid authentication credentials for the target resource. The server generating a 401 response MUST send a WWW-Authenticate header field (Section 4.1) containing at least one challenge applicable to the target resource.

Having Cookie Auth generate a 403 is even stranger than I originally thought. To be consistent with the 401 scenario that redirects to LoginPath, it should redirect to a similar AccessDeniedPath if set.

Yes, a new [HandleForbidden] might be in order:
https://github.com/IdentityModel/Thinktecture.IdentityModel/blob/master/source/Owin.ResourceAuthorization.Mvc/ForbiddenFilterAttribute.cs

Summary of current thinking:
-MVC Filter will always return ChallengeResult when either AuthN or AuthZ fails.

All security auth middlewares will have logic which knows whether it has generated an identity, on the way out, if a 401 is seen with a challenge for the identity it has generated, it will convert the 401 to a 403, and skip any other logic (redirects etc)

@HaoK the more I think about it, the more I realize that it's semantically incorrect:
// Simulate Authorization failure
var result = await context.AuthenticateAsync(CookieAuthenticationDefaults.AuthenticationType);
res.Challenge(CookieAuthenticationDefaults.AuthenticationType);

It actually corresponds to a different scenario, where the user has been correctly authenticated but you want him to re-authenticate anyway. In this case, you can't alter the 401 response to return a 403 one, because the client is not supposed to try to re-authenticate.

10.4.4 403 Forbidden

The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead.

Merged 775eb5ece452e10a27aa166f52b58a6c0b615d18

Re-opening and linking to #246

@blowdart did you want this issue to track something different than #246 or are you just creating dupes for me to hunt down?

I'm creating more work now, because it's fun for me :D

Proposed changes are here https://github.com/aspnet/Security/issues
Closing as dupe


Software Doesn't Validate Input Parameters

If the BAM file name is mistyped, Kourami doesn't check if the file exists and commences reference graph construction. Good software design means the input parameters are validated before any processing is done, so that the error occurs early.
$ java -jar Kourami.jar -d databases/kourami/ -o test /path/to/nonExistent.bam
----------------REF GRAPH CONSTRUCTION--------------
---------------- READ LOADING --------------
htsjdk.samtools.util.RuntimeIOException: java.io.FileNotFoundException: /path/to/nonExistent.bam (No such file or directory)

Also, the reference graph construction happens every time I run the command. Why is it repeated when it could be done once and saved to disk? I'm glad software such as bowtie only builds its index once (e.g. using bowtie-build) and allows it to be reused in future analyses.

some levels of input parameter validation has been incorporated in the latest release.
We looked into serializing the graph construction but it turns out that there isn't much of gain in speed and performance.


Edit cogs/ready.py

Edit for When executing the code, it will be displayed slowly. because you have to calculate cpu and ram usage

I'll merge!!!


Code and Example of Dimenetpp

This is the code and example on MoleculeNet ESOL loader and Feature generator.
Comments part are here to related the fix in Distance / RBF Envelopp / ...
this is to fix issue #2403

Hi @thegodone. Thanks for this PR. Is it possible for you to implement a DimeNet++ model directly in PyG (at best by re-using some functionality from the DimeNet model?

I can but it means that I have to add 4,5 modifications in the current PyG Dimenet part. Should I set a "fix" parameter of a "2.0" version parameter in those functions/classes ?

Can we make that an internal flag, i.e., self._pretrained_version, which just get sets to True in case we are calling from_pretrained?

Yes we can do that, it makes sense. For existing Dimenet pretrained model is it per target or a multitask model stored in TF and reload in PyG ?

It is per target.

I implement the code in the Dimenet PyG code and Add a fix bool parameter

Codecov Report

Merging #2421 (4e9e494) into master (d7d8e5e) will decrease coverage by 0.14%.
The diff coverage is 10.66%.

@@            Coverage Diff             @@
##           master    #2421      +/-   ##
==========================================
- Coverage   83.52%   83.38%   -0.15%
==========================================
  Files         200      206       +6
  Lines        9000     9513     +513
==========================================
+ Hits         7517     7932     +415
- Misses       1483     1581      +98

Impacted Files
Coverage Δ

torch_geometric/nn/models/dimenet.py
15.87% <10.66%> (-3.06%)
:arrow_down:

torch_geometric/utils/undirected.py
93.10% <0.00%> (-6.90%)
:arrow_down:

torch_geometric/transforms/to_undirected.py
35.71% <0.00%> (-4.29%)
:arrow_down:

torch_geometric/data/dataset.py
95.08% <0.00%> (-1.98%)
:arrow_down:

torch_geometric/data/graph_saint.py
97.97% <0.00%> (-0.98%)
:arrow_down:

torch_geometric/data/in_memory_dataset.py
86.13% <0.00%> (-0.68%)
:arrow_down:

torch_geometric/transforms/gdc.py
78.10% <0.00%> (-0.47%)
:arrow_down:

torch_geometric/nn/models/deepgcn.py
17.77% <0.00%> (-0.41%)
:arrow_down:

torch_geometric/data/data.py
91.45% <0.00%> (ø)

torch_geometric/nn/__init__.py
100.00% <0.00%> (ø)

... and 22 more

Continue to review full report at Codecov.

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


feat(freespace_planning_algorithms): implement option for backward search from goal to start

Description
When using A-star freespace planner, in most cases the path found will arrive at the goal with small offset in position and orientation due to the discretized search space. As a result the vehicle might not arrive with the exact desired pose.
For certain applications such as parking, matching the actual goal pose is important, therefore it useful to be able to configure the planner to do the search process backwards (starting from goal pose towards start pose).
Changes

Includes changes from preceding PR
Modified A-star expansion logic to support backward search
Added parameter to configure search method (forward search or backward search)

Related links
Preceding PR's

https://github.com/autowarefoundation/autoware.universe/pull/8068
https://github.com/autowarefoundation/autoware.universe/pull/8089

How was this PR tested?
tested on psim.
compared performance with unit tests:
Single Turning Step
(config: max_turning_ratio = 0.5, grid_resolution = 0.3, theta_size = 120)

Multi Turning Steps
(config: max_turning_ratio = 0.5, grid_resolution = 0.3, theta_size = 120)

Notes for reviewers
This PR includes changes from a preceding PR. so please review the PR's in order.
Interface changes
ROS Parameter Changes
Additions and removals

Change type
Parameter Name
Type
Default Value
Description

Added
search_method
string
forward
method of searching, start to goal or vice versa

Effects on system behavior
Can configure A-star search direction, forward search (start pose to goal pose) OR backward search (goal pose to start pose)

Could you rebase to the latest main?


scylla_repository: remove the need of scylla_product

change the code to be able to scan across both OSS and enterprise location to find a release or unstable relocatable package
SCYLLA_PRODUCT envirment variable is still in the code but used only when fetching really old release that doesn't have unified relocatable package (ex. 2020.1), leave this code so we can still fetch and use those old versions

What's the status of this PR?

What's the status of this PR?

It's actually ready and working just fine (verified it again, with release version, and with branch versions)

Which branches we need to backport to?
(Status is "Waiting backport")


chore: clean up repo

refactor: simplify <PrismicPreview> logic
chore: clean up repo

Types of changes

[x] Chore (a non-breaking change which is related to package maintenance)
[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] New feature (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
This PR contains repo clean up and maintenance.
Checklist:

[ ] My change requires an update to the official documentation.
[x] All TSDoc comments are up-to-date and new ones have been added where necessary.
[x] All new and existing tests are passing.

Codecov Report

Merging #25 (67f75ac) into main (db8ca22) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #25   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          541       528   -13
  Branches        22        24    +2
=========================================
- Hits           541       528   -13

Impacted Files
Coverage Δ

src/PrismicPreview.tsx
100.00% <100.00%> (ø)

src/lib/extractPreviewRefRepositoryName.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

The changes in this PR have been rolled into #28.


[Relay] Continuation Passing Style

The code implement a higher order continuation passing style transform in the spirit of (http://matt.might.net/articles/cps-conversion/, the higher order transform section).
This help training by helping PE which help AD.
Suppose we have some code, of the form

let a = if b then c else d in e

in the partial evaluator, if b is dynamic c and d will be partially evaluated, and their result will be thrown away, so it cannot help e.
However, if we cps the program, it will become

let f a = e in if b then f c else f d

with e inlined, and possible to do further simplification base on the partial evaluator result of c/d.
There are two big design choice this commit to:

polymorphic continuation because we want to type check things. this mean we move from HM to System F.
CPS itself. It is somewhat un-revertable, and has implication on further optimization. Some say it is good while some say it is bad.

We should discuss a bit.
@jroesch @tqchen @nhynes

@junrushao1994 @vinx13 I got it print what you guys want.

turn out system f is not needed.

Nice work! I will check if this is helpful for more complex cases of AD

Is global var not yet supported?

@vinx13 it is not supported, but there is no difficulty (only that I havent write some C++).
there are integration test for CPS, and CPS is itself a bit hard to test (the property) alone, as this one does a bit of simplification to remove immediate continuation.

This is ready to review.
@zhiics I cant make UnCPS a transform as it only work on certain type.
@icemelon9 @wweic @srkreddy1238 can you guys also help review?

One thing @MarisaKirisame given that we are moving towards new transform.h and Module->Module, would be great to keep everything in the new style

@tqchen I am unable to make UnCPS into the new style as it only work on some of the function. We probably want to discuss design.

I think we might want to have a conversation about where should we put the remaining function->function transformations into.


Allow skuba node to run forever

Forgot that skuba node could be used in CI for maintenance-y things

Broken due to https://github.com/seek-oss/skuba/pull/1450


[SPARK-47036][SS] Cleanup RocksDB file tracking for previously uploaded files if files were deleted from local directory

What changes were proposed in this pull request?

This change cleans up any dangling files tracked as being previously uploaded if they were cleaned up from the filesystem. The cleaning can happen due to a compaction racing in parallel with commit, where compaction completes after commit and a older version is loaded on the same executor.
Why are the changes needed?

The changes are needed to prevent RocksDB versionId mismatch errors (which require users to clean the checkpoint directory and retry the query).
A particular scenario where this can happen is provided below:

Version V1 is loaded on executor A, RocksDB State Store has 195.sst, 196.sst, 197.sst and 198.sst files.
State changes are made, which result in creation of a new table file 200.sst.
State store is committed as version V2. The SST file 200.sst (as 000200-8c80161a-bc23-4e3b-b175-cffe38e427c7.sst) is uploaded to DFS, and previous 4 files are reused. A new metadata file is created to track the exact SST files with unique IDs, and uploaded with RocksDB Manifest as part of V1.zip.
Rocks DB compaction is triggered at the same time. The compaction creates a new L1 file (201.sst), and deletes existing 5 SST files.
Spark Stage is retried.
Version V1 is reloaded on the same executor. The local files are inspected, and 201.sst is deleted. The 4 SST files in version V1 are downloaded again to local file system.
Any local files which are deleted (as part of version load) are also removed from local → DFS file upload tracking. However, the files already deleted as a result of compaction are not removed from tracking. This is the bug which resulted in the failure.
State store is committed as version V1. However, the local mapping of SST files to DFS file path still has 200.sst in its tracking, hence the SST file is not re-uploaded. A new metadata file is created to track the exact SST files with unique IDs, and uploaded with the new RocksDB Manifest as part of V2.zip. (The V2.zip file is overwritten here atomically)
A new executor tried to load version V2. However, the SST files in (1) are now incompatible with Manifest file in (6) resulting in the version Id mismatch failure.

Does this PR introduce any user-facing change?

No
How was this patch tested?

Added unit test cases to cover the scenario where some files were deleted on the file system.
The test case fails with the existing master with error Mismatch in unique ID on table file 16, and is successful with changes in this PR.
Was this patch authored or co-authored using generative AI tooling?

No

cc: @HeartSaVioR PTAL, thanks!

@sahnib Could you please submit a backport PR against branch-3.5? I see you've added affect versions to 3.5.x and there is merge conflict on cherry-pick. Thanks in advance!


Add some basic test cases

Currently we don't have any fleshed out test cases!  This is not good because it makes it hard to improve the code without breaking it!  May I suggest that we make use of the library pytest?  Then the work flow can include a run of the test suite before initiating a pull request.
As a first pass we can just test that each of the functions doesn't error out and only accepts/returns the expected types.
Later we can add more tests that check that check the accuracy of certain method's abilities to call peaks or calculate zscores etc.

I'll work on this!
Need tests for:
file_funcs.py

[ ] write_wig
[ ] open_wig
[ ] make_new_dir

make_peaks.py

[ ] populate_trans_mat
[ ] hmm_peaks
[ ] make_kink_fig
[ ] calc_thresh
[ ] thresh_peaks

zscores.py

[ ] adjust_down
[ ] adjust_up
[ ] remove_outliers
[ ] calc_score
[ ] l_score_helper
[ ] r_score_helper
[ ] z_scores

Sounds great!  Thanks for taking a look at this!

Also - just to check - I would really like to run all tests using the pytest library!  If you could make sure that any tests you write are compatible with that would be nice. If you would like I could add a few tests first to demo what that would look like


Settings window unusable

I have a 4k screen with quite a bit of default zoom, and the configure popup is basically unusable since it is too slim...

I don't have a 4k screen but the sth similar happens to me when the saka button is in the overflow menu. If it is in the main firefox toolbar then the settings window works as it should. I think this might be a limitation of Firefox that the Saka author would have to work around.
Firefox 89.0.2 (64-bit), Windows 10
Normal:

Button in Overflow menu:


bad syntax error when tabs are present

compiling this code:
Multi : [ One Str, Two ]

unwrap : Multi -> Str
unwrap = \foo ->
    when foo is
    	One x -> x
    	Two -> "two"

does not work (there is a \t before One and Two in the last two lines instead of four spaces)
the error as of 37729c08cc8ed6d808e323d7c1ba5a8a79b58228 is:
── MISSING EXPRESSION ──────────────────────────────────────────────────────────

I am partway through parsing a definition, but I got stuck here:

14│  unwrap = \foo ->
15│      when foo is
                    ^

I was expecting to see an expression like 42 or "hello".

(also the error message is written to stdout instead of stderr)

The error is now much clearer
── TAB CHARACTER ──────────────────────────────────────────────────── main.roc ─

I encountered a tab character:

11│             One x -> x
         ^

Tab characters are not allowed, use spaces instead.%


[modal] Escape shouldn't trigger until IME is settled

Steps to reproduce
Steps:

Open https://master--base-ui.netlify.app/components/react-dialog/
Start typing into the input. Start a composite word. Press Escape to cancel it.

Current behavior
It closes the modal
Japanese:
https://github.com/user-attachments/assets/3644d62a-63af-435a-b718-a99824343dd9
French:
https://github.com/user-attachments/assets/015e1bce-78db-4b36-8062-7cd73095c072
Expected behavior
It only closes the composite selector. https://mui.com/base-ui/react-modal/#component
https://github.com/user-attachments/assets/c2cb7ff1-2ae8-4b90-a66b-1624ac0dce2b
Context

It's easy to fix.
It's a regression from @mui/base. It works correctly there since this change was made: https://github.com/mui/material-ui/pull/39713.
As for where this is broken, it seems to be from https://github.com/floating-ui/floating-ui/blob/ecd627e4676a50643edcdf8915a6acefa50ee3d8/packages/react/src/hooks/useDismiss.ts#L159.
It's a low priority, we lived with this bug for a very long time in Material UI, so to fix, but for later.

Hello  @oliviertassinari :)
I think to fix the issue, change the key handler of the modal to use event.isComposing to determine whether the IME composition is active. If so, don't press the "Escape" key to stop the modal from closing. As a result, "Escape" will only cancel the IME input and won't shut the modal until the composition is finalized.

Please assign me this issue!

@naaa760 This is low priority, we have no plan to fix it.

If event.isComposing is unreliable in Safari then Number Field also needs to change to the event.which technique.

Reopening, #803 fixes a different component.

It's fixed but in an upstream dependency

The issue for popups was fixed in Floating UI already

Ah, so https://github.com/floating-ui/floating-ui/pull/3075.


Fix checks -> CHECKS in src/main.jl

Hello again, we missed this change in the last PR. I also took the liberty of updating the version.

I merged and tagged this one, but it would be great to add a test: https://github.com/ericphanson/ExplicitImports.jl/issues/90


Can not train Polarbear efficiently

Hi Dr.Zhang,
I am trying to train Polarbear using the data you provide (https://noble.gs.washington.edu/~ranz0/Polarbear/data/), but the training speed is too slow. Only when set batch_size to 1, the model can be trained (on one GPU with 80G memory). Even so, it will take much time (maybe more than half an hour) for one iteration. Could you please provide some training tips or pre-trained model?
Thanks so much
Luz

Hi Luz,
Thanks for your question. The code was tested on our local machines with less than 80G GPU memory with a batch size of 16, could you please provide more information on your system (e.g. GPU memory, CPU memory)?
Thanks,
Ran


Split View issues on OS X El Capitan

Hi,
When using MacVim on El Capitan, it seems there are some drawing issues that happen when going into Split View mode and when scrolling up and down while in Split View. Everything is drawn fine afterwards, when I use the redraw screen command ^L but this must be done each time I scroll which makes it hard to skim through papers. I have attached a screenshot below:

Thanks!

MacVim's full screen mode seems to rely on having a fixed/unchanging window size.
Upon entering full(split)screen, MacVim will allocate as much of the screen real estate as possible, leaving only a small margin for the other app it should share the desktop with.
Resizing the portions of the screen between the two apps on it will produce the glitched drawing. Moreover, resizing will not actually change the size of the editor buffer but just the visible part of it: lines don't wrap on the new window border but go beyond it into the invisible part of the editor only to wrap at some later point.
Every switch to another editor tab will restore the original full-screen window size, too, so editing multiple files in a split view is unusably inconvenient.

Hah -- looks like I'm not the only one who was going to use split screen (with Preview) to edit LaTeX. Let's hope this gets fixed...

I'm having the same problem with MacVim in full screen split view on El Capitan.
I'll summarize what I know:

When putting MacVim in full screen split view, it becomes a black screen or random patterns
Everything would be fine if redraw is triggered either by :redraw! command or by C-F / C-B
Scrolling the screen with mouse or j/k would trigger similar issues like the screenshot by @ahmadsalim
If the MacVim window is closed, MacVim application would crash every time.

I also noticed crashing, but for me it also occurs in the normal full screen.

Experienced the crash also.  Appears to be an assertion failure.  Here's a stack trace that got dumped in my terminal:
Voracious:modules eaoliver$ 2015-10-09 14:11:30.846 MacVim[16045:179616] *** Assertion failure in -[_NSWindowFullScreenTransition startExitFullScreenTransitionForCGWindow:targetFrame:duration:completionHandler:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.11/AppKit.subproj/NSWindowFullScreenTransition.m:650
2015-10-09 14:11:30.852 MacVim[16045:179616] An uncaught exception was raised
2015-10-09 14:11:30.852 MacVim[16045:179616] Invalid parameter not satisfying: _fullScreenState == NSExitingFullScreen
2015-10-09 14:11:30.852 MacVim[16045:179616] (
0   CoreFoundation                      0x00007fff8a4febd2 __exceptionPreprocess + 178
1   libobjc.A.dylib                     0x00007fff876a8dd4 objc_exception_throw + 48
2   CoreFoundation                      0x00007fff8a5038aa +[NSException raise:format:arguments:] + 106
3   Foundation                          0x00007fff8e996f46 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
4   AppKit                              0x00007fff85636e27 -[_NSFullScreenTransition startExitFullScreenTransitionForCGWindow:targetFrame:duration:completionHandler:] + 168
5   AppKit                              0x00007fff85636d74 -[_NSWindowFullScreenTransition _exitFullScreenModeForWindow:duration:completionHandler:] + 156
6   AppKit                              0x00007fff854360a9 NSPerformVisuallyAtomicChange + 147
7   AppKit                              0x00007fff85c091b6 __106-[_NSWindowFullScreenTransition _performExitFullScreenModeForWindow:options:customWindows:doKitAnimation:]_block_invoke + 954
8   AppKit                              0x00007fff85b24be7 __177-[NSDockConnection(FullScreenMessages) sendFullScreenExitForTransition:synchronous:window:exitForClose:backgroundWindows:participatingWindows:customAnimation:completionHandler:]_block_invoke + 60
9   libxpc.dylib                        0x00007fff915ff74b _xpc_connection_reply_callout + 26
10  libxpc.dylib                        0x00007fff915ff6ec _xpc_connection_call_reply + 36
11  libdispatch.dylib                   0x00007fff92601453 _dispatch_client_callout + 8
12  libdispatch.dylib                   0x00007fff92614c1c _dispatch_main_queue_callback_4CF + 1685
13  CoreFoundation                      0x00007fff8a4b4789 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 9
14  CoreFoundation                      0x00007fff8a47373d __CFRunLoopRun + 1949
15  CoreFoundation                      0x00007fff8a472d38 CFRunLoopRunSpecific + 296
16  HIToolbox                           0x00007fff94a77d55 RunCurrentEventLoopInMode + 235
17  HIToolbox                           0x00007fff94a77b8f ReceiveNextEventCommon + 432
18  HIToolbox                           0x00007fff94a779cf _BlockUntilNextEventMatchingListInModeWithFilter + 71
19  AppKit                              0x00007fff852fbf3a _DPSNextEvent + 1067
20  AppKit                              0x00007fff852fb369 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
21  AppKit                              0x00007fff852efecc -[NSApplication run] + 682
22  AppKit                              0x00007fff852b9162 NSApplicationMain + 1176
23  libdyld.dylib                       0x00007fff953505ad start + 1
24  ???                                 0x0000000000000003 0x0 + 3
)
2015-10-09 14:11:30.853 MacVim[16045:179616] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: _fullScreenState == NSExitingFullScreen'
*** First throw call stack:
(
0   CoreFoundation                      0x00007fff8a4febd2 __exceptionPreprocess + 178
1   libobjc.A.dylib                     0x00007fff876a8dd4 objc_exception_throw + 48
2   CoreFoundation                      0x00007fff8a5038aa +[NSException raise:format:arguments:] + 106
3   Foundation                          0x00007fff8e996f46 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 198
4   AppKit                              0x00007fff85636e27 -[_NSFullScreenTransition startExitFullScreenTransitionForCGWindow:targetFrame:duration:completionHandler:] + 168
5   AppKit                              0x00007fff85636d74 -[_NSWindowFullScreenTransition _exitFullScreenModeForWindow:duration:completionHandler:] + 156
6   AppKit                              0x00007fff854360a9 NSPerformVisuallyAtomicChange + 147
7   AppKit                              0x00007fff85c091b6 __106-[_NSWindowFullScreenTransition _performExitFullScreenModeForWindow:options:customWindows:doKitAnimation:]_block_invoke + 954
8   AppKit                              0x00007fff85b24be7 __177-[NSDockConnection(FullScreenMessages) sendFullScreenExitForTransition:synchronous:window:exitForClose:backgroundWindows:participatingWindows:customAnimation:completionHandler:]_block_invoke + 60
9   libxpc.dylib                        0x00007fff915ff74b _xpc_connection_reply_callout + 26
10  libxpc.dylib                        0x00007fff915ff6ec _xpc_connection_call_reply + 36
11  libdispatch.dylib                   0x00007fff92601453 _dispatch_client_callout + 8
12  libdispatch.dylib                   0x00007fff92614c1c _dispatch_main_queue_callback_4CF + 1685
13  CoreFoundation                      0x00007fff8a4b4789 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 9
14  CoreFoundation                      0x00007fff8a47373d __CFRunLoopRun + 1949
15  CoreFoundation                      0x00007fff8a472d38 CFRunLoopRunSpecific + 296
16  HIToolbox                           0x00007fff94a77d55 RunCurrentEventLoopInMode + 235
17  HIToolbox                           0x00007fff94a77b8f ReceiveNextEventCommon + 432
18  HIToolbox                           0x00007fff94a779cf _BlockUntilNextEventMatchingListInModeWithFilter + 71
19  AppKit                              0x00007fff852fbf3a _DPSNextEvent + 1067
20  AppKit                              0x00007fff852fb369 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
21  AppKit                              0x00007fff852efecc -[NSApplication run] + 682
22  AppKit                              0x00007fff852b9162 NSApplicationMain + 1176
23  libdyld.dylib                       0x00007fff953505ad start + 1
24  ???                                 0x0000000000000003 0x0 + 3
)
libc++abi.dylib: terminating with uncaught exception of type NSException

I think this comment in MMFullScreenWindow.m may have bearing:
 * When entering full-screen mode the window controller is set to control an
 * instance of this class instead of an MMWindow.  (This seems to work fine
 * even though the Apple docs state that it is generally a better idea to
 * create a separate window controller for each window.)

I wonder if swapping the window out without making a new window controller is confusing the split view logic in AppKit. Just a theory.
Thanks @splhack for #86! It shows where the critical code is. I built MacVim for myself, and I can get split view mode with correct drawing, though it fights with the split size and sometimes needs redraws. I feel motivated to clean up other full-screen glitchiness if I find a few moments.

crash issue is the same as #62


Replication - url_parsing_failed/nx_domain on IPv6

Description
I am attempting to schedule replication between two instances which only have IPv6 connectivity between them. The failure in the logs suggests that this parser cannot accept IPv6 addresses.
Steps to Reproduce

curl -X PUT 'http://[fd19:ca4f:1891:0:c77d:21c3:80b1:47d5]:5984/a'
curl -X PUT 'http://[fd19:ca4f:1891:0:c77d:21c3:80b1:47d5]:5984/a/a' -d '{}'
curl -X PUT 'http://[fd19:ca4f:1891:0:5d59:4c52:1d67:4f85]:5984/b'

Replicate Endpoint

curl -X POST  -H 'Content-Type: application/json' 'http://[fd19:ca4f:1891:0:5d59:4c52:1d67:4f85]:5984/_replicate' -d '{"source":"http://[fd19:ca4f:1891:0:c77d:21c3:80b1:47d5]:5984/a","target":"http://[fd19:ca4f:1891:0:5d59:4c52:1d67:4f85]:5984/b"}'

{"error":"nxdomain","reason":"could not resolve http://[fd19:ca4f:1891:0:c77d:21c3:80b1:47d5]:5984/a/"}

Fauxton
This one is trickier to replicate via curl IMO, so instead I've included an image of the configuration and then the output logs.

Logs:

[error] 2022-01-09T23:52:44.193423Z<EMAIL_ADDRESS><0.9118.0> -------- couch_replicator_httpc: auth plugin initialization failed "http://[fd19:ca4f:1891:0:c77d:21c3:80b1:47d5]:5984/a/" {session_request_failed,"http://fd19:ca4f:1891:0:c77d:21c3:80b1:47d5/_session","admin",{url_parsing_failed,{error,invalid_uri}}}
[error] 2022-01-09T23:52:44.193636Z<EMAIL_ADDRESS><0.9118.0> -------- throw:{replication_auth_error,{session_request_failed,"http://fd19:ca4f:1891:0:c77d:21c3:80b1:47d5/_session","admin",{url_parsing_failed,{error,invalid_uri}}}}: Replication 0d172815abcfddb7ae70200408d7f6b8 failed to start "http://[fd19:ca4f:1891:0:c77d:21c3:80b1:47d5]:5984/a/" -> "http://[fd19:ca4f:1891:0:5d59:4c52:1d67:4f85]:5984/b/" doc <<"shards/00000000-7fffffff/_replicator.1641770003">>:<<"52b362d49d9b3f9b57b03fed76000352">> stack:[{couch_replicator_httpc,setup,1,[{file,"src/couch_replicator_httpc.erl"},{line,59}]},{couch_replicator_api_wrap,db_open,3,[{file,"src/couch_replicator_api_wrap.erl"},{line,74}]}]

Expected Behaviour

Replication to occur as with IPv4.
More specifically, the URLs are in (I believe) the correct format for a directly specified IPv6 address, yet it seems for the _replicate endpoint these are parsed as domains, and the _replicator databases treats them as invalid addresses.

Your Environment
CouchdbTest1 (fd19:ca4f:1891:0:c77d:21c3:80b1:47d5/64):
{"couchdb":"Welcome","version":"3.2.1","git_sha":"244d428af","uuid":"7e9872dd6737bc29302be23caf5294c1","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}
CouchdbTest2 (fd19:ca4f:1891:0:5d59:4c52:1d67:4f85/64):
{"couchdb":"Welcome","version":"3.2.1","git_sha":"244d428af","uuid":"b6a91ada70259942daf27bc5fbad8f4a","features":["access-ready","partitioned","pluggable-storage-engines","reshard","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}

CouchDB version used:
curl 7.74.0
Debian 11 Bullseye.

Additional Context
I found https://issues.apache.org/jira/browse/COUCHDB-665 when searching, which suggests that this bug may be a regression. I used similar commands to them, with the difference being that I created two separate virtual machines for testing, rather than using a single host.
I haven't replicated this in this bug report, but I also tried on some other systems allocating a DNS name with a AAAA record to the same IPv6 addresses. This also did not immediately solve the problem, but I have left it out of this bug report as it might be a confounding variable.

This looks like a bug with url parsing. Specifically, it looks like it's in the _session (cookie) auth plugin in replicator.
If you're willing to try an experiment, see if disabling the session auth plugin would make it behave differently.  Try this config setting:
[replicator]
auth_plugins = couch_replicator_auth_noop

This bypasses the session plugin and switches to sending basic auth credentials with every request.

@JakeHillion thank you for checking.
nxdomain is the error from failing to resolve the host with DNS. In this case it's an IP already just in the IPv6 format. So this looks like a bug.

@nickva Not sure if that's the bug actually, as I'm getting this same error when using internal domains from fly.io that have AAAA records. I'm able to curl the same thing just fine, but CouchDB fails to replicate.
2023-10-10T15:37:03.329 app[5683d554a54dd8] iad [info] [error] 2023-10-10T15:37:03.329220Z nonode@nohost <0.2198.1> -------- Replicator, request GET to "http://5683d554a54dd8.vm.kitty-couchdb.internal:5984/kitty/" failed due to error {error,{conn_failed,{error,nxdomain}}}

2023-10-10T15:37:03.330 app[5683d554a54dd8] iad [info] [error] 2023-10-10T15:37:03.329678Z nonode@nohost <0.2198.1> -------- exit:{nxdomain,<<"could not resolve http://5683d554a54dd8.vm.kitty-couchdb.internal:5984/kitty/">>}: Replication c69137545c9630b0fc5f26941816e28b+continuous+create_target failed to start "http://5683d554a54dd8.vm.kitty-couchdb.internal:5984/kitty/" -> "http://e784936a2e2768.vm.kitty-couchdb.internal:5984/kitty/" doc <<"shards/80000000-ffffffff/_replicator.1696915972">>:<<"f0283eeea4248b169847e01f30001169">> stack:[{couch_replicator_api_wrap,db_open,3,[{file,"src/couch_replicator_api_wrap.erl"},{line,122}]},{couch_replicator_scheduler_job,init_state,1,[{file,"src/couch_replicator_scheduler_job.erl"},{line,634}]}]

root@5683d554a54dd8:/# curl http://5683d554a54dd8.vm.kitty-couchdb.internal:5984/_up
{"status":"ok","seeds":{}}

(5683d554a54dd8 is the machine with the local database, e784936a2e2768 is the machine being replicated to)

Is it fixed by 882e7161acb692d3e721c7653d8cdc2e5e65d2ef?

Good find @rnewson
That patch hasn't been released yet I think. @catgirlinspace would you be able to build Apache CouchDB main from source?
If you can, then you can try it out with this option:
[replicator]
ibrowse_options = [{prefer_ipv6, true}]

also its implied the nodes are ipv6-only so if this is a cluster I don't think they can connect without a separate change in vm.args to switch the distribution protocol module to `inet6_tcp' (https://www.erlang.org/doc/man/erl#proto_dist)

not at home to try that atm, but I'll try using a build of main tonight!
Unrelated but feels like an ok opportunity to ask since it was mentioned--is there much of a difference between replication and the clustering? Can I write to any node and it replicates to all the others with both methods or does that only work with one of them?

Clustering is a way to connect multiple Apache CouchDB nodes using Erlang's native clustering mechanism over TCP connections. At the HTTP API level it looks like a single Apache CouchDB instance. With clustering you could get 1) better performance, by having nodes process requests in parallel, and 2) reliability by having 2 extra document copies on separate nodes. If one or two node go down, you can still access you data. However there is more setup involved, with some firewall rules. See https://docs.couchdb.org/en/stable/cluster/index.html for more info. Clustering works best on reliable, low latency, network connections.
Replication is a way to replicate data between any Apache CouchDB compatible endpoints. It's a peer-to-peer setup, which is kind of a unique feature amongst databases. All the data is replicated via the HTTP API interface. You can run replication jobs on any Apache CouchDB instance and it can replicate between any two other CouchDB instances.  Replication can be bi-directional (A->B, B->A), or you can set up any other topology you like: a star, with a central instance, or a circle, etc. Replication is suitable even for high latency or unreliable networks, with intermittent connectivity. There are checkpoints and retries, which are all configurable.

Can I write to any node and it replicates to all the others with both methods or does that only work with one of them?

In case of replications, you can achieve that with a bi-directional replication. If you have CouchDB instances A  and B. You can replicate from A to B and then also from B to A. Those two replication jobs, then can also run on A, B, or even a third cluster C! You can read more about it in: https://docs.couchdb.org/en/stable/replication/index.html But you'd also have to be aware of conflicts since the same document could be updated concurrently on A and B.  You can read more about it here: https://docs.couchdb.org/en/stable/replication/conflicts.html

Ah, that makes a lot more sense, thank you!! Would be good to maybe put that somewhere in the docs possibly. I didn't see an explanation like this anywhere when I was looking.
For having A, B, and C nodes, how would I setup replication? Would I want like a triangle, where each vertex is a node and each side has bi-directional replication?

@nickva good news-- building CouchDB from main and using the config option you provided fixed it!!

good news-- building CouchDB from main and using the config option you provided fixed it!!

That's great to hear. Credit also goes to @rnewson for both fixing the ipv6 setting and remembering that it was the correct answer for this issue!

For having A, B, and C nodes, how would I setup replication? Would I want like a triangle, where each vertex is a node and each side has bi-directional replication?

A triangle would work with 3 bi-directional links (a total of 6 links):

On A run: A -> B, A-> C
On B run: B -> A, B -> C
On C run: C -> A, C -> B

Ah, I'll try that, thanks! Might also make a PR to the docs on replication to add this stuff (unless you want to?). Feels like this is information that should be there but I couldn't find it.

Might also make a PR to the docs on replication to add this stuff

That would be great, please do. Contributions are always welcome!

I also faced the same issue while migrating to the IPv6 cluster.
When can we expect a release with this fix?
Thanks, everyone🙏

The replication works well in the IPv6 cluster with CouchDB 3.3.3 Thanks again!

Cheers, @ajithcnambiar!
I'll close the issue then.


Wrong description of brace syntax in RegExp Library in SML of NJ Library

Version
2024.1 (latest)
Operating System

[X] Any
[ ] Linux
[ ] macOS
[ ] Windows
[ ] Other Unix

OS Version
Any OS: this is documentation
Processor

[X] Any
[ ] Arm (using Rosetta)
[ ] x86-64 (64-bit)
[ ] Other

System Component
Documentation
Severity
Minor
Description
Documentation of repetition match brace regexp, under the AwkSyntax structure, reads as follows:
A{n,}	matches n copies of A
A{n,m}	matches n copies of A
This is inaccurate
Transcript
Not applicable to documentation issue
Expected Behavior
I suggest this, which I took from Perl's documentation:
A{n,} = match at least n or more times
A{n,m} = match at least n times, but not more than m times.
Steps to Reproduce
Not applicable. This just has to do with the current documentation on SML/NJ's web page.
Additional Information
No response
Email address
<EMAIL_ADDRESS>

From my quick testing, these examples work fine with the BackTrackEngine; the ThompsonEngine fails on the last example, and the DFAEngine is more seriously broken.  I'm currently working on fixing the ThompsonEngine, since I wrote that one.  The DFAEngine probably needs a complete rewrite.
I will push a correction to the documentation.

A fix for the bug part of this issue has been pushed.


Add Chris Splinter to docs OWNERS

Adding csplinter to docs OWNERS file.
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/verify-owners


Arguments in readme incorrect

The readme still says Slack::Poster.new takes a team, token, and options.

Hey @farski
Yes, I did a big revision on the project. Will have to update the README. I'll do it this weekend and I'll let you know when it's ready.
Thanks

@farski I've updated the README.md
It's still missing the message attachments part, that I'll add during the weekend :)
Cheers

Please update on how to add attachements.

@Yue-Li will do, sorry, I didn't have the time I was expecting. Soon...


screenshots of latest updates

From shinyssdtools created by sebdalgarno: bcgov/shinyssdtools#157
for aussies and interim reporting + user guide?

done


fs-file-max and vm.swappiness sensible defaults?

The current defaults.yml (below) sets default params fs-file-max:100000 and vm.swappiness:20 . Are these truly good sensible defaults that we should always be applying? I am the opposite of an expert on these params, but looking at upvoted stackoverflow answers, I think these defaults should be removed from the formula if possible.
swappiness Q&A on stackexchange
"The default value [60] has most likely been chosen as an approximate middleground between these two extremes. As with any performance parameter, adjusting vm.swappiness should be based on benchmark data comparable to real workloads, not just a gut feeling"
[fs-file-max Q&A on stackoverflow]
(http://stackoverflow.com/questions/6180569/need-to-calculate-optimum-ulimit-and-fs-file-max-values-according-to-my-own-se)
"For fs.file-max, I think in almost all cases you can just leave it alone" and
"The 2.6 kernel automatically tunes fs.file-max based on available memory"
# -*- coding: utf-8 -*-
# vim: ft=yaml
sysctl:
  pkg: procps-ng
  config:
    location: '/etc/sysctl.d'
  lookup:
    params:
      -
        name: fs.file-max
        value: 100000
        config: fs.conf
      -
        name: vm.swappiness
        value: 20

Fixed by #14
I think @babilen and I woke up today and decided to work on the same thing :smiley:

Haha, that's amazing :)


Incorrect variant consequence in Platform L2G evidence

As reported by @fedde-s in Community

The VEP (Ensembl) tab on https://genetics.opentargets.org/variant/1_169681903_G_A lists that, in the gene C1orf112 (ENSG00000000460), that variant’s most severe consequence is that it is intronic. The GWAS lead variants table on the same page shows that the variant came up in (among others) a study titled “Acne (severe) [fixed effect model]”. This association does appear in the platform 1, but listing it as being intergenic near that gene. gnomAD itself agrees with OT Genetics.
The discrepancy suggests to me that the ‘variant annotation’ (referenced on https://github.com/opentargets/evidence_datasource_parsers#processing-genetics-portal-evidence) used to generate https://ftp.ebi.ac.uk/pub/databases/opentargets/platform/22.04/input/evidence-files/genetics-portal-evidences-2022-04-12.json.gz was less complete/up-to-date than https://ftp.ebi.ac.uk/pub/databases/opentargets/genetics/22.02.01/v2g/; the input files I linked currently match what their respective applications say.

@DSuveges reported differences in the way canonical transcripts or all transcripts are considered for VEP in different parts of our codebase
Pointers to relevant code chunks representing slightly different logics to handle VEP:
V2G VEP
https://github.com/opentargets/genetics-pipe/blob/4fdbbfb06d902f83a77418f9e90aedcb384cc025/src/main/scala/ot/geckopipe/VEP.scala#L92
Evidence datasource parsers
https://github.com/opentargets/evidence_datasource_parsers/blob/4e2ea54f928041dd78e21febabbafc477db19260/modules/GeneticsPortal.py#L352
L2G
https://github.com/opentargets/genetics-l2g-scoring/blob/09b7beb7793adc728b0b0c5ce683552d0fe861d9/1_feature_engineering/1_prepare_inputs.py#L434

My proposal:

As running VEP for all variants is too expensive, we should continue relying on the consequences provided by gnomAD.
As gnomAD provides all transcript consequences together with the flag canonical, we should drop all non-canonical transcript consequences upon generating the variant annotation.

pros:

Considering only the canonical transcript for consequences allows a biologically more relevant annotation, which by propagating to l2g calculation would potentially give us a more accurate locus to gene assignment.
Process-wise this would make the release more robust and more consistent, as all downstream processes can assume the transcript consequences are interpreted in the canonical transcript.

cons:

Larger scale discrepancies against big databases (gnomAD, Ensembl)
An existing issue is the discrepancy between the evolving Ensembl gene set we use on the Platform and on the Portal, while the Ensembl gene set used to calculate VEP for gnomAD is frozen. This problem existed before, but most likely has a very minor impact. Internalising VEP is not an option at the moment.

Note: this has implications to the L2G work (#2608)

What did you mean to imply by closing the issue? Has there been progress since you proposed a solution, that has either been included in release 22.06 (I have not spend time reproducing it yet) or should be in an upcoming one? Or did you internally agree that this is not an issue for EBI to address any further?


feat: hard and soft resets, --platform-only option

This PR adds more functionality to the reset command and renames the config:reset command to reset --hard.
Issue being fixed or feature implemented
Resetting configuration required running setup again after reset to regenerate platform init data. This is bad UX, because the user only expects to use setup to enter initial configuration. As a result, reset was implemented to leave platform in an initialized state, while reset --hard drops all containers and config as well. The config:reset command was removed.
What was done?

Remove config:resest
Added platform init step to reset command
Add --hard argument to also reset config
Add --platform-only argument to only process non-core containers
Refactor and rename commands as necessary

How Has This Been Tested?

Tested against testnet config
Tested with both testnet and evonet config nodes running

Breaking Changes
config:reset command no longer exists
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or updated relevant unit/integration/functional/e2e tests
[x] I have made corresponding changes to the documentation

For repository code-owners and collaborators only

[ ] I have assigned this pull request to a milestone

Note that the reset command implements docker-compose down while the reset --platform-only command uses docker-compose rm -f -v -s. But docker-compose rm -v documentation states that this option "Remove any anonymous volumes attached to containers" - it will not remove named volumes. This is ok if the config stays the same, but if you do reset --hard --platform-only it results in errors because the dirty volumes are still there. Should we add a step to clean up volumes? Or should we be using anonymous volumes here?

Note that the reset command implements docker-compose down while the reset --platform-only command uses docker-compose rm -f -v -s. But docker-compose rm -v documentation states that this option "Remove any anonymous volumes attached to containers" - it will not remove named volumes. This is ok if the config stays the same, but if you do reset --hard --platform-only it results in errors because the dirty volumes are still there. Should we add a step to clean up volumes? Or should we be using anonymous volumes here?

@strophy Yes, we need to drop named volumes as well for hard and soft. But in the case of soft, we need to init tenderdash after that.

@strophy Yes, we need to drop named volumes as well for hard and soft. But in the case of soft, we need to init tenderdash after that.

Thanks for the comments :) I implemented the final logic for mn reset --platform-only --hard, did a lot of refactoring and re-tested everything, let me know what you think.

Thanks for the comments :) I implemented the final logic for mn reset --platform-only --hard, did a lot of refactoring and re-tested everything, let me know what you think.


Remove open source option for CompCert

since CompCert does not support it

It used to be supported but it isn't anymore? What changed?

I patched it myself for 3.7 - which is a bit tricky to get legally right. I asked Xavier if he wants to merge and maintain it, but he was not a big fan of the idea. And in hindsight I tend to agree with his view - CompCert maybe used for evaluation purposes which I would say includes learning VST, and it doesn't make that much sense to learn VST without ever using your own C program, for which you do need the non open source parts of CompCert anyway. So the pure open source version is of marginal use and probably not worth the effort.


Emailing a channel- limits

Can you please update the document to explain the sending / throttling limits of sending email to a channel.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 905e2c09-ef3e-07cc-0809-6ff171157c47
Version Independent ID: c0d33162-183d-fff8-32e9-a999f391ea51
Content: Limits and specifications for Microsoft Teams - Microsoft Teams
Content Source: Teams/limits-specifications-teams.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

@DocUpdate  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@DocUpdate thank you for reaching out and helping improve MS Docs. I see the article was updated today and there are links that direct you to these limits . Please let me know if you need further information.

@DocUpdate  Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


detect_client_location on IPv6 machine

You mention some rucio bug in detect_client_location
https://github.com/PanDAWMS/pilot2/blob/a78652f0d6866d0829e8d0d5bff20af85cecbc8a/pilot/api/data.py#L246
but to be honest I don't know why you force pilot to fail in case this function is not able to resolve address. When I look at rucio master branch
https://github.com/rucio/rucio/blob/f3784d622e7b8a07635871ec99b31f2a0c1927b0/lib/rucio/common/utils.py#L658
their code never fails and just use some default IP addresses.
Basically your pilot2 and also old pilot always fails on machine without IPv4 address. Could you please update code not to fail in such situation. Unfortunately I really don't know which rucio bug you are trying to address by duplication this function with respect to rucio.common.utils.detect_client_location

The bug referred to is ancient and so is the comment; it meant that the function should in fact be pulled into the pilot from the Rucio API. Rucio people can do that for me. The function itself is deprecated and has been updated in both Pilot 1 and 2 dev pilots. The codes will be release asap.


Cannot join with IQueryable`DynamicClass

Here is what to include in your request to make sure we implement a solution as quickly as possible.
1. Description
I have two IQueryable<DynamicClass> objects and I am attempting to perform a join.
I have included a link to a fiddle showing the error.
2. Exception
If you are seeing an exception, include the full exception details (message and stack trace).
> Types 'System.Object' and 'System.Object' are incompatible (at index -1)
   at System.Linq.Dynamic.Core.DynamicQueryableExtensions.CheckOuterAndInnerTypes(ParsingConfig config, Boolean createParameterCtor, Type outerType, Type innerType, String outerKeySelector, String innerKeySelector, LambdaExpression& outerSelectorLambda, LambdaExpression& innerSelectorLambda, Object[] args)
   at System.Linq.Dynamic.Core.DynamicQueryableExtensions.Join(IQueryable outer, ParsingConfig config, IEnumerable inner, String outerKeySelector, String innerKeySelector, String resultSelector, Object[] args)
   at System.Linq.Dynamic.Core.DynamicQueryableExtensions.Join[TElement](IQueryable`1 outer, ParsingConfig config, IEnumerable`1 inner, String outerKeySelector, String innerKeySelector, String resultSelector, Object[] args)
   at System.Linq.Dynamic.Core.DynamicQueryableExtensions.Join[TElement](IQueryable`1 outer, IEnumerable`1 inner, String outerKeySelector, String innerKeySelector, String resultSelector, Object[] args)
   at QueryExperiment.CanJoin() in C:\Users\Daz Work\RiderProjects\Transformations\Transformations.Tests\QueryExperiment.cs:line 25

3. Fiddle or Project
https://dotnetfiddle.net/ysv4fC
``
4. Any further technical details
Add any relevant detail that can help us.

Updated the above to reference a fiddle instead. and changed the title.

I fixed this, by casting the queryable to the concrete type generated at runtime rather than using IQueryable<DynamicType>
 var enumerablePersons = personsTable.ToEnumerableDynamicClass(out var dataClassType); // dataClassType is the "Type" that is created at runtime, and derives from DynamicType.
        var queryablePersons = enumerablePersons.AsQueryable().OfType(dataClassType); // The magio sauce to cast the queryable to that type.

I can then join the queries as expected.


Improves Portuguese translation for challenge add-an-accessible...

1/1,376
Improves Portuguese translation for challenge add-an-accessible-date-picker.portuguese.md

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Access config values in gradle file or android manifest file

Is it possible to access my values in config file
--- .env.staging file ---
LIB_KEY=xxx
--- android/app/build.gradle ---
android {
    defaultConfig {
        applicationId "com.axinan.galadriel"
        manifestPlaceHolder: [libKey: <config value here>]
    }
}

So I can use the config value in my manifest file
--- Android.manifest ---
<application
     <meta-data
            android:name="com.lib.key"
            android:value="@{libKey} />
/>

Is this possible or got another way?

@raizal Hi again. I managed to access the config values from the Manifest. But still cannot access it from app/build.gradle.
Sample usage from the doc is like this:
defaultConfig {
    applicationId project.env.get("APP_ID")
}

But I get this error:
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not get unknown property 'env' for project ':app' of type org.gradle.api.Project.

anyupdate on this?
@iadcg  did u manage to fix it?

If anyone stumbled across this issue, for me it helped to move line
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"

to the very top (right below import com.android.build.OutputFile) of android/app/build.gradle file

I tried to upgrade to v0.11.7 and it still doesn't work.

Thanks to @Asvarox and everyone else on this thread. It worked great on our app. Tested on Android and iOS.
.env
GOOGLE_CLOUD_API_KEY=some-string-here

build.gradle
apply plugin: "com.android.application"
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"

AndroidManifest.xml
<meta-data
  android:name="com.google.android.geo.API_KEY"
  android:value="@string/GOOGLE_CLOUD_API_KEY"
/>

AppDelegate.m
NSString *gCloudApiKey = [ReactNativeConfig envFor:@"GOOGLE_CLOUD_API_KEY"];
[GMSServices provideAPIKey:gCloudApiKey];

@martinvol we use v0.11.7 as well

I had some issues getting this work with @string/key in Android manifest.
If anyone else has a similar problem, you can do a workaround
// in app/build.gradle
android {
  // ...
 defaultConfig {
   //...
  manifestPlaceholders = [
    KEY: project.env.get("KEY")
  ]
 }
}

// in AndroidManifest.xml

<meta-data
  android:name="io.demo.ApiKey"
  android:value="${KEY}" />
/>

It seems its only works when you pass the config like
ENVFILE=.env.staging react-native run-android --variant devReleaseStaging
But not when you run in dev mode like
react-native run-android --variant devDebug
So I cannot use this cos some of team mates are working on dev mode in their local and they will get the compile error =/

Hi, @iadcg. Did u manage to fix it?

I'm using v0.11.7. I also get trouble when using BUGSNAG_API_KEY in AndroidManifest.xml.
However, i've tested that the variable app_name defined in .env.prod file can be accessed correctly in AndroidManifest.xml. So I suspect the issue might from 3rd library (Bugsnag in my case).
In the end, I use the workaround provided by @youngern and it works.
// AndroidManifest.xml
<meta-data android:name="com.bugsnag.android.API_KEY" android:value="${BUGSNAG_API_KEY}" />
<activity android:name=".MainActivity" android:label="@string/app_name" ....

// .env.prod
BUGSNAG_API_KEY=xxxxxxx
app_name=AN_APP_NAME

// andoird/app/build.gradle
apply plugin: "com.android.application"
project.ext.envConfigFiles = [
    debug: ".env",
    release: ".env.prod",
]
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"

app/build.gradle
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
import com.android.build.OutputFile

defaultConfig {
   manifestPlaceholders=[MY_KEY:project.env.get("MY_KEY")]
}

dependencies {
   implementation project(':react-native-config')
}

manifest
<meta-data
  android:name="com.google.android.geo.API_KEY"
  android:value="${MY_KEY}"/>

not working for me.
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> java.lang.NullPointerException (no error message)


Discussion - compilation with Arduino - #includes

I assume you guys are using Arduino to compile and test?  Are you getting these missing library errors where you need to change your #includes to have parenthesis (") instead of greater than or less than (<   >)?
#include "fdrs_globals.h"

vs
#include <fdrs_globals.h>

When I try to compile with Arduino there are several I need to change to parenthesis in order for compilation to work.  Wonder what you guys are doing differently?

Quotes indicate the file is in the local sketch folder, carats (<>) are for a file in the Arduino libraries folder.

Quotes indicate the file is in the local sketch folder, carats (<>) are for a file in the Arduino libraries folder.

Thanks, yes I knew that.  I guess my question was are you copying the header files into the sketch folder or are you putting them into the libraries folder?  When I compile myself I just copy them all to the sketch folder.

I guess since they are all encapsulated by < and > that they are in the libraries folder.  Thanks!


⚠ Bofrost.de has degraded performance

In 36e0f40, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 984 ms

Resolved: Bofrost.de performance has improved in 1e59a97.


--std-in flag

We need to support std-in for both render and deploy.
Thor can't parse - in an array type. We could switch filenames back to a string, but it can't have any whitespace in it. E.g. "file1.yml,file2.yml", this would be different from all other commands (its possible quoting might work, but that's ugly too).
To keep the ability to support std-in we'll add a new flag --std-in or possibly something with a better name. This will add the - directly to the list of templates passed to with_processed_template_paths.  This would be allowed with --filenames but one or the other must be passed. (The idea of implicitly using std-in when no --filenames is passed seemed like a bad idea. We also didn't like making up a new magic stdin character).
This flag needs to be added to krane render, krane deploy, kubernetes-deploy, kubernetes-render.
I'm open to alternative ideas, but this seems like the one with the least future restrictions on how --filenames will work.

Done in #630


there are few unwanted typos which formed due to some mal function in neem.html file   .   can any one correct them.

this was cleared by mr sourav


📎 Implement noTemplateCurlyInString - eslint/no-template-curly-in-string

Description
Implement eslint/no-template-curly-in-string.
Want to contribute? Lets you know you are interested! We will assign you to the issue to prevent several people to work on the same issue. Don't worry, we can unassign you later if you are no longer interested in the issue! Read our contributing guide and analyzer contributing guide.
The implementer could take some inspirations from the implementation of existing rules such as noUselessEscapeInRegex.

i'd like to work on this.


Add UTransport based RpcClient implementation

Added an RpcClient implementation that keeps all state
about pending requests in memory only. Also added
corresponding unit tests.

@AnotherDaniel any thoughts/concerns?

@PLeVasseur I have added some log statements, does that work for you?

@PLeVasseur I have added some log statements, does that work for you?

Logging looks good to me. Thanks!


[BUG] Parsing of the following markdown structure failed: {"type":"code","name":"N/A"}.

Description:
When using the MDXEditor in source mode and attempting to insert a code block using triple backticks (```), the editor fails to parse the markdown structure, resulting in a parsing error. This issue prevents users from adding code snippets to their markdown documents directly in the source mode.
Error Message:
Parsing of the following markdown structure failed: {"type":"code","name":"N/A"}. Steps to Reproduce:
Steps 2 reproduce

Open the MDXEditor.
Switch to source mode by selecting the "Source" option.
Attempt to insert a code block by typing or pasting in triple backticks followed by some code, then closing with triple backticks again.
For example:

some code

Observe the parsing error message as described above.

Expected Behavior:
The editor should correctly parse the code block enclosed in triple backticks, allowing the user to insert code snippets into their markdown document without encountering a parsing error.
Actual Behavior:
The editor displays a parsing error when attempting to insert a code block using triple backticks, preventing the user from successfully adding code snippets in source mode.

My guess is that you need to configure the codeMirrorPlugin to support code blocks without any language specified, by passing a '': 'Text' to the codeBlockLanguages. Give it a try.

My guess is that you need to configure the codeMirrorPlugin to support code blocks without any language specified, by passing a '': 'Text' to the codeBlockLanguages. Give it a try.

I don't use the codeMirrorPlugin, and it's unnecessary for my purposes. Markdown inherently supports code blocks without the requirement to specify a language.
This bug was also reproduced in the official live demo

This issue is not critical but it would be nice to have it fixed.

I have encountered the same error as you, and need to configure all the code block languages you use in markdown to codeMirrorPlugin

@wp0403 Helps, but we should explicitly provide an empty string ('')
    const codeBlockLanguages = ['', ...]; // <- here
    ...
    codeMirrorPlugin({
      codeBlockLanguages: codeBlockLanguages.reduce((acc, language) => {
        acc[language] = language;
        return acc;
      }, {}),
    }),```

My guess is that you need to configure the codeMirrorPlugin to support code blocks without any language specified, by passing a '': 'Text' to the codeBlockLanguages. Give it a try.

This would be great to have in the example in the docs.


question about cl_kernel header file

Output of 'strings libarm_compute.so | grep arm_compute_version':
Platform:
Operating System:

Problem description:
question about cl_kernel header file:
when call clCreateProgramWithSource, how are the cl headers in  "ComputeLibrary\src\core\CL\cl_kernels" loaded?
For example,  in example "neoncl_scale_median_gaussian.cpp",  "scale.cl" is loaded, there is " #include "helpers.h" in , but  when is the "helpers.h" loaded to the program? I can't find it.

Hi @hxxfff
Please take a look at the CLKernelLibrary class, the kernels are embedded in the library's binary:
https://github.com/ARM-software/ComputeLibrary/blob/master/src/core/CL/CLKernelLibrary.cpp
Hope this helps.

Hi,
If EMBEDDED_KERNELS is defined, the headers is included in the generated *.clembed kernels.
but , if EMBEDDED_KERNELS is not defined, the header would not be included.
thanks,

Hi @hxxfff
Yes, if the library is compiled with the option embed_kernels=false, then it'll try to load the opencl kernels source code from the file system. Take a look at the source code: https://github.com/ARM-software/ComputeLibrary/blob/master/src/core/CL/CLKernelLibrary.cpp#L1160
When embed_kernels=true, the opencl code is inserted in the shared library binary.


Cutoff search text on Firefox

Autocomplete text on Course Explorer is cutoff for users on Firefox

afaik this can be fixed by changing 'padding: 5px;' to 'padding: 0px 5px;'

Thank you! I've been trying to get this fixed but I'm having some issues with my VM.

Should have been closed a while ago.


bad nonce error on oidc login flow

While using the OIDC login flow on the first login attempt from a clean tab I get the error "bad nonce".

Going back to https://myserver.mydomain.com/signin allows me to try again and the second time it works.
From looking at my traffic with an intercept proxy I was able to confirm my state (nonce) looks the same throughout the sign on flow and that the urls of the successful flows look the same as the "bad nonce" ones up to when the "bad nonce" comes back from the server.
The message seems to originate from here: https://github.com/Place1/wg-access-server/blob/89ab8fa29798f4eb79bf009b2a011f7666043cb1/pkg/authnz/authconfig/oidc.go#L88
I thought it might have been timeout related to this value: https://github.com/Place1/wg-access-server/blob/89ab8fa29798f4eb79bf009b2a011f7666043cb1/pkg/authnz/authconfig/oidc.go#L31
But my attempts to fix this by increasing the timeout were unsuccessful, changes: https://github.com/verdin/wg-access-server/commit/34872ba7e98a7d378dd8494e4e046c632cae7039 Even after making these changes I was still getting the "bad nonce" error. Although the server log "runtime error: invalid memory " error seemed to be gone, or less common.
My OIDC provider is AWS Cognito.
I am interested in digging into this but don't really know where to look next. I am also happy to run any tests or pull any logs that would be helpful.
Server log error, happens when I get "bad nonce"
time="2020-04-26T08:11:17Z" level=info msg="finished unary call with code OK" file="server_interceptors.go:95" grpc.code=OK grpc.method=ListDevices grpc.service=proto.Devices grpc.start_time="2020-04-26T08:11:17Z" grpc.time_ms=0.755 span.kind=server system=grpc
2020/04/26 23:14:06 http: panic serving <IP_ADDRESS>:58098: runtime error: invalid memory address or nil pointer dereference
goroutine 333170 [running]:
net/http.(*conn).serve.func1(0xc000568320)
        /usr/local/go/src/net/http/server.go:1767 +0x139
panic(0xbb9960, 0x12e57b0)
        /usr/local/go/src/runtime/panic.go:679 +0x1b2
main.main.func2(0x0, 0xc0002ad440, 0xc000114900)
        /code/main.go:140 +0x2a
github.com/place1/wg-access-server/pkg/authnz.(*AuthMiddleware).Wrap.func4(0xdcf5c0, 0xc000566000, 0xc000114900)
        /code/pkg/authnz/router.go:69 +0x3b2
net/http.HandlerFunc.ServeHTTP(0xc000507f80, 0xdcf5c0, 0xc000566000, 0xc000114900)
        /usr/local/go/src/net/http/server.go:2007 +0x44
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000162900, 0xdcf5c0, 0xc000566000, 0xc000114700)
        /go/pkg/mod/github.com/gorilla/mux@v1.7.4/mux.go:210 +0xe2
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000162000, 0xdcf5c0, 0xc000566000, 0xc000114500)
        /go/pkg/mod/github.com/gorilla/mux@v1.7.4/mux.go:210 +0xe2
net/http.serverHandler.ServeHTTP(0xc0005660e0, 0xdcf5c0, 0xc000566000, 0xc000114500)
        /usr/local/go/src/net/http/server.go:2802 +0xa4
net/http.(*conn).serve(0xc000568320, 0xdd1340, 0xc0006aca40)
        /usr/local/go/src/net/http/server.go:1890 +0x875
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:2928 +0x384
2020/04/26 23:14:30 http: panic serving <IP_ADDRESS>:58100: runtime error: invalid memory address or nil pointer dereference
goroutine 333182 [running]:
net/http.(*conn).serve.func1(0xc000569900)
        /usr/local/go/src/net/http/server.go:1767 +0x139
panic(0xbb9960, 0x12e57b0)
        /usr/local/go/src/runtime/panic.go:679 +0x1b2
main.main.func2(0x0, 0xc0002ad440, 0xc000115400)
        /code/main.go:140 +0x2a
github.com/place1/wg-access-server/pkg/authnz.(*AuthMiddleware).Wrap.func4(0xdcf5c0, 0xc0005662a0, 0xc000115400)
        /code/pkg/authnz/router.go:69 +0x3b2
net/http.HandlerFunc.ServeHTTP(0xc000507f80, 0xdcf5c0, 0xc0005662a0, 0xc000115400)
        /usr/local/go/src/net/http/server.go:2007 +0x44
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000162900, 0xdcf5c0, 0xc0005662a0, 0xc000115200)
        /go/pkg/mod/github.com/gorilla/mux@v1.7.4/mux.go:210 +0xe2
github.com/gorilla/mux.(*Router).ServeHTTP(0xc000162000, 0xdcf5c0, 0xc0005662a0, 0xc000114f00)
        /go/pkg/mod/github.com/gorilla/mux@v1.7.4/mux.go:210 +0xe2
net/http.serverHandler.ServeHTTP(0xc0005660e0, 0xdcf5c0, 0xc0005662a0, 0xc000114f00)
        /usr/local/go/src/net/http/server.go:2802 +0xa4
net/http.(*conn).serve(0xc000569900, 0xdd1340, 0xc000302880)
        /usr/local/go/src/net/http/server.go:1890 +0x875
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:2928 +0x384

My OIDC in config.yaml
 oidc:
    name: "AWSCognito" # anything you want
    issuer: "https://cognito-idp.us-west-2.amazonaws.com/us-west-[...]" # Should point to the oidc url without .well-known
    clientID: "j[...]f"
    clientSecret: "p9[...]4"
    scopes: ["openid"]  # list of scopes, defaults to ["openid"]
    redirectURL: "https://[...].[...].[...].com/auth/callback" # full url you want the oidc to redirect to, example: https://vpn-admin.example.com/finish-signin
    # Optionally restrict login to users with an allowed email domain
    # if empty or omitted, any email domain will be allowed.
#    emailDomains:
#      - example.com

@verdin sorry for being so slow to reply here.
I'm unsure what the issue is but it might be an issue with Cookies.
The nonce is saved in the client's session here (code). Is something in your setup breaking the session cookie? perhaps a browser extension or a proxy dropping the session cookie?

Thanks for your reply, no problem, we're all busy. I tested with a fresh private tab with my cookie remover disabled (I did have one) and ad bock turned off. I also had a friend test it. Still gives the same error. I just setup another OpenID provider and am going to test against that next.

After digging into this more I was still unable to prevent this problem. Seems like AWS Cognito may not handle the nonce in a normal way or something about my setup interferes with the url. I am using Traefik as a reverse proxy if that's relevant.
To resolve this problem for my setup I used another OIDC login with Traefik Forward Auth in front of the web interface. I have not determine why this works without nonce problem. I'll update this issue if I figure it out.

@verdin Do you mind sharing your docker compose? I'm using Traefik with forward auth too and am able to access the wg-access-server webui and generate tunnels but when connecting to the VPN from my phone it doesn't work.

Hi @robflate apologies for the late reply, here is my configs https://github.com/verdin/wg-traefik-files.
My setup was originally based on docker swarm so you might seem some warnings from that sort of config, it still works in normal docker-compose.


Logout

Do you need to create a controller for the logout url ?

Do you need to create a controller for the logout url ?

even tho it might be very late and also the issue is closed but I want to point this out for others :
You cannot manually expire a token after it has been created. you cannot log out with JWT on the server side as you do with sessions.
There are some techniques to do that for example blacklisting token saving blacklisted tokens in DB, the most efficient way is using Redis since it's a fast in-memory key-value database.


Fix continuous build test suite

It'd be really nice to get the continuous build passing so that if I send you some more complex changes I can feel a bit safer that I'm not breaking anything. Would it be better to fix or disable the failing tests? I'm not sure what the current state is

The main development branch is "newnaming" for now. The build is OK for this branch. We hope to merge it into the master really soon, just waiting the new AST part to be finished.

Disabled two failing tests because of the issues with current jackson-json-reference implementation. Will re-enable as soon as new version of jackson-json-reference is available


BuildConfig with dockerStrategy : there is no POM in this directory

I am making a build config with a docker Strategy but it does not work.
Template YALM of my BuildConfig
  - kind: BuildConfig
    apiVersion: v1
    metadata:
      name: bc-${CC}-${TM}
      namespace: ${CC}-${ENV}
      labels:
        ccxtm: ${CC}-${TM}
    spec:
      source:
        type: Git
        git:
          ref: ${GITBRANCH}
          uri: ${GITURL}
      strategy:
        dockerStrategy:
          from:
            kind: ImageStreamTag
            namespace: openshift
            name: ${ImageStreamTag}
      output:
        to:
          kind: ImageStreamTag
          namespace: ${CC}-${ENV}
          name: 'is-${CC}-${TM}:latest'

My Dockerfile
FROM redhat-openjdk18-openshift:1.2-6

ENV JAVA_HOME=/opt/run-java
ENV MAVEN_HOME=/opt/rh/rh-maven33/root/usr/share/maven/bin

RUN ${MAVEN_HOME}/mvn clean package -Dmaven.test.skip=true

COPY target/*.jar /deployments

EXPOSE 8080

CMD ${JAVA_HOME}/run-java.sh

The result
[INFO] Scanning for projects...
[INFO] BUILD FAILURE
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/home/jboss). Please verify you invoked Maven from the correct directory. -> [Help 1]

When the build starts, i can see this trace :
Cloning "http://git.gitlab.com/GROUPE_SOENCAISS/ugateway.git " ...
Commit: 0e79b607a5ac55891152fa25ce07949b49df817c (update three)
Author: XXX
Date: XXXXX

Pulling image ...

But where does the git copy has been made ?
Nothing in my home directory
/home
/home/jboss
Nothing in the temp directory
/tmp
/tmp/src
So where are they ?
Thanks

you're not using s2i so i'm not sure why you opened this against the source-to-image repo.
you're just using a standard openshift docker build strategy.
The source is available in the root of the docker context directory, so:
COPY . /tmp/src
in your dockerfile would add it.
You can see an example of a working dockerfile here:
https://github.com/openshift/ruby-hello-world/blob/master/Dockerfile#L6-L8


[Fullstack] Nx + Nestjs + Angular

Hi team,
I have implemented a fullstack version of this project with Nestjs, Angular, and Nx monorepo.
Please review my project repo at: https://github.com/nhaancs/realworld-nx-nestjs-angular
Thanks

Hello, we moved the addition of new implementations to this website : https://codebase.show/projects/realworld
Please submit your implementation there.


Track count of prepare, fulfill, and reject packets

As part of Telemetry V2, we want to add counts, and amount for the number of prepare, fulfill, and reject packets.
These new metrics are:

packet_count_fulfill
packet_count_reject
packet_count_prepare
packet_amount_fulfill (treat the amount as we do now: we need to convert it to a base currency, see the current collectTelemetryAmount function for this)

All of these metrics will be collected at the "receiving" connector, meaning, a count is updated only after it has "reached" the connector that receives that particular type of packet. We should track all packets (we shouldn't, and really, can't, differentiate between packets for quoting and actual transfers).
Example 1:

After this, the counts would look like:
packet_count_prepare = 2
packet_count_fulfill = 2
packet_amount_fulfill = amount of fulfill 1 + amount of fulfill 2
Example 2:

After this, the counts would look like:
packet_count_prepare = 2
packet_count_fulfill = 1
packet_count_reject = 1
packet_amount_fulfill = amount of fulfill

@mkurapov

I believe we need to collect the number of prepare packets as they arrive at a node and the number of fulfill and reject responses that same node is sending back. I.e. I don't think we want to collect the number of fulfill or reject responses that are received at a node, we want to collect the number of fulfill or reject responses that a node sends. The reason for this is that if you see your example above, if A keeps sending multiple requests to C, but only C has telemetry enabled we're gonna be collecting high numbers of prepares but absolutely no fulfill or reject packet counts.
In the scheme above, where we collect incoming prepares and outgoing fulfills/rejects then the collectTelemetryAmount metric is already correctly positioned, so that it aligns with all occassions where we send a fulfill response. So for this bullet point: "packet_amount_fulfill (treat the amount as we do now: we need to convert it to a base currency, see the current collectTelemetryAmount function for this)" Are you just asking me to change the name of the metric to packet_amount_fulfill? Because all of this logic is already at the packet level.

@JoblersTune

I think that makes sense - keeping the sending & receiving of packets for telemetry "self-contained" within a node/connector. One of the metrics we wanted to track was network loss, meaning we could calculate how many packets were lost by doing Number of packets - (2 * (rejected + fulfilled)) = “network loss”, but as long as we still collecting the fulfill/reject count increase after the HTTP request/at the end of the middleware chain, we should still get the same behaviour.

Yes, I think it makes sense to just rename the metric. The tricky part right now is to figure out the placement of it - currently, I think the way that it's placed the metric is collected twice during a fulfill packet - once in the receiving connector and another time in the sending connector.

@JoblersTune
Just wanted to add, when you are adding packet_amount_fulfill, make sure to also add source as an attribute on the counter metric, (as we aren't currently doing this for transactions_amount).

Working on capturing these metrics in a more numeric stat based dashboard that's easy to read


Add device_name tags to IO stats and disk checks

What does this PR do?
It adds a new tag called device_name to IO and disk checks on nix systems.
Motivation
Doing that so that we have a homogenous tag on block devices names.

Related to: https://github.com/DataDog/integrations-core/pull/6332


Action creates an empty report

The job outputs the findings of markdownlint, but the report by reviewdog does not contain any finding.
Example:
https://github.com/Rotzbua/test_markdownlint/runs/1625711973

@haya14busa Thanks! Now it works as expected.

:+1:


style(typings): updated ObservableInput to use PromiseLike instead of Promise

Description:
It appears that there are still some typing issues related to catch on both Promise<T> and Observable<T>.
This change simply reduces what we consider a Promise<T> just the thenable interface.  I double checked our code and our promise handling code only requires then and does not require catch.  This change will also make it easier for TypeScript consumers to return promise like items, instead of true promises.
Much like with the catch issue before I don't really have a valid test case, because all the unit tests do not use the ...Signature<T> interfaces, and instead just the methods.
Once we move to TS2.0 that will change, as we remove the signature interfaces and move them to the methods themselves.
Related issue (if exists):

Coverage remained the same at 97.129% when pulling abe07cfcfd68cd75c6e5095cfa0a16cef2a772e4 on david-driscoll:fix-promise-input into d876a35c46ced37868f1f4fa73d3b7fbb581e9c8 on ReactiveX:master.

I'm initially 👍 to this because we have actually been hit by this with Bluebird, which doesn't actually conform 100% to the Promise interface.

Neither type 'Bluebird' nor type 'Promise' is assignable to the other.
Property '[Symbol.toStringTag]' is missing in type 'Bluebird'.

Bluebirds prescribed "solution" was to ask you to wrap Bluebird promises in real ones with Promise.resolve(bluebirdPromise)

Agreed, I've also hit problems with Bluebird not strictly implementing Promise and would appreciate the extra flexibility that PromiseLike<T> gives.

It's the choice between giving users a foot gun, or causing them more pain to conform strictly to our interface.
In this case a miss behaving promise would have problems either way, this just makes it so that the types don't break down.  In TypeScript they could just force cast to any, and still cause themselves problems.
In my scenario today, I switched from beta10 to beta12 in one project, and all the types were failing.  switchMap, mergeMap, Observable.combineLatest.  It wasn't pretty.  This one change reversed all the problems though.

For me this change looks ok. In general I'd follow strict interface as much, but only if it doesn't hurt real world usecases doesn't feel uncomfortable.

LGTM
In some future version of RxJS, I think we'll make this more strict--certainly after Promise polyfills are no longer used. Until then, I think this is a very satisfying, practical compromise.

@david-driscoll can I get a rebase?

rebased

Coverage remained the same at 97.128% when pulling 67421c17ac649a55e59e3e297826b666c1040a64 on david-driscoll:fix-promise-input into ea983c37877f21a092cf5b1862f919e2f550689a on ReactiveX:master.

Coverage remained the same at 97.128% when pulling 67421c17ac649a55e59e3e297826b666c1040a64 on david-driscoll:fix-promise-input into ea983c37877f21a092cf5b1862f919e2f550689a on ReactiveX:master.

Thanks @david-driscoll !


Update http to do the caching

Description
update the github apps of mine to do the caching in the http module. Also removed the TODO comment in newapps as it is not eligible to be cached in http.get because call the same command twice with the same url.
@betterengineering to be aware of why the #TODO was removed in new_apps.star
Copilot

🤖 Generated by Copilot at 547c2ec
Summary
🚀🧹🔄

This pull request updates three apps (github_activity, github_repo, and new_apps) to use the new HTTP cache feature instead of custom or unnecessary modules. It also removes unused code and fixes some minor issues.

Oh we're the coders of the starry sea
And we love to make our apps run free
We use the HTTP cache with glee
And we toss the old cache.star to the lee

Walkthrough

Simplify caching logic by using HTTP cache feature and remove redundant cache.star module (link, link, link, link)
Remove unused json.star module from github_repo.star (link)
Fix typo in comment for DEFAULT_AUTH_TOKEN in github_repo.star (link)
Use built-in rep.json() method to parse JSON response in github_repo.star (link)
Update last modified date in new_apps.star (link)
Remove TODO comments from new_apps.star (link, link)

ty!


Zabbix 3.0 API change

There is a deprecated zabbix api function call in the zabbix-group.py code. Ansible module doesn't work with Zabbix 3.0 server. hostgroup.exists call must be droped according to [ZBXNEXT-2724] (https://support.zabbix.com/browse/ZBXNEXT-2724).

Hi @drrtuy
I removed yesterday the zabbix-group.py file from this repository. This module will use the zabbix_group.py file from the Ansible repository.
So I can't do anything for you.
Kind regards,
Werner

I have already noticed. Thx.
В Вт, 20/10/2015 в 09:58 -0700, Werner Dijkerman пишет:

Hi @drrtuy
I removed yesterday the zabbix-group.py file from this repository.
This module will use the zabbix_group.py file from the Ansible
repository.
So I can't do anything for you.
Kind regards,
Werner
—
Reply to this email directly or view it on GitHub.


Move interpolation of poses to 'cost_helpers'.

The next PR will reuse InterpolateNodes() in optimization_problem.cc to compute starting point for landmarks more precisely (now we just select the closest trajectory node in time to the landmark observation, although the nodes can be interpolated).

@wally-the-cartographer merge


windows compilation in external project - not Cmake -

Hi,
I'm trying to compile depthai-core with a non Cmake project on windows.
Cmake works like a charm no problems, just need non Cmake project sturcture here if possible, :).
I've added the following to my Visual Studio project:

C/C++ Additional include directories:

C:/Users/pierr/Documents/DEV/DEPTHAI_DEV/depthai-core/include
C:/Users/pierr/Documents/DEV/DEPTHAI_DEV/depthai-core/shared/depthai-shared/include
C:/Users/pierr/Documents/DEV/DEPTHAI_DEV/depthai-core/shared/depthai-bootloader-shared/include
C:/Users/pierr/Documents/DEV/DEPTHAI_DEV/depthai-core/shared/depthai-shared/3rdparty
C:/.hunter/_Base/cb0ea1f/4a379ff/9850c45/Install/include

Linker Additionnal Dependencies

C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-opencv.lib
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-resources.lib

Linker Command Line added options:

/DEPTHAI_TARGET_CORE /JSON_USE_IMPLICIT_CONVERSIONS=1 /__PC__ /XLINK_USE_MX_ID_NAME

as detailed in the integreation of the readme.
I get the following LNK2001 errors on compilation:

Here is the project, so you can test it yourself?
I'm using Visual studio 2019 with 1503d545d4caad91e0c1a8436c7951ff79b400ef master branch.
Thanks for your help.
Best,
P

Hi @pierrextardif
We've observed a similar issue in some other case as well, wondering if non CMake integration isn't working currently on Windows.
Will take a look at this and get back to you

@pierrextardif
Builds for me but with a couple of changes.
Build dynamic/shared library - using cmake build -D BUILD_SHARED_LIBS=ON and setting depthai-core.lib under Linker -> Input -> Additional Dependencies.
Also, this applies for a Release build of depthai library. When building, build depthai-opencv target. Will build core along as well.

@themarpe ,
Thanks for your answer.
It seems like it's not working for me.
Just to clarify:

Build dynamic/shared library - using cmake build -D BUILD_SHARED_LIBS=ON

I'v added a bool flag in my Cmake GUI :

Then when building, I build the solution for Depthai-open, which already has the depthai-core.lib as a linked lib:

It is building a .dll : [...]Release\depthai-opencv.dll
Then when building my external Visual Studio project, you mean to have:
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-opencv.lib
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-core.lib
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-resources.lib

?
Does it matter which commit I'm on on the master branch?

Then when building my external Visual Studio project, you mean to have:
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-opencv.lib
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-core.lib
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-resources.lib

Correct. But resources shouldn't be needed anymore. (make sure you do install again).
Also for consistency sake rely only on one. Either install and use the installed files, or use the files from build directory.
You seem to be mixing both now. (WRT include, library and runtime dependencies)
I guess we'll have to also provide a VS sln along in prebuilt binaries as a template to get up and running faster

Does it matter which commit I'm on on the master branch?

Latest commit on main should do. Nothing new on develop wrt to this currently.

Hi,
I'm not sure i understand, and I have the same probelm still.
Here is what i have been doing :
Method1 cmake-gui + visual studio
cmake-gui 3.23
Open depthai-core then set correct build folder, flags, etc:

Open project in Visual studio and build the depthai-opencv solution.
I get files in C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib which i then link in my external project.
Either i link :
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-core.lib
C:\Users\pierr\Documents\DEV\DEPTHAI_DEV\build_4\install\lib\depthai-opencv.lib
C:\dev\opencv\opencv\build\x64\vc15\lib\opencv_world455.lib

or just the opencv.lib one it is not working either. - iget the same linker error.
Method2 cmake command
from the x64 Command Promp  do cmake -S. -Bbuild -D'BUILD_SHARED_LIBS=ON' then cmake --build build --target install  .
Then link the created files from depthai-core/build/installed/libs .
What do you mean by :

Either install and use the installed files, or use the files from build directory.
You seem to be mixing both now. (WRT include, library and runtime dependencies)

Best,

@themarpe seems like a quick one for you, any tips?
Best,

@pierrextardif
Are you building for x64 or Win32? Also make sure you are building in same config (Release vs Debug)
If time permits, I'll prepare a template VS solution for integration.

@themarpe yes Release for x64.
Seems like i still had no luck. any chance you could provide a template please?
Or trouble shoot the answer above?

@pierrextardif
depthai-integration.zip
Extract into: depthai-core/msvc/[depthai-integration.sln/...]
Build depthai-core and install:
cmake -S depthai-core -B depthai-core/build -D BUILD_SHARED_LIBS=ON
cmake --build depthai-core/build --parallel --target install --config Debug

Copy libusb libraries from: depthai-core/build/install/lib/cmake/depthai/dependencies/bin to: depthai-core\build\install\bin
Make sure the OpenCV is installed under C:/opencv/[build/x64/...] otherwise modify the include, link and PATH (Environment variables, under Debugging) settings


Update Metadata During Bootstrap

This calls bump_online_role to update snapshot, timestamp, target, and bins during a bootstrap operation. This way, the updates don't have to wait for the automatic check to update those values.
Closes #26

@kairoaraujo can you give me more info on which task checked if a bump is required?
When do we start it and how often do we do that?
It seems I am missing something.


sysmenu: init at unstable-2024-06-13

Description of changes
Sysmenu is a simple and efficient application launcher written in gtkmm4.
Fixes  #320369.
Feels like an unstable package, hence the choice of version and updater.
Changes from upstream:

Removed runtime config - config can be done via program arguments
Removed non-deterministic compile flags

Things done

Built on platform(s)

[ ] x86_64-linux
[X] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@jtbx thanks for feedback, ready for re-review!

@Aleksanaa @jtbx ready for re-review thanks!


Source for the ollama/quantize docker image missing in the repo

Hi, I was trying to make some changes to that ollama/quantize only to realize that there was no Dockerfile for that image in this repo.

hey @netroy, it seems like it is being resolved by #1448, I will close the issue for now, please feel free to reopen it if needed.


docs: updated README

I updated the readme to be a little easier to understand.
This PR closes issue #51

Dear @art1373, Thanks for your help, please resolve the conflict.

@amerllica done. please review it and if any problem let me know thanks. :)

Dear @art1373, Sorry for late.


Change the letter capitalization

This will cause a potential error importing it as ES6 format

@matthew1232  any chance of merging this one?