Change default memory allocation for consuming segments from on-heap to off-heap

Description
It has been observed as well as established across several production deployments
that allocating consuming segments off-heap is better than allocating on-heap.

Modifying the default value of pinot.server.instance.realtime.alloc.offheap to true.
Note, that the default off-heap setting implies MMAP, and we still require setting
pinot.server.instance.realtime.alloc.offheap.direct to true if using DirectMemory
is preferred over MMAP.

Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes
The default behavior of pinot.server.instance.realtime.alloc.offheap has been changed to true.
This implies that memory for consuming segments will be allocated off-heap. Off-heap here defaults
to MMAP, and can be changed to DirectMemory by setting the confing
pinot.server.instance.realtime.alloc.offheap.direct to true.

Documentation

Codecov Report

Merging #8380 (3e2a673) into master (2d809ff) will decrease coverage by 14.45%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #8380       +/-   ##
=============================================
- Coverage     28.55%   14.10%   -14.46%
- Complexity        0       81       +81
=============================================
  Files          1641     1608       -33
  Lines         86261    84734     -1527
  Branches      13042    12877      -165
=============================================
- Hits          24630    11949    -12681
- Misses        59338    71884    +12546
+ Partials       2293      901     -1392

Flag
Coverage Δ

integration1
?

unittests2
14.10% <ø> (?)

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

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

LGTM. We should also change some integration tests to turn it off so that both off-heap and on-heap is covered. We can probably enable on-heap for RealtimeClusterIntegrationTest

Filed https://github.com/apache/pinot/pull/8385 to add test coverage for on-heap.


Update sbt, Scala.js, etc.

There are some deprecation warnings during the build to clean up…

Codecov Report

Merging #900 into master will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #900      +/-   ##
=========================================
- Coverage   85.68%   85.6%   -0.09%
=========================================
  Files          76      76
  Lines        2459    2459
  Branches      157     157
=========================================
- Hits         2107    2105       -2
- Misses        352     354       +2

Impacted Files
Coverage Δ

...rc/main/scala/io/circe/shapes/SizedInstances.scala
78.57% <0%> (-14.29%)
:arrow_down:

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 db99b27...995f320. Read the comment docs.


structure update

Changed the structure of the app. Will require a new build process (easier), so updates to documentation are needed

@djdunning, I have a few questions here.
Firstly, mostly a comment, there are a large number of merge conflicts. No avoiding that, since you moved files that were changed on the main repo. But could you address those? With a direct pull from main you are probably going to have a bad time. So you should checkout this to see how to rebase your changes onto the main branch. I think I just successfully did it and it only took a few minutes, but you should probably do it for yourself to make sure patches aren't missed. When I did it, it resulted in some things existing when they don't seem like they should.
Secondly, it looks like you have an enforced dependency on locally building Elements/Matar. Could we get rid of that and only try to build if we can't find the packages on the system paths? Ideally we wouldn't be building those from scratch, but using them from the Anaconda environment.

Also, some notes from functional testing --

The bash scripts only support "hpc" or "macos". It appears that "macos" doesn't really do anything "mac" specific. Secondly

Alright, I merged all of the changes in backlog since this PR came up; just update those files with some copy paste and we should be good to go.

Merge finished with fork. Will do a fresh clone and commit any error fixes.


Move build specific code out of netCoreTool

it would be better if the buildHelper did the build specific checks before running the dotnet commands instead of having runDotnetCommand() do versions checks that are specific to build. runDotnetCommand() is also used by the add sql binding to AF command, so it doesn't need the same version checks as project build.

closing and deprioritizing this since sql bindings is in a separate extension now and no longer also uses this. It would be nice to clean this up at some point, but there is some risk associated with refactoring and making changes here that isn't worth the time and testing right now.


[Question] Downloaded version 3.9.0 and built version is 2.1.1.

I tried 1) download gdrive binary for linux system, and 2) built it from source code (https://github.com/glotlabs/gdrive/issues/63) for version 3.9.0, on a Rocky Linux. However, the issue of "gdrive version" always returns the following result:
gdrive: 2.1.1
Golang: go1.11.13
OS/Arch: linux/386
Any ideas?

Solved.


when i use yo webapp for a new projects

I use yo webapp in the directory of /home/zeng/yeoman/first, but it always create new files in root directory, why it happened ?
I can see that:
Just found a .yo-rc.json in a parent directory.
Setting the project root at: /home/zeng
but how to resolve it ?

Remove the .yo-rc.json in your home folder.


[ttLib] Variable GlyphSet: odd behavior with components.

 This doesn't happen at all locations.
This reproduces it nicely:
python -m fontTools.pens.svgPathPen MutatorSans.ttf ÁÁÁ --variations wght=1000
Test font: MutatorSans.ttf.zip
Screen grab of the resulting SVG:

My suspicion is that something gets mutated that shouldn't get mutated.

Replacing the copy with deepcopy here fixes it:
https://github.com/fonttools/fonttools/blob/2fcac63a74b45129869798ff7d286097983f57b3/Lib/fontTools/ttLib/ttGlyphSet.py#L214
@behdad would that be a reasonable fix, or is there a better/cheaper way to fix this?

This also fixes it:
		glyph = copy(glyf[self._glyphName]) # Shallow copy
		if glyph.isComposite():
			# Shallow copy components
			glyph.components = [copy(c) for c in glyph.components]

How about you move the copy to line 156?

How about you move the copy to line 156?

Perfect, thanks!


Update gotchas on below error message when running sass-linter with webpack isomorphic tools plugin

I'm getting below error when I use scss linter in tandem with webpack isomorphic tools. I'm not sure how to interpret this message.
ERROR in ../~/css-loader?sourceMap!../~/sass-loader?includePaths[]=/Users/csekharveera/Sites/app-f-
vertical/~/node-bourbon/~/bourbon/app/assets/stylesheets!../~/sasslint-loader!../lib/app/layouts/Base.scss
Module build failed: YAMLException: duplicated mapping key at line 21, column 19:
nesting-depth: 0

I'm able to resolve the issue, it was due to duplicate key in the config.


Address Eligibility to include option for "outside service area"

The Office of Housing Weatherization only available for residents who are in the Seattle City Light service area but outside the City of Seattle AND heat their home with electric heat. Customers in this category that heat their home with either Oil or Gas must use the King County Weatherization program.
We have determined that we want to create a visibility condition that shows static text informing Oil and Gas heated homes outside the City of Seattle information about the King County program with a link.
Here is a screen shot of the current visibility options.

In the second column, the images shows "in service area". This is the only option you can select in this drop down.
Is it possible to create a second option that filters applicants who are "out of service area"?

@Miguel-314 try setting the third drop down  to this

@gwendolyngoetz let me know if you need a design document for this.  Seems pretty straight forward.
Wondering if in the meantime it could be configured in the opposite way:  instead of shown if gas/oil Not in service area, we could do NOT show if Electric and IN the service area?

I might be reading this wrong but I don't think that will work. Here is the full eligibility I am trying to program.

I think this has been properly communicated but just in case, the feature being request is a visibility/eligibility condition that allows for both "in service area" and "outside service area".


img doesn't show anything

Smol example:
use floem::{
    keyboard::{Key, Modifiers, NamedKey},
    taffy::AlignItems,
    views::{container, h_stack, img, Decorators},
    IntoView, View,
};

fn main() {
    floem::launch(main_view);
}

fn main_view() -> impl IntoView {
    let jpg_img = img(|| include_bytes!("../test.jpg").to_vec()).style(|s| s.size(200, 200));
    let png_img = img(|| include_bytes!("../test.png").to_vec()).style(|s| s.size(200, 200));

    let view = container(h_stack((jpg_img, png_img)))
        .style(|s| s.size_full().align_items(AlignItems::Center))
        .keyboard_navigatable();

    let id = view.id();

    view.on_key_up(Key::Named(NamedKey::F11), Modifiers::empty(), move |_| {
        id.inspect()
    })
}

Inspector shows that the layout is ok but nothing is drawn:

Using git main on arch, wayland, amd gpu if any of that matters.

Did this work with previously?
It looks like the widget gallery images still work. Do you have more info?

Looks like i missed that support for different image types are now gated behind features and i didn't have default features enabled :grin:  :roll_eyes: Case closed :detective:

We should probably at least print an error in that case


Ensure RTD is tagging docs correctly

Everything is in order with the RTD config, except I did change the default version to be "stable" instead of "latest".


Implement relative name for versioned documentations

As a user,
in order to easily access the latest documentation page,
I need a relative name instead of a fixed version number.
@brancz proposed  the usage of a latest relative name. That's what CoreOS uses in their docs.
Open question:

Do we want to use latest or rather stable so that these links don't include pre-releases?

I feel latest is commonly used to refer to the latest stable release, but have no objections to either naming. If we want to be extra detailed, maybe latest-stable.

As it seems our latest Docker tag also points to the last stable release, it probably makes sense to use that.


UI for playback of user interaction history

Problem
Currently the playback UI can only play from the beginning to the end, with 100ms sleep between the frames.
I miss functions like:

Step to prev frame, Step to next frame.
Playback in original tempo.
Start, stop.
Play in reverse.

Solution
Prototype.

There is now a UI for inspecting the history.
https://neoneye.github.io/arc/history.html?historyUrl=https%3A%2F%2Fraw.githubusercontent.com%2Fneoneye%2FARC-Interactive-History-Dataset%2Fmain%2Fhistory_files%2F8%2FARC-Interactive history 2024-02-25T16-34-56Z.json
Ideas for the history details page

Show the “wait” parameter between each step.
Click on a step to see the corresponding image.
Click on a step to see the corresponding json for that history event.
Single step between history events: prev, next.


[Feature request] Combine multiple sources

Describe your suggested feature
This feature would allow to have one entry in your library but you could have potentially a more complete series viewing experience.
For example x manga have been picked up by a scanlation group and they continued the work of a previously disappeared group but you can only access the previous group work from an aggregator site. Currently you need to pick both and add to your library.
If you could pick for example the new scanlation group's manga to you library and on that manga page in the app you could define more of the same manga from different sources and rank them to fill the missing chapters based on a ranking between these sub sources for potentially a heavily fragmented series.
The ranking would worked like this:
For example the new scanlation group picked up from chapter 120. The rank 1 aggregator site has only 1 to 60 chapters but with higher quality and better translation compared to the ranked 2 aggregator site, which means because it ranked, it will fill it from 1 to 60 the missing chapters. Ranked 2 aggregator site has 1 to 120 chapters, its lower quality but it has the missing chapters that rank 1 has not, so it will fill it from 61 to 119 because rank 1 filled it from 1 to 60 and the main manga in the library already has the 120th chapter.
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 1.10.5.
[X] I will fill out all of the requested information in this form.

SY already has this with merging Manga, when in a manga, click the merge icon or overflow menu button.


How to use experimental flutter ?

I try to copy code from https://flutter.dev/docs/codelabs/layout-basics
and paste it here http://dartpad.dev/experimental/embed-new-flutter.html
but I couldn't get it working with http://dartpad.dev/experimental/embed-new-flutter.html
Is there any additional setup?

There shouldn't be any additional setup. Can you paste the snippet you are trying to get working?

Actually, some of the snippets in that article have test code that is hidden. A full working example (without hidden test code) might look like this:
import 'package:flutter_web/material.dart';
import 'package:flutter_web_test/flutter_web_test.dart';
import 'package:flutter_web_ui/ui.dart' as ui;

Future main() async {
  await ui.webOnlyInitializePlatform();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  MyApp();

  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(),
        body: Column(children: [
          BlueBox(),
        ]),
      ),
    );
  }
}

class BlueBox extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: 50,
      height: 50,
      decoration: BoxDecoration(
        color: Colors.blue,
        border: Border.all(),
      ),
    );
  }
}

A full example for a codelab (with test code) looks like this: https://gist.github.com/RedBrogdon/76e993732820ef908ea8424744b9996d

@johnpryan thanks,
when I pasted the test snippet, it worked.
this -> await ui.webOnlyInitializePlatform(); is the step that wasn't clear to me untill now.
Thanks !!!


Remove user from authProvider

Replace with userId and a useCurrentUser hook that uses react-query

This was closed in #493

This was closed in #493


Failed to execute gcloud command

TL;DR
Deployment fails when deploying to Cloud Run from source with using the default template.
Expected behavior
Successful deploy
Observed behavior
Failure to deploy with the following error message:
Error: google-github-actions/deploy-cloudrun failed with: failed to execute gcloud command `gcloud run deploy MY-SERVICE --quiet --platform managed --region europe-west6 --source ./src/ --project *** --format json`: This command is equivalent to running `gcloud builds submit --tag [IMAGE] ./src` and `gcloud run deploy MY-SERVICE --image [IMAGE]`

The name of my service has been replaced with MY-SERVICE
Action YAML
name: Deploy to Cloud Run from Source

on:
  push:
    branches: [ "main" ]

env:
  PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} # Google Cloud project id
  SERVICE: MY-SERVICE
  REGION: europe-west6

jobs:
  deploy:
    # Add 'id-token' with the intended permissions for workload identity federation
    permissions:
      contents: 'read'
      id-token: 'write'

    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Google Auth
        id: auth
        uses: 'google-github-actions/auth@v0'
        with:
          workload_identity_provider: '${{ secrets.WIF_PROVIDER }}' # e.g. - projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider
          service_account: '${{ secrets.WIF_SERVICE_ACCOUNT }}' # e.g. -<EMAIL_ADDRESS>
      - name: Deploy to Cloud Run
        id: deploy
        uses: google-github-actions/deploy-cloudrun@v0
        with:
          service: ${{ env.SERVICE }}
          region: ${{ env.REGION }}
          # NOTE: If required, update to the appropriate source folder
          source: ./src/

      # If required, use the Cloud Run url output in later steps
      - name: Show Output
        run: echo ${{ steps.deploy.outputs.url }}

Log output
No response
Additional information
Steps followed:

Go to GitHub Actions tab in my repo
Create new workflow
Select "configure" on "Build and deploy from source" (screenshot)
Update env vars

I'm looking to use my own Dockerfile in ./src/. I've updated the source parameter accordingly: source: ./src/.
I've also tried removing the trailing slash. This results in the same error.
I've used a different service name to ensure it's unique and the error is the same.

Hi there - could you please provide the debug output for the complete GitHub Actions workflow run?

Good call. I've enabled the debug output and downloaded the logs. Available here.
It looks like this is the specific error:
Deployment failed
ERROR: (gcloud.run.deploy) The user is forbidden from accessing the bucket [***_cloudbuild]. Please check your organization's policy or if the user has the "serviceusage.services.use" permission. Giving the user Owner, Editor, or Viewer roles may also fix this issue. Alternatively, use the --no-source option and access your source code via a different method.

Although I've followed the instructions in the template and both enabled and set permissions for Cloud Run, Cloud Build, Cloud Storage and Artifact Registry.
I've followed that error message and added the roles/serviceusage.serviceUsageAdmin as well. Here are the roles currently assigned to my service account:
ROLE
roles/artifactregistry.admin
roles/cloudbuild.builds.editor
roles/cloudfunctions.developer
roles/iam.serviceAccountUser
roles/run.admin
roles/secretmanager.secretAccessor
roles/serviceusage.serviceUsageAdmin
roles/storage.objectAdmin

The error remains after just trying a re-run.

I've figured out the problem. Once again it's misleading info in the workflow template. The template comments mention the following permissions:
3. Ensure the required IAM permissions are granted
#
#    Cloud Run
#      roles/run.admin
#      roles/iam.serviceAccountUser     (to act as the Cloud Run runtime service account)
#
#    Cloud Build
#      roles/cloudbuild.builds.editor
#
#    Cloud Storage
#      roles/storage.objectAdmin
#
#    Artifact Registry
#      roles/artifactregistry.admin     (project or repository level)

However roles/storage.objectAdmin is incorrect. You actually need roles/storage.admin, as per the docs.
I've tested and can confirm it's working with the Storage Admin role.

@verbanicm

@verbanicm can you take a look at updating the starter workflows? This came up again in a usability study.

Will be closed when https://github.com/actions/starter-workflows/pull/2478 is merged. There's a new IAM permission, roles/run.sourceDeveloper, that handles this.


Add nfs-utils RPM spec

I found out that nfs-utils which is placed in the official CentOS/RHEL repository requires libevent-2.0 as a dependency. However, ESSENTIAL KAOS repo contains libevent-2.0.22 so I unable to install nfs-utils because of this. Pay attention that nfs-utils is major component for NFS filesystems in Linux.
I suppose that would be better to have a fresh version of nfs-utils with libevent support from this repository. @andyone what do you think, should we have a nfs-utils package for CentOS 6? Or is it enough to have version only for CentOS 7? I also have not tested it yet. I ask you to have a look and say your opinion.

Hi! It will be great if we can provide fresh package for both systems. But compatibility problem only persist on CentOS7, because on CentOS6 libevent > 2 is named libevent2 and nfs-util not depend on it.


Add permalink for token display symbol to direct to individual token …

…pages

What kind of PR is this?:

/kind feature
What this PR does / why we need it:
Add permalink for token display symbol to direct to individual token pages
Which issue(s) does this PR fixes?:

Fixes https://github.com/DeFiCh/scan/issues/1060
Sample Links & Screenshots:

Link:

Desktop Screenshot

Mobile Screenshot

Additional comments?:
Developer Checklist:

[ ] Read your code changes at least once
[ ] Tested on multiple web browsers
[ ] Tested responsiveness (e.g, iPhone, iPad, Desktop)
[ ] No console errors
[ ] Unit tests*
[ ] Added e2e tests*

Looks good


Feature: datapoint with elapsing time of countdown

Can you please provide an additional datapoint with elapsing time of countdown in ms.
Then this datapoint could be used e.g. in own widgets

i think this is a bad idea, because of network traffic or message-load in vis or other vizualization.
every second (or maybe less) for each timer a new message is send to update the datapoint.
additional the time between message generation and arrival in vis is not always the same. this causes that sometimes a second is skiped.
please calculate the elapsed time from datapoints end-start.


module 'matplotlib.cbook' has no attribute '_make_class_factory'

When i run the codefrom deepst.DeepST import run, The following error occurred

Thank you for using DeepST. We have updated the version of the dependent python packages, you can reinstall and hopefully it will solve your problem.


How to add DynamicLines

In Gazebo Classic, we can create a DynamicLine by inheriting from gazebo::VisualPlugin and invoking gazebo::rendering::Visual::createDynamicLine. Is it possible to perform a similar operation in Gazebo Harmonic? Although the class gz::rendering::OgreDynamicLines does exist, I am unsure of the method to generate it within a scene.

there is currently no API to create a dynamic line. The alternative is to use a Marker and set the type to gz::rendering::MarkerType::MT_LINE_LIST - this tells the marker to use dynamic lines. As an example, the MarkerMananger in gz-sim uses this to draw shapes and lines in the scene.

@iche033
Thank you very much!


[Bugfix] Truncate build logs

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Server: I added multiple integration tests (Spring) related to the features (with a high test coverage)
[x] Server: I documented the Java code using JavaDoc style.

Motivation and Context

Build logs entries which are larger than 255 characters currently crash the result creation as they don't fit into the database column VARCHAR(255). This happens for example when a build fails with static code analysis enabled, as Checkstyle will output quite a large error message.
Description

Truncate the logs to 255 characters if they are larger than 255 characters
Little restructure of code. Preparation of build logs moved into a private method
Integration tests for various sizes of build logs

Steps for Testing

Create a programming exercise (with and without SCA)
Participate in those exercises
Submit valid solutions
--> Should compile and show results
Submit solution containing errors
--> Should not compile and build logs should be shown

Test Coverage

ExerciseService.java: 85%
programming-exercise.component.ts 95%

While testing this fix, I discovered a more severe problem.
After creating new programming exercises (with and without SCA) changing out the test cases doesn't work any more.
Now Artemis doesn't recognize the deletion of the old test cases or the creation of the new test cases.
So after changing the test cases and submitting some code as a student the feedback is "0 of 13 passed" (13 is the number of tests in the example exercise), even though I only have one test in the test repo for the exercise right now.

Thanks for the feedback I'll look into this

The bamboo notification plugin checks the last 1000 log entries, applies an error filter and sends the remaining entries to Artemis. We already had this issue in the past, when Artemis was pulling the logs. The downloading logs are so numerous, that the actual compilation error won't get sent. Bumping to number to ~2000 should solve this issue.
Additionally we will add the static code analysis tools to the build agent docker images, so that there shouldn't be any downloading messages anymore. I also added filtering for those messages in Artemis.
Generally, this PR does what it is supposed to do. Long build logs don't crash the result creation anymore. For compilation errors to show up when static code analysis is enabled, a new version of the notification plugin must be rolled out. I'm optimistic that we can do this till the end of the week.

While testing this fix, I discovered a more severe problem.
After creating new programming exercises (with and without SCA) changing out the test cases doesn't work any more.
Now Artemis doesn't recognize the deletion of the old test cases or the creation of the new test cases.
So after changing the test cases and submitting some code as a student the feedback is "0 of 13 passed" (13 is the number of tests in the example exercise), even though I only have one test in the test repo for the exercise right now.

I could not reproduce this error. Did you run the solution build plan after changes the test cases? Otherwise Artemis won't know that the test cases have changed.


Search button color scheme

Please assign this to me

Text should be visible.

@max-programming Can you assign this to me?

@max-programming should I use manga-2?

I just saw this. Do you want me to change the color of GitHub icon to white?

Yeah sure

@max-programming should I use manga-2?

yes

@max-programming Nishidh changed a lot of things so it was conflicting.
Creating a new pull request please check.


Associate timers with widget ids

Closes #494

I haven't looked at the code closely yet, but can't we do this association without BaseState? BaseState gets replicated a lot. I'm thinking of something like sending the WidgetId in with self.window.request_timer() and then the WidgetId gets stored close to wherever the TimerToken is stored. When the timer fires, we can have a RouteTimer{WidgetId, TimerToken} internal event that gets translated into the classic Timer event when it reaches the target widget.
I'll have more time to look into this tomorrow hopefully, but just wanted to get that thought out there.

WidgetId gets stored close to wherever the TimerToken is stored.

That was my first attempt. TimerToken is stored in platform window. After some discussion, we decided not to change druid shell.

When the timer fires, we can have a RouteTimer{WidgetId, TimerToken} internal event that gets translated into the classic Timer event when it reaches the target widget

The objective of this was to do aggressive traversing of Timer event. We can't let the event reach every widget to find out if it is a target or not. So I let 'timer -> widget id' entries merge_up to root. And when the event is fired, we use this map along with maybe_contains to determine if we need to recurse.

Yeah druid-shell shouldn't be modified, but we could probably store the HashMap<TimerToken, WidgetId> in the druid window. :thinking:
As for agressive traversing, you can still do that if you just know the WidgetId at the root, because you can still use may_contain to check if a path may contain the WidgetId.

Whatever you said is what this PR does.

You are right. I cleaned up BaseState timer but not Window. Will fix this asap.

To remove timers from window, I check is_handled flag at the end of event() in window.
This has one drawback, all handlers need to call ctx.set_handled().
Is that acceptable?

I think it's fine to set is_handled when the timer event reaches its destination.
Something like the following:
recurse = if *widget_id != child_ctx.base_state.id {
    child_ctx.base_state.children.may_contain(widget_id);
} else {
    child_ctx.is_handled = true;
    true
};

That can be useful for preventing further propagation, however this is not how the removal should happen in the window, because the widget who requested the timer may not exist anymore. I think the window HashMap entry should be removed every time a Timer event comes to the window, regardless if it was handled by a widget or the widget no longer exists.

I think the window HashMap entry should be removed every time a Timer event comes to the window, regardless if it was handled by a widget or the widget no longer exists.

Sounds good. With that in mind, this should work at the end of event in window.
if let Event::Timer(token) = event {
    self.timers.remove(&token);
}

I spoke too early. With the change I suggested, the timer example crashes.
I will look in to more details.

TimerToken is reused when available, so make sure you do the removal before you extend it with the new timer requests, because that new timer request set may contain the same id that you're removing.

You are absolutely right. Looks like tokens are reused only on Windows. Linux/Mac seem to work as token aren't reused there.

Okay this looks functional now.
There is some more work opportunity here though. Instead of the window sending Event::Timer it should create a new Event::Internal(InternalEvent::Timer{ widget_id, token }) and send that, similarly to how LifeCycle::Internal(InternalLifeCycle::RouteFocusChanged{ widget_id, widget_id }) works. Then there's no need to pass the window's HashMap reference via EventCtx and inside WidgetPod we can handle the internal event. When it finally reaches the target widget we synthesize the real Event::Timer.
Let me know if this is something you wish to continue working on. It's completely fine if you want to just get this merged and be done for now. :+1:

I prefer doing this the right way rather than just merging and creating a technical debt. Besides hopefully I'll learn something more.
I will look more in to your suggestion.
Thanks for asking.

This approach is pretty good, but It isn't quite what i had in mind; as mentioned by @xStrom, I think it would be even cleaner if we used an internal RouteTimer event to deliver the timer to only the correct widget. The advantage of this method would be that widgets would no longer see timers that were not intended for them, and so they could be less careful about always stashing and checking timer tokens.

I agree. Im working on the approach you and @xStrom are talking about. But isn't

widgets would no longer see timers that were not intended for them

already working? I ask because that was THE goal I was working towards and I thought I implemented it. 🤔

not if a widget has children; we will recurse into a container widget with the Timer event, which is not actually for the container but for the child.


Prepare datapath for policy changes for kube-apiserver

bpf: Refactor node identity checking
bpf: Add kube-apiserver identity
DONOTMERGE: Datapath-related things to check for apiserver identity

Read commit-by-commit.
WIP, to be folded into ongoing work with @christarazi.

test-only --focus="K8sVerifier" --kernel_version="54"

/ci-gke

Superseded by https://github.com/cilium/cilium/pull/17823 .


Change go.mod to use 1.13, so ingress tests actually runs

Currently there is a bug in test-infra such that when no integration tests is run we won't see a failure.
Using go 1.14 in go.mod hits this condition. See https://prow.knative.dev/view/gcs/knative-prow/pr-logs/pull/knative_net-kourier/69/pull-knative-net-kourier-integration-tests/1261318375200526337
Change back to 1.13 so tests actually will run.

/close
changing back to 1.13 doesn't seem to help


Support for DialogFragments

It would be great to have base classes who's parents were either
DialogFragment
or
SherlockDialogFragment
It shouldn't require any real changes to how things work.

I agree ! =) Is it in the roadmap ?


MSID: 91483 Version: 1 DOI: 2<IP_ADDRESS>9767

"msas": "Neuroscience"
"msid": "91483"
"preprintDoi": "10.1101/2<IP_ADDRESS>9767"
"Reviewed Preprint posted": "2023-10-09"
"Sent for peer review": "2023-08-23"
"Posted to bioRxiv": "2023-08-19" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>9767v2/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[ ] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=91483)

or (only one should be ticked. remove other from description.)

[ ] Confirmed with Ted at bioRxiv that MECA archive is available

Send the following email to Ted and wait for his reply.
Hi Ted,

Please can you prepare the preprint MECA for 10.1101/2<IP_ADDRESS>9767

Thanks

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/91483/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>9767)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/91483/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/91483)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/91483

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/91483

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/91483/v1/91483-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/91483)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

Meike E. van der Heijden has wrong email address, Roy V. Sillitoe is missing corresponding email address


Configuration of ENet and DeepLab

Hello, thanks for the excellent work! I am trying to train and test these datasets on ENet and DeepLab but I am unable to produce such high results indicated in the benchmark section. Can you provide the detailed configurations of them? Any help will be appreciated!

I run tests on implementations in this reopo. I think there is nothing special, even some results are not the best.


Add a way of completely disconnecting a node from the rest of the graph

Fixes #60

I thought about the effect in a graph when a Node is removed that is not a root or leaf node, then the graph would disconnect at that point and it would be necessary to somehow connect the nodes in the prev-Set and the next-Set. It probably is not a problem for the Issue that is fixed. So my proposal would be to implement this connection in the subgraph or my current tendency to document the function to only use is for those specific cases and keep the "Graph stitching" in minde if we ever want to remove an arbitrary node from the graph.

Ah that's true, I didn't think about the effects of removing intermediate nodes. But I think for now removing nodes is only used for the children of MemberExpressions. I think we will most likely never see the need to remove arbitrary intermediate nodes, but if we should, you are right that we need to consider a more complete way of graph stitching


[Key Vault Secrets] Generated code update (9726 9069 9590)

This PR attempts to:

Move the generated folders from core to generated.
Use Autorest TypeScript v6.
Use KeyVault's swagger files for the 7.2-preview service version.

All of this in Key Vault Secrets client ONLY.
IMPORTANT: This requires re-generating some recordings. I'll do that after we merge: https://github.com/Azure/azure-sdk-for-js/pull/9693
One this looks good, I'll do the same for Secrets and Certificates.
For #9726
For #9069
For #9590

One good thing from this PR: I believe the lack of changes in the review/ file shows that the changes aren't breaking. It increases my confidence.
One bad thing about this PR: The generated code has naming inconsistencies, and the convenience layer feels like it could have some refactoring. I don't think I have budget for neither of those at the moment though.

Since #9726 is not intended for July, I'll close this PR. It will be easy to re-do this for September.


Use custom serializers

Here are the custom serializers as promised. Should reduce the amount of boxing and allocations,

