Docs build fails due to conda netcdf issue

The documentation builds locally, but fails in the CI (same problem occurs over on RTD):
https://github.com/CWorthy-ocean/roms-tools/actions/runs/11370740902/job/31632008850?pr=165
Collecting netcdf4 (from roms-tools==0.1.dev1)
  Downloading netcdf4-1.7.1.post2.tar.gz (827 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 827.8/827.8 kB 77.3 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'error'
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [45 lines of output]
      Package hdf5 was not found in the pkg-config search path.
      Perhaps you should add the directory containing `hdf5.pc'
      to the PKG_CONFIG_PATH environment variable
      Package 'hdf5', required by 'virtual:world', not found
      reading from setup.cfg...
          HDF5_DIR environment variable not set, checking some standard locations ..
      checking /home/runner/micromamba/envs/romstools/include...
      hdf5 headers not found in /home/runner/micromamba/envs/romstools/include
      checking /home/runner/micromamba/envs/romstools/Library/include...
      hdf5 headers not found in /home/runner/micromamba/envs/romstools/Library/include
      checking /home/runner/include...
      hdf5 headers not found in /home/runner/include
      checking /usr/local/include...
      hdf5 headers not found in /usr/local/include
      checking /sw/include...
      hdf5 headers not found in /sw/include
      checking /opt/include...
      hdf5 headers not found in /opt/include
      checking /opt/local/include...
      hdf5 headers not found in /opt/local/include
      checking /opt/homebrew/include...
      hdf5 headers not found in /opt/homebrew/include
      checking /usr/include...
      hdf5 headers not found in /usr/include
      Traceback (most recent call last):
        File "/home/runner/micromamba/envs/romstools/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line [35](https://github.com/CWorthy-ocean/roms-tools/actions/runs/11370740900/job/31631201289?pr=165#step:4:36)3, in <module>
          main()
          ~~~~^^
        File "/home/runner/micromamba/envs/romstools/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/runner/micromamba/envs/romstools/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-e118lk_0/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 332, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-e118lk_0/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 302, in _get_build_requires
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-e118lk_0/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 318, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 277, in <module>
        File "<string>", line 226, in _populate_hdf5_info
      ValueError: did not find HDF5 headers
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Error: Process completed with exit code 1.

Strangely, installing the netcdf dependency in the other CI jobs with conda works perfectly.

Why does it fail for the docs build but not the other CI jobs? It seems to be related to how the netcdf4 dependency is downloaded. Not sure why the downloading is different for the two cases - the conda commands are the same in both cases.
For docs build: Source Distribution
It tries to download a source distribution (netcdf4-1.7.1.post2.tar.gz), which is a tarball of the package's source code.
This usually happens when no suitable pre-built binary wheel is available for your specific platform or Python version.
In other CI jobs: Pre-built Binary Wheel
It finds a pre-built binary wheel (netCDF4-1.7.1.post2-cp310-cp310-manylinux_2_17_x86_64.whl), which is a ready-to-install package specific to your Python version (cp310 for Python 3.10) and platform (manylinux for Linux).
The .whl file is preferred because it’s quicker to install compared to building from the source distribution.

@dafyddstephenson any ideas for what is going on? Looks like in C-Star it's downloading the pre-built binary wheel (which always works).

I have noticed recently that tests sometimes fail to get out of the gate on push to my branches but pass on the associated PR. Been a bit swamped to investigate, will take a look if this is the same thing / the issue is systematic on my end


OJ backend is always using port 80

I edited the config .yml file to make oj-backend to use port 8081 and confirmed via sudo docker-compose config.

After that I restarted docker-compose using sudo docker-compose restart and checked using ports via sudo netstat -ntlp

Docker is still using port 80. How can I change the port to use?

you need docker-compose up -d, restart will not re-create containers

For your information, I am running this on AWS EC2, Ubuntu 18.04.

Can I configure HTTPS protocol just by putting *.pem files in data/backend/ssl/.well-known folder? If not, where can I know the syntax of /.well-known/pki-validation/fileauth.txt and other necessary files?

If you already have ssl cert files (server.key and server.crt), the only work is to put them in OnlineJudgeDeploy/data/backend/ssl/

I overrided server.crt and server.key by fullchain.pem and privkey.pem generated by certbot then did docker exec -it oj-backend sh -c "cd /app/deploy; supervisorctl restart nginx" but it doesn't worked. I got banned from letsencrypt server due to the reached limit of calls, so if my approach is right I will try again after 7~8 days from now.

but it doesn't worked

You mean the browser is still using the old cert ?


Incorrect sorting of dates

Date properties in the table are displayed as their human readable date format. However this means that when sorted, the table sorts using alphabetical order as opposed to sorting by time.
This means that that sorting in ascending order (earliest first) would produce:

02/07/2014
12/05/2015
30/06/2010

As opposed to:

30/06/2010
02/07/2014
12/05/2015

Done as part of #506.


Change player language for dropdown menu items

I want to customize player language for persian(farsi). Is there a way to set language for player? If not, where I can change menu texts it in source file?

You're looking for the i18n option:
https://github.com/sampotts/plyr#options


Neo4j should return a result set when query starts with CALL

Is your feature request related to a problem? Please describe.
Neo4j uses MATCH to retrieve data from the database. But you can also use CALL to create subqueries. As I understand Dbeaver expects CALL to execute an update to the database so it doesn't show a result set. This shouldn't be used with Neo4j server.
Describe the solution you'd like
When using CALL to get data from Neo4j server it should show a result set the same as with MATCH query.
Describe alternatives you've considered
None.
Additional context
Query
CALL { MATCH (t) RETURN t } RETURN t

should behave the same as query
MATCH (t) RETURN t

I am really sorry but looks like I had some other issue. I cannot reproduce it. Even if I try exactly the same query I did before it returns results now.

Okay. Then, I'm closing this ticket.
If the issue happens again - please feel free to return here or create a new issue.


update Rieman validator

to be closed after the course
making the Riemansum (notebook 2: Question 4) less strict
closes #81, closes #112

We are going to tackle the questions differently from rc 2023 spring on, nevertheless, adding for now.


.save() returns undefined is not a function

Gist can be found here:
https://gist.github.com/CiscoKidxx/bc9b08afc89f6bcfcb4d
Error is indicated at line 84. "Undefined is not a function"
I know user is defined. If I console log user right before the save command, it has data.
Let me know what else is needed to look at this.

Can you specify the version of waterline you're using?

Yes sorry: "waterline": "~0.10.17"

Ah, please start by ensuring you have the latest patch version– 0.10.25.

Installed 0.10.26 just now and same issue.

Ah, I think I may see it.  Change line 77 to use findOneById rather than findById.  I think your user is an array.

Dead on man. Thank you.


black screens with some things loaded while changing chunks

Walking around practically anywhere into a chunk I haven't loaded in this instance, gives this

This was Fixed


[Linux] KeyBoardListener triggers two times on first key press

I encounter a bug where the KeyboardListener->onKeyEvent method is triggered two times with KeyDownEvent while pressing any key for the first time.
The problem only appears on Ubuntu. When I try the same example code on macOS, it works fine.
Current behavior :
When a key is pressed the counter will increment with 2 on the first key press. On the third and so on it will increment normally.
Expected behavior :
The counter should increase by 1 for each key press.
Example :
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  var node = FocusNode();

  @override
  void initState() {
    node.requestFocus();
    super.initState();
  }

  @override
  void dispose() {
    node.dispose();
    super.dispose();
  }

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: KeyboardListener(
        focusNode: node,
        onKeyEvent: (value) {
          if (value.runtimeType == KeyDownEvent) {
            print("Triggered keyDown");
            _incrementCounter();
          }
        },
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              const Text(
                'You have pressed the keyboard this many times:',
              ),
              Text(
                '$_counter',
                style: Theme.of(context).textTheme.headline4,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Flutter Doctor :
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.1, on Ubuntu 18.04.6 LTS 4.15.0-177-lowlatency, locale de_DE.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[!] Android Studio (not installed)
[✓] VS Code (version 1.67.1)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

Hi @Ephenodrom, thanks for filing the issue. I am able to reproduce the issue on stable and the master channel. On Pressing a key for the first time onKeyEvent is triggered twice. This works fine on web and also on Mac.
Logs on pressing a key once for the above code sample
mahesh@mahesh:~/Desktop/linux_test$ flutterm run -d linux
Running "flutter pub get" in linux_test...                       1,969ms
Launching lib/main.dart on Linux in debug mode...
Building Linux application...

** (linux_test:7178): CRITICAL **: 11:20:46.331: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.portal.Error.NotFound: Requested setting not found
Syncing files to device Linux...                                    83ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

💪 Running with sound null safety 💪

An Observatory debugger and profiler on Linux is available at: http://<IP_ADDRESS>:41917/uo3AzTVI1-4=/
The Flutter DevTools debugger and profiler on Linux is available at:
http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:41917/uo3AzTVI1-4=/
flutter: Triggered keyDown
flutter: Triggered keyDown
Lost connection to device.
mahesh@mahesh:~/Desktop/lin

flutter doctor -v (Linux)
[✓] Flutter (Channel stable, 3.0.1, on Ubuntu 20.04.4 LTS 5.13.0-30-generic, locale en_GB.UTF-8)
    • Flutter version 3.0.1 at /home/mahesh/Development/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (5 days ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/mahesh/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio
    • Flutter plugin version 67.1.2
    • Dart plugin version 212.5744
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.66.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.40.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 20.04.4 LTS 5.13.0-30-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 100.0.4896.75

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.799, on Ubuntu 20.04.4 LTS 5.13.0-30-generic, locale en_GB.UTF-8)
    • Flutter version 3.1.0-0.0.pre.799 at /home/mahesh/Development/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 348a2b4f2f (5 days ago), 2022-05-19 00:33:08 -0400
    • Engine revision 1965c92ea4
    • Dart version 2.18.0 (build 2.18.0-130.0.dev)
    • DevTools version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/mahesh/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio
    • Flutter plugin version 67.1.2
    • Dart plugin version 212.5744
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.66.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.40.0

[✓] Connected device (3 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Linux (desktop)         • linux         • linux-x64      • Ubuntu 20.04.4 LTS 5.13.0-30-generic
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 100.0.4896.75

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

cc: @dkwingsmt

Have you checked whether the first event have both physical key and logical key 0? If so, this is intended as a handshake. I didn't think this would bother too mich, since you should know what keys you're interested in, isn't it?

One solution at the momment is to use the FocusNode widget instead of the KeyBoardListener. This worked fine under Linux.
https://api.flutter.dev/flutter/widgets/FocusNode-class.html

@dkwingsmt  heres the log, On first key press num lock key press event is getting triggered
I pressed f and the event logged twice for the below code snippet
      onKeyEvent: (value) {
        print(value);
        if (value.runtimeType == KeyDownEvent) {
          print("Triggered keyDown");
          _incrementCounter();
        }
      },

logs
Restarted application in 290ms.
flutter: KeyDownEvent#cd0f8(physicalKey: PhysicalKeyboardKey#70053(usbHidUsage: "0x00070053", debugName: "Num Lock"), logicalKey: LogicalKeyboardKey#0010a(keyId: "0x10000010a", keyLabel: "Num Lock", debugName: "Num Lock"), character: null, timeStamp: 0:03:21.487000, synthesized)
flutter: Triggered keyDown
flutter: KeyDownEvent#8bada(physicalKey: PhysicalKeyboardKey#70009(usbHidUsage: "0x00070009", debugName: "Key F"), logicalKey: LogicalKeyboardKey#00066(keyId: "0x00000066", keyLabel: "F", debugName: "Key F"), character: "f", timeStamp: 0:03:21.487000)
flutter: Triggered keyDown

Ok, that's intended, because NumLock on your keyboard is enabled, and Flutter is synchronizing the app keyboard state with the true keyboard state.
Flutter's keyboard system always start at a fresh state where no keys are pressed and no lock keys are enabled. On the first key event (and every key event thereafter) Flutter checks the true keyboard state, and fires synthesized key events if the states don't match. The first NumLock down has a synthesized: true.

@dkwingsmt
Please take another look in the log from my previous comment. I can understand that the num lock key is triggered, but why are there two events for the key "1"? I pressed the key only once!
Tested on Ubuntu 18.04 with the latest updates.

Ok but isn't the other key 1 event a key up?


Make env available to php-fpm

This is a line we've been consistently adding to our dockerfiles extending this. Have been wanting to add this to the base image for a while.

:+1:


Correct repository urls following transfer

Need to fix a couple of references to the repository following transfer.

Closed by #17


Astro throws ESM import error

Getting this error when following astro instructions:
$ astro dev
<project>/node_modules/@whyframe/astro/src/index.js:2
import { createFilter } from 'vite'
         ^^^^^^^^^^^^
SyntaxError: Named export 'createFilter' not found. The requested module 'vite' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from 'vite';
const { createFilter } = pkg;

at ModuleJob._instantiate (node:internal/modules/esm/module_job:127:21)
at async ModuleJob.run (node:internal/modules/esm/module_job:193:5)
at async Promise.all (index 0)
at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
error Command failed with exit code 1.

using this astro.config.ts (also the same using .mjs):
export default defineConfig({
  integrations: [
    react(),
  ],
  vite: {
    plugins: [
      whyframe({ defaultSrc: '/frames/default' }),
      whyframeAstro({ defaultFramework: 'react' }),
    ],
  },
});

with the following package versions:
"@astrojs/react": "^1.1.1",
"@whyframe/core": "^0.1.3",
"@whyframe/astro": "^0.1.1",
"astro": "^1.1.5",
"react": "^18.0.0",
"react-dom": "^18.0.0",

I've tried using the default import and destructuring that, but I still get the same error.

Actually, nevermind. I was unable to create a minimal repro, when I realized that this is happening because I have vite 2 and vite 3 conflicting in my monorepo. Apologies!


DEV: settled works in the legacy env now

What do we do with this @CvX  ?

:hugs: ?

The premise of this PR was wrong, it turned out. 😉
We are dropping the support for the legacy ember env, so we'd want this in, but we/I can redo this change then. 🙂 Closing for now!


Add caching feature

Add the ability to cache entries until a given year to avoid downloading outdated entries each time.

Thanks for the contribution!


Yaw rate saturation for auto modes

Until now, the yaw rate is saturated by MC_YAWRAUTO_MAX in the rate controller itself. The problem is that changing the saturation of the inner loop of cascaded controllers can lead to an unstability: a stable yaw control in manual can suddenly become unstable in auto mode because the saturation is more restrictive.
The proposed solution is to handle that yaw rate saturation in the Auto FlightTask directly such that the rate of change of the generated setpoint is limited to the value defined by the parameter. This yaw, the rate of change of the setpoint is constrained in auto mode and the yaw stability margins defined in manual modes are preserved in auto modes.
SITL tests with MC_YAWRAUTO_MAX = 20:
Default line-tracking MPC_AUTO_MODE = 0

Jerk-limited trajectory MPC_AUTO_MODE = 1

One can easily imagine that if that is the yaw rate setpoint (lower graphs in both plots) is saturated, the yaw response of the vehicle is different.
@dagar The problem now is that the MC_ parameter is used in position control. Should I replace it by MPC_?

@dagar The problem now is that the MC_ parameter is used in position control. Should I replace it by MPC_?

Yes that would be my preference, this is cleaner and makes sense. The downside is anyone upgrading PX4 that bothered changing MC_YAWRAUTO_MAX from the default value will lose their setting. I think in this case it's fine (the change isn't going to be unsafe), but really we need a policy (and/or better upgrade tools) for this kind of thing.
If this is approved and merged we can make a note so that it's mentioned in the migration guide (release notes).

@dagar Ok, I changed it then. I also updated the configs that contained that parameter.
@MaEtUgR Can you review please?

Here is the script I used to verify the yaw wrapping in the slew-rate:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import numpy as np

def wrap_pi(angle) :
    while angle >= np.pi:
        angle -= 2.0 * np.pi

    while angle < -np.pi:
        angle += 2.0 * np.pi

    return angle

def wrap_2pi(angle) :
    while angle >= 2.0 * np.pi:
        angle -= 2.0 * np.pi

    while angle < 0.0:
        angle += 2.0 * np.pi

    return angle

def radians(angle):
    return angle * np.pi / 180.0

def degrees(angle):
    return angle * 180.0 / np.pi

if __name__ == "__main__":
    # Limit the rate of change of the yaw setpoint
    _deltatime = 0.1
    _param_mc_yawrauto_max = radians(20.0)
    dy_max = radians(_param_mc_yawrauto_max) * _deltatime
    _yaw_sp_prev = radians(-179.0)
    _yaw_setpoint = radians(0.9)

    if abs(_yaw_setpoint - _yaw_sp_prev) < np.pi:
        # Wrap around 0
        print("Smaller than 180 degrees : {}".format(degrees(abs(_yaw_setpoint - _yaw_sp_prev))))
        _yaw_setpoint = np.clip(_yaw_setpoint, _yaw_sp_prev - dy_max, _yaw_sp_prev + dy_max)

    else:
        # Wrap around PI/-PI
        print("Greater than 180 degrees : {}".format(degrees(abs(_yaw_setpoint - _yaw_sp_prev))))
        _yaw_setpoint = wrap_pi(np.clip(wrap_2pi(_yaw_setpoint), wrap_2pi(_yaw_sp_prev) - dy_max, wrap_2pi(_yaw_sp_prev) + dy_max))

    print("_yaw_setpoint = {}\n".format(degrees(_yaw_setpoint)))

I'll create a pr asap.

#11920


Thinking about project org

how do we organise ourselves to maximise learning etc

closing because this issue's title/description are not satisfiable. see https://en.wikipedia.org/wiki/SMART_criteria


IK_TWO_BONE work, IK_FABRIK - failed

Hello
I'm using a simple two-bone structure and I found that the IK_FABRIK solver didn't want to work properly. I made two videos, the first in IK_TWO_BONE mode, the second in IK_FABRIK mode. I am wondering why IK_FABRIK mode is not working.
The code is the same, except for the solver mode.
IK_TWO_BONE:
https://youtu.be/hR41geXbEeU
IK_FABRIK:
https://youtu.be/D1ZIXcFRjW8

Hi!
Which branch/commit hash are you on?
If you're on devel then unfortunately FABRIK is still being developed

Hi!
Which branch/commit hash are you on?
If you're on devel then unfortunately FABRIK is still being developed

Hey!
Nice demos! Which branch/commit hash are you on?
If you're on devel then unfortunately FABRIK is still being developed.

I use Default branch (master).
Please see this short code, maybe I was wrong somewhere :
	if (!start) {

		// solver = ik.solver.create(IK_TWO_BONE);
		solver = ik.solver.create(IK_FABRIK);

		root = solver->node->create(0);
		child1 = solver->node->create_child(root, 1);
		child2 = solver->node->create_child(child1, 2);
		child1->position = ik.vec3.vec3( 0.0f, 1.0f, 0.7f);
		child2->position = ik.vec3.vec3( 0.0f, 1.0f, -0.7f);

		eff = solver->effector->create();
		solver->effector->attach(eff, child2);

		solver->flags |= IK_ENABLE_TARGET_ROTATIONS;

		ik.solver.set_tree(solver, root);
		ik.solver.rebuild(solver);

		start = true;
	}

	glm::vec3 start = glm::vec3(251.0f, 5.0f, 268.0f);

	TEST_DEBUG_IK = models[34].phys.pos - start;

	eff->target_position = ik.vec3.vec3(TEST_DEBUG_IK.x, TEST_DEBUG_IK.y, TEST_DEBUG_IK.z);

	ik.solver.solve(solver);

	glm::vec3 l1 = start + glm::vec3(child1->position.x, child1->position.y, child1->position.z);
	glm::vec3 l2 = start + glm::vec3(child2->position.x, child2->position.y, child2->position.z);

	create_DebugLine(start, l1, glm::vec4(vecColor_Red, 1.0f), 3.0f);
	create_DebugLine(l1, l2, glm::vec4(vecColor_Green, 1.0f), 3.0f);

Here are a couple more videos just for this code. First video for TWO BONES, second video for FABRIK:
1.
https://youtu.be/A3N7a8Qvp8k

https://youtu.be/75f-jKEsZmI

Hey!
Nice demos! Which branch/commit hash are you on?
If you're on devel then unfortunately FABRIK is still being developed.

I use Default branch (master).
Please see this short code, maybe I was wrong somewhere :
	if (!start) {

		// solver = ik.solver.create(IK_TWO_BONE);
		solver = ik.solver.create(IK_FABRIK);

		root = solver->node->create(0);
		child1 = solver->node->create_child(root, 1);
		child2 = solver->node->create_child(child1, 2);
		child1->position = ik.vec3.vec3( 0.0f, 1.0f, 0.7f);
		child2->position = ik.vec3.vec3( 0.0f, 1.0f, -0.7f);

		eff = solver->effector->create();
		solver->effector->attach(eff, child2);

		solver->flags |= IK_ENABLE_TARGET_ROTATIONS;

		ik.solver.set_tree(solver, root);
		ik.solver.rebuild(solver);

		start = true;
	}

	glm::vec3 start = glm::vec3(251.0f, 5.0f, 268.0f);

	TEST_DEBUG_IK = models[34].phys.pos - start;

	eff->target_position = ik.vec3.vec3(TEST_DEBUG_IK.x, TEST_DEBUG_IK.y, TEST_DEBUG_IK.z);

	ik.solver.solve(solver);

	glm::vec3 l1 = start + glm::vec3(child1->position.x, child1->position.y, child1->position.z);
	glm::vec3 l2 = start + glm::vec3(child2->position.x, child2->position.y, child2->position.z);

	create_DebugLine(start, l1, glm::vec4(vecColor_Red, 1.0f), 3.0f);
	create_DebugLine(l1, l2, glm::vec4(vecColor_Green, 1.0f), 3.0f);

Here are a couple more videos just for this code. First video for TWO BONES, second video for FABRIK:
1.
https://youtu.be/A3N7a8Qvp8k

https://youtu.be/75f-jKEsZmI

couple more videos just for this code. F
pretty! could provide the full example code?

Hey!
Nice demos! Which branch/commit hash are you on?
If you're on devel then unfortunately FABRIK is still being developed.

I use Default branch (master).
Please see this short code, maybe I was wrong somewhere :
	if (!start) {

		// solver = ik.solver.create(IK_TWO_BONE);
		solver = ik.solver.create(IK_FABRIK);

		root = solver->node->create(0);
		child1 = solver->node->create_child(root, 1);
		child2 = solver->node->create_child(child1, 2);
		child1->position = ik.vec3.vec3( 0.0f, 1.0f, 0.7f);
		child2->position = ik.vec3.vec3( 0.0f, 1.0f, -0.7f);

		eff = solver->effector->create();
		solver->effector->attach(eff, child2);

		solver->flags |= IK_ENABLE_TARGET_ROTATIONS;

		ik.solver.set_tree(solver, root);
		ik.solver.rebuild(solver);

		start = true;
	}

	glm::vec3 start = glm::vec3(251.0f, 5.0f, 268.0f);

	TEST_DEBUG_IK = models[34].phys.pos - start;

	eff->target_position = ik.vec3.vec3(TEST_DEBUG_IK.x, TEST_DEBUG_IK.y, TEST_DEBUG_IK.z);

	ik.solver.solve(solver);

	glm::vec3 l1 = start + glm::vec3(child1->position.x, child1->position.y, child1->position.z);
	glm::vec3 l2 = start + glm::vec3(child2->position.x, child2->position.y, child2->position.z);

	create_DebugLine(start, l1, glm::vec4(vecColor_Red, 1.0f), 3.0f);
	create_DebugLine(l1, l2, glm::vec4(vecColor_Green, 1.0f), 3.0f);

Here are a couple more videos just for this code. First video for TWO BONES, second video for FABRIK:
1.
https://youtu.be/A3N7a8Qvp8k
2.
https://youtu.be/75f-jKEsZmI
Update:
In Fabrik mode I noticed one strange thing. The first joint (red line) does not move at all.

Hi, great demo! And I met the same issue, have you already solved it?


skipIndexing feature

Type of change

[ ] Refactor
[x] New feature
[ ] Bug fix
[x] Optimization
[x] Documentation Update

Description
Ability to skip indexing on certain jobs, useful to prevent capturing datapoints from setup-up jobs
@mohit-sheth I've taken the liberty of adding this flag to the networkPolicy workloads, wdyt?
@josecastillolema I think this might be useful for web-burner as there're some set-up steps in the jobs you probably don't need to capture
Related Tickets & Documents

Related Issue #
Closes #

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Do we want to skip clusterMetadata as well with this flag?

Do we want to skip clusterMetadata as well with this flag?

If you want to explude cluster's metadata, you should disable indexing :)


Refactor internal API

remove pr_to_unp parameter that is used to sort the ranking outputs. It is easy to sort afterwards once we have the results.
.summary() should not be responsible for the computation. I recommend using .__call__().

Removed pr_to_unp parameter.
Migrated the common computation between .summary() and .rank() to a new function ._compute(). I did not use .__call__() as it allows the object of the class to be callable. This means we would create another object of the class inside itself which would be complex and not memory efficient.


Composer pulling in 11MBs of unneccesary Google Services libraries

As far as I can see, Firebase-php requires the google/apiclient composer library just so that it can use the authentication routines inside the Google_Client() class. Unfortunately the google/apiclient library insists on requiring the google/apiclient-services library which constitutes over 5000 extra php includes and 11.4 MB of code. It does not seem like this code is ever used.
Unfortunately distributing Firebase-php inside my project with all this extra bloat is just not feasible, so I went into composer's autoload.php files and manually commented out the 5089 Google_Service_* classes from being included in the project and I was able to authenticate with my Firebase project and read and write to my Firebase database just fine.
The only solution I can think of would be to suggest that Firebase-php extract just the Google_Client() class out of the google/apiclient package to drastically reduce the code footprint required to use the library. Any other ideas are welcome?

Hi @MichaelPote and thanks for reaching out!
I see that you are referring to release 1.x of the library. Starting with 2.x, the library only requires google/authwhich reduces the total footprint of the library to currently 2.6MB.
Extracting the Google_Client class is not an option as well, because it has too many references to other classes which have references themselves and so on - maintaining this would be a nightmare :).
I do agree that using the rather big dependency is not optimal, but if the firebase-php library is not the only dependency you have in your project, there are certainly some overlaps. Of course I do understand if this is not an option for you.
I will see what I can do, but unfortunately I can't promise you a change - I should have mentioned in the 1.x branch that this version will only receive bugfix updates (similar to PHP 5.6), and it already doesn't provide all the features that are present in the 2.x branch.
If you'd like to propose a Pull Request to the 1.x branch that reduces the total size, I will definitely have a serious look at it. Unfortunately I can't recommend another Firebase library with a smaller footprint, as I don't know one that provides Service Account based authentication.

Hi @jeromegamez, thanks very much for the reply. I'd love to use the 2.x branch of firebase-php but I'm building a WordPress plugin and I unfortunately cant bank on people being able to run PHP 7.
How much work is it to convert the v1.x branch to also only use the google/auth library? Perhaps it's something I could look at doing a pull request for.

Some background:
I initially included the google/apiclient dependency because the plan was (and still is) to support further Firebase features besides the Realtime Database: Firebase Storage and FCM are just two examples. That's why google/auth might not remain the only Google dependency even in the 2.x release.
Using google/apiclient was the easiest way to add Service Account based authentication to the 1.x branch when 2.x already was the current version, and to be honest, I didn't look at the total size of all dependencies (as a comparison, Symfony Standard needs 50M out of the box, Laravel needs 41M).
But after your issue, I will certainly look more at this in the future.

I will have a look at it this evening and let you know if I can figure something out!

Awesome, thanks @jeromegamez!

After having looked at it, I have realized that I wouldn't be able to release a new version implementing a possible solution 🙁 - here's the thing: the Firebase Configuration Interface defines two public methods getGoogleClient() and hasGoogleClient() - removing them or changing their signature (which would be necessary to remove the google/apiclient dependency) and releasing another 1.x release would break applications that currently rely on those methods.
I honestly don't think that developers implementing the 1.x version are actually using those methods, but the possibility does exist, and removing those methods or changing their signature would violate SemVer and put existing projects at risk.
I'm sorry that I can't help you more - on the bright side, as the 1.x branch will not change considerably in the the future, you should be safe to create a fork and implement the changes to reduce the size there (and become the only PHP 5.x Firebase library with active support 🙂).
I will close the issue now, but want to make clear that this doesn't mean I want to end the conversation here. Please feel welcome to add more comments or to join the #php channel in the Firebase Community Slack, where you will find me and other PHP developers working with Firebase.

@jeromegamez Thanks very much for looking into it. I understand the need to keep the library backward compatible. I'll look into forking it and implementing this and a couple other changes I've made to the codebase. Thanks again!


Changes some columns

 Issue by elijahbenizzy
Friday Jan 27, 2023 at 20:36 GMT
Originally opened as https://github.com/stitchfix/hamilton/pull/287

[Short description explaining the high-level reason for the pull request]
A few minor changes -- just playing around with this. Intent is not to merge.
Changes
How I tested this
Notes
Checklist

[ ] PR has an informative and human-readable title (this will be pulled into the release notes)
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future TODOs are captured in comments
[ ] Project documentation has been updated if adding/changing functionality.

elijahbenizzy included the following code: https://github.com/stitchfix/hamilton/pull/287/commits

Old PR, closing


Pool of the PooledEngine is fixed.

Even though there is a generic Pool class, the PooledEngine uses a private EntityPool.
This makes it impossible to use a subclass of Entity as entity for the engine.
In order to make the framework more open, it would be nice to be able to provide any pool (of entities of course) to the PooledEngine.

What;s the use case for subclassing Entity? If you want special behaviour, you could probably achieve that through components and systems.
If there is a good case for it, I'm happy to allow the user to inject any entity pool.

It's been 22 days since this was opened. I guess if there was a proper use case/real interest for this, there would have been more activity on this issue. I will be closing this for now until that happens.


Drop user privileges even if not detached.

Currently, the user and group options are only honoured when detaching from the terminal. If Routinator is run in server mode, it should always dropping privileges (and probably do all the other stuff) when not detaching.

Also update the DEB packaging to take advantage of this fix. The relevant comment from #360 was:

For the package to run routinator as the correct user on older platforms (Ubuntu 16.04, Ubuntu 18.04, Debian 9) the minimal service file has been updated to include User=routinator, meaning it is not as minimal as it was. We could add a third service file to avoid altering the minimal one that we have today. Note: I do NOT use the Routinator user and group configuration options to drop privileges from user root as they have no effect if --detach is not also used, but when using --detach the systemd unit no longer works (it just shows the program as exited when started), perhaps it would with further configuration (e.g. Type=forking, specifying the pid file, etc), perhaps systemd doesn't expect the program to fork itself and just sees the parent process exit (at least I think that's what I saw in my testing)?.


[New feature]: Support custom profile name in AWS ProfileCredentialsProvider

What happened?
Beam v2.41.0 under Flink 1.13.
org.apache.beam.sdk.io.aws2.kinesis.KinesisIO consumer has several issues with its current implementation.

First, it's not handling the pipeline level AwsOptions correctly. Let's say a pipeline is configured to use a profile to authenticate:

options.setAwsCredentialsProvider(
	ProfileCredentialsProvider.create("some_profile")
);
Pipeline.create(options).apply(
	"KinesisRead",
	KinesisIO.read().withStreamName("stream_name")
);

When in "running" stage, the created pipeline step will use the "default' credentials from the local credentials file or whatever other means to authenticate, default AWS client factory can come with. It will not use some_profile set in the options, even though debug printouts can be used to confirm that ProfileCredentialsProvider in the options bean is correctly initialized.
To make the situation worse, the options will be correctly used during initialization, so the issue will be postponed until after the job start and made even more cryptic.

The not unexpected outcome from the above issue is ResourceNotFoundException from the various AWS SDK calls (if we are hitting the wrong account, the expected stream will not be there). However, current implementation of Kinesis consumer swallows those exceptions and proceeds as if no error had happened, eventually failing with cryptic "NullPointerException" errors (because consumer iterators can not be read/updated properly), like shown below:

Caused by: java.lang.NullPointerException
at org.apache.beam.sdk.io.aws2.kinesis.ShardReadersPool.getMinTimestamp(ShardReadersPool.java:257)
at org.apache.beam.sdk.io.aws2.kinesis.ShardReadersPool.getWatermark(ShardReadersPool.java:249)
at org.apache.beam.sdk.io.aws2.kinesis.KinesisReader.getWatermark(KinesisReader.java:133)
at org.apache.beam.runners.flink.translation.wrappers.streaming.io.UnboundedSourceWrapper.onProcessingTime(UnboundedSourceWrapper.java:460)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invokeProcessingTimeCallback(StreamTask.java:1425)

Issue Priority
Priority: 2
Issue Component
Component: io-java-kinesis

CC: @mosche

@oakad I acknowledge this is confusing and by far not optimal... ProfileCredentialsProvider allows for additional configuration options. However, these are currently not supported as documented in the Javadocs of AwsOptions.
The issue is that credential providers have to be serialized, and there's no decent generic way to do that :/
Unfortunately same applies to verifying the configuration of credentials providers if provided programmatically.
But the latter could certainly be improved a lot and catch more such issues upfront!
Would you be willing to submit a PR that adds support for a custom profile name?
From the [Javadocs]:(https://beam.apache.org/releases/javadoc/2.41.0/org/apache/beam/sdk/io/aws2/options/AwsOptions.html#setAwsCredentialsProvider-software.amazon.awssdk.auth.credentials.AwsCredentialsProvider-):
The class name of the provider must be set in the @type field.
Note: Not all available providers are supported and some configuration options might be ignored.
Most providers rely on the system's environment to follow AWS conventions, there's no further configuration supported:

DefaultCredentialsProvider
EnvironmentVariableCredentialsProvider
SystemPropertyCredentialsProvider
ProfileCredentialsProvider
ContainerCredentialsProvider
Example: --awsCredentialsProvider={"@type": "ProfileCredentialsProvider"}

Some other providers require additional configuration:

StaticCredentialsProvider
StsAssumeRoleCredentialsProvider
Examples: --awsCredentialsProvider={
   "@type": "StaticCredentialsProvider",
   "awsAccessKeyId": "key_id_value",
   "awsSecretKey": "secret_value"
 }

 --awsCredentialsProvider={
   "@type": "StaticCredentialsProvider",
   "awsAccessKeyId": "key_id_value",
   "awsSecretKey": "secret_value",
   "sessionToken": "token_value"
 }

 --awsCredentialsProvider={
   "@type": "StsAssumeRoleCredentialsProvider",
   "roleArn": "role_arn_Value",
   "roleSessionName": "session_name_value",
   "policy": "policy_value",
   "durationSeconds": 3600
 }

@oakad BTW, until this is addressed you can configure the credentials provider through the respective environment variable AWS_PROFILE. Though, obviously, this has to be set for all worker nodes.

Agree with @mosche comments and we definitively should avoid NPE situation in any case.

AWS_PROFILE env var does not work - the serializer breaks it just the same. :-)

It's not meant to be serialized... AWS_PROFILE works, but it has to be set on every node where credentials are used

Thinking this through, I fear this feature cannot be supported. The resulting behavior would be very inconsistent and even more confusing.
Let's imagine there's optional support for a profileName field when serializing ProfileCredentialsProvider. It cannot be required, that would be backwards incompatible.
If we provide the options as CLI args it works as expected for both alternatives:

Use the given profile on the worker--awsCredentialsProvider={"@type": "ProfileCredentialsProvider, "profileName":"myprofile"}

Use the default profile as configured on the respective worker where we load credentials --awsCredentialsProvider={"@type": "ProfileCredentialsProvider"}

Unfortunately this would NOT be consistent with a programmatic usage :/

Use the given profile on the workerProfileCredentialsProvider.create("myprofile")

Use the default profile as configured on the machine where the DAG is generated and tell the worker to use that profile as well :/ This is due to the fact how the provider is initialized and when serializing the provider we don't know if it was explicitly provided or not.ProfileCredentialsProvider.create()

Any objections closing the ticket?

I'd say, the field should always be serialized.
The "default" profile is not in any way special. It's simply a profile named "default" by convention. That value can be set by the default constructor and serialized with no issue.

The default profile is absolutely special as it might resolve differently on different machines, e.g. if using AWS_PROFILE!
Once again, to be clear(er), if  the provider is set programmatically without profile, the default profile is used. However, this might resolve differently on workers that eventually use the credentials. This is a breaking chance and could affect users and their currently (working) pipelines badly. Unfortunately, IMHO this is a no go.
The only alternative I can see is to not serialize values of profileName if they match the default profile (of the current machine). But this isn't great either as the value might have been set intentional...
Maybe the opposite should be done: throw an exception during serialization if profileName doesn't match the default profile or AWS_PROFILE (of the current machine) to prevent misconfiguration.

Isn't it a responsibility of user to check their configuration on workers and not Beam/KinesisIO? I mean why KinesisIO (or any other AWS IO connector) has to check if it's matching or not?

It's not easy to check the configuration on the worker and rather counterintuitive too. Requires custom pipeline steps and what not.

Isn't it a responsibility of users to check their configuration on workers and not Beam/KinesisIO? I mean why KinesisIO (or any other AWS IO connector) has to check if it's matching or not?

Beam's responsibility is backwards compatibility in this case, @aromanenko-dev.
If we add support for custom profile names for ProfileCredentialsProvider (will say we extract/serialize the profile name in the respective pipeline option), it gets a bit tricky as I tried to explain above. When serializing a provider that was set programmatically, we cannot distinguish if the user provided the profile name or if it was loaded from the system environment (e.g. AWS_PROFILE=master). If the latter is the case and the system environment on a worker node, where the credentials are eventually used, looks differently (e.g. AWS_PROFILE=worker) things can easily break for pipelines that used to run  successfully before: we would force the master profile on a worker even though it should use the worker profile there 💥
On the other hand, in case we should decide to not support this, it's still important to check the system environment during serialization of pipeline options. It's the only way to detect if the user set an unsupported ProfileCredentialsProvider programmatically with a custom profile name (ProfileCredentialsProvider.create("myprofile")). If we don't check it and  silently ignore the configuration (as done now), things break fairly randomly on workers as experienced here in this ticket.


Add Warning#[] and Warning#[]= tests with category

Add few missing tests to cover category type check for Warning#[] and Warnign#[]= methods

Not sure why MacOS failed, but seems not because of the tests

I think it's because macOS CI is really slow.


Fix framework permissions

When running on a separate managed cluster (not "local-cluster") the spec-sync controller was restarting and logging errors about not being able to get this secret from the hub.
The issue with the lease name would probably only have been seen when testing with OCP 3.11 clusters.

/hold
hot-testing on a canary cluster ;)

/unhold


Visual gap in drops new claim drop modal flow

that 8 second delay can make meh impression tbh

https://github.com/kodadot/nft-gallery/assets/5887929/906f47d7-7912-4db7-bb95-319398613603

atm it's a visual est, so it should wait  till what time ?

0 seconds ?

Originally posted by @hassnian in https://github.com/kodadot/nft-gallery/issues/8440#issuecomment-1845421709

👋


Windows Server, version 1803 and later are governed by the Modern Lifecycle Policy.

[Enter feedback here]
There is a mistake with the note at the bottom of the page, that says "Windows Server, version 1803 and later are governed by the Modern Lifecycle Policy."
But there is no version 1803 that appears in the list of Windows Server current versions by servicing option.
Is it an error with the 1903 ?

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

ID: fbf74885-9525-9828-95c9-0ab9167b1f35
Version Independent ID: f0a39382-120b-0cfa-692f-621124a23f37
Content: Windows Server release information
Content Source: WindowsServerDocs/get-started/windows-server-release-info.md
Product: windows-server
Technology: getting-started
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

Interesting point, seems possible. I was thinking more of 1809 as a possible alternative.
Then again, it could also be that the Modern Lifecycle Policy applied to 1803, even if it is out of support.
So the statement in itself could be valid, even if it mentions a no longer supported product.
Could be useful to compare with this page showing the support lifecycle and end of support:

https://docs.microsoft.com/en-us/lifecycle/products/windows-server

By the way, it could be useful to get a verification on this answer, just in case it is a typo.

It is also useful to remember some (or all) of the terms in the Modern Lifecycle Policy:

The Modern Lifecycle Policy covers products and services that are serviced and supported continuously. Under this policy, the product or service remains in support if the following criteria are met:

Customers must stay current as per the servicing and system requirements published for the product or service.
Customers must be licensed to use the product or service.
Microsoft must currently offer support for the product or service.

Hello,
But the phrase version 1803 and later are governed by the Modern Lifecycle Policy, makes me think all versions are governed, but it is not the case of the 1809... So it is very confusing for the reader.

Hello,
But the phrase version 1803 and later are governed by the Modern Lifecycle Policy, makes me think all versions are governed, but it is not the case of the 1809... So it is very confusing for the reader.

Fair point. I did not know if 1809 was covered or not, so if it is easy to confirm that 1809 is not covered by the Modern Lifecycle Policy, I guess we should suggest the change for that sentence to read "Windows Server, version 1903 and later are governed by the Modern Lifecycle Policy."
(Based on my experience with issue tickets in this repository, it is often quicker to get response by creating a Pull Request to have content changed according to what we think is the correct content, instead of waiting for response in the issue tickets.)

Fair point. I did not know if 1809 was covered or not, so if it is easy to confirm that 1809 is not covered by the Modern Lifecycle Policy, I guess we should suggest the change for that sentence to read "Windows Server, version 1903 and later are governed by the Modern Lifecycle Policy."
(Based on my experience with issue tickets in this repository, it is often quicker to get response by creating a Pull Request to have content changed according to what we think is the correct content, instead of waiting for response in the issue tickets.)

OK, thank you, so you do a pull request on this subject ?

OK, thank you, so you do a pull request on this subject ?

Sure, it is fairly easy, especially with so little change to implement.

Sure, it is fairly easy, especially with so little change to implement.

There you go. PR #5166 is ready for review, comments, and suggestions.

There you go. PR #5166 is ready for review, comments, and suggestions.

#assign:IngridAtMicrosoft

Assign:xelu86

Hey @Olinsa67,
Thanks again for contacting Microsoft. We value your feedback.
Had to go down the rabbit hole to gain more insight into this documentation. We discovered that this document belongs to another team that maintains "release info" documents. As this is a cross-repository reference, we forwarded your inquiry to the appropriate team to handle any changes necessary. We do not have a timeframe for when this will be updated as we aren't the owners.
Due to this, any future inquiries about Windows Server Release information will still fall under the Windows Server Docs team as it is a cross-repo. We are more than happy to engage with the owning team if more issue's or documentation changes need to be made.
Doing some digging led me to the Windows Server Modern Lifecycle Policy page which is also owned by the same team. It appears as though the earliest build part of this policy is 1709. This page may also need to be updated as not every version is governed by said policy. I'd wait to see what changes the owning team provides.
We will now be closing this thread. Thank you and have a most pleasant day. #please-close


Update Damerau

This updates SymSpell to use the latest version of SoftWx.Match Damerau function. It also modifies EditDistance to make it easy to drop in future changes to SoftWx.Match. I also added Levenshtein as an additional distance algorithm option. Because of the additional files now in SoftWx.Match, I changed the other projects in the SymSpell solution to use references to the core SymSpell project rather than use links to the source files within the SymSpell solution. I saw about a 5% overall speed improvement in SymSpell with these changes, although I ran the timing test on a laptop, which doesn't give real stable timings from run to run. Memory usage during Lookup should also drop a bit. The compound version of Lookup should benefit even more with these changes. To compare time, you should compare to timings of the previous version, not the static sysmspell, because in this version both the instantiated version of SymSpell and the original static version of SymSpell have been modified to use the new Damerau function.

Thanks a lot for the update!


Update to the latest Electron version (2.0.0)

Hi there, is it possible to get if updating to version 2 is on the radar or not?
We are starting a project very soon that will make use of Electron.NET and very interested to start on the latest version at the beginning.

Yes, our next big update supports the newest Electron version.
But not all API functions. As example in-app-purchase etc.
Every pull request is welcome :)


Provide documentation generator

For those of us building reusable components on top of Material UI, it would be awesome to document our components in the same style as on the Material UI website.  What do you use to generate your documentation?  Can we use it too?

@markbrocato I have been thinking about it too! I know Bootstrap provided such too at some point in its history. This might no longer be true. On the project I'm working on, we started using Storybook for solving this problem.
The implementation will largely depend on how people wrap Material-UI components. If it's a direct mapping, then maybe we can alias the components. For instance, aliasing material-ui/Button with myproject/Button. It's a feature available in webpack. There is no quick-win here. If we want to push this issue forward, we gonna have to dedicate quite some time to it.

I'm giving up on the idea. It didn't have traction.


P2S clients won't resolve Private DNS Zones unless you set VNET DNS to Private Resolver Inbound IP address

P2S clients won't resolve Private DNS Zones unless you set VNET DNS to Private Resolver Inbound IP address
It would be helpful for customer to have the scenario explained, so that they understand what to do in order for P2S clients resolve Private DNS Zones when using Azure DNS Private Resolver.
If VNET DNS Servers is configured with Default (Azure-Provided), P2S clients wont be able to resolve Private DNS Zones.

However, if VNET DNS Server is configured with the Private Resolver Inbound IP address, P2S clients will be able to resolve Private DNS Zones (including those created from Private Endpoints). Please note the Private DNS zones must be associated with the VNET that has the Private Resolver.

Customer could get away with settings up his local DNS to use Private Resolver Inbound IP address, but that does not scale.
The perfect scenario would be to make P2S clients resolve Private DNS zones seamlessly with VNET configured with Default (Azure-Provided), since we would have the Private Resolver Inbound IP address to route traffic.

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

ID: e82fe305-e8bd-ebe7-3979-1691b987dc54
Version Independent ID: fa0e350c-f1a5-4e3b-e814-62ac1653f6de
Content: Troubleshooting guide - Azure DNS
Content Source: articles/dns/dns-troubleshoot.md
Service: dns
GitHub Login: @rohinkoul
Microsoft Alias: rohink

@mllipi , thank you for the feedback. We have assigned this to the content owner/author for review.
@rohinkoul , for your review.

updated Doc, waiting for it to get approved by doc author @rohinkoul

PG is planning to publish an article on point to site DNS resolution

#please-close


fix(iroh-docs): do not dial invalid peers

Description

Breaking Changes

Notes & open questions

Change checklist

[ ] Self-review.
[ ] Documentation updates following the style guide, if relevant.
[ ] Tests if relevant.
[ ] All breaking changes documented.

The fix was incorrect, pushed two commits:

we need to join gossip also if no peers are set.
we may not skip node addrs that have empty address info.

For the last one - We maybe should change iroh_net so that Endpoint::add_node_addr does not error if called with a NodeAddr with emtpy AddrInfo (only NodeId set) because it seems cumbersome to check at the user level if the addr contains addr info or not, usually you get these from a ticket or some protocol and just want to add them in case they contain useful info and don't care if not because node discovery is enabled. But that can be a followup.


Prom 2.0: Not able to Query older data properly

When we point prometheus 2.0 to a data directory that is 5 days old, the expression browser should show series from older blocks too, but it only shows series from head block.
Further, this query fails: {__name__=~".+"}  over the 2y period  with no datapoints found.

Was all your data written by Prometheus 2.0 or are those still files from
Prometheus 1.x?
On Tue, Aug 29, 2017 at 10:15 AM KalivarapuReshma<EMAIL_ADDRESS>wrote:

When we point prometheus 2.0 to a data directory that is 5 days old, the
expression browser should show series from older blocks too, but it only
shows series from head block.
Further, this query fails: {name=~".+"} over the 2y period with no
datapoints found.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prometheus/prometheus/issues/3128, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEuA8qbhUtNNl-WYyJz6IuYU-iXig2snks5sc8iDgaJpZM4PFh9_
.

Sorry, so I was creating blocks via TSDB and then checking. The blocks I created were for a short period and the step function just crosses over.
Lots of debugging into the querier and tsdb codebase revealed this to me (:


During GetAsync, retrying causes cascading PreconditionFailed errors

Somewhat related to https://github.com/Azure/Microsoft.Extensions.Caching.Cosmos/issues/15#issue-543549307.
For high touch cache items that are read often, I'm running into problems where that item fails the ttl update call repeatedly since it is being read (and then updated) so much.  It seems that failing an update just to reset the ttl probably isn't worthy of retrying the get.  For cache items that aren't critical, it would be beneficial to be able to configure whether that retry should occur.
@ealsur Any objection to adding this functionality?

The PR was merged that doesn't do the update if you use AbsoluteExpiration, are you using AbsoluteExpiration? https://github.com/Azure/Microsoft.Extensions.Caching.Cosmos/pull/16

We want to use sliding expiration, we just have some cache items that are touched often enough that retrying if the ttl update fails causes problems.  I'd like to add an option to make just the retry configurable.

Which would be the logic to determine when to do the update? Would the configuration be at the item level? What if the update doesn't happen (due to the configuration) and the item is evicted?
Could you propose what your configuration would look like and how it would work on different scenarios? A PR or some code here would work.

That would be the reason it would be configurable.  For applications that need to ensure the update occurs, the default would still be to retry.  However, for applications that are constantly touching a cache item, especially when there are hundreds of reads to every write, allowing each read to do a fire-and-forget type update prevents this kind of deadlock.  The applications that care more about cache speed than the occasional dropped cache item can operate trusting the volume of requests to keep the sliding window active.
I'll put in a PR, I just wanted to run the idea by you first.  It should be fairly simple, just another bool (RetrySlidingTTLUpdate?) that defaults true and
                catch (CosmosException cosmosException) when (cosmosException.StatusCode == HttpStatusCode.PreconditionFailed)                 {                     **if (RetrySlidingTTLUpdate) {**                         // Race condition on replace, we need to get the latest version of the item                         return await this.GetAsync(key, token).ConfigureAwait(false);                     }                 }

I see, my only concern is with naming. I guess this would be an option in https://github.com/Azure/Microsoft.Extensions.Caching.Cosmos/blob/master/src/CosmosCacheOptions.cs, but which would be a name that would convey which scenarios would a user would want to use it (something self explanatory to avoid misuse).

Yes, "RetrySlidingTTLUpdate" isn't the easiest to understand, I'll work on coming up with something better.  As far as which should be the default, I think the current behavior could stay default, just to guarantee it works the more stable way for those who aren't configuring the options, while those who intend to take the risk of not guaranteeing updates can choose to.


Sync two trakt lists

Just an ideia.
Is it possible to implement sync between two trakt lists? The idea is to sync lists between two accounts so we could use it kinda like colab lists.

In the secrets guidance there are notes on entering 'all' for all lists in the appropriate field, or comma seperated names for the lists you want to sync.

Hi @rfarkv, that's an interesting idea!
Feel free to open a pull request with the suggested feature as I won't have time to work on this for now.


Hotfix/commons fileupload 1.5.x

This pull request based on commons-fileupload 1.5 and support an security requirement the encrypted temporary files.
Ciphers you could inject by java SPI.
I have to use it with a lot of primefaces fileupload situations. Primefaces supports commons-fileuplod next to 'native' Servlet 3.x method.

Hi,
without having had a look at this:

Please fix the conflicts.
32 changed files are way too much. Please try to split this up into two, or more PR's, possibly pushing one after the other.
For example, while I appreciate enhancements on the docs very much, they need not come in together with changes in
the Java source code.

Thanks!

The conflicts are because the PR was created against git master. My guess is that the author wants to patch the 1.x branch.

Hi!
Yes I would like patch the 1.5 version.
If it is not possible, then i would merge it.
Thanks the rapid answers.
H.
Gary Gregory @.***> ezt írta (időpont: 2024. márc. 7.,
Csü 15:02):

The conflicts are because the PR was created against git master. My guess
is that the author wants to patch the 1.x branch.
—
Reply to this email directly, view it on GitHub
https://github.com/apache/commons-fileupload/pull/284#issuecomment-1983570017,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANXEZF7KTH4KJAQWGG7CEK3YXBXOZAVCNFSM6AAAAABEK65BEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBTGU3TAMBRG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Then the PR needs to be based on the 1.x branch, not git master which it
for 2.x.
Gary
On Thu, Mar 7, 2024, 9:40 AM halcsi19790320 @.***>
wrote:

Hi!
Yes I would like patch the 1.5 version.
If it is not possible, then i would merge it.
Thanks the rapid answers.
H.
Gary Gregory @.***> ezt írta (időpont: 2024. márc. 7.,
Csü 15:02):

The conflicts are because the PR was created against git master. My
guess
is that the author wants to patch the 1.x branch.
—
Reply to this email directly, view it on GitHub
<
https://github.com/apache/commons-fileupload/pull/284#issuecomment-1983570017>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ANXEZF7KTH4KJAQWGG7CEK3YXBXOZAVCNFSM6AAAAABEK65BEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBTGU3TAMBRG4>

.
You are receiving this because you authored the thread.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/apache/commons-fileupload/pull/284#issuecomment-1983647348,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJB6N5XZM25JP2NSTMLHEDYXB35JAVCNFSM6AAAAABEK65BEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBTGY2DOMZUHA
.
You are receiving this because you commented.Message ID:
@.***>

I merged it to 1.x branch


Donations Stuff

Add links to a Support Us page:
Buy: http://shpws.me/E4aI/
PayPal Donaiton Link

So that link's dead, use http://www.shapeways.com/product/3GEFX5SN9/hive-radio-full-color-token?li=shareProduct


5.x breaks autoSizeColumns

It seems like that ag-grid ignores auto sizing of columns until they are visible.
We have a very wide table, and when calling api.autoSizeColumns it ignores columns no in the viewport.
Chrome Version 52.0.2743.116 (64-bit)
Mac OSX 10.11.6 (15G31)

autoSizeColumns looks at the columns on the screen, and works out the width based on what it sees. It cannot see the columns that are not rendered due to column virtualisation so these are left out. What you are left with is enough 'packed' columns to fit your current page.
Column Virtualisation is the technique the grid uses to render large amounts of columns with degrading performance by only rendering columns that are visible due to the horizontal scroll positions. Eg the grid can have 1000 columns with only 10 rendered if the horizontal scroll is only showing 10 columns.
To get around this, you can turn off column virtualisation by setting grid property suppressColumnVirtualisation=true. So choice is yours - what do you want - column virtualisation working OR sizeColumnsToFit working.

I have faced the same issue and used below concept to fix it-
Call the function on .ag-body-viewport scroll where we have call gridOptions.columnApi.autoSizeColumns(allColumnIds); api
$(".ag-body-viewport").scroll(function(){
var allColumnIds = [];
    columnDefs.forEach( function(columnDef) {
        allColumnIds.push(columnDef.field);
    });
	  gridOptions.columnApi.autoSizeColumns(allColumnIds);
	  console.log('value');
	  return false;
   });


Wheels on PyPI

Hi. Thanks for the great project!
Have you considered publishing wheels on PyPI so users don't have to compile the extension from sources? It might be useful mainly for containerized applications where you don't have packages like sqlite-devel libicu-devel or gcc installed.
If you want to, I can help you with that.

I could upload a wheel built on my debian linux machine. But I assume most users would need a different wheel for they choice of OS and python version.
PRs to provide wheels in a systematic way are welcome, as long as they stay somewhat simple!

I can prepare a script that would use manylinux container image and provides universal manylinux wheels (2014) for all supported Python versions. Does that sound good to you?

Yes, that sound good.

Thanks for investigation! Both approaches sound fine to me. If you don't have a preference, let's choose the second one.


Add PATH variable to provisioner

Related to #13

Hello @BR0kEN- - thanks for the contribution!
This looks good to me. :+1:


in_place has no effect when replace_column_names is also set to True

https://github.com/BiocPy/SummarizedExperiment/blob/c7b42c756ab419a87227ac93dafa684ff9bbc36b/src/summarizedexperiment/BaseSE.py#L545-L581
Should either clarify this behaviour in the docstring or implement a fix so that it works as expected.
Also set_column_data is type hinted as returning a BaseSE this should probably be the object class?
from typing import TypeVar

BSE = TypeVar("BSE", bound=BaseSE)

class BaseSE:
    ...
    def set_column_data(self: BSE, ...) -> BSE:
        ...

    ...

This will set the type hint to whatever class the object being accessed is (i.e. it will hint the subclass type if the object is a subclass of BaseSE).

Thinking through this for different combinations of in_place and replace_column_names,

True and True: Original object modified directly, column names replaced
True and False: Original object modified directly, original names preserved
False and False: New copy created, original names preserved
False and True: New copy created, names replaced on copy

The last case (False, True) is where your concern applies. Currently, we're making a copy of the object and then replacing column names on that copy. we're only creating one copy total & the column name replacement is happening on that same copy, not creating additional copies.
I think the current behavior makes sense to me. Please feel free to post an MRE if i misunderstood the behavior.

My concern is actually with the scenario where both replace_column_names and in_place are both True, apologies my title is unclear.
Unfortunately, I can't share the code for synthesizing a SummarizedExperiment object, but if you have similar code this will demonstrate the issue:
from summarizedexperiment import SummarizedExperiment

def print_column_names(desc: str, se: SummarizedExperiment) -> None:
    """Print the column names of a SummarizedExperiment object."""
    column_names = se.get_column_names()
    if column_names is not None:
        print(column_names[:5], desc)

se = new_se()
print("original")
print_column_names("", se)

new_column_data = new_bioc_frame(se.shape[1])

se1 = se.set_column_data(new_column_data, True)
print("\nreplace_column_names=True, in_place=False")
print_column_names("input", se)
print_column_names("return", se1)

se2 = se.set_column_data(new_column_data, True, True)
print("\nreplace_column_names=True, in_place=True")
print_column_names("input", se)
print_column_names("return", se2)

Result:
original
['Wzv4p', 'JwUtz', 'pM0cN', '9EDHT', 'SuQ1K']

replace_column_names=True, in_place=False
['Wzv4p', 'JwUtz', 'pM0cN', '9EDHT', 'SuQ1K'] input
['dWkbd', 'Yo4TS', '7hJxI', 'yhRJr', '9JPTQ'] return

replace_column_names=True, in_place=True
['Wzv4p', 'JwUtz', 'pM0cN', '9EDHT', 'SuQ1K'] input
['dWkbd', 'Yo4TS', '7hJxI', 'yhRJr', '9JPTQ'] return

My expectation for the scenario where replace_column_names and in_place are both True is the the input SummarizedExperiment will have the new column names but this is not what occurs. The returned SummarizedExperiment has them but the input SummarizedExperiment retains the original column names. This is identical to the scenario where in_place is False which is what I meant by in_place having no effect when replace_column_names is also set to True.

Gotcha, thank you for clarifying this!


Prevent duplicate ID's

We had a situation where we had multiple inline editors on screen. This resulted in a problem because some unique ID's were created in the same millisecond so they were not unique.
I solved this by creating a small service that creates the unique ID's by using a counter. Because the service is a singleton this will ensure a unique ID even when using multiple directives at the same time.
Cheers, Roel Plieger.

Could you please squash this to one commit?


tinySA and tinySA ULTRA driver

Hi Andrew,
This one adds a driver for the tinySA and tinySA ULTRA Spectrum Analyzers.
As these devices use UART over USB to communicate, I also added download progress support to SCPIUARTTransport class.
I also created a SCPISA base class that can be derived for other specan only instrument drivers.
Here is what it looks like:

It goes with a compagnon PR for documentation.
Best,
Frederic.

Fred the hero of us poor(ly equipped in the T&M department)
Op zo 3 nov 2024 om 17:56 schreef fredzo @.***>:

Hi Andrew,
This one adds a driver for the tinySA and tinySA ULTRA Spectrum Analyzers.
As these devices use UART over USB to communicate, I also added download
progress support to SCPIUARTTransport class.
I also created a SCPISA base class that can be derived for other specan
only instrument drivers.
Here is what it looks like:
ngscopeclient_sTUtLS0JIe.gif (view on web)
https://github.com/user-attachments/assets/09fb7691-dfca-473d-9f46-4e9a49a5f19d
It goes with a compagnon PR for documentation.
Best,
Frederic.
You can view, comment on, or merge this pull request online at:
https://github.com/ngscopeclient/scopehal/pull/932
Commit Summary

b78f4e0
https://github.com/ngscopeclient/scopehal/pull/932/commits/b78f4e0794a528fd087b09176128f46bc3e00ecf
Fist step to TinySA driver
659b3df
https://github.com/ngscopeclient/scopehal/pull/932/commits/659b3dffdb2f0daa1f2eec0defec611b7b399bb0
Added progress support to SCPIUARTTransport ReadRawData method.
7397dd4
https://github.com/ngscopeclient/scopehal/pull/932/commits/7397dd4424a0733d50642729099f0af851658d02
Added read timeout.
a378ac8
https://github.com/ngscopeclient/scopehal/pull/932/commits/a378ac8a1b4bc776275e4d4563da554160b336c2
Added sweep boudnaries checks from device.
49efcf3
https://github.com/ngscopeclient/scopehal/pull/932/commits/49efcf387f2746b35cb1fb9eb5644b4e0ef0b96a
Removed unnecessary lock
80e473a
https://github.com/ngscopeclient/scopehal/pull/932/commits/80e473a72ca28dff8a8dcd5a4d28d82685d6bea7
Fixed returned sample rate value.
ca965f2
https://github.com/ngscopeclient/scopehal/pull/932/commits/ca965f2d8a8e0170affc5f545ae609559ccfdd63
Fixed rbw handling.
66df270
https://github.com/ngscopeclient/scopehal/pull/932/commits/66df270708778306aa31414f7d4183445a017813
Refactored code to move common logic to SCPISA class.
cf51ec0
https://github.com/ngscopeclient/scopehal/pull/932/commits/cf51ec066059f5a4455da9b5c8cf914b2ba27d2c
Fixed comments
108ecd4
https://github.com/ngscopeclient/scopehal/pull/932/commits/108ecd42c7e5dd0427291fd4fa81e0391ffcf772
Fixed download for small memory depth.

File Changes
(8 files https://github.com/ngscopeclient/scopehal/pull/932/files)

M scopehal/CMakeLists.txt
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-0c1fc4781215d8612038a1668d272725fc7f805904755eeeae35a22f2ed5af9c
(2)
A scopehal/SCPISA.cpp
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-ce42f7b3d334ee7177a0f4ca212bef59c89fd42626242f4aa979c652c785212b
(311)
A scopehal/SCPISA.h
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-6849984418686d7f3f4db02e6bfb30b7d1eb42b1d93af0fff27d99f6333dafa3
(133)
M scopehal/SCPIUARTTransport.cpp
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-0dce3b2e50bd6a8ccf69f34220b17120d4cd405d13183217ac5c91eaca1d513e
(29)
A scopehal/TinySA.cpp
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-66691d98ae1515e0fb9fecb8ff609c5cf08501b48d06265e4182277563860c99
(540)
A scopehal/TinySA.h
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-8971ba35e1649e582f5c47b849bd1ae042559d3d0074612b082261f861227a38
(128)
M scopehal/scopehal.cpp
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-0736a868e651cca681fe35034f539d9a3412704c632f3032a2e6d580a6773554
(2)
M scopehal/scopehal.h
https://github.com/ngscopeclient/scopehal/pull/932/files#diff-a03af30dcf2a9b57547c642b630b233ea6489de0bf643e04eda1b8026c9f8d9c
(1)

Patch Links:

https://github.com/ngscopeclient/scopehal/pull/932.patch
https://github.com/ngscopeclient/scopehal/pull/932.diff

—
Reply to this email directly, view it on GitHub
https://github.com/ngscopeclient/scopehal/pull/932, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEDD42H7JA4WWWJPI4BJBLZ6ZITFAVCNFSM6AAAAABRC4VUFCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGYZTCMZTGAZTOMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Fix url parse test breakage from go 1.11.13 change

Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[X] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Hi @myshkin5. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sorry about the breakages.. should be fixed now from https://github.com/istio/istio/pull/16389#event-2570599007


Add support for infinite endpoints for range queries

This PR adds support to open endpoint queries in the state store.
KIP:
https://cwiki.apache.org/confluence/display/KAFKA/KIP-763%3A+Range+queries+with+open+endpoints
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@showuon Thanks for catching the javadoc thing!


Identify and document/remove library mismatches between Snowplow Scala code and AWS Hadoop

For background see: https://groups.google.com/forum/#!topic/snowplow-user/uYnM7udvYeA

done, closing


Build output of authenticated commands implementing the Output trait instead of using termimad

Current behavior
The authenticated commands uses termimad to format and print its output.
Desired behavior
The command output should be formatted with formatdoc and printed with opts.terminal.stdout().
Implementation details
The get and list commands are using the function print_entries to build the output, which uses a list of identifier, attribute pairs. Consider creating a custom struct to represent that pair and implement the Output trait for it so that you can build the output as follows:
opts.terminal
    .stdout()
    .plain(&attribute) // use `opts.terminal.build_list(&attributes, ...)` to build the output for the `list` command
    .json(serde_json::json!(&attribute))
    .write_line()?;

Check the lease list command to see an example of how to do this.

Some tips for newcomers:

Create a new branch for the issue you are working on (don't push directly to your fork's develop branch)
Run cargo fmt. You can configure the editor to run it automatically everytime a file is saved
Run cargo clippy to make sure the code compiles + follows rust standards/best practices
You don't need to keep your branch updated with develop until there is a merge conflict. If you still want to update it, use git rebase develop instead of gir merge develop

We love helping new contributors! ❤
If you have questions or need help as you explore, please join us on Discord. If you're looking for other issues to contribute to, please checkout our good first issues.

@mrinalwadhwa can you assign me this issue i would like to work on it

@KekmaTime That's awesome, this is all yours. Please let us know if you have any questions as you explore. You can also ask questions on the contributors discord https://discord.gg/RAbjRr3kds


Ender io cap bank inventory re-sort bug

Issue Description:
EDIT- Right clicking a basic capacitor bank with an item in the players hand, rearrannges said inventory
What happens:
http://i.imgur.com/VrlgjFy.png
What you expected to happen:
Steps to reproduce:
1.have item in hand
2.right click cap bank
3.open inv
...

Affected Versions (Do not use "latest"):

EnderIO:1.10.2-3.1.156
EnderCore:1.10.2-<IP_ADDRESS>-Beta
Minecraft: 1.10.2
Forge:<IP_ADDRESS>2

Your most recent log file where the issue was present:
[pastebin/gist/etc link here]

Please describe shat happens exactly. There are some steps between right-clicking a capbank and having the player inventory open.

I had this same thing happen with just 1 vibrant cap in a set of 16 that seemed to be corrupted in SF3.  No amount of relogging would fix it but noticed that when I hit the baubles button things went back to normal.  I finally threw the cap away and cheated in another and all was back to normal.  It has been stated that the SimpleLabels quantum storage label causes corrupted chunks and screws up NBT data but I can't find anyone saying that; however this was indeed in a single chunk which is screwed up and has that label in it and most of the conduits are not rendering and working, missing EU2 pipes, etc.  I removed the label and replaced the Cap and it hasn't happened again (although the conduits are all still wireframe and not working until I break and replace but that is another issue).

Whoa, I'm getting a similar issue with corruption in sf3 in a single chunk where I have those labels. That's interesting. I wonder if that really is the cause. I'm getting ender IO conduits missing, smeltery rendering strange/desync inventory when interacting with it, crucibles not rendering, etc etc. I know this isn't related to ender IO but I was here looking to see if anything sounded like this bug. Thanks for sharing.

Breaking them immediately fixed it too. Wow.

  However, the SimpleLabels team has committed a fix on github but not sure if it has been compiled and pushed out yet.  The new SF beta 3.0.6 seems to have fixed my issues related to this so either the new simplelabels version has been pushed or me removing the label and upgrading server and client and restarting has removed the corruption in the chunk.
Regardless, I don't think this is caused by anything EnderIO, just a casualty of war.

I am experiencing this bug as well.  With the Sky Factory 3 modpack (3.0.6), right clicking on a blank face of the capacitor bank (5 mil RF one) to try to get the RF bar indicator connected texture, instantly inventory resorts in messed up way, pickaxe (item 1) goes to offhand, mattock (item 2) goes to main hand, pants on head, wrench invisible, etc... end up having to close and reopen the client to fix.


Checking index items

Updated language and font casing in some places
Commented all invalid/incomplete entries
Added a couple of links for the Physics parameters category (physics_params.md)

Would like to know how to go about some entries that seem to be good for the index but don't have any valid links. For example -
in _categories/sensors.md
items:
      - title: 'Basic shapes in Gazebo simulator'
        url: 'http://packages.osrfoundation.org/gz_big_index/4_sensors.html' # check
        desc: 'How to insert and use an altimiter simulated sensor in Gazebo'
        star: true

      - title: 'Camera Gazebo sensor'
        url: 'http://gazebosim.org/tutorials?TODO' # check
        desc: 'How to insert and use a simulated camera in Gazebo'
        star: true

I've enable the travis support for this repo, hopefully it should be launched in the next commit.
With regards to changes in this pull requests:

I would like to see html-proofer in action but it looks promising
All the entries that are commented out should be reviewed and most of them probably back to be enabled with correct links (or created content that support the entries). A good example of this, are the entries related to MacOSX installation, which are important. We can do it in this PR or in any one as your prefer.

In the last commit, I uncommented one of the index items with an invalid URL to demonstrate failure of test cases for any invalid URLs in the doc index. The Travis tests have failed (thus worked fine).

I also have (by mistake) pushed the code for the index integrity testing in this branch only.
To check if the index integrity tests worked fine, I changed the title of one of the items to an empty string and pushed the code. The tests have failed (thus worked fine) and successfully identified the anomaly.

Test code for index-integrity using Rspec was pushed with this commit.
Index integrity specs have been added to spec/index_integrity_spec.rb
Tests can be run locally by -
bundle install (first time)
bundle exec rspec --format doc (index integrity tests)
jekyll build && htmlproofer ./_site --url-ignore "/gz-bigindex/*/" (html-proofer tests)

Tests can be run locally by -
bundle install (first time)
bundle exec rspec --format doc (index integrity tests)
jekyll build && htmlproofer ./_site --url-ignore "/gz-bigindex/*/" (html-proofer tests)

Could you please add this to the CONTRIBUTING file? With this I think we are pretty done with this PR.

Could you please add this to the CONTRIBUTING file? With this I think we are pretty done with this PR.

Will do.
I think, a couple of comments/reviews are left. We can merge and close the PR after that.


Plugin homebrew fix

I found that if $commands[brew] returns a result, Homebrew has been set up. Also fix typo

Your code doesn't behave the same way as mine - in yours, $PATH has to be set in order for the brew command to be found. Mine operates either way - before or after $PATH is set. I appreciate the bug fix on the variable name and integrated that, but I'm not sure there's anything left to this PR that I'd add.


Add Docker environment & web demo

This pull request makes it possible to run your model inside a Docker environment, which makes it easier for other people to run it.  We're using an open source tool called Cog to make this process easier.
This also means we can make a web page where other people can try out your model! View it here: https://replicate.com/facebookresearch/mask2former. You can find the docker file under the tab ‘run model with docker’.
We have added some examples to the page, but do claim the page so you can own the page, customise the Example gallery as you like, push any future update to the web demo, and we'll feature it on our website and tweet about it too. You can find the 'Claim this model' button on the top of the page. Any member of the facebookresearch organization on GitHub can claim the model ~
In case you're wondering who I am, I'm from Replicate, where we're trying to make machine learning reproducible. We got frustrated that we couldn't run all the really interesting ML work being done. So, we're going round implementing models we like. 😊

Thanks for the web demo! Very cool!

Does not work anymore on replicated.
Please update the repo with a new docker file/image

You can find the docker file under the tab ‘run model with docker’.
@chenxwh Please update us on how to download the docker file / image from replicate, I dont see  ‘run model with docker’ tab on replicate, see image above


Document site

Finally we have bootstrapped this, it's definitely better to have an odoc-based documentation site if we rewrite this to OCaml in the future, but for now this is still F#. So I think we need an Ocsigen-style documentation site with WikiDoc. That said, I'm not really familiar with it.

@smorimoto I just saw your message.
To have the documentation on the web site, take as example another project (for example Ocsigen Toolkit).
Create a git branch for the documentation. We usually have a manual written in wikicreole syntax, and the API documentation, generated by ocamldoc with an extenion to generate wiki files.
Then we need to set up github action for converting wiki to html.
See: https://github.com/ocsigen/ocsigen-toolkit/blob/wikidoc/.github/workflows/siteupdate.yml
See also: https://ocsigen.org/home/contributing.html
Don't hesitate ta ask for more help.
I'll help you to update the main menu to add ts2ocaml.

@balat Thank you for showing me that! It looks fairly easy, so we will try that!


Add support for s3WriteGzip option to gzip PCAPs on S3.

This PR adds support for two new configuration settings and addresses #1184. There will be another PR in the molochweb repo.
s3WriteGzip=true     this forces new files that are created in S3 (as a result of --copy) to be compressed. The files can still be decompressed by gunzip, but files compressed by gzip cannot be used. This is because there is careful control of the compressed block sizes to allow reading of individual packets without having to decompress the entire file. This defaults to false.
s3StorageClass=STANDARD   this sets the storage class used when storing objects in S3. The old default (REDUCED_REDUNDANCY) was worse in every way (including cost) than STANDARD. A plausible option might be INTELLIGENT_TIERING. It defaults to STANDARD.
Linting was run on the index.js (though it wasn't easy to do).
All the tests still pass.
License
I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

looks like there are some conflicts that need to be resolved.  Also the documentation lives in github.com/aol/molochweb so that will be another pull request.

this looks very cool, definitely want to look at adding it to normal pcap writing, not sure if there should be any shared code or not.

I think that it probably ought to be imported into the regular copy-to-disk path. However, I think that we want to get some time running this code to make sure that nothing untoward happens before adding it to the majority use case.
In particular, it won't work without --copy in offline mode. My use case is all around offline mode.


Test WebView in android suite failed

Test WebView in android suite failed. AppiumDriver can't switchMobileContext to WebView.

https://github.com/qaprosoft/carina-demo/pull/176

merged pr


add all possible SVG tags

Attention: The macros for the SVG elements are still missing, because I didn't want to copy/paste the same code again and again. And I was not able yet to create a general macro for that :-\

For now, we may need lots of repetitive code.


Replace calls to dbg! with log::debug! + env_logger

We can use the RUST_LOG environment variable to control the log level. According to the dbg documentation:

Note that the macro is intended as a debugging tool and therefore you should avoid having uses of it in version control for long periods (other than in tests and similar). Debug output from production code is better done with other facilities such as the debug! macro from the log crate.

I used log::error! in a few places where it seemed appropriate. Some of the dbg! calls probably make more sense as trace! or info!, but those can be changed later.

Nice! However, I would leave the debug prints in the tests as they are now for the following reasons:

Test output is not seen by the end user
When running tests using cargo test, the stderr output is only displayed in case the test fails.
The stuff that is currently printed is crucial for debugging failing test cases, so they should always be visible when a test fails.

Roger.

Closed, because debug output is a must-have for macro_solver_example.rs, and there is no way to add env_logger as a dependency for the example without also adding it for the entire solvers package.


Remove data radius from json-rpc ping

Spec changed here:
https://github.com/ethereum/portal-network-specs/pull/202
What was wrong?
Fix #696
How was it fixed?
Remove the paramater. We just ignored it anyway, so it's pretty straightforward.
To-Do

[x] Clean up commit history

I'll need a new ethportal-api release to propagate these changes to glados.


[Feature Request] I want the element in the form of inline to be vertically centered

Existing Component
是
Component Name
form
Description
In the inline form, in the vertical direction, the elements are top aligned, When this form and other (vertically centered) elements are placed on one line, it will be ugly. I have to modify other elements for top alignment to stay beautiful.
I want to know why the line form is not centered by default, and is there any simple way to modify it?

I have to use the following method to manually modify css:
<style scoped>
  .top-bar-item >>> .el-form-item {
    margin-bottom: 0;
  }
</style>

top-bar-item is the element class name I used to wrap this subform

pr welcome