work in facebook 5 sec then stop , in YouTube not work even sec

in some device work fully good with fb and youtube in some device it give error like below
as far as i know issue with audio related please help me
E/AndroidRuntime: FATAL EXCEPTION: BaseEncoder
Process: com.pedro.rtpstreamer, PID: 20745
java.nio.BufferOverflowException
at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:298)
at com.pedro.encoder.BaseEncoder.processInput(BaseEncoder.java:130)
at com.pedro.encoder.BaseEncoder.inputAvailable(BaseEncoder.java:170)
at com.pedro.encoder.BaseEncoder$2.onInputBufferAvailable(BaseEncoder.java:192)
at android.media.MediaCodec$EventHandler.handleCallback(MediaCodec.java:1738)
at android.media.MediaCodec$EventHandler.handleMessage(MediaCodec.java:1696)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.os.HandlerThread.run(HandlerThread.java:67)

Which mode are you using? (Camera1, Display...)
Device model and Api?

in fact i am doing USB camera and its working fine two type camera dont know why not work in other camera i think is audio type related issue

I can't give you support because I haven't anyway to test it.
I only can tell you that you can change buffer size here:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/base/Camera1Base.java#L257

you sure above error is audio type error only??

Check frame size here:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/BaseEncoder.java#L136

yes that point error occur let me clearly tell what to do?? is i because of high resolution camera that's why size need to increase??
clearly tell me where to change code so that in future my app will not crash
E/AndroidRuntime: FATAL EXCEPTION: BaseEncoder
Process: com.pedro.rtpstreamer, PID: 20745
java.nio.BufferOverflowException
at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:298)
at com.pedro.encoder.BaseEncoder.processInput(BaseEncoder.java:130)
at com.pedro.encoder.BaseEncoder.inputAvailable(BaseEncoder.java:170)
at com.pedro.encoder.BaseEncoder$2.onInputBufferAvailable(BaseEncoder.java:192)
at android.media.MediaCodec$EventHandler.handleCallback(MediaCodec.java:1738)
at android.media.MediaCodec$EventHandler.handleMessage(MediaCodec.java:1696)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.os.HandlerThread.run(HandlerThread.java:67)

I told you.
Set frame.getSize that you get before crash in this line:
https://github.com/pedroSG94/Stream-USB-test/blob/master/app/src/main/java/com/pedro/usbtest/streamlib/USBBase.java#L160
Maybe, you need update library version:
https://github.com/pedroSG94/Stream-USB-test/blob/master/app/build.gradle#L31

but for audio there is null frame

That is not possible:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/BaseEncoder.java#L134
And video can’t crash in that line because usb example only use surface to buffer encoding so that line is never called

i forget max value to pass now that solved
new crash here
ava.io.IOException: shutdown failed: ENOTCONN (Transport endpoint is not connected)
at java.net.PlainSocketImpl.socketShutdown(PlainSocketImpl.java:283)

I can’t see any line in that logcat.
Anyway, socket problem should be related with internet. Check that you have access to server.

two final question

any reason for getting audio in some device and and not getting for other device??/
can i only stream video not  audio (i am not talking about disable audio -i am talking  if you face problem in getting audio)

1- I always get audio from phone microphone. I never use usb camera audio or disable audio in some devices.
Sometimes usb camera could contain microphone and this can block phone microphone. Try plug camera and record a video with default camera app to know if phone microphone is working.
2-I haven’t problems with audio but I’m not using usb camera so this should be related with usb camera.
Actually usb camera support is without maintenance because I haven’t usb camera and usb library is developed by other people so I can’t help in that part.

actually i developed custom project using most of your project for usb , i havent use your usb camera project because it never connect usb camera to phone.
now i describe you properly:-
usb camera(640480 and 7201280)working fine in youtube and facebook in two device (Google nexus 5 and MI Poco F1).both camera and phone work fine  no error at all.  { i am taking only video frame from usb camera and for audio i using MicrophoneManager to get audio ) that work very well in above situation.--work in facebook YouTube fine no time limit
Now problem is when i try to use (1920*1080) camera in Samsung 9plus and when i see code log cat then i get info that here only video data  frame getting correctly but not getting any frame for audio and thats why in fb it work for just4-5 sec and stop and in youtube not work for any second. problem is i ssure you audio not getting this time

Yes, Audio is mandatory to stream in fb and yt.
If you can’t get buffer from microphone I recommend you test with default example in this project to discard problems with my library.
After that, share me a full logcat using usb 1080p

default example i test first  with phone camera then test with usb 1080p camera???

Yes, to discard usb problems.
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/app/src/main/java/com/pedro/rtpstreamer/defaultexample/ExampleRtmpActivity.java

i just do,
i can heard audio but video is black when i try use your  default example with my phone camera
https://www.youtube.com/watch?v=JqMFTZ2M0fw&feature=youtu.be

Microphone is working properly so you have problems with usb camera.
Share me full logcat using usb camera but if I can’t see anything in that I can’t help you

i will soon send you

thanks bro i finally got my silly mistake
below method not used that why audio frame max size always got 0 and that reason it not streaming
now i use at above audio encoder start and it work super cool
public void prepareAudioRtp(boolean isStereo, int sampleRate) {
flvMuxer.setIsStereo(isStereo);
flvMuxer.setSampleRate(sampleRate);
}


produces .canonicalized.xml.FAILED if validation fails (for debugging)

For #181