Looks mostly OK, but I have issues running the tests. Not directly related to this PR though. Issues surfaced after we went multiplatform.

Closing as the gltf loader went into hibernation and the project was reverted to a jvm project.


Nokogiri parser removes child element from anchor tag and add them as a separate element.

Nokogiri parser removes child element of anchor tag and add them as a separate element.
To Reproduce
Here's an example:
parse_data =  Nokogiri::HTML.parse "

 "

parse_data.to_html
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\" \"http://www.w3.org/TR/REC-html40/loose.dtd\">\n\n

\n
 \n"

So it removes table from anchor tag and add them as a separate tag

\n

It seems the problem is with parser(Nokogiri::HTML.parse) which not correctly add child element of anchor tag
Nokogiri version: "1.10.1"

Hi! Thanks for asking this question. The short answer is that Nokogiri is inheriting this behavior from the underlying parser, libxml2, and so there's unfortunately very little that nokogiri can easily do to modify this behavior. But read on for a suggestion (hint: nokogumbo).
The slightly longer version: the HTML4 spec for an A anchor element defines only "inline" elements as valid subelements. If you recurse through the inline definition, I think you'll find that only these elements are valid within an A element:

"abbr"
"acronym"
"applet"
"b"
"basefont"
"bdo"
"big"
"br"
"button"
"cite"
"code"
"dfn"
"em"
"embed"
"font"
"i"
"iframe"
"img"
"input"
"kbd"
"label"
"map"
"object"
"q"
"s"
"samp"
"script"
"select"
"small"
"span"
"strike"
"strong"
"sub"
"sup"
"textarea"
"tt"
"u"
"var"

and this is in fact what libxml2 does.
Now you may be saying to yourself, "But MDN says that table is a valid subelement!" and this is a very good point. I'll further note that Nokogiri, when run on JRuby (using the nekoHTML parsing library) does allow that table within the a element.
This can be traced to the fact that this was introduced in the HTML5 spec, which nekoHTML appears to at least partially support. However libxml2 does NOT support HTML5, and so Nokogiri-on-libxml2 inherits this limitation.
You may want to take a look at using NokoGumbo, which aims to bring HTML5 support to Nokogiri.
I hope this explanation helps?


Clean up standard preludes

Find a better convention/style for writing preludes:

More high-level type constructor for creating representations from aspect quadruplet (Pitch, Dynamics, Articulation, Parts), etc.
More generic versions open and other I/O functions, see also #236 and #81.

Superseded by backend rewrite, closing.


Disable patching for KMeans(n_clusters=1)

Description
Temporary disable patching for KMeans(n_clusters=1) due to segfault in KMeans Lloyd algorithm.
_List associated issue number(s) if exist(s): https://github.com/uxlfoundation/scikit-learn-intelex/issues/2197

PR should start as a draft, then move to ready for review state after CI is passed and all applicable checkboxes are closed.
This approach ensures that reviewers don't spend extra time asking for regular requirements.
You can remove a checkbox as not applicable only if it doesn't relate to this PR in any way.
For example, PR with docs update doesn't require checkboxes for performance while PR with any change in actual code should have checkboxes and justify how this code change is expected to affect performance (or justification should be self-evident).
Checklist to comply with before moving PR from draft:
PR completeness and readability

[x] I have reviewed my changes thoroughly before submitting this pull request.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have updated the documentation to reflect the changes or created a separate PR with update and provided its number in the description, if necessary.
[x] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details).
[x] I have added a respective label(s) to PR if I have a permission for that.
[x] I have resolved any merge conflicts that might occur with the base branch.

Testing

[x] I have run it locally and tested the changes extensively.
[x] All CI jobs are green or I have provided justification why they aren't.
[x] I have extended testing suite if new functionality was introduced in this PR.

Performance
N/A

/intelci: run

/intelci: run

Just make sure there is a ticket in the backlog to either address this or put it in documentation publicly.

Ticket and GH issue will not be closed after merge since it's a temp. fix.


openssf: Bootstrap Governance Board/Doc

Need a boot strap governance board/doc until a formal board and docs are created.

See CDEvent Bootstrap for example

Resolved pyrsia/.github#4


Ghost 1.0 compatibility

This doesn't work on ghost 1.0.0 beta 1
Any plan to support it?

After I moved my blog to Hexo, this Ghost plugin is not actively maintained anymore, but I'll try to make a update sometime :)
Thanks for letting me know the compatibility issue.


Dynamic query DSL updated

Added an extra method to support String properties.
Fixes #1678
Problem
setOpt method currently doesn't support String properties. This leads to forced use of properties during update / insert
Solution
Since set and setValue already supports String as property. It is enough to just overload the setOpt.
Checklist

[ ] Unit test all changes
[x] Update README.md if applicable
[x] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Add travis

https://travis-ci.org/kuperov/smsglobal - Don't forget to signup/enable your repo. It's a few clicks, but then the badges work.


Answer for Assignment SQL

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Answer Assignment SQL
What did you learn from the changes you have made?
Data structure and relationships
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
NA
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How to express it
How were these changes tested?
No
A reference to a related issue in your repository (if applicable)
NA
Checklist

[X] I can confirm that my changes are working as intended

Hi, why so low? I could not add images nicely to show homework, hence it was all text. Could you revise to get at least half of the points? I would appreciate revision if ok with you.

Hi, why so low? I could not add images nicely to show homework, hence it
was all text. Could you revise to get at least half of the points? I would
appreciate revision if ok with you.
On Sun, Sep 29, 2024 at 6:00 PM amanda-ng518 @.***>
wrote:

@.**** approved this pull request.
A1: missing tables, 20/52
—
Reply to this email directly, view it on GitHub
https://github.com/CarlosGD-CAN/sql/pull/7#pullrequestreview-2336025389,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BKRJBU4OFWT6YDUNKNYXEW3ZZBZ7TAVCNFSM6AAAAABOW45QROVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGMZWGAZDKMZYHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Theme-Boilerplates

I'd appreciate if there would be some theme boilerplates in this list.
For now I found
https://github.com/studioemma/magento2-theme-optimus
and
https://github.com/SnowdogApps/magento2-theme-blank-sass
Maybe there are others

Hi Kevin, good idea! I already merged your PR.


Add mysqlclient install instructions

To add this to README for installing mysqlclient
https://github.com/PyMySQL/mysqlclient/blob/main/README.md

Related to https://github.com/AdvisorySG/mentorship-streamlit/issues/25 - if we proceed with using dev containers, we can include brief instructions for that too.


Load line-bot-sdk-go version from build info

Currently, line-bot-sdk-go embeds the library version in the user-agent, so version.go is updated at release time. Because of this, GitHub's branch protection cannot be used. (we can solve this by using PAT, but we don't want to use it)
Since Go 1.18, https://pkg.go.dev/debug/buildinfo has been provided. It should allow us to obtain the version of line-bot-sdk-go that the library user is using. Since line-bot-sdk-go supports Go 1.22 and above, this feature should be usable.
In the user's environment, the version of line-bot-sdk-go is retrieved from buildinfo only once in runtime. There's no point in recalculating it each time since the same value should be obtained every time.
Excluding meaningless mocks, tests cannot be written. Since it's general code, I thought it would be fine to verify it after release. Even if it doesn't work correctly, it's not a major issue. Let's give it a try.

とはいえいい方法を考えたい


:tada: effort to generate mnist data using GAN with tinygrad. [WIP]

An effort to generate mnist digits with tinygrad.
Added generator
added LeakyRelu.
added dropout.

worrking code waiting for training completion will post generated pictures.

@geohot
losses are making sense now..
generated some images of '0' digit when overfitted with zero only train data
but with mode collapse.
TODO:
l2 reg
label smoothing
BCE
please check and help if you find some tweaks or bugs.


Update your sharp dependandy to run the application in windows

I'm using windows @vite-pwa/assets-generator: ^0.2.6 and get this error with yarn dev.
Error: Could not load the "sharp" module using the win32-x64 runtime
ERR_DLOPEN_FAILED: The specified procedure could not be found.
<EMAIL_ADDRESS>Possible solutions:
- Ensure optional dependencies can be installed:
    npm install --include=optional sharp
- Ensure your package manager supports multi-platform installation:
    See https://sharp.pixelplumbing.com/install#cross-platform
- Add platform-specific dependencies:
    npm install --os=win32 --cpu=x64 sharp
- Using the canvas package on Windows?
    See https://sharp.pixelplumbing.com/install#canvas-and-windows
- Check for outdated versions of sharp in the dependency tree:
    npm ls sharp
- Consult the installation documentation:

It comes from yarn installing two different versions of sharp in yarn.lock (^0.33.5 is the latest and ^0.32.6 is your dependency). Here is the yarn.lock:
sharp@*:
  version "0.33.5"
  resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e"
  integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==
  dependencies:
    color "^4.2.3"
    detect-libc "^2.0.3"
    semver "^7.6.3"
  optionalDependencies:
    "@img/sharp-darwin-arm64" "0.33.5"
    "@img/sharp-darwin-x64" "0.33.5"
    "@img/sharp-libvips-darwin-arm64" "1.0.4"
    "@img/sharp-libvips-darwin-x64" "1.0.4"
    "@img/sharp-libvips-linux-arm" "1.0.5"
    "@img/sharp-libvips-linux-arm64" "1.0.4"
    "@img/sharp-libvips-linux-s390x" "1.0.4"
    "@img/sharp-libvips-linux-x64" "1.0.4"
    "@img/sharp-libvips-linuxmusl-arm64" "1.0.4"
    "@img/sharp-libvips-linuxmusl-x64" "1.0.4"
    "@img/sharp-linux-arm" "0.33.5"
    "@img/sharp-linux-arm64" "0.33.5"
    "@img/sharp-linux-s390x" "0.33.5"
    "@img/sharp-linux-x64" "0.33.5"
    "@img/sharp-linuxmusl-arm64" "0.33.5"
    "@img/sharp-linuxmusl-x64" "0.33.5"
    "@img/sharp-wasm32" "0.33.5"
    "@img/sharp-win32-ia32" "0.33.5"
    "@img/sharp-win32-x64" "0.33.5"

<EMAIL_ADDRESS>  version "0.32.6"
  resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a"
  integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==
  dependencies:
    color "^4.2.3"
    detect-libc "^2.0.2"
    node-addon-api "^6.1.0"
    prebuild-install "^7.1.1"
    semver "^7.5.4"
    simple-get "^4.0.1"
    tar-fs "^3.0.4"
    tunnel-agent "^0.6.0"

I was looking for a solution and after an hour I found this solution: https://github.com/lovell/sharp/issues/3878#issuecomment-1838626767
It resolves the issue by adding these lines to package.json:
{
  "resolution": {
    "sharp": "^0.33.5"
  }
}

https://github.com/lovell/sharp/issues/4291
@userquin  can you help and verify


Unsafe JavaScript attempt

Hey,
I've been trying to get this project running on my local machine. But every time I run the test suite I'm greeted by the following error:
Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///Users/V1/Projects/unshiftio/url-parse/node_modules/mocha-phantomjs/lib/mocha-phantomjs.coffee. Domains, protocols and ports must match.

It might be related to 1.9.8 release of phantomjs: https://github.com/ariya/phantomjs/issues/12697

I'm having the same issue.  Also using gulp-mocha-phantomjs.

Yes it is because of the above referenced phantomjs issue. I saw it while working on mocha-phantomjs-core too.
from what I've seen, forcing<EMAIL_ADDRESS>will get around this issue.

@nathanboktae I just tried to install<EMAIL_ADDRESS>in both the main project and inside mocha-phantomjs to no avail. I've also tried upgrade mocha, to no avail as well.

Any progress on this?  Not all my tests run due to this error.

This is not an issue with mocha-phantomjs but phantomjs versions >= 1.9.8 < 2.0, as evidenced here by a CI run on mocha-phantomjs-core.
I'm going to be focusing on v4 that will move to phantomjs 2, so this will be resolved then. For now, you can force using an older version of phantomjs via the -p option if you are blocked.

@nathanboktae

from what I've seen, forcing<EMAIL_ADDRESS>will get around this issue.

Are you referring to forcing the npm package phantomjs to<EMAIL_ADDRESS>If so I tried this and it still installs version 1.9.8 of PhantomJS.
$ ./node_modules/phantomjs/lib/phantom/bin/phantomjs -v
1.9.8

Is there a workaround that will solve this until v2.0.0 is stable on linux?

If so I tried this and it still installs version 1.9.8 of PhantomJS.

Correct I was mistaken.
Install phantomjs 1.9.16 yourself then use the -p  option to use that phantomjs.

The npm package or the actual software?
I tried that with the npm package, and I don't see a v1.9.16 of PhantomJS.

Alright, I built PhantomJS 1.9.7 from source by following these instructions, except instead of git checkout 2.0 I used git checkout 1.9.7.
Then I changed the PhantomJS path in my mocha-phantomjs test command from ./node_modules/phantomjs/lib/phantom/bin/phantomjs to /usr/bin/phantomjs(which is a symlink).
This has fixed this issue for me.

Alright, I built PhantomJS 1.9.7 from source

Ouch, there are built versions available for 1.9.7 FYI.

Hmm, I didn't see any information about built older versions on the PhantomJS website, or through a quick google search. Oh well, it only took around 40-60 min to build and my work day was over anyways.

Broke our Travis.

Why would you do this in minor version

Right it shouldn't have been. My bad I'll revert the dependency version and republish, then publish a minor bump.
And in v4 it'll be a direct dependency avoiding the problem.

This change has caused an issue with the gulp-mocha-phantomjs module. I'm not entirely sure how the dependency versions are working, but gulp-mocha-phantomjs is allowing phantomjs 1.9.17, where this change is only allowing up to 1.9.15. This results in the following error:

npm ERR! peerinvalid The package phantomjs does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>- 1.9.7-15

The workaround is to explicitly reference phantomjs 1.9.15 in my package.json file.


New Customize Format Bug - !include_dir_merge_named

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.37.0
Python release (python3 --version):
Component/platform:
customize
Description of problem:
The new format (- entity_id: light.front_porch) does not seem to support !include_dir_merge_named - when using a single file or editing directly in configuration.yaml it works fine but with a directory the customize settings are not taking.
Expected:
I can use a directory to manage my customize settings
Problem-relevant configuration.yaml entries and steps to reproduce:
homeassistant:
  name: Home
  unit_system: imperial
  customize: !include_dir_merge_named customize

customize/light.yaml
  - entity_id: light.christmas_lights
    icon: mdi:pine-tree

  - entity_id: light.left_bedside_lamp
    icon: mdi:lamp

  - entity_id: light.right_bedside_lamp
    icon: mdi:lamp

Traceback (if applicable):
none

Additional info:
Forum Topic: https://community.home-assistant.io/t/new-customize-format-not-working/10813/4

@Andrey-git I know you pushed the updated format, any insights here?

include_dir_merge_named is intended for dictionaries
For lists use include_dir_merge_list

@andrey-git Yep, that did it. Sorry for the misunderstanding on my part.


WIP: centosci-tasks-pg9l4: Check for NPM dependency updates

Check for any outstanding update of point version of any outstanding NPM package dependency

[ ] npm-update

npm-update in progress on centosci-tasks-pg9l4.
Log: http://fedorapeople.org/groups/cockpit/logs/npm-update-581-20190304-071010/


Soon dropping support for Django < 1.8, Python < 2.7

I think we did a wonderful job keeping old versions looped in. Now the time has come to let go of unsupported Django versions.
Soon we will go to version 7.x.x of django-bootstrap3. This will require Django >= 1.8 and Python >= 2.7.
If you need support for older projects, require django-bootstrap3<7

This issue wil remain open until 7.x.x is published on master / PyPI.
Please refer all complaints and suggestions about dropping support for older python and Django versions to this ticket, so we can discuss here.

Django support for 1.7 already ended, So I'd say you don't have to wait. Users stuck on 1.7 can continue to use 6.x.x.

I'm just keeping this open until I publish 7.0.0.

7.0.0 is already out there.


occasional interruption with java.lang.InteruptedException

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
follow all standard steps and run docker in Debian 7. Everthing works fine; but sometimes after a few hours, will disconnect and see the following error:
cta_strategy-ib-gateway-1  | 2023-11-02 08:28:35:471 IBC: detected dialog entitled: DU123456 Trader Workstation Configuration (Simulated Trading); event=Closed
cta_strategy-ib-gateway-1  | Forking :::4000 onto <IP_ADDRESS>:4002
cta_strategy-ib-gateway-1  | remove Client 1
cta_strategy-ib-gateway-1  | remove Client 1
cta_strategy-ib-gateway-1  | 2023-11-02 12:32:03:935 IBC: detected frame entitled: Connecting to server...; event=Opened
cta_strategy-ib-gateway-1  | 2023-11-02 12:32:03:935 IBC: detected frame entitled: Connecting to server...; event=Activated
cta_strategy-ib-gateway-1  | 2023-11-02 12:32:03:936 IBC: detected frame entitled: Connecting to server...; event=Focused
cta_strategy-ib-gateway-1  | java.lang.InterruptedException
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
cta_strategy-ib-gateway-1  | 	at com.sun.javafx.application.PlatformImpl.waitForStart(PlatformImpl.java:256)
cta_strategy-ib-gateway-1  | 	at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:277)
cta_strategy-ib-gateway-1  | 	at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:268)
cta_strategy-ib-gateway-1  | 	at com.sun.javafx.application.PlatformImpl.checkIdle(PlatformImpl.java:392)
cta_strategy-ib-gateway-1  | 	at com.sun.javafx.application.PlatformImpl.setImplicitExit(PlatformImpl.java:346)
cta_strategy-ib-gateway-1  | 	at javafx.application.Platform.setImplicitExit(Platform.java:138)
cta_strategy-ib-gateway-1  | 	at twslaunch.gstat.j.a(j.java:88)
cta_strategy-ib-gateway-1  | 	at twslaunch.gstat.a.d(a.java:215)
cta_strategy-ib-gateway-1  | 	at twslaunch.gstat.a.g(a.java:117)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
cta_strategy-ib-gateway-1  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
cta_strategy-ib-gateway-1  | 	at java.lang.Thread.run(Thread.java:748)
cta_strategy-ib-gateway-1  | 2023-11-02 12:32:37:902 IBC: detected frame entitled: Starting application...; event=Closed

Expected behavior
The connection should stay active; if it is interrupted, it should be able to resume automatically.
Container logs
If applicable, add the container logs docker logs <CONTAINER> or docker-compose logs to help explain your problem.
Versions (please complete the following information):

OS: [e.g. Windows]
Docker version: Docker version 24.0.6
Image Tag (docker --version): [e.g. latest]
Image Digest (docker images --digests): [e.g. sha256:60d9d54009b1b66908bbca1ebf5b8a03a39fe0cb35c2ab4023f6e41b55d17894]

Additional context
Add any other context about the problem here.
Any ideas? Thanks.

It could be related to the daily restart, please share the output of docker compose config. you will want to remove sensitive information like user and pass.
Personally I'm running a container with AUTO_RESTART_TIME=08:59 AM and it runs for a full week without any problem.

Thanks very much for your reply.
My daily restart time is set to 06:05 AM, and it restarts as expected. So it might not be the issue. Anyway, here is my docker-compose.yml:
version: "3.4"

services:
  ib-gateway:
    image: ghcr.io/gnzsnz/ib-gateway:stable
    restart: always
    environment:
      TWS_USERID: ${TWS_USERID}
      TWS_PASSWORD: ${TWS_PASSWORD}
      TRADING_MODE: ${TRADING_MODE:-live}