Did you actually test it? I don't think this can work:
-xmlstarlet val --xsd ../../schema/tokenscript.xsd $@ || (xmllint --noout --schema ../../schema/tokenscript.xsd<EMAIL_ADDRESS>mv $<EMAIL_ADDRESS>
￼
Because you checked failed file then used mv to create them. actual order should be reversed.

say "INVALID" instead of "FAILED" to be specific (e.g. the new guy might think it's signature verification failed.


problem with split_module method

hi，
When I use your example code, I found that the split_module has inconsistent number of parameters. How to solve this problem?
This is your example code:
import torch
from typing import Any

class MyNetworkBlock(torch.nn.Module):
    def __init__(self, in_dim, out_dim):
        super().__init__()
        self.lin = torch.nn.Linear(in_dim, out_dim)

    def forward(self, x):
        x = self.lin(x)
        x = torch.relu(x)
        return x
   `class MyNetwork(torch.nn.Module):
    def __init__(self, in_dim, layer_dims):
        super().__init__()

        prev_dim = in_dim
        for i, dim in enumerate(layer_dims):
            setattr(self, f'layer{i}', MyNetworkBlock(prev_dim, dim))
            prev_dim = dim

        self.num_layers = len(layer_dims)
        # 10 output classes
        self.output_proj = torch.nn.Linear(layer_dims[-1], 10)

    def forward(self, x):
        for i in range(self.num_layers):
            x = getattr(self, f'layer{i}')(x)

        return self.output_proj(x)

mn = MyNetwork(512, [512, 1024, 256])

from pippy.IR import Pipe

pipe = Pipe.from_tracing(mn)
print(pipe)
print(pipe.split_gm.submod_0)

and this error is :
Traceback (most recent call last):
  File "test1.py", line 38, in <module>
    pipe = Pipe.from_tracing(mn)
  File "/var/haishin/lab/PiPPy-main/pippy/IR.py", line 833, in from_tracing
    return Pipe._from_traced(mod, traced, multi_use_param_spec, output_loss_value_spec=output_loss_value_spec)
  File "/var/haishin/lab/PiPPy-main/pippy/IR.py", line 604, in _from_traced
    split = split_module(traced, mod, split_callback, qualname_map)
TypeError: split_module() takes 3 positional arguments but 4 were given

if update the torch.fx.passes.split_module?
       qualname_map : Dict[str, str] = {}
       # TODO: what does split do with module invocations? does it move the modules
       # into the submodules?
       split = split_module(traced, mod, split_callback)

I found that qualname_map variable is undefined in split_module：
@compatibility(is_backward_compatible=True)
def split_module(
    m: GraphModule,
    root_m: torch.nn.Module,
    split_callback: Callable[[torch.fx.node.Node], int],
):


Triangulation of 4 2D points

I have a weird thing going, I guess I'm doing something wrong.
I ask the library to perform a Delaunay triangulation on 4 points (by the way, it's a pity it cannot do that for 3 points...). But only one cell is produced.
Input data:
(0,0)
(0,-2)
(-0.71,-1.5)
(-0.71,-0.5)
Output data contains the last 3 points, not (0,0).
And another thing - if I change the order of the last two points in the input, no cell is produced whatsoever. Does triangulation depend on the order of the points? If so, how can I determine the order in a 2D or 3D world?

P.S. Don't bother about TestPoint3D, I project the 3D points onto a plane, and the 2D coordinates are projection coordinates.

The exact failing data set is:
(0, 0),
(0, -2),
(-0.70710678118654746, -1.5),
(-0.70710678118654746, -0.5)

Please see latest version (<IP_ADDRESS>1). I think this "edge case" has been fixed.

micampbell, I do not this this problem has been solved.  I am using version <IP_ADDRESS>6 and am getting the problem with the following data set:
1298, 1094
1298, 1096
1298, 1097
1298, 1098
I get this error: System.ArgumentException: 'The input data is degenerate. It appears to exist in 3 dimensions, but it is a 2 dimensional set (i.e. the point of collinear, coplanar, or co-hyperplanar.)'

if those four points are your entire data set, then this is correct to receive this error. Note that your 4 points are making a vertical line, and you appear to be asking for the delaunay triangulation or the voronoi. The existing methods are not able to handle this degenerate case.


Storage Explorer can't find newly-created blob container when choosing to open in Storage Explorer from VS Code storage extension

From https://github.com/Microsoft/vscode-azurestorage/issues/64
Steps to Reproduce:

Open storage explorer
From  VS Code storage extension, create a new blob container
Select 'Open Azure Account from Storage Explorer' on the new container

Expected Experience:
Storage Explorer should realize it doesn't have this blob container cached, and should check if it actually exists and then show it.
Actual Experience:

Verified on the latest build 20211205.1, this issue still reproduces for now, we will continue to track this issue.


[animations] Add a pointer in the README on how to properly add new issues targeted at the animations package

Since flutter/packages doesn't have its own issue-tracking, we should direct developers interested in filing issues on how to properly file issues under flutter/flutter and add the correct labels, such as package and p: animations.

Since flutter/packages doesn't have its own issue-tracking, we should direct developers interested in filing issues on how to properly file issues under flutter/flutter

We now have the "View/report issues" link on pub.dev, so I'm going to consider this fixed.

and add the correct labels, such as package and p: animations.

Only project members can add labels, so we can't tell people to do that.


Getting errSecInternalComponent from codesign

Hi,
I'm trying to run a Flutter app on my iPhone using https://flutter.dev/docs/get-started/install/macos as a guide and getting an error: errSecInternalComponent. I've surfed all the Internet, tried locking and unlocking keychains, restarting xcode and the mac and nothing helps.
Full logs: https://gist.github.com/tiabc/09046ca003e8f6055454a167c474ee74
MacOS Catalina Version 10.15.3.
XCode Version 11.3.1.
Flutter dev channel (though changing a channel doesn't help).
Downloading android-arm-profile/darwin-x64 tools...                 1.6s
Downloading android-arm-release/darwin-x64 tools...                 6.8s
Downloading android-arm64-profile/darwin-x64 tools...               1.5s
Downloading android-arm64-release/darwin-x64 tools...               1.1s
Downloading android-x64-profile/darwin-x64 tools...                 1.6s
Downloading android-x64-release/darwin-x64 tools...                 1.3s
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.16.2, on Mac OS X 10.15.3 19D76, locale en-GB)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] Connected device (3 available)

Does it have anything to do with Flutter or the os? Anyway, I've spent the last 3 hours trying to fix this one way or another and what I got is that the error comes from this command:
/Users/tiabc/apps/my_app/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App
               /Users/tiabc/apps/my_app/build/ios/Debug-iphoneos/Runner.app/Frameworks/App.framework/App: errSecInternalComponent

However, I haven't succeded solving it.
Any ideas? Do you need anything else to dig into the issue?

Maybe https://stackoverflow.com/questions/24023639/xcode-command-usr-bin-codesign-failed-with-exit-code-1-errsecinternalcomponen can help?
This does not really seem flutter related

Thank you for the attempt. No, I've tried everything there on the Internet including your link.
I'll close this as it seems unrelated to flutter.


workspace-resource-id parameter format would be useful to document

I actually had to contact support and they also had some trouble figuring it out, the workspace-resource-id parameter for enabling the monitor addon needs to be in the format: The resourceid should be like this :
/subscriptions/[your sub]/resourcegroups/[your oms rg]/providers/Microsoft.OperationalInsights/workspaces/[your oms workspace name]
and not just the actual id, as the parameter name implies

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

ID: d75c3a8d-1187-bea1-a7d4-7ebba71c1790
Version Independent ID: 75b0c352-762e-16ae-5cc6-d807ffc1dc3f
Content: az aks
Content Source: latest/docs-ref-autogen/aks.yml
Service: container-service
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

How is that not the actual ID?

Agreed. Please clarify this. I was also just confused by this.

I still am unable to get the syntax right. I've found it documented two ways and neither works for me.

@zqingqing1 @GaneshaThirumurthi @samkreter could someone on the AKS team please take a look?

This is a bit tricky
Workspace name is a field, but won't work here
Workspace ID (GUID) is a field but won't work here
The only thing that works here is workspace resource ID (which was taken from the API I believe)
Having this in mind, I think only workspace or workspace-resource might still be confusing.
Proposals:

Improve help text from
The resource ID of an existing Log Analytics Workspace to use for storing monitoring data.
to
The ARM resource ID (url) of an existing Log Analytics Workspace to use for storing monitoring data.

Rename to workspace-resource-url (and still change the help text)

I prefer 1) as resource-url is not really a term that is familar to Azure I think.

Yup, had trouble with this today. Found the solution not in the documentation, but here, as a documentation bug.

Its updated. Please reopen if you face further issues
--workspace-resource-id
The resource ID of an existing Log Analytics Workspace to use for storing monitoring data.


Added .RData and *.Rproj rules to R.gitignore

.RData files are usually saved at the end of an R session and contains the workspace image. (https://stat.ethz.ch/R-manual/R-devel/library/base/html/save.html)
*.Rproj is the extension used by R Studio projects

Thanks, but see #1245 and #1194 for why these rules were removed.


Switch to regional

Hi!
Thanks for the module, first of all.  I took a stab at updating this to use a regional instance manager instead of zonal.  This is the first infra I've deployed into GCP so hopefully this makes sense.  I was able to test that my changes actually apply but that's the limit of my testing so far.

@apenney Any chance you'd be able to respond to my comments so that we can consider merging this?


Disable HTTP timeouts for dcos task requests

As this command relies on a long-running HTTP connection using chuncked transfer encoding, it is common to have no data to read from the server for an undefined period of time.
This happens for example when opening a shell session and not typing anything.
https://jira.mesosphere.com/browse/DCOS_OSS-1827
This problem was introduced in #1052.

run linux integration tests

run windows integration tests

run mac integration tests


CLOUD-57130 spring update and logback config correction

@biharitomi @schfeca75

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2505/


Fancy Zones disables after Sleep

Microsoft PowerToys version
0.78.0
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
FancyZones
Steps to reproduce
Make computer sleep, then wake it again
PowerToysReport_2024-02-04-14-06-44.zip
✔ Expected Behavior
Fancy Zones to work after sleep
❌ Actual Behavior
After computer awake from sleep, fancy zones does not work. Need to manually toggle of and then on the feature.
Other Software
No response

/dup https://github.com/microsoft/PowerToys/issues/28607


Fixes bug from #129; switches to tz-aware datestamps; brings test data up-to-date

Thanks for the fixes!


Add debian/ configuration

First cut. Probably don’t want to merge the Drone configuration, since you already have the Github workflow set up. Also probably want a systemd configuration for a proper release.
Sample deb: rascsi_1.0.0-1_armhf.deb.zip

Awesome work!
I don't necessarily have a particular love of the Github workflows. I'll take a look at Drone and see what benefits it provides.
One initial comment - We should probably have separate debs for the Standard and Fullspec versions of the board. I'm not sure how many of either of these are floating around yet. The makefile in the latest pull request will build either with:
make all CONNECT_TYPE=FULLSPEC
or
make all CONNECT_TYPE=STANDARD
The resulting files will be in src/raspberrypi/bin/standard or .../bin/fullspec

I’m looking at the difference between STANDARD and FULLSPEC and it doesn’t really seem that there’s much code difference, just a few extra pins defined. Does it really need to be a compile-time option to choose between them?
It looks like it wouldn’t be hard to make it a flag or config option, either just --full-spec or --initiator, or enabling it when a host ID is specified, like -HD7=host. I don’t know if the Pi can detect whether the fullspec hardware is attached, but it would be nice to verify.
(My understanding is that the purpose of fullspec is to enable RaSCSI as the host/initiator, but I don’t see a clear explanation of standard vs. fullspec anywhere)

It took a while for me to figure out the difference between them as well. The only difference is the pins that control the direction of the bus transceivers. It does seem like a ton of redundant code for a very simple difference.
Unfortunately, these is no way for the Pi to know which it is connected to. In hindsight, we could have grounded a gpio to indicate whether it is a fullspec or standard. But hindsight is always 20/20.
Things get a lot more complicated if we want to support the other board variants. (I think there were 4 or 5) However, I don’t think we need to keep support for those.
I’m probably one of the few people in the world who as both versions of the board :) I like the idea of integrating these into a single executable, but I think that’s beyond the scope of this PR.

This pull request has been overcome by events - the easyinstall.sh script takes care of this.


[Android] Enable scrollTo/By in XWalkView

Delegate scrollTo and scrollBy methods to ContentView as the
actual scroll is done in native
BUG=XWALK-3112

@lincsoon @axinging @fujunwei Please take a look!

These APIs are not embedding API but inherited from View, so I think there's no need to add Crosswalk-style comments. But are we going to leave the description of all this kind of APIs blank? Any better idea?

This is what java doc looks like.
boolean	saveState(android.os.Bundle outState)
Save current internal state of this XWalkView.

void	scrollBy(int x, int y)

void	scrollTo(int x, int y)

void	setAcceptLanguages(java.lang.String acceptLanguages)
Set the accept languages of XWalkView.

But There are nothing in the documentation.
Maybe Those API don't list on the documentation.

Customer can use those API as View.

What I saw in the API document is:

scrollTo

public void scrollTo(int x,
int y)
Overrides: scrollTo in class android.view.View

scrollBy

public void scrollBy(int x,
int y)
Overrides: scrollBy in class android.view.View
There's a statement saying that the method is overrided from View's


Add Python: Launch TensorBoard command

Add a command to:

start up a TensorBoard session and display TensorBoard in a VS Code webview,
installing the tensorboard package if it isn't already installed,
prompting the user to provide a log directory if one hasn't already been provided,
killing the process running TensorBoard when the webview is disposed

Hi @joyceerhl
Thanks for this feature
I wanted to try this out but can't seem to figure out how
Can you please point me to a wiki or a working example?

Hi @omar16100, check out our blog post announcing this feature: https://devblogs.microsoft.com/python/python-in-visual-studio-code-february-2021-release/#tensorboard-integration

hey folks, this is a very nice feature, but not everybody uses.
Is there a way to disable this, so that this launch tensorboard session line does not appear?

e.g. for jupyter you could turn off decorations (similar to this) as:
{
  "jupyter.decorateCells": false,
  "jupyter.enableCellCodeLens": false,
}

You can add the following to your settings.json
    "python.experiments.optOutFrom": ["pythonTensorboardExperiment"]

I got too excited (does not work):

That's a user-level setting, looks like you've added it to your workspace settings. You might also need a reload for the setting to be picked up.

oh! I thought that workspace settings were just loaded on top of user ones.
That's right, those are workspace setting json.

(with workspace setting) "Palette→Reload Window" did not do anything
(with workspace setting) cold restart to SSH host did not do anything
(with user-level setting) cold restart to SSH... did not do anything (see snap below)

😕

@taiya Those are your local user settings. If you are in a Remote-SSH session, you will want to update the user settings on the remote machine instead. You can find those settings by opening the settings UI and clicking on the Remote tab.

Thanks for the pointer! context: I never use the UI when editing settings, and the "SSH: remote" settings are not listed when you look for "JSON" in the command palette:

For context, this is what @joyceerhl is referring to:

But I cannot find the settings, so I guess I have to find the settings.json corresponding to it...
which the UI does not tell me where it is... so here we go:
find ~/.vscode-server -name settings.json
[...]
~/.vscode-server/data/Machine/settings.json

Which now correctly recognizes the option:

And after a reload... it finally works:

Summary: the ssh-remote options need to be better exposed in the UI/command palette :)
Thanks @joyceerhl


listen should be an action of uair, not uairctl

Logically, the uairctl binary should be controlling existing instances out-of-band, like other -ctl tools commonly do.
The listen action breaks this paradigm by running in-band. Instead, the listen action should be done by the uair binary which is what starts the instance(s).
There are three non-exclusive workflows that come in mind:

the listen action is performed by default if a running instance is detected
the listen action starts a new instance if no running instance is detected
a "start" and "listen" are exclusive actions, either resulting in error if the conditions for it are not met  - this requires #17 to be implemented so that the error states can be handled properly in scripts

The listen action breaks this paradigm by running in-band. Instead, the listen action should be done by the uair binary which is what starts the instance(s).

I disagree. The architecture of uair is a typical client-server one, where there is one uair acts as a centralized 'server' and the uairctl instances act as clients. The way uairctl listen works is that the uairctl instances starts listening to the same socket in which uair is sending the timing information. It is more or less how fetch command works, but just listen just does it continuously until you manually interrupt.
uair is meant to be run as a daemon, maybe as a supervised process, if the user wants to run multiple synchronized instanced. I should clarify this in the README.
Also, a shift in paradigm will require a lot of refactoring at this point.

...
uair is meant to be run as a daemon, maybe as a supervised process, if the user wants to run multiple synchronized instances. I should clarify this in the README.

Fair enough, explained like this it makes more sense. The most confusing part for me was the *ctl part acting as a client more than a "controller" of sorts and the "daemon" part acting, in part, as a client on its own (as in it produces a directly consumable data on its stdout).
Refactoring would indeed be complicated and would break existing deployments quite a bit.
I'm happy with the explanation, up to you if you want to keep this open as a suggestion or not.
One thing though:

uair is meant to be run as a daemon, maybe as a supervised process,

In your opinion, would it make sense to ship a user systemd unit with uair to do just that? Or do you think this is more a task for packagers and distributors? I could write at least an example one to put in resources/, or perhaps under share/ to follow FHS a bit more closely? Not that it would be of any use in NixOS :)

In your opinion, would it make sense to ship a user systemd unit with uair to do just that? Or do you think this is more a task for packagers and distributors? I could write at least an example one to put in resources/, or perhaps under share/ to follow FHS a bit more closely? Not that it would be of any use in NixOS :)

I think it's more of a task for package maintainers as init systems are OS and distro-dependent but it doesn't hurt to ship a service file with us. I'd be happy to accept any contributions.

Closing for now. Feel free to ask if you have any more queries!


[Metrics] Metrics SDK export pipeline tracking issue

As controllers are responsible for coordinating the Accumulator, Processor, and Exporter components in an export pipeline, it is important to continue the work of https://github.com/open-telemetry/opentelemetry-js/pull/1017 before we have a spec of the solid definition of such pipeline.
Another important change with the latest spec of metrics sdk is the temporality of aggregators and how processors playing the role in accumulating aggregator snapshots to reduce the penalties on delta exporting pipelines.

Rename Batcher to Processor (ungrouped/without cumulation): #1700;
Processor processing phase interface #1717;
Aggregator snapshots;
Basic processor supporting both CumulativeExportKindSelector and StatelessExportKindSelector;
Reducing processor;
Controller interface;

Closing as spec updates. This is no longer valid.


Recently added support .NET assembly binding redirects doesn't appear to be working

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
NuGet
Package manager version
No response
Language version
The solution targets .NET 4.7.2
Manifest location and content before the Dependabot update
Relevant snippets of files copied below:
.proj file snippet:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
    <Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.AspNetCore.Http.Features, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.AspNetCore.Http.Features.2.1.1\lib\netstandard2.0\Microsoft.AspNetCore.Http.Features.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
    </Reference>
  </ItemGroup>
</Project>

packages.config file snippet:
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.AspNetCore.Hosting.Server.Abstractions" version="2.1.1" targetFramework="net47" />
  <package id="Microsoft.AspNetCore.Http.Features" version="2.1.1" targetFramework="net47" />
  <package id="Microsoft.Extensions.Configuration.Abstractions" version="2.1.1" targetFramework="net47" />
</packages>

app.config file snippet:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.AspNetCore.Http.Features" publicKeyToken="adb9793829ddae60" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

dependabot.yml content
Sensitive data removed and replaced with [text in brackets]
version: 2
registries:
  npm-artifactory:
    type: npm-registry
    url: [Artifactory URL here]
    token: [Artifactory Access Token here]
  nuget-artifactory:
    type: nuget-feed
    url: [Artifactory URL here]
    token: [Artifactory Access Token here]

updates:
  - package-ecosystem: gitsubmodule
    directory: "/"
    schedule:
      interval: daily
      time: "15:00"
      timezone: "Europe/London"
    target-branch: "develop"
    open-pull-requests-limit: 1

  - package-ecosystem: nuget
    directory: "/[project directory here]"
    schedule:
      interval: daily
      time: "15:00"
      timezone: "Europe/London"
    target-branch: "develop"
    open-pull-requests-limit: 1
    registries:
      - nuget-artifactory
    ignore:
      - dependency-name: "*"
        update-types: [ "version-update:semver-major" ]

  - package-ecosystem: npm
    directory: "/[project directory]"
    schedule:
      interval: daily
      time: "15:00"
      timezone: "Europe/London"
    open-pull-requests-limit: 1
    registries:
      - npm-artifactory
    ignore:
      - dependency-name: "*"
        update-types: [ "version-update:semver-major" ]

Updated dependency
Bump Microsoft.AspNetCore.Hosting.Server.Abstractions from 2.1.1 to 2.2.0
What you expected to see, versus what you actually saw
Since the update in Dec v0.238.0 we were expecting the update of app/web.config defined bindingRedirect dependencies to be updated alongside .proj and packages.config files. We don't believe there is any additional configuration required to do this. Please see this existing issue for details, the issue has been closed & I cannot reopen it, this is the PR for that issue.
If we update the dependency using VisualStudio then the app.config, the .proj file and the packages.config file all get updated correctly (see next section).
When Dependabot runs we see the .proj file & packages.config file get update whilst the app.config file is ignored and no updates are made. In addition we see additional dependencies updated to the most recent version rather than matching/equivalent version.
Updated .proj file snippet:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
    <Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60">
      <HintPath>..\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions.2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="Microsoft.AspNetCore.Http.Features, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60">
      <HintPath>..\packages\Microsoft.AspNetCore.Http.Features.5.0.17\lib\net461\Microsoft.AspNetCore.Http.Features.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60">
      <HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.8.0.0\lib\net462\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="Microsoft.Extensions.Primitives, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60">
      <HintPath>..\packages\Microsoft.Extensions.Primitives.8.0.0\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System.IO.Pipelines, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51">
      <HintPath>..\packages\System.IO.Pipelines.8.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Memory, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51">
      <HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
      <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
      <Private>True</Private>
    </Reference>
  </ItemGroup>
</Project>

Updated packages.config file snippet:
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.AspNetCore.Hosting.Server.Abstractions" version="2.2.0" targetFramework="net472" />
  <package id="Microsoft.AspNetCore.Http.Features" version="5.0.17" targetFramework="net472" />
  <package id="Microsoft.Extensions.Configuration.Abstractions" version="8.0.0" targetFramework="net472" />
  <package id="Microsoft.Extensions.Primitives" version="8.0.0" targetFramework="net472" />
  <package id="System.IO.Pipelines" version="8.0.0" targetFramework="net472" />
  <package id="System.Memory" version="4.5.5" targetFramework="net472" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
</packages>

Native package manager behavior
Using VisualStudio we see app.config, .proj & packages.config files all updated as follows:
Updated .proj file snippet:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
    <Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions.2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.AspNetCore.Http.Features, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.AspNetCore.Http.Features.2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Http.Features.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
      <HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.2.2.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
    </Reference>
  </ItemGroup>
</Project>

Updated packages.config file snippet:
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.AspNetCore.Hosting.Server.Abstractions" version="2.2.0" targetFramework="net472" />
  <package id="Microsoft.AspNetCore.Http.Features" version="2.2.0" targetFramework="net472" />
  <package id="Microsoft.Extensions.Configuration.Abstractions" version="2.2.0" targetFramework="net472" />
</packages>

Updated app.config file snippet:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.AspNetCore.Http.Features" publicKeyToken="adb9793829ddae60" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.AspNetCore.Hosting.Server.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
  </runtime>
</configuration>

Images of the diff or a link to the PR, issue, or logs
No response
Smallest manifest that reproduces the issue
No response

There are some progress in this issue? Right now I can't merge dependabot PRs in .NET Framework repos because of this inconsistency in assemblyBinding.

We are managing a legacy project in .NET Framework also and agree experiencing the same issue. Looks like this has been moved to planned but wasn't sure what's to be expected next. Is there going to be a fix for this?

This issue would be fixed by https://github.com/dependabot/dependabot-core/pull/10110, please upvote the PR if this still impacts your .NET Framework projects.


Replace Filter List URL

uBlock is subscribed with Adguard's Annoyances Filter List:
https://filters.adtidy.org/extension/chromium/filters/14.txt
-I suggest changing this with uBlock specific filter list for better compatibility.
-Firefox users maynot benefit much from chromium specific filter list(https://filters.adtidy.org/extension/firefox/filters/14.txt)
For general audience such as ours, let's change the URL to uBlock-tied:-
https://filters.adtidy.org/extension/ublock/filters/14.txt

Seems all good to me, thanks for your effort to open an ticket to explain and show you commits, but you not need to do that.
Just comment in your commits and I/others see it then. I always can revert it if necessary.

I have not committed this change yet, I was just suggesting, please have a look.

Seems okay, about Firefox, I need to test this but I'm sure as long the list itself not breaks anything it should be okay to merge.

I will check and update about this tomorrow.


V1.3b UI

Features include:
⁃ AddRecipe form + logic for adding through form
⁃ Forms include automatic new rows, keyboard navigation, and prepopulation
⁃ EditRecipe form + logic for editing through form
⁃ Keyboard shortcuts for delete, add, edit, popup, import
⁃ Styling changes of MainWindow, including font, colour and layout changes
Credit to contributors: (so y’all can refer for PPP easier)

Seeu sim for styling changes (fonts) and bug-fixing for form logic (dependency propagation, navigation and misc fixes)
⁃ Alson for implementing import export and offering to help with check style fixes
⁃ Filbert for debugging addcommand and addcommandparser

from some testing, it seems like there are some bugs:

Recipe Details: text overflows past the bottom of the popup window, with no scrollbar visible

Edit Form: for long recipes, the initial window created may have a size overflowing the screen, making it impossible to resize and click the "save" buttons

Edit form: for short recipes, the initial window created may be too large for the contents, leaving this white space at the bottom
(this seems to be an issue with all windows -- their background is only present around the components of that window, rather than the whole window

Delete Confirmation Popup: popup is un-styled (non-dark background)

i'm pretty sure these can be reasonably counted as bugs, but i'm not sure if we want to risk it by leaving them to be fixed in v1.4.


Improve readme

I think there was a small mistake in readme.

Thx! will fix master as it seems there is a problem with guard - probably will remove it from dependencies completely and leave just guard config (soft dev dependency)


Slides become blurry in WebKit browsers because of CSS transform: translate3d(......)

WebKit browsers are incorrectly rendering elements blurry if CSS transform: translate3d(......) is applied. This issue becomes even more obvious on text paragraph and on mobile devices.
Because Slick uses transform: translate3d(......) to achieve animation, that makes the aforementioned issue happens.
A workaround might be adding an option to let WebKit browsers use CSS left instead of CSS transform: translate3d(......) to achieve animation.

Hey I think this is covered in #2275
You can always set useTransforms to false

@leggomuhgreggo Setting useTransforms to false does not solve the issue for me. And I also don't see an option called useTransforms in the documentation or in source code. Could you advise?

Sorry useTransform

@leggomuhgreggo Thank you. That works.
By the way, currently line 41-49 of slick.css still makes WebKit browsers blurry. Although we can manually overwrite that CSS rule, it would be more convenient if the plugin could do that for us when useTransform is set to false.

@Ian-Y - I have the same issues with line 41-49 (Chrome). Did you find any solution?

@exetico Please try overwriting line 41-49 of slick.css or setting useTransform to false.

@Ian-Y - What a reply time!:-D I just removed slick.css and going with .slick-slide{display:none;}
.slick-slide.slick-current{display:inherit;}.
I didn't use the pre-style.
useTransform didn't fix the problems :-)

@exetico It's good to know that.


[WIP] Added changeset

I went ahead and added changesets for all of the changes that have been made since the 1.2.1 release. I figured this was a good starting point since that was the version that was first released on Hacker News / Reddit / ProductHunt. This way all of the major / minor changes since then will be seen.
I've run yarn changeset version to compile all the changesets I wrote into one big file. After we've finished merging this this, apparently yarn changeset publish [--otp={token}] will need to be run to publish to npm.
I've left some TODOs for some of the descriptions on the breaking changes that I'm looking for feedback on.

What do you think so far @kognise? I think this is all we need before release of v2


Add T::Configuration#module_name_mangler

Add a configuration hook that allows a customized type -> string transform to be provided that's used during prop code-generation.
Motivation
The runtime implementation of --stripe-packages mode loads classes in anonymous modules (one per package) instead of at the root-level in order to constant resolution within each package. The names returned by Module#name are not resolvable from the scope from which the generated code is class_evald.
The hook here allows us to manipulate the name into one that is resolvable. Default behavior of using Module#name implementation is unchanged.

Test plan
Default behavior is already covered by automated tests.

cc @djudd-stripe

Open to 🚲 -shedding the name of the method.


obj followed by endobj?

Peter - this is really great, by the way. The only assertion I have an issue with in this PDF is this token sequence:
2 0 obj endobj
I don't think this meets the requirements of the spec: here's the text (identical in both PDF1.4 and ISO32K2:2020)

The definition of an indirect object in a PDF file shall consist of its object number and generation number (separated by white-space), followed by the value of the object bracketed between the keywords obj and endobj.

The "value of the object" is missing, so I'm not sure that's a valid sequence of tokens.

@faceless2 Thanks Mike!
You raise an interesting point.
I was focused on the statement under 7.3.9 Null object "An indirect object reference (see 7.3.10, "Indirect objects") to a nonexistent object shall be treated the same as a null object" so this was an attempt to make a form of "nonexistent object" while also having a fully valid xref, which I believe it is.

Aha, that makes more sense. That's a different test to the one I thought you were aiming at. The non-existent object case we usually see is simply a reference to an object that doesn't exist, eg 9999 0 R, but obviously the end result is the same - no valid object found at that location. Thanks for clarifying, I'll close then.

@faceless2 Thanks Mike! You raise an interesting point.
I was focused on the statement under 7.3.9 Null object "An indirect object reference (see 7.3.10, "Indirect objects") to a nonexistent object shall be treated the same as a null object" so this was an attempt to make a form of "nonexistent object" while also having a fully valid xref, which I believe it is.

I'm with @faceless2 here: The object in question exists because it has an entry in the cross-reference table. However, it is invalid since its value is missing.
If you want an indirect object reference to a nonexistent object, there are two options:

Create an indirect object reference that is truly nonexistent, like 100 0 R, like @faceless2 already mentioned.

Append an incremental update, marking one of the existent objects as free. Thus all indirect object references to that object will become invalid and treated as null.

At least two tools, HexaPDF and qpdf, mark the file as invalid due to this.

I'm not so interested in tools as I can drive trucks through those tools and almost any other tool... :-)
What would be far better is to get a point of a fully unambiguous definition of everything that we can be reasoned about mathematically. So I'm re-opening because this thread is going in interesting directions... and I may want to copy this across to the pdf-issues GitHub repo eventually since I'm fairly sure we could improve the spec wording!
So if we conclude that a syntactically valid PDF object requires obj <value> endobj then how should the following token sequences be considered:

obj %comment endobj?
7.2.4 states "PDF processors shall treat comments as single white-space characters for the purposes of lexical conversion" so this then semantically reduces to obj <whitespace> endobj and is that any different?

obj null endobj?
7.3.9 states "Specifying the null object as the value of a dictionary entry (7.3.7, "Dictionary objects") shall be equivalent to omitting the entry entirely." but that is a statement about the entry (key/value pair) so that this object does have a value although the entry containing that value is treated as tho' it is omitted entirely. But if the indirect reference is from an array and not a dict, then the array element would clearly need to be keep as the null object so that later array elements are not shuffled up the array...

obj <some-garbage-byte> endobj?
so the indirect object has a byte that would have to be considered the value of the object at some level...

Thoughts?

fully unambiguous definition of everything that we can be reasoned about mathematically.

I have some thoughts about that. Just to give things names: let's say that PDFObject is the name of the type that all PDF objects inhabit, in whatever abstract model we end up with. I'd argue that PDFObject has to be a sum type, where the sum runs over the (finite) number of object types that the standard enumerates: Dictionary, Number, Null, etc. Whichever way one formalises that, the result should (IMO) entail that the token sequence that goes between obj and endobj encodes a syntactically valid object of one of those constituent types.
On those grounds, I'd consider your second example a syntactically valid PDF object definition, but not so for the first and the last. On the other hand, I don't think the first and third example make sense in that context: in my opinion, even assigning the  Null type to an empty token sequence (after eliminating comments) or a sequence of garbage bytes is wrong. Assigning a type to an empty token sequence would mess up lots of things, including dictionary and array parsing.
Just my 2¢.

So if we conclude that a syntactically valid PDF object requires obj <value> endobj then how should the following token sequences be considered:

obj %comment endobj?
7.2.4 states "PDF processors shall treat comments as single white-space characters for the purposes of lexical conversion" so this then semantically reduces to obj <whitespace> endobj and is that any different?

A comment is not a valid PDF object. PDF objects are listed in section 7.3 of the spec, with 7.3.1 listing all eight basic object types. Comments are defined in section 7.2.3.
So your example would be equivalent to obj endobj and that is clearly missing a value.

obj null endobj?
7.3.9 states "Specifying the null object as the value of a dictionary entry (7.3.7, "Dictionary objects") shall be equivalent to omitting the entry entirely." but that is a statement about the entry (key/value pair) so that this object does have a value although the entry containing that value is treated as tho' it is omitted entirely. But if the indirect reference is from an array and not a dict, then the array element would clearly need to be keep as the null object so that later array elements are not shuffled up the array...

The dictionary case is how such things are normally handled in programming languages. For example, in Ruby you have hashes and if there is no value for a key, nil gets returned which is the equivalent to the PDF null object:
h = {}
h[:key] = :value
p h[:key]    # => :value
p h[:unknown]   # => nil

So having a key with nil/null as value gets the same result as not having that key at all. There is a semantic difference that is sometimes used, e.g. when one wants to know whether a key was explicitly set to the nil/null value. But that is, I think, of no interest in the PDF case.
And yes, in the case of an array the null object would need to be kept in order to keep the indices correct. Again, this is just how such things work and this feature is also used in the PDF spec, see section "<IP_ADDRESS> Explicit Destinations".

obj <some-garbage-byte> endobj?
so the indirect object has a byte that would have to be considered the value of the object at some level...

Again, we would need to have one of the PDF objects listed in section 7.3 for this to be a valid indirect object.
The garbage you are referring to would be treated as a token, just like 'obj' is a token or << is a token. However, it is not a valid PDF object like (string).

The difference between obj endobj, obj %comment endobj and obj null endobj is pretty academic I expect, a whether valid or invalid they'll all have the same end result, a missing object in the xref. I'm aware that valid/invalid is a determination we need to make for PDF/A, but it has little practical effect outside that.

I'm not so interested in tools as I can drive trucks through those tools and almost any other tool... :-)

Fair call, and I agree. But more interesting than determining whether a sequence is valid, is determining how to parse it when it's not.
What do we do if length doesn't match the parsed length? At what point we terminate parsing if there's trailing noise? Sure it's invalid, but standardising (or at least recommending) an approach for recovery is the big prize in my opinion. Although perhaps it's because it feels like I've spent much of the last 20 years in this gray area...

What do we do if length doesn't match the parsed length? At what point we terminate parsing if there's trailing noise? Sure it's invalid, but standardising (or at least recommending) an approach for recovery is the big prize in my opinion. Although perhaps it's because it feels like I've spent much of the last 20 years in this gray area...

It's a funny coincidence that I find out about the SafeDocs project, the Arlington PDF Model and so on a few days after I started a project to document the ways PDF documents can be invalid and how to handle them - see https://github.com/gettalong/annotated-pdf-spec/

@gettalong I would also strongly encourage you to join ISO TC 171 SC 2 if you can, either via your national body (if it is a participating member country) or via the PDF Association (as it has an official liaison with ISO). There are many other discussions that occur within ISO that are restricted by ISO in what can be said publicly - you may infer some activities from https://www.pdfa.org/iso-status/ but there are others. The PDF Association also has many Technical Working Groups all working across various topics that is often input into ISO. If you want to discuss more, feel free to DM me.


Create a feature map to understand what are the features that need documentation

Now that we have a solid structure in place we should start building a "feature map" to understand the features that need documentation, the ones that are already documented but need improvement, and the green ones. We can do a table like this:

Feature
Status
Type

feat A
Missing
User guide

feat A
Partial
Reference

feat B
Done
User guide

feat B
Missing
Reference

Depends on: https://github.com/kubeflow/website/pull/3737
More context: https://github.com/kubeflow/website/pull/3737#issuecomment-2122030380

/area pipelines


Slide transition at end of cycle not applying transistion effect

When it ends the cycle and returns to the first slide, it does not apply the transition, which looks too abrupt.

This is really just an aesthetic thing that shows for a split second. Will look at this when i get a chance, Post beta.

Improved transitions by pre-loading first slide when at last. It still flickers once, but is looking better than before. The flicker is because the first transition reloads itself on first slide. so still a little more work to do here.


Online editor fails on open FStar.All

Serdar Tasiran reports by email that he has troubles with the online editor with a file containing only this:
module Bug
open FStar.All

The error message is
/var/fstar/ulib/FStar.ST.fst(26,13-26,21) : (Error) Identifier not found: [st_pre_h]

I could reproduce this with the online editor, but things work fine from the command line:
[hritcu@resurrected bug-reports]$ fstar.exe bug.fst
Verified module: Bug (17 milliseconds)
All verification conditions discharged successfully

@ad-l You know the code for invoking F*, any ideas what could cause this?

This problem affects for instance exercise 10a from Section 10.1.Stateful access control.

The same simple module
module Bug
open FStar.All
now gives the following error:
/var/fstar/ulib/FStar.Heap.fsti(46,52-46,66) : (Error) Identifier not found: [Prims.tuple2]
Module Prims resolved into Prims, definition tuple2 not found

Is online editor using explicit deps? The last error is because I moved the tuple2 to Pervasives.

You can see / change how the online editor invokes F* in <fstar-priv>/website/run.php. I don't see any explicit deps there, but maybe I'm missing something.
 passthru("timeout 40 /var/fstar/bin/fstar.exe --fstar_home /var/fstar $hh --include /var/fstar/doc/tutorial/code/solutions --include /var/fstar/ucontrib/Platform/fst --include /var/fstar/ucontrib/CoreCrypto/fst --smt /var/fstar/bin/z3 ".implode(' ', $mods)." 2>&1");

@aseemr @ad-l Any progress on this? still getting the definition tuple2 not found error

The problem for me is that without more information about what's happening on the server I can't reproduce this problem locally. Tried running a local equivalent of the passthru command above, but that just works for me:
fstar.exe --fstar_home /home/hritcu/Projects/fstar/pub --include doc/tutorial/code/solutions --include ucontrib/Platform/fst --include ucontrib/CoreCrypto/fst --smt /home/hritcu/Apps/z3-4.5.0-x64-ubuntu-14.04/bin/z3 blah.fst
Verified module: Blah (5 milliseconds)
All verification conditions discharged successfully

The online editor saga continues
module Bug
open FStar.List.Tot.Base

causes
/var/fstar/ulib/FStar.Classical.fst(4,34-4,51) : (Error) Unexpected number of universe instantiations

Even the first tutorial example fails because of the last error, even when simplified to this:
module Ex01a
open FStar.All

/var/fstar/ulib/FStar.Classical.fst(4,34-4,51) : (Error) Unexpected number of universe instantiations

If I recall correctly, this was fixed by @ad-l, the main reasons for the different bugs reported being that the tutorial server did not update the fstar binary due to a build failure that went unnoticed.

Should we open a separate issue for implementing some kind of notification service to prevent similar issues in the future?

I think what @msprotz proposed would be the best: running a normal (dirty) build and if that fails purging the whole repo and trying again. This way if master builds cleanly there should be no problems reproducing that.

AFAIK the update process for the F* binary for the tutorial works well now (at least we haven't seen it fail in a long time). However, our tutorial is still not under CI. Should we have an explicit issue for that? (I think we can close this one.)

New tutorial is under CI and @tahina-pro recently updated the container running the website to use recent F* binaries. So, these issues should be resolved


Update CI to test against more OVS Versions

This PR adds the following:

A Dockerfile that builds OVS versions from source (for testing)
A workflow that pushes these images to Docker Hub
A matrix in the existing workflow so we test against the latest OVS development release, and other releases between this and the last LTS version.
Updates the docker-compose.yml appropriately for local developement to test again the libovsdb/ovs:latest images

Merging without review as this is a CI fix only. Also I can't ensure the other workflows are working as expected until they are checked in


Add support for per-Resource pagination providers

Currently the IPagingProvider has to be set at the server level. However it would be useful to have finer grained control over which implementation to use for which resource.
This would allow the pagination implementation to be optimised for the expected volume of items in the resource. It would also allow resources with different backend architectures not to have to shoehorn themselves into supporting a single pagination implementation.

@jamesagnew Orion Health might be able to provide a PR to support this if we could get some guidance on the best approach.


Allow for excluded elements in a page's all_there? check

Let's say the page I'm modeling with a SitePrism::Page class has at least one element that isn't always guaranteed to be present.
class SomePage < SitePrism::Page
  element :name_field, '#name'
  element :err_msg, '.error'
end

If I ever wished to leverage that page's all_there? check, it would fail because the err_msg would not be present on initial load (hopefully). And yet, I would very much like to use the page's all_there? check.
This pull request adds the ability for any page class to define an excluded_elements method, which would return an array of elements to exclude from the all_there? check.

This is one of a few PR's raised which I'm looking into, and just generally giving a "bump".
Could you provide an update if at all possible into what you want to do with this PR (I'm aware it's been left a while)
If you no longer feel this is a relevant PR, or is too outdated. Then please close.
If you feel as though this PR isn't actionable anymore, then please close.
Thanks for your contribution.
Note: I noticed you mentioned you think this is duplicate code. If so lets just close this PR

@luke-hill Thanks for reaching out! Since submitting this PR I moved away from using SitePrism, and am now in another job where we do use SitePrism again, so it's actually a good time for me to dig back in and see if I still think this code is useful. I'll update this weekend for sure.
Also, my fault for not clarifying: the duplication comment was in reference to solving rubocop errors that were on my branch that were being addressed in another PR, and not the code to allow for excluded elements in an all_there? check.

https://travis-ci.org/natritmeyer/site_prism/builds/342765313?utm_source=github_status&utm_medium=notification
^^ Demonstrates that when Rubocop tech debt is excluded and geckodriver is added to the travis config (see https://github.com/natritmeyer/site_prism/pull/186/files), this build would likely pass.

@luke-hill OK, given a merge-in of latest master and a quick brush-up, I'd still like for this PR to be considered. The all_there? check is something I tend to want to use on initial page load to avoid having to use a lot of specific wait_until_some_element_visible statements later on, and the ability to exclude elements not always guaranteed to be present on a given page seems useful to me.
I did rewrite the PR description a bit, because I think the modal example wasn't really the best illustration - I'd probably use distinct page object classes and not sections for those anyways.

I'm happy for this code as the code suggests. However (Not yet), at some point next week I'll probably review with some stylistic stuff. However the code as is does enough to warrant a merge without massive refactors.
I'll get round to this at some point in a week or so, this code is unlikely to hit 2.9.x or a 2.10 candidate. But it will definitely hit a release soon after.
Thanks for your support.
Luke

You could even take this a step further:
class TestPage < SitePrism::Page
  element(:name_field, '#name')
  element(:success_msg, 'span.alert-success')
  element(:login_button, '#login')
  excluded_elements %w[success_msg alert]

  def logged_in_exclusions
    ['login_button']
  end

end

@page.all_there? => true
@page.all_there?(except: :name_field) => true
@page.all_there?(except: @page.logged_in_exclusions)  # ok, maybe not the prettiest implementation

@tgaff Food for thought - thanks! I think I like the idea of except as an optional arg to all_there.

Given I had already signed this off (And at the time wasn't getting reviews from others). What do we want to do.
I think as is it is perfectly fine to hit a 2.11 candidate (Tagged). And can always be iterated on.
I'd prefer things such as test cleanup e.t.c. if done separately to look at all situations. And I will be looking into bits and pieces of this going forward on the TODO.md doc.
@TheMetalCode Do you want to make changes in this PR. Or raise a new PR in 2.11 once this is merged in (Either option is fine by me). @tgaff Are you happy with this also?

@luke-hill I think I'd like to shoot for one change in this PR, addressing @tgaff's suggestion to make excluded_elements part of the DSL (like element) and not just a method, as I think that would be a significant improvement that I'd like to get right the first time. I think everything else can be iterated on later.

Sounds good to me!  Let me know if I can help (although I'm not free again until Wed)!

@luke-hill @tgaff I gave this some further thought and would like to propose https://github.com/natritmeyer/site_prism/pull/208 as an alternative to this PR. I think expected_elements might be a better approach than excluded_elements.

Oki. Lets close this PR then and mark that as ready for review.


How to load pre-trained weights from Hugging Face?

We have released some public checkpoints for research use. Note that these checkpoints are trained on Chinchilla optimal token count and will not generate any coherent text.
You can convert the Huggingface checkpoint from JAX format to PyTorch format using this script: https://gist.github.com/xvjiarui/835bab0a867cd1f4a20714a5f860abfd

We have released some public checkpoints for research use. Note that these checkpoints are trained on Chinchilla optimal token count and will not generate any coherent text.
You can convert the Huggingface checkpoint from JAX format to PyTorch format using this script: https://gist.github.com/xvjiarui/835bab0a867cd1f4a20714a5f860abfd

ModuleNotFoundError: No module named 'transformers.models.ttt'
My transformers is already up-to-date. Please try your code in a new environment and then post. It is such a simple principle.

We have released some public checkpoints for research use. Note that these checkpoints are trained on Chinchilla optimal token count and will not generate any coherent text.
You can convert the Huggingface checkpoint from JAX format to PyTorch format using this script: https://gist.github.com/xvjiarui/835bab0a867cd1f4a20714a5f860abfd

ModuleNotFoundError: No module named 'transformers.models.ttt'
My transformers is already up-to-date. Please try your code in a new environment and then post. It is such a simple principle.

Hi, I'm wondering has this problem been solved? Or we should build transformers from source and add the package into it?

We have released some public checkpoints for research use. Note that these checkpoints are trained on Chinchilla optimal token count and will not generate any coherent text.
You can convert the Huggingface checkpoint from JAX format to PyTorch format using this script: https://gist.github.com/xvjiarui/835bab0a867cd1f4a20714a5f860abfd

ModuleNotFoundError: No module named 'transformers.models.ttt'
My transformers is already up-to-date. Please try your code in a new environment and then post. It is such a simple principle.

Hi, I'm wondering has this problem been solved? Or we should build transformers from source and add the package into it?

I think I've solved the problem. The TTT model is not included in the latest version of Transformers. You need to import TTTForCausalLM and TTTConfig from ttt.py in this codebase. :)


Remove fs-extra dependency from main.ts

Remove fs-extra from the main package dependencies to avoid pulling in all the packages fs-extra depends on.
Move fs-extra to devDependencies as it's still needed for gulp tasks.

LGTM with that one fix

Done.

merged in 0ac845054226cea24af60ef2045e0a373c854c87


Review the Mutex usage on PeerManager's peers

We currently use Mutex to protect PeerManager's peers HashMap.
https://github.com/threefoldtech/mycelium/blob/74719ba7cacb96e2d9251ce57760474e6973a14e/mycelium/src/peer_manager.rs#L159
There are two places that i think could be made read-only:

on the fn peers, i'm pretty sure that we can make it read-only

https://github.com/threefoldtech/mycelium/blob/74719ba7cacb96e2d9251ce57760474e6973a14e/mycelium/src/peer_manager.rs#L319-L339

on the peer_check_interval

It holds the lock while iterating the whole HashMap, twice, which might be quite long for public nodes
https://github.com/threefoldtech/mycelium/blob/74719ba7cacb96e2d9251ce57760474e6973a14e/mycelium/src/peer_manager.rs#L404-L422
With the current code, we can't simply replace the lock with read, we have to restructure it.
for example this line
self.peers.lock().unwrap().retain(|_, v| v.pt != PeerType::Inbound || v.pr.alive());

could be refactored to
let peers = self.peers.read().unwrap();
let mut to_remove = Vec::new();

for (addr, peer) in peers.iter() {
    if peer.pt == PeerType::Inbound && !peer.pr.alive() {
        to_remove.push(*addr);
    }
}
drop(peers);

// Remove the collected peers
let mut peers = self.peers.write().unwrap();
for addr in to_remove {
    peers.remove(&addr);
}

Similar with the second lock / iteration
I wondered the similar thing with the router, but looks like it is not significant

https://github.com/threefoldtech/mycelium/blob/74719ba7cacb96e2d9251ce57760474e6973a14e/mycelium/src/peer_manager.rs#L975
https://github.com/threefoldtech/mycelium/blob/74719ba7cacb96e2d9251ce57760474e6973a14e/mycelium/src/peer_manager.rs#L1125

on the peer_check_interval

i also wonder why we have separate dead peer check on peer manager & router.
Maybe we could merge the PeerManager's  peer_check_interval with Router's check_for_dead_peers
https://github.com/threefoldtech/mycelium/blob/74719ba7cacb96e2d9251ce57760474e6973a14e/mycelium/src/peer_manager.rs#L404
https://github.com/threefoldtech/mycelium/blob/74719ba7cacb96e2d9251ce57760474e6973a14e/mycelium/src/router.rs#L282

The reason for a mutex is basically that this field is accessed only very infrequently outside of the peer managers peer check loop, and for simplicity. Even for the public nodes right now, this is not an issue. I also don't think changing to an RWLock would solve a performance issue here, if there ever is one, compared to a mutex. The main issue would be contention, and RWLocks also behave poorly under contention.
On another note, we'll increase the delay for scanning for dead peers in the peer manager in the future.

i also wonder why we have separate dead peer check on peer manager & router.
Maybe we could merge the PeerManager's peer_check_interval with Router's check_for_dead_peers

This is a historic thing, however the router uses a different condition to determine if a peer is dead or not. In the router, we check the time since we last received an IHU, whereas the peer_manager is concerned about the liveness of the actual connection. Therefore, to maintain some separation of concern, they both have a different task.
In theory, the router could always know about dead peers, so there could be a channel for the router to notify the peer_manager, though for now this is sufficient. In that scenario, the peer_manager would also need to add some timeouts before reconnecting, as we don't want a hot reconnect loop to a potential malfunctioning peer


Support per-classloader configuration and specify when to load the ThreadContextProviders

I've finally been able to reproduce the issues related to having multiple sets of ThreadContextProvider and ThreadContextPropagator in separate applications (different wars with different context classloaders), in a container which provides MP-Concurrency (in a parent classloader).
The proposed fix is to copy the MP-Config configuration by introducing the concept of ConcurrencyManager which is the object we get/create out of the ConcurrencyProvider, whose role is to load all the sets of ThreadContextProvider and ThreadContextPropagator (not in this PR) for a given ClassLoader. A ConcurrencyManager will therefore have its own set of providers and be able to create new ThreadContextBuilder and ManagedExecutorBuilder instances for those providers.
Using ConcurrencyProvider.getConcurrencyManager() will lazily create (and memoize) a ConcurrencyManager for the current thread-context ClassLoader, which should work for most application types. Containers which can unload applications can call ConcurrencyProvider.unregisterConcurrencyManager to clear the cache.
Additionally we now have a ConcurrencyManagerBuilder that lets us manually specify if the ThreadContextProvider should be service-loaded or manually loaded, and which ClassLoader to use.
Again, all this is copied from MP-Config, and there's a good reason it all went in there. I have an implementation of this all in SmallRye Concurrency which validates that these additions solve all the concerns I had regarding multiple applications, and will allow me to close several related issues such as #5 and #7.

Overall, the concepts in this pull all look good.  This is exactly how I would expect it to work with loading providers based on the thread context class loader.  Although I'm wondering if these interfaces, which seem entirely something that the concurrency provider itself will both provide as well as use, actually need to be defined as spec classes rather than just being part of the concurrency provider's own implementation.  There is probably some subtle detail here that I'm not thinking about, and we can talk about it on the upcoming MP Concurrency call.  Overall I don't see anything objectionable about putting these SPI interfaces in the spec, just wanting to be sure that it is truly necessary.

What convinced me was that with this you can make containers implementation-agnostic because they can get/create and clear ConcurrencyManager instances for each application. Otherwise they would have to use the implementation-specific API and be tied to a specific implementation.
I also suspec the builder will make writing the TCK easier.


[Linux] Fix installation of swift-backtrace binary

We weren't installing the swift-backtrace binary on Linux because (a) we weren't installing the libexec component, and (b) there was a bug in the CMake scripts that made it not work anyway.

@swift-ci Please test


Font mismatch on forms in GC Forms

Description
Noticed recently that there's a mix of font types, looks like Arial and Noto maybe? Wondering if this might be a regression with recent changes to the UI. This affects sign in screens, contact us form, support form, a number of form element types in the form builder itself and in the form output for end users.
Steps to reproduce

Go to GC Forms Production
Click on Sign in
Notice different typography for the form input labels than rest of text.
Add a short answer
Add a dropdown
Go to test/preview and see the change in font for input label and dropdown options

Details

Browser: Chrome
Operating system: Mac
Environment: Production
Language: Both
Viewport: Desktop

Expected behaviour
Consistency in body text and form labels across the application.
Screenshots or videos

Another example:

This is more jarring in end user forms where the font changes depending on the question type:


Kitchen Sink: Build A Crypto Currency Tracker

Build an app that displays real-time cryptocurrency prices and trends that you'll add to the kitchen sink. Feel free to use any existing projects of yours or start one from scratch.
For more information about the Kitchen sink; check out:

https://sink.million.dev/
https://github.com/aidenybai/million/blob/main/packages/kitchen-sink/README.md

N.B: Upon PR review, your usage of Million.js is a plus

@tobySolutions please assign me this issue :)

Can pls assign me this !

Hey there @cyberviking5, @arunavabasu-03; I think @cyberviking5 requested first, so I think I might assign this to him instead.

fixed by #653


[ui] Improve the process to align application to service env vars

When a user has an application it may have env vars that require values from a bound service, for instance the epinio/example-wordress app requires DB_HOST (epinio configurations list | grep mydb | awk '{print $2}')
Currently in the UI the user has to create the service in advance, create the app (sans service env vars) bound to the service, find the new configuration, and then edit the app
This isn't intuitive or provide a good UX

Suggestion

We should work out a way for the user to see the env vars the configuration exposes and assign value/s to application env vars
This is tricky because it requires both app and service to exist and service bound to the app

Before the UI starts this we need to talk as a team the best way to resolve it.


Travis: Make MercurialTest pass again

This change is

Merging without waiting for AppVeyor as this is a Travis-only change.


[Add App] Relay

Entry type

New addition

App info
URL: https://relay.link
Manifest.json URL: https://relay.link/manifest.json
Name: Relay
Description: Instant, low-cost bridging and swapping, powered by Reservoir
Icon (PNG, 180x180): https://mintlify.s3-us-west-1.amazonaws.com/unevenlabs/logo/relay-black.svg
It's minified via https://tinypng.com: no
Homepage:
Twitter: https://x.com/RelayProtocol
GitHub: https://github.com/reservoirprotocol
App supports batching multiple transactions via Safe: yes (Assuming dynamic support is automatically handling this)
Supported networks
- Mainnet
- Base
- Optimism
- Scroll
- Solana
- Eclipse
- Bitcoin

and many more!
Revision checks

[ ] Used smart contracts were audited.
[x] You have implemented the app using the Safe Apps SDK
[x] Your Safe App includes a manifest.json file at the root with the required data
[x] The app can be loaded as a custom Safe App in the Apps section of https://app.safe.global.
[x] The app auto-connects to the Safe as a wallet
[x] It doesn't try to connect to the browser wallet (e.g. MetaMask)
[x] You are able to trigger and execute one transaction with a Safe.
[x] RPC requests are optimized (not triggering many requests in a very short time period).

Audit document
Not yet audited
Code for review
SDK/UI kit: https://github.com/reservoirprotocol/relay-kit
Team information
Company: Reservoir
Official website: https://reservoir.tools
Point of contact: Pedro Cunha https://github.com/pedromcunha
Email/Telegram<EMAIL_ADDRESS>

Hi @pedromcunha, for the code review, could you please point me to the parts of your app that integrates with Safe? I am not able to find the corresponding code in the provided repo: https://github.com/reservoirprotocol/relay-kit

Hi, we use dynamic in our private repo, which uses the kit but the connection aspect is powered by dynamic. It's my understanding that dynamic uses the safe sdk under the hood

Ok can you invite @tmjssz to the private repo so I can review it as well?

@pedromcunha We’re still waiting for you to grant us access to the private repository so we can review the code.

Hi, I Invited this user: https://github.com/tmjssz
Is that not the right user or do I need to add someone else?

@pedromcunha
Hi,
Thank you for confirming.
We’ll be in touch with you shortly.

I reviewed the code and the only suggestion for improvement would be to introduce basic unit test coverage. Otherwise it looks good to me and we can proceed with QA.

I've done a couple of tx and it works fine.
https://app.safe.global/transactions/tx?safe=eth:0x8675B754342754A30A2AeF474D114d8460bca19b&id=multisig_0x8675B754342754A30A2AeF474D114d8460bca19b_0xaa885db5121623eadcce567f1f4969edc1f0c0fba992a644d288123c6bbbac6b
https://app.safe.global/transactions/tx?safe=eth:0x642830Ac2F1984C3D954051949cDf85A02F87480&id=multisig_0x642830Ac2F1984C3D954051949cDf85A02F87480_0x884f743a03047551871d3f9998a49246ff974d7a9a8c375d9a1d2f144f9bfd7e
Still discussing things with the team. I'll be done shortly

Ok great, we do have unit tests for the inner workings of the client (relay sdk and ui kit), this is where the main app logic is housed to make it open source and easier to port into other applications: https://github.com/reservoirprotocol/relay-kit
We have a number of unit tests testing the critical flows. We have 48 tests running on every push to main: https://github.com/reservoirprotocol/relay-kit/actions/runs/12186578865/job/33995400910

@pedromcunha Hi there. question, how plausible would be to implement an "empty option" for the address recipient? the reason is that most of our users have safes that are unique to that network, so is a risk for them having the recipient to be that same safe address in another network.

Another question. I see that the "Audit comment" section in this ticket says that it wasn't audited yet. Is that so?
Thanks

Oh that's interesting. We require a recipient and the logic is such that it will automatically preset the destination recipient. So you're saying that these addresses are locked down to a particular chain? For instance one address for base and another address for ethereum?
Re audit, yes we haven't done any audits on our contracts but it's on our roadmap. Likely sometime next year we'll make some actions towards that but I don't have any concrete timelines.

Eveb tho we currently allow safes to be deployed in different networks (same address in different networks I mean) most of the old safes were created in a single network and don't have (and cannot have) that same address deployed in another network. That's why our suggestion would be to be able to leave that field empty so the user don't use the feature without checking that address first.
This is more of a suggestion than a request, so if you say that is more work than is worth it we understand.
Regarding the audit, is something that I need to approve the app from my side.

@pedromcunha Yes, Audits are required to approve a new Safe app.

Going to close this comment as we're not planning on getting audited in the short term. Thank you! Please reach out if your position on audit requirements change.


Add: Add an issue/pull-request template for reporting bugs/features

Changes Proposed
This PR is proposed to add an issue template for new bugs/feature.
Benefits of this change
After creating issue templates, contributors can use the templates to open issues according to the repository's contributing guidelines.
Fixes: #4411

I've just edited your opening comment to mention the issue this PR would resolve, so that GitHub links them up. 🙂 (I believe it won't necessarily link them if I just mentioned the issue in a comment that comes after the first one.)

I've just edited your opening comment to mention the issue this PR would resolve, so that GitHub links them up. 🙂 (I believe it won't necessarily link them if I just mentioned the issue in a comment that comes after the first one.)


$loadRelated in docs is confusing

I have a relationMapping with a default modify filter to always ensure my model only loads reations based on >= TimeStamp, which works great.
In another part of my application, I want to load all relations with an additional condition: TimeStamp <= maxDateTime.
The following is described in docs as a valid filter so it seemed like the obvious choice:
await this.$loadRelated('*', (queryBuilder) => queryBuilder.andWhere('TimeStamp', '<=', maxDateTime));

Unfortunately the filter function is not being called at all. Using named filters does not seem like an option since there's no way to submit maxDateTime to such a function.
Am I completely misinterpreting the docs? Thanks.

I also tried using .modifyEager('*', (queryBuilder) => ...) but it yielded the same issue.

@koskimas Ah, that explains a lot. Thanks, closing this!
As for * I had a feeling it was wrong, but having to type out relation names in plain strings while they're already part of the relationsMapping was really a turn off for me. Are there any alternative ways to eager-load all relations without having to specify the list?

Unfortunately there isn't. Are you loading nested relations? If not, you could always do something like this:
const eagerAll = `[${
  Object.keys(Person.relationMappings)
    .map(it => it.name)
    .join(',')
}]`;

Person.query().eager(eagerAll)

There is a way to hook into all executed queries without the need for eager filters, but it's in no way obvious from the docs. This is fully supported though:
Person
 .query()
 .eager(eagerAll)
 .mergeContext({
   // Called when building queries in the same "context", meaning all
   // queries stared by this query.
   onBuild(builder) {
    builder.where('TimeStamp', '<=', maxDateTime);
   }
 });

Yeah I'm using deeply nested relations. I ended up still taking the risk of using *, but unfortunately using *(filter) did not work either, so had to do this:
const filters    = ['addMaxDateTimeCondition'];
const expression = `[${_.map(_.keys(Model.relationMappings), (relationName) => `${relationName}(${filters.join(', ')}).[*]`).join(', ')}]`;

//[relation1(addMaxDateTimeCondition).[*], relation2(addMaxDateTimeCondition).[*']]

For anyone coming here from searches, the above example no longer works in v1+ as '*' is not recognized as a valid expression anymore.


@carbon/ibm-products breaks

Package
Carbon for IBM Products
Description
The CSS from @carbon/ibm-products breaks the display of Tags with outlines, adding an extra outline around the text:

(I know that <Tag> comes from @carbon/react, not @carbon/ibm-products, but the error is caused by @carbon/ibm-products.)
Cause of the bug
Look at the last Tag in https://react.carbondesignsystem.com/?path=/story/components-tag--read-only, which displays correctly because @carbon/ibm-products isn't loaded on that page.
@carbon/react renders the Tag with strange markup where the cds--tag--outline is used on two nodes:

   Tag content

Then @carbon/styles has weird CSS to counteract that by ignoring the cds--tag--outline outline on the :
.#{$prefix}--tag--outline:not(.#{$prefix}--tag--operational):not(span):not(
    [disabled]
  ) {
  ...
}

So far, everything is working, albeit with a questionable implementation.   But then @carbon/ibm-products' index-without-carbon.css includes this CSS:
.cds--tag--outline:not(.cds--tag--operational) {
    background-color: var(--cds-background, #ffffff);
    color: var(--cds-text-primary, #161616);
    outline: 1px solid var(--cds-background-inverse, #393939);
    outline-offset: -1px
}

I don't understand where that CSS came from but it's doubly problematic:

You are including CSS for Carbon whereas that file is only supposed to have CSS for ibm-products.
You're including weird CSS that breaks the display of <Tag type="outline">.

Component(s) impacted
@carbon/react
Browser
Chrome
@carbon/ibm-products (previously @carbon/ibm-cloud-cognitive) version
2.45.0-rc1
Suggested Severity
None
Product/offering
IKC
CodeSandbox or Stackblitz example
https://codesandbox.io/p/devbox/goofy-jasper-7m49r3?file=%2Fnode_modules%2F%40carbon%2Freact%2Flib%2Fcomponents%2FTag%2FTag.js%3A133%2C47
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

update:
yup, can confirm, that this got fixed in the latest @carbon/react
https://github.com/user-attachments/assets/ae38c7a5-bda2-4d80-b260-0f7a31f0a25e

@devadula-nandan - I'm glad the visual glitch is gone but as I wrote above, don't you think it's wrong for @carbon/ibm-products to have CSS altering Carbon itself.  The example I posted was this:
.cds--tag--outline:not(.cds--tag--operational) {
    background-color: var(--cds-background, #ffffff);
    color: var(--cds-text-primary, #161616);
    outline: 1px solid var(--cds-background-inverse, #393939);
    outline-offset: -1px
}

But there's a lot more.

I filed https://github.com/carbon-design-system/ibm-products/issues/5942.


html mode changed

code mirror for HTML as stored in the notebook file has changed:
 "plugin": "HTML",
              "view": {
                  "cm": {
 -                    "mode": "htmlmixed"
+                    "mode": "smartHTMLMode"

this field might not be used at all anymore, we should remove it if that's the case.
it was for the old sharing server, lab seems to ignore it.


Store asyncio.Task to Avoid GC

I was looking through the websocket code recently and noticed that a Task was being created and not stored anywhere. The async docs call this out as a problem since created Tasks can be garbage-collected if they're not referenced by anything, thus stopping them mid-execution.
I haven't seen this occur, but it's an easy fix to store it on the class, and from a quick reading I don't think it should have any side effects.
Link (second badge labeled "Important"): https://docs.python.org/3/library/asyncio-task.html#creating-tasks

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
1

Sum
2


passing args provider on the command line

Once the binary is compiled, the node binary swallows the commandline arguments.
They will need to be exposed again.

same here, i am using the npm package 'commander' and it doesnt work anymore:
commander
    .version('0.1.1')
    .option('-p, --profilePath <name>', 'path to profile',path.resolve(defaultProfile))
    .option('-s, --sourceRoot <name>', 'path to dojo source root',path.resolve(libRoot))
    .option('-c, --clientRoot <name>', 'path to client root',path.resolve(clientRoot))
    .option('-i, --info', 'return service profile')
    .option('-j, --jhelp', 'output options as json');

commander.parse(process.argv);

what do I now?

Have you tried enabling the flags option on compile time?

hi, not yet but I put this here in my main file before anything:
process.argv = process.argv.slice(1);
which seems to work now, at least for me ;-)


iOS Fill Mode Bug and Portrait Fill Bug

Pulling this in as it seems these fixes could help users in iOS

@bradmartin not sure why this failed, very  minor changes, could you let me know what needs to happen to get this merged?

Not your fault, the lint command failed. PR looks great BTW 👍 - sorry took so long to look at. I'll try to merge and run it tonight to be sure the demo works okay and then I'll publish it.


[FLINK-26585][state-processor-api] replace implementation of MultiStateKeyIterator with Stream-free implementation

Contribution Checklist

Pending: Make sure that the change passes the automated tests, i.e., mvn clean verify passes. You can set up Azure Pipelines CI to do that following this guide.

What is the purpose of the change
Avoids a known flaw in Stream.flatMap, see https://bugs.openjdk.org/browse/JDK-8267359. Avoids potential OOM Error for
keyed state with many keys when reading them with state processor api.
Brief change log

replaced the original implementation of MultiStateKeyIterator with a Java-Stream-free implementation.
this fixes a known flaw in Stream.flatMap which leads to complete enumeration of inner iterator
and buffering of all elements with potential for a OOM error for state with many keys
manual implementation of nested iterator avoids this problem

Verifying this change
This change adds a tests MultiStateKeyIteratorTest#testIteratorPullsSingleKeyFromAllDescriptors that fails with the previous implementation and succeeds with the new implementation.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no

new code should be marginally faster (not verified)

Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? JavaDocs

I'll update the PR accordingly in the next days. Thanks for the review

@masteryhx : thanks for the first review again, I made the requested changes, added an extra test for the hasNext() changes requested.

Hi @masteryhx , thank you for the review again, I also synced my fork with the upstream, if that was what you meant by 'Could you also rebase all your commits to the master ?'
BTW: removing boolean hasnext =  created an additional warning on build, that's why I added it in the first place.
Sincere greeting
Thias

Hi @masteryhx , thank you for the review again, I also synced my fork with the upstream, if that was what you meant by 'Could you also rebase all your commits to the master ?' BTW: removing boolean hasnext =  created an additional warning on build, that's why I added it in the first place.
Sincere greeting
Thias

Sorry for the late reply due to my personal business.
Thanks for the update. Current PR LGTM.
As you could see, there are 6 'Commits'.
You could use git rebase to the original master and then squash them into one commit.
Then after the CI passed, I will merge it.

Hi @masteryhx , thank you for the review again, I also synced my fork with the upstream, if that was what you meant by 'Could you also rebase all your commits to the master ?' BTW: removing boolean hasnext =  created an additional warning on build, that's why I added it in the first place.
Sincere greeting
Thias

Sorry for the late reply due to my personal business. Thanks for the update. Current PR LGTM. As you could see, there are 6 'Commits'. You could use git rebase to the original master and then squash them into one commit. Then after the CI passed, I will merge it.

Hi @masteryhx ,
Sorry to bother you, I know how to rebase on my local git, the confusion is with pushing that onto my fork on Github ... If I would do that, I believe, the PR would be force-closed because of the relocated branch. I experienced that a couple of times on our local GitHub Enterprise ... Have you got any more specific instructions on how to avoid this?
Thias

Hi @masteryhx , thank you for the review again, I also synced my fork with the upstream, if that was what you meant by 'Could you also rebase all your commits to the master ?' BTW: removing boolean hasnext =  created an additional warning on build, that's why I added it in the first place.
Sincere greeting
Thias

Sorry for the late reply due to my personal business. Thanks for the update. Current PR LGTM. As you could see, there are 6 'Commits'. You could use git rebase to the original master and then squash them into one commit. Then after the CI passed, I will merge it.

Hi @masteryhx ,
Sorry to bother you, I know how to rebase on my local git, the confusion is with pushing that onto my fork on Github ... If I would do that, I believe, the PR would be force-closed because of the relocated branch. I experienced that a couple of times on our local GitHub Enterprise ... Have you got any more specific instructions on how to avoid this?
Thias

You could try to:

use 'git pull  master --rebase' to rebase your local repo
use 'git push  ' to push/force-push to your remote repo then github will update automatically

Hi @masteryhx , thank you for the review again, I also synced my fork with the upstream, if that was what you meant by 'Could you also rebase all your commits to the master ?' BTW: removing boolean hasnext =  created an additional warning on build, that's why I added it in the first place.
Sincere greeting
Thias

Sorry for the late reply due to my personal business. Thanks for the update. Current PR LGTM. As you could see, there are 6 'Commits'. You could use git rebase to the original master and then squash them into one commit. Then after the CI passed, I will merge it.

Hi @masteryhx ,
Sorry to bother you, I know how to rebase on my local git, the confusion is with pushing that onto my fork on Github ... If I would do that, I believe, the PR would be force-closed because of the relocated branch. I experienced that a couple of times on our local GitHub Enterprise ... Have you got any more specific instructions on how to avoid this?
Thias

You could try to:

use 'git pull  master --rebase' to rebase your local repo
use 'git push  ' to push/force-push to your remote repo then github will update automatically

Done, I hope that did it, thanks @masteryhx again for the instructions and help


Flip activity don't detect end of game

The Flip activity don't detect end of game when:

All coins are in the same colors but not in the foreground color. We could consider than the game is ended including when all coins are in the background color
The help button is used: the last click on the help button should solve the game.

Source code for Flip activity is located here: https://github.com/llaske/sugarizer/tree/dev/activities/Flip.activity


make content-type's charset information case-insensitive

Fix bug described in https://github.com/requests/requests/issues/4748 .

Codecov Report

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

@@           Coverage Diff           @@
##           master    #4749   +/-   ##
=======================================
  Coverage   66.79%   66.79%
=======================================
  Files          15       15
  Lines        1563     1563
=======================================
  Hits         1044     1044
  Misses        519      519

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 6686ac1...907c927. Read the comment docs.


Persistent layer allocations

While trying to do some 'clever' built-in auto serialization and namespaces, I got allocations on practically every Redis operation.  Therefore, no future integration with Spreads or any latency-sensitive stuff with this project. I already use DynamicContext for rapid prototyping with automatic per-table migrations, but Dapper for stable things. Redis part should also be seen just a convenience short-cut. (Should at least add a buffer pool to JSON.NET later). Keep calm and trust GC in this case!

won't fix, it's just for the record


Add create file option in context menu and toolbar

I have searched for this option in customizeble toolbar but it seems that there is no such feature, but i think it's really important. Please add it.
I'm currnently using realize version <IP_ADDRESS>

What would the file contain?  Would it be empty?  If so, when would this feature be useful?
I think this starts down a path of reimplementing Explorer's "new" menu, where it has template files for multiple types of file.

It can always be a txt file, but since you can type any file extension you need, that's enough