#      VNC_SERVER_PASSWORD: ${VNC_SERVER_PASSWORD:-}
      READ_ONLY_API: ${READ_ONLY_API:-}
      TWOFA_TIMEOUT_ACTION: ${TWOFA_TIMEOUT_ACTION:-exit}
      AUTO_RESTART_TIME: ${AUTO_RESTART_TIME:-}
      RELOGIN_AFTER_TWOFA_TIMEOUT: ${RELOGIN_AFTER_TWOFA_TIMEOUT:-no}
      TWOFA_EXIT_INTERVAL: ${TWOFA_EXIT_INTERVAL:-60}
      TIME_ZONE: ${TIME_ZONE:-Etc/UTC}
      CUSTOM_CONFIG: ${CUSTOM_CONFIG:-NO}
#    volumes:
#      - ${PWD}/jts.ini:/root/Jts/jts.ini
#      - ${PWD}/config.ini:/root/ibc/config.ini
    ports:
      - "<IP_ADDRESS>:4001:4001"
      - "<IP_ADDRESS>:4002:4002"
#      - "<IP_ADDRESS>:5900:5900"

And here is my .env file (removed sensitive information):
TWS_USERID=XXX
TWS_PASSWORD=XXX
TRADING_MODE=paper
READ_ONLY_API=no
TWOFA_TIMEOUT_ACTION=restart
AUTO_RESTART_TIME=06:05 AM
RELOGIN_AFTER_2FA_TIMEOUT=yes
TIME_ZONE=Asia/Hong_Kong
CUSTOM_CONFIG=

Thanks.

i haven't noticed that error before. looks like something coming from IBC. it's unlikely that can be fixed on this codebase (ex Dockerfile or run.sh), as that's a java exception.
if you find reproduction steps please share them. I'll check my log files to see if I find anything.

hi @josephchenhk
i dug into my log files and indeed I have found the error message that you are reporting. however I can not link it to any actual issue with the functioning of IB Gateway. From my side I can say I have the error on the logs but It does not seems to be causing any issue on my side, or at least I have not noticed it.
have you checked the application logs? ex File>Gateway Logs

Hi @gnzsnz
Thanks for the info. It seems that ib will disconnect for a while and reconnect automatically. If you are not placing an order, it should be fine; but if you are in the middle of placing an order, sometimes it will fail to receive a callback of the order.
can you tell me how to extract the application logs from the docker? Let me get the logs and take a further look. Thanks.

to extract application logs, you need to connet through VNC, and then click File>Gateway Logs
that will save a .txt file named gateway-exported-logs.txt
then you can get it with
docker cp ibgateway:/root/gateway-exported-logs.txt .

ibgateway is the name of your container
regarding this disconnect, I have noticed, but never really caused me an issue. but i read about it in https://groups.io/g/insync I'm sure you will find something usefull there.

thanks a lot for sharing the link, that's useful.
I didn't connect through VNC at the moment; I guess I can not click and save the logs at this time. But I will turn it on next time and download the logs when I see the disconnection.

Hi @gnzsnz,
I'm facing the same issue here.
It seems the java error only occures in case of an reconnect. Whether the connection is closed and restarted during the daily reconnect at 11:45 PM in my case or the connection is closed by peer due to no trading activity.
But, the error does not appear on my API Gateway Logs which I exported via VNC.
It's only side the docker logs.
2023-11-08 23:45:07:133 IBC: Starting Gateway 2023-11-08 23:45:11:612 IBC: Getting config dialog 2023-11-08 23:45:11:613 IBC: Creating config dialog future 2023-11-08 23:45:11:624 IBC: Getting config dialog 2023-11-08 23:45:11:626 IBC: Getting config dialog 2023-11-08 23:45:11:628 IBC: Waiting for config dialog future to complete 2023-11-08 23:45:11:629 IBC: Waiting for config dialog future to complete 2023-11-08 23:45:11:630 IBC: Getting main window 2023-11-08 23:45:11:630 IBC: Creating main window future 2023-11-08 23:45:11:658 IBC: Getting config dialog 2023-11-08 23:45:11:659 IBC: Waiting for config dialog future to complete java.lang.InterruptedException         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)         at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)         at com.sun.javafx.application.PlatformImpl.waitForStart(PlatformImpl.java:256)         at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:277)         at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:268)         at com.sun.javafx.application.PlatformImpl.checkIdle(PlatformImpl.java:392)         at com.sun.javafx.application.PlatformImpl.setImplicitExit(PlatformImpl.java:346)         at javafx.application.Platform.setImplicitExit(Platform.java:138)         at twslaunch.gstat.j.a(j.java:88)         at twslaunch.gstat.a.d(a.java:215)         at twslaunch.gstat.a.g(a.java:117)         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)         at java.lang.Thread.run(Thread.java:748) 2023-11-08 23:45:18:639 IBC: detected frame entitled: Loading...; event=Opened 2023-11-08 23:45:18:641 IBC: Found Gateway main window 2023-11-08 23:45:18:643 IBC: Got main window from future 2023-11-08 23:45:18:643 IBC: Invoking config dialog menu 2023-11-08 23:45:18:688 IBC: detected frame entitled: Loading...; event=Activated 2023-11-08 23:45:18:689 IBC: detected frame entitled: Loading...; event=Focused 2023-11-08 23:45:18:689 IBC: detected frame entitled: Loading...; event=Lost focus 2023-11-08 23:45:18:690 IBC: detected frame entitled: Loading...; event=Deactivated 2023-11-08 23:45:18:691 IBC: detected frame entitled: IB Gateway; event=Activated 2023-11-08 23:45:18:703 IBC: detected frame entitled: IB Gateway; event=Focused 2023-11-08 23:45:18:703 IBC: detected frame entitled: IB Gateway; event=Opened 2023-11-08 23:45:18:703 IBC: Login dialog WINDOW_OPENED: LoginState is LOGGED_OUT 2023-11-08 23:45:18:931 IBC: detected frame entitled: IB Gateway; event=Lost focus 2023-11-08 23:45:18:932 IBC: detected frame entitled: IB Gateway; event=Deactivated 2023-11-08 23:45:18:932 IBC: detected frame entitled: Authenticating...; event=Activated 2023-11-08 23:45:18:933 IBC: detected frame entitled: Authenticating...; event=Focused 2023-11-08 23:45:18:933 IBC: detected frame entitled: Authenticating...; event=Opened LogModuleConfigurator-Init: Log4j Ver2.x found on classpath LogModuleConfigurator-Init: LogModuleConfigurator initialized with Log4j Verd.x 2023-11-08 23:45:31:171 IBC: detected frame entitled: Starting application...; event=Lost focus 2023-11-08 23:45:31:263 IBC: detected dialog entitled: Trader Workstation Configuration; event=Opened 2023-11-08 23:45:31:264 IBC: detected frame entitled: Starting application...; event=Deactivated 2023-11-08 23:45:31:264 IBC: Got config dialog from future 2023-11-08 23:45:31:264 IBC: Got config dialog from future 2023-11-08 23:45:31:265 IBC: Got config dialog from future 2023-11-08 23:45:31:264 IBC: Got config dialog from future 2023-11-08 23:45:31:264 IBC: detected dialog entitled: Trader Workstation Configuration; event=Activated 2023-11-08 23:45:31:269 IBC: detected dialog entitled: Trader Workstation Configuration; event=Focused 2023-11-08 23:45:31:373 IBC: detected dialog entitled: Trader Workstation Configuration; event=Lost focus 2023-11-08 23:45:31:379 IBC: detected frame entitled: Starting application...; event=Closed 2023-11-08 23:45:31:380 IBC: Login has completed 2023-11-08 23:45:31:382 IBC: detected dialog entitled: Trader Workstation Configuration; event=Focused 2023-11-08 23:45:31:382 IBC: Setting Auto restart time 2023-11-08 23:45:31:514 IBC: Auto restart time already set to 11:45 PM 2023-11-08 23:45:31:515 IBC: Setting ReadOnlyApi 2023-11-08 23:45:31:903 IBC: Read-Only API checkbox is already set to: false 2023-11-08 23:45:31:903 IBC: Performing port configuration 2023-11-08 23:45:31:904 IBC: TWS API socket port is already set to 4000 2023-11-08 23:45:31:904 IBC: Performing master client ID configuration 2023-11-08 23:45:31:904 IBC: TWS Master Client ID is already set to 0 2023-11-08 23:45:32:096 IBC: Configuration tasks completed 2023-11-08 23:45:32:096 IBC: Click button: OK 2023-11-08 23:45:32:236 IBC: detected dialog entitled: Pending Tasks; event=Closed 2023-11-08 23:45:32:237 IBC: detected dialog entitled: Trader Workstation Configuration; event=Lost focus 2023-11-08 23:45:32:238 IBC: detected dialog entitled: Trader Workstation Configuration; event=Deactivated 2023-11-08 23:45:32:238 IBC: detected dialog entitled: Trader Workstation Configuration; event=Closed addLogConsole Client<PHONE_NUMBER> addLogConsole Client 0 addLogConsole Client 5 addLogConsole Client 5 addLogConsole Client<PHONE_NUMBER> addLogConsole Client 0 2023-11-09 06:14:07:847 IBC: detected frame entitled: Connecting to server...; event=Opened 2023-11-09 06:14:07:849 IBC: detected frame entitled: Connecting to server...; event=Activated 2023-11-09 06:14:07:850 IBC: detected frame entitled: Connecting to server...; event=Focused addLogConsole Client 5 addLogConsole Client 0 java.lang.InterruptedException         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)         at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)         at com.sun.javafx.application.PlatformImpl.waitForStart(PlatformImpl.java:256)         at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:277)         at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:268)         at com.sun.javafx.application.PlatformImpl.checkIdle(PlatformImpl.java:392)         at com.sun.javafx.application.PlatformImpl.setImplicitExit(PlatformImpl.java:346)         at javafx.application.Platform.setImplicitExit(Platform.java:138)         at twslaunch.gstat.j.a(j.java:88)         at twslaunch.gstat.a.d(a.java:215)         at twslaunch.gstat.a.g(a.java:117)         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)         at java.lang.Thread.run(Thread.java:748) 2023-11-09 06:15:44:289 IBC: detected frame entitled: Starting application...; event=Lost focus 2023-11-09 06:15:44:289 IBC: detected frame entitled: Starting application...; event=Deactivated 2023-11-09 06:15:44:290 IBC: detected frame entitled: Starting application...; event=Closed addLogConsole Client 0 addLogConsole Client<PHONE_NUMBER> addLogConsole Client 5 addLogConsole Client 9 2023-11-09 06:59:32:893 IBC: detected frame entitled: IB Gateway; event=Activated
Do you have any thoughts on this issue?
Thanks in advance.

thanks for sharing this @ValentinBaier
As far as I can tell, this is just a warning on the logs. I don't have any impact, at least on my side.
last night it happened like 3-4 times with no activity at all, and this morning everything works fine. it happened before and after the daily restart. I just got some fresh historical data and all works fine.
In any case, there is nothing that i can do to fix it. it's coming from IBC, if there is anything to fix it should be fixed upstream. I will re-label this as wontfix, as this is not a bug related to ib-gateway-docker.

I manage to identify this issue while I was connected throgh VNC

with error message in logs
quant-ibgateway-1     | 2023-11-18T14:15:10.952037425+01:00 2023-11-18 14:15:10:951 IBC: detected dialog entitled: Existing session detected; event=Opened
quant-ibgateway-1     | 2023-11-18T14:15:10.952171156+01:00 2023-11-18 14:15:10:952 IBC: Continue this session and let the other session exit (scenario 5)
quant-ibgateway-1     | 2023-11-18T14:15:10.952304026+01:00 2023-11-18 14:15:10:952 IBC: Click button: Reconnect This Session
quant-ibgateway-1     | 2023-11-18T14:15:11.027317665+01:00 2023-11-18 14:15:11:027 IBC: detected frame entitled: Attempt 3: Authenticating (trying for another 15 seconds)...; event=Lost focus
quant-ibgateway-1     | 2023-11-18T14:15:11.027722907+01:00 2023-11-18 14:15:11:027 IBC: detected frame entitled: Attempt 3: Authenticating (trying for another 15 seconds)...; event=Deactivated
quant-ibgateway-1     | 2023-11-18T14:15:11.028028511+01:00 2023-11-18 14:15:11:027 IBC: detected dialog entitled: Existing session detected; event=Activated
quant-ibgateway-1     | 2023-11-18T14:15:11.029156290+01:00 2023-11-18 14:15:11:029 IBC: detected dialog entitled: Existing session detected; event=Focused
quant-ibgateway-1     | 2023-11-18T14:15:11.030148796+01:00 2023-11-18 14:15:11:030 IBC: detected dialog entitled: Existing session detected; event=Lost focus
quant-ibgateway-1     | 2023-11-18T14:15:11.030853691+01:00 2023-11-18 14:15:11:030 IBC: detected dialog entitled: Existing session detected; event=Deactivated
quant-ibgateway-1     | 2023-11-18T14:15:11.031682689+01:00 2023-11-18 14:15:11:031 IBC: detected dialog entitled: Existing session detected; event=Closed
quant-ibgateway-1     | 2023-11-18T14:15:11.031818264+01:00 2023-11-18 14:15:11:031 IBC: detected frame entitled: Attempt 3: Authenticating (trying for another 15 seconds)...; event=Activated
quant-ibgateway-1     | 2023-11-18T14:15:11.032368338+01:00 2023-11-18 14:15:11:032 IBC: detected frame entitled: Attempt 3: Authenticating (trying for another 15 seconds)...; event=Focused
quant-ibgateway-1     | 2023-11-18T14:15:11.523906339+01:00 java.lang.InterruptedException
quant-ibgateway-1     | 2023-11-18T14:15:11.523976831+01:00     at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
quant-ibgateway-1     | 2023-11-18T14:15:11.523993472+01:00     at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
quant-ibgateway-1     | 2023-11-18T14:15:11.524006236+01:00     at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
quant-ibgateway-1     | 2023-11-18T14:15:11.524018048+01:00     at com.sun.javafx.application.PlatformImpl.waitForStart(PlatformImpl.java:256)
quant-ibgateway-1     | 2023-11-18T14:15:11.524233233+01:00     at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:277)
quant-ibgateway-1     | 2023-11-18T14:15:11.524272156+01:00     at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:268)
quant-ibgateway-1     | 2023-11-18T14:15:11.524287795+01:00     at com.sun.javafx.application.PlatformImpl.checkIdle(PlatformImpl.java:392)
quant-ibgateway-1     | 2023-11-18T14:15:11.524301561+01:00     at com.sun.javafx.application.PlatformImpl.setImplicitExit(PlatformImpl.java:346)
quant-ibgateway-1     | 2023-11-18T14:15:11.524308945+01:00     at javafx.application.Platform.setImplicitExit(Platform.java:138)
quant-ibgateway-1     | 2023-11-18T14:15:11.524314997+01:00     at twslaunch.gstat.j.a(j.java:88)
quant-ibgateway-1     | 2023-11-18T14:15:11.524321809+01:00     at twslaunch.gstat.a.d(a.java:215)
quant-ibgateway-1     | 2023-11-18T14:15:11.524328792+01:00     at twslaunch.gstat.a.g(a.java:117)
quant-ibgateway-1     | 2023-11-18T14:15:11.524335946+01:00     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
quant-ibgateway-1     | 2023-11-18T14:15:11.524346055+01:00     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
quant-ibgateway-1     | 2023-11-18T14:15:11.524359340+01:00     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
quant-ibgateway-1     | 2023-11-18T14:15:11.524375110+01:00     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
quant-ibgateway-1     | 2023-11-18T14:15:11.524392632+01:00     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
quant-ibgateway-1     | 2023-11-18T14:15:11.524404284+01:00     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
quant-ibgateway-1     | 2023-11-18T14:15:11.524415125+01:00     at java.lang.Thread.run(Thread.java:748)
quant-ibgateway-1     | 2023-11-18T14:15:11.566467618+01:00 2023-11-18 14:15:11:566 IBC: detected frame entitled: Starting application...; event=Lost focus
quant-ibgateway-1     | 2023-11-18T14:15:11.566516870+01:00 2023-11-18 14:15:11:566 IBC: detected frame entitled: Starting application...; event=Deactivated
quant-ibgateway-1     | 2023-11-18T14:15:11.566756821+01:00 2023-11-18 14:15:11:566 IBC: detected frame entitled: Starting application...; event=Closed

this is caused by a disconnection with IBKR API servers and data servers (not shown on the screenshot)
This confirms that this is not an issue with ib-gateway-docker but an issue comming from IBKR server farm.

@gnzsnz Thanks for your further info.
So if you place an order during this disconnection, can the order be executed normally? If not, what can we do to make sure the order executed as expected? From your log, I can see the interruption started at 2023-11-18 14:15:11:032, and it tried to resume at 2023-11-18 14:15:11:566. Does it mean the interruption only last for half the second? OR it will last for longer since it still take more time for IBC to finish login after detecting the frames. Thanks.

i'm my case it was constantly trying to reconnect, that's how I had time to take the screenshot.
I don't know about the specific case of open orders during a disconnect, maybe https://groups.io/g/insync can help.
Ib-gateway & IBC are doing their job, they try to reconnect.

Got it. Thanks very much. Will post here if I have any further findings.


Added ability to hide the completed hyperfog from the outliner

I found that having all the hyperfogs showing up in the outliner was a bit annoying, since I usually have over a dozen of them, in the L-cluster alone.
They show up by default.
The scripted effects can be used in other places as well, like an "edict" ( that acts as a setting ), or other settings menu ( Mod Menu mod? )
In the console:
To hide them: effect = { HIDE_HYPERFOG = yes }
To restore them: effect = { UNHIDE_HYPERFOG = yes }

Simply hiding it by default should be enough.😏
(2 new effect keys just for or single operating for the same task should be an overkill anyway 😜)

Simply hiding it by default should be enough.😏 (2 new effect keys just for a single operating for the same task should be an overkill anyway 😜)

On my steam deck I simply set show_in_outliner = no
But I figured that some people may not want to have them hidden.
As for the effects, it's to simplify the process for the end user, should you decide to not add another method.

I didn't even notice this until now, but would you say this is complete, or should I wait for you to add any more changes before merging?

Let's do it this week with other changes. Let's do this edict without extra scripted effects.

I didn't even notice this until now, but would you say this is complete, or should I wait for you to add any more changes before merging?

Nah, it's good to go.
You can use an edict to control it too, like f1r3pr1nc3 said


fix: emui log line overflow

Description:
Log lines in the emui were previously overflowing on the x axis causing lower scroll bars to appear on the log viewer. This meant that the auto scroll behaviour would be disengaged whenever a very long line appeared. This PR fixes that issue
demo with ethereum package
https://github.com/kurtosis-tech/kurtosis/assets/4419574/67ea042e-466b-429c-bead-9fa9d49e1180
Is this change user facing?
YES

closing in favour of https://github.com/kurtosis-tech/kurtosis/pull/1808


make EdgeMarker track a single coronate or marker

original EdgeMarker would add edgemarkers for all layers with getLatLng.
now its tracks a single coordinate with:
L.EdgeMarker(coordinate,options);
or a single marker with:
marker.bindEdgemarker(options);

How would I create EdgeMarkers for a whole layer with this?

In the demo.html i included in all pull request (was not the smartest idee to include those in pull request, You should probably remove those)
I did it similar how it is done now
for (var l in map._layers) {
  if (typeof map._layers[l].getLatLng !== 'undefined') {
    map._layers[l].bindEdgeMarker({icon:icon});
   }
}

I could make it so you have
map.addEdgeMarkers
map.removeEdgeMarkers

or/and something like this:
var layergroup = map.makeEdgeMarkers.addTo(map)

So you do something different then only remove. Like changing options

might be better to use
map.eachLayer(function(layer){
   if (layer.getLatLng !== 'undefined') {
    layer.bindEdgeMarker(option);
   }
});

And if you follow what leaflet is doing with bindTooltip and bindPopup, you would say it not necessary to make dedicated function for that.

I think its better to leave it as it is because of backward compatibility reasons. I'm not ready to completely change the way the plugin works..

If you like? I Think it's possible to make it more backwards compatible.
keep behavior of L.edgeMarker the same while keeping bindEdgmarker
if you are interested, I am prepared to look in to that.
how the plugin works will still change


Lose unsaved file when renaming parent directory

When you rename any parent directory of a file you are currently editing, you lose access to the file. You can regain access to it by changing the name of the directory back to what it was before the rename.
I would expect VS Code to move the file you are editing to the new folder even if it is not saved.
I am on version 0.10.3.

@bpasero is this something to consider for the December Update

You can always find your dirty files in the working files section. You are not loosing data.

@bpasero How can I verify this? Is that with parent folders outside of the VS Code scope?

Make a file dirty and rename its parent from the explorer inside VS Code. I have actually not checked with a folder outside the workspace, but that should not make a difference.

Ok, understood. Tho I believe this bug is valid, cos it's hardly ever wanted behaviour:

have a dirty
rename parent folder
the changes aren't moved onto the new model but sit on the old
saving the old file restores the old folder.

We should either not allow to rename or just know what happens and make the changes on the 'new' file.

:+1: , also think we can be smarter about the parent chain and update it, but it is not data loss.

Opting for prompting the user as outlined in https://github.com/Microsoft/vscode/issues/9313


Feature request - alert group and multi-grid group independent expansion selector

Hi,
We'd like to be able to have the option to set a default load with alert groups collapsed but the multi-grid expanded.
We find if both are expanded it very quickly starts to go off the bottom of the screen when busy.
Something like alerts collapsed, multi-grid expanded (and the opposite) in ui.collapseGroups, or have an extra option along the lines of ui.collapseMultiGrids could do the trick.
Thanks!

Not stale


Add port of Snabby

snabby is a useful companion to Snabbdom that allows you to parse literal HTML strings to vnodes.
Snabby in turn depends on hyperx, which would then also need to be ported.
I've used Snabby in ff4s to support literals for things like SVG icons, so this would be required to remove all JS dependencies.

https://github.com/buntec/scala-js-snabbdom/pull/23 along with node.innerHTML = "..." makes it possible to parse literal HTML strings to VNodes.
Supporting templating/interpolating of HTML strings falls out-of-scope of this library IMO, and I think would be best implemented on top of scala-dom-types anyway since it's not specific to vdom.


Fix option collision error rendering

Closes #248  (/claim #248)
I also deleted a couple of old, unused methods/comments.

Whoa, Kit sighting!! 😄
Thanks for the PR! 🙏

@jdegoes I'm on vacation this week :D So I have time for OSS fun 🎉 This Algora thing provides a nice extra motivation boost ;P


PHP: support per message compression disable

Fixes #2580
Needs stanley-cheung/Protobuf-PHP#2 for the codegen for client stub
C extension work: OP_SEND_MESSAGE now takes an array with key array('message' => <a string>, 'flags' => <an array of options>), instead of just a string
UnaryCall and ServerStreaming ->start() method now takes an additional $options array, which can carry the per-message compression disable write flags
ClientStreaming has an API change:

Instead of start($arguments, $metadata) which sends the metadata, goes through the array of $arguments and sends each of them, and closes the client, all together,
We now start($metadata) which just sends the metadata
Introduced a new method write($data, $options) which can be called by the client per message. This is also consistent with BidiStreaming

BidiStreaming->write() now takes an additional $options array
Updated unit tests, genereated code tests and interop tests

@tbetbetbe @murgatroid99 Can you guys provide some feedback on this before I involve the API reviewers? Thanks!

LGTM, please get API reviewers to take a look

The general idea looks good to me, but it seems like all of the PHP code represents flags as an array, and the C code represents flags as a number and I don't see any code that turns it from one to the other. And why not just represent it as an integer all the way through?

Right, I had a disconnect between my unit test and the actual library code. In my unit test, the flags is passed as a number but the library passsed them as an array.
I would still like to have the API to take $options as an array for future expansion. But I will make sure the flags key is passed as a number. Sounds good?

Yes, I think so. It sounds like $options will be an associative array, with 'flags' as a key. That's what I would suggest, anyway.

Updated the library to take $options as an associative array at the API level, with an expected key of flags holding a number. This gets passed down to the C extension layer. Also added a test at the API level to bridge the disconnect with unit tests. PTAL thanks!

That part looks good to me now.

Closing in favor of #3181 - need to merge into release-0_11 beta branch instead


In the JWT token I have set moderator:false but after I joined the meet via token , showing the message that you`re joined as a moderator. Please help me to sort this issue. I have self hosted Jitsi in AWS EC2 Ubuntu 22.04

I edited /etc/prosody/conf.avail/xxxx.xxxx.xxxx.cfg.lua
VirtualHost "xxx.xxxx.xxxx"
authentication = "token" -- do not delete me
-- Properties below are modified by jitsi-meet-tokens package config
-- and authentication above is switched to "token"
app_id="xxxxx"
app_secret="xxxxx"
allow_empty_token = false;
-- Assign this host a certificate for TLS, otherwise it would use the one
-- set in the global section (if any).
-- Note that old-style SSL on port 5223 only supports one certificate, and will always
-- use the global one.
Component "conference.xxx.xxxxxx.xx" "muc"
restrict_room_creation = true
storage = "memory"
modules_enabled = {
"muc_hide_all";
"muc_meeting_id";
"muc_domain_mapper";
"polls";
"token_verification";
"muc_rate_limit";
"muc_password_whitelist";
"muc_allowners";
"token_moderation";
}
admins = {<EMAIL_ADDRESS>}
muc_password_whitelist = {
<EMAIL_ADDRESS>}
muc_room_locking = false
allowners_moderated_subdomains = { "moderated"}
muc_room_default_public_jids = true

"muc_allowners";

Disable that module.

Its not working

@damencho Please support us to fix this issue

Have you restarted prosody?

Yes. But members still joining as moderators

Looks like you use token_moderation to manage roles. The related repo for this module is this one. Did you check the instructions in this repo?

yes @emrahcom i have followed all the instructions. but im still facing the issue

Share your jicofo config

Jicofo HOCON configuration. See reference.conf in /usr/share/jicofo/jicofo.jar for
#available options, syntax, and default values.
jicofo {
xmpp: {
client: {
client-proxy: "focus.light.codegroot.in"
xmpp-domain: "light.codegroot.in"
domain: "auth.light.codegroot.in"
username: "focus"
password: "SYQfnkgbx7WMvaye"
}
trusted-domains: [ "recorder.light.codegroot.in" ]
}
bridge: {
brewery-jid<EMAIL_ADDRESS>}
conference: {
enable-auto-owner: false
}
}

And no sip-communicator.properties?

Can i share sip-communicator.properties

Mask passwords and share

Could you share also the content of a token you created?

Remove that line and restart jicofo. Does that change anything?

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb250ZXh0Ijp7InVzZXIiOnsiYXZhdGFyIjoiaHR0cHM6L2dyYXZhdGFyLmNvbS9hdmF0YXIvYWJjMTIzIiwibmFtZSI6IkthcnRoaWtleWFuIiwiZW1haWwiOiJka0B5b3BtYWlsLmNvbSJ9fSwiYXVkIjoiaml0c2kiLCJpc3MiOiJncm9vdGxpZ2h0Iiwic3ViIjoibGlnaHQuY29kZWdyb290LmluIiwicm9vbSI6IioiLCJtb2RlcmF0b3IiOmZhbHNlLCJuYmYiOjE3MDAwMDY5MjMsImV4cCI6MTcxMDAwNjkyM30.-FgdWVC5jPZi9VKf7UWNhyLUEQ_7-_Ehs63myqI3L-g

@damencho after removing that line in sip-communicator.properties I'm unable to join via jwt token

That is strange. That should not be used, that tells jicofo that anyone that joins that domain is authenticated and moderator.
Why it does not join? What is the error? What is prosody log for that?

@damencho now all member joining are not participants even if moderator is true in token

That means you need to fix now the module that sets the moderator privileges.

Looks like anonymousdomain is enabled

from where i  have to remove anonymousdomain ??

/etc/jitsi/meet/yourdomain-config.js
By the way, did you restart jicofo after updating?

after removing the anonymousdomain still the issue exists

Error messages?

By the way, token_moderation has not been updated for a long time, I'm not sure it works with the latest Jitsi releases. You may try token_affiliation as an alternative.

now working , But members are  able to join without moderator consent

after joining as first user they become moderator. if they joined after moderator they are participants

In my opinion, check the instructions again. I think you miss a step.

I will check and update


Allow user to specify only tasks or finally timeout

Changes
This commit updates PipelineRun validation to allow a user to specify only a tasks timeout or only a finally timeout.
Prior to this commit, if a user wanted to specify no Pipeline timeout (i.e. timeouts.pipeline = 0), they would not be able to specify values for the other timeouts fields.
Closes #5459.
/kind bug
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs included if any changes are user facing
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
n/a Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
Bug fix: allow specifying only timeouts.tasks or timeouts.finally

/approve

/lgtm


Refactor nsf

refactoring the usage of nsf. Importantly, in case of a one-dimensional x we are currently warning that in this case it wouldn't help to have more than one transform.
However, I think it still makes sense to have multiple transforms. In this case the spline parameters are learned from the conditioning variables only, because there is no "other" dimension in x to learn from. But we can still use multiple transforms to stack conditioners and get more flexibility.
Maybe I am missing something here? But in my current view this makes sense and we should remove the warning.

thanks for the review @michaeldeistler and sorry, I extended the refactor just now.
Regarding empirical evidence, yes! when optimising the MNLE architectures we found that more transforms performed much better. Of course they were slower too, so we found a good trade-off of two transforms in the end.

Ah, interesting, thanks!
Feel free to merge once tests are passing.