proxychains-ng: fix build on aarch64-darwin

Motivation for this change
4.15 fails to build on Apple M1. The author fixed it in a commit not released yet.
Ref to https://github.com/rofl0r/proxychains-ng/issues/400.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg eval


Enable JSCS on apprtc code #402

Issue #402:
The jscs plugin for grunt wasn't enforcing any rules. This change enables it only on apprtc and fixes the apprtc violations. All changes to code should be effectively whitespace only.
We should also enable it for the other directories, but we can do the cleanup of each directory separately.
@samdutton @jiayliu @juberti

lgtm

Thanks Chuck – and for noticing this in the first place.


Add CHANGELOG.md to follow the changes

Please consider adding a changelog file to follow the changes (potentially breaking changes)

OK, looks like somebody else is using ocp-tessellate now :-)
Will do in the future.
Nothing exciting happened in the last few releases:
Changes of 3.0.8

Fix regression for handling cadquery wires (wire.edges() returns one edge or one compound)
Ensure get_face_type and get_edge_type always return int (ocp_utils.py)
Enable switch from Extent to Size (being prepared for OCCT 7.8
Add get_surface and get_curve to ocp_utils.py

Changes for 3.0.7

none / deployment issues

Changes for 3.0.6

Migrate to pyproject.toml
Support latest cadquery Sketch changes

Changes for 3.0.5

Remove numpy-quaternion dependency to support numpy 1 and 2

Thank you very much


[issue with phantom 1.9.7]

Below is what we are getting in logs (verbose mode enabled)"403 Directory Listing Denied" with phantom 1.9.7, but things are working fine on phantom 2.1.1.
#1 received result: {"status":"success","closing":true}HTTP/1.1 403 Directory Listing Denied
Content-Type: text/plain
Content-Length: 60
Connection: close

Error 403: Directory Listing Denied
Directory listing denied
    #1 killing worker
    #2  starting on port: 1635
    #2 new job {"noData":true}
    #1 process closed

phantomjs-pool doesn't support phantomjs 1.9.7 ?

Sorry for the late answer. It looks like this is a bug with PhantomJS itself (or with the integrated Mongoose server) as others already have figured out: https://github.com/baudehlo/node-phantom-simple/issues/109
In general, the library supports PhantomJS versions < 2, but of course a bug in PhantomJS itself also leads to problems with this library.


Move Marist machines to the self-service provisioning

To avoid having to go through support for any requests on our Marist systems, they have been trialling a self-service interface for their machines and it is ready to be used as the primary method for provisioning our machines. #2267 has machines which have been provisioned through the new interface and we should start migrating our existing systems across to this too.
The first step will be to ensure we have capacity in the system (At the moment the account I'm using only has 4 machine slots available) and then start duplicating the existing machines in it, followed by decomissioning the existing ones. We will likely look at having at least one dockerhost system in order to have a wider range of distributions tested for Linux/s390x (Subject to availability...)
Systems ready for installation:

dockerhost (8 core, 32GB RAM): <IP_ADDRESS>
build (RHEL7.9, 4 core, 16GB): <IP_ADDRESS>
test (SLES12, 2 core, 4GB): <IP_ADDRESS>
Others listed in https://github.com/adoptium/infrastructure/pull/2690

I'm going to use this as a conclusive verification of a number of other infrastructure PRs that we have in flight just now, so I won't run the playbooks until after they are merged:

https://github.com/adoptium/infrastructure/pull/2691
https://github.com/adoptium/infrastructure/pull/2394

For future reference before syncing inventories in awx you have to update the project source first in order for awx to have the latest inventory file. I assumed the syncing inventory process automatically pulled the latest inventory file.
Running https://awx2.adoptopenjdk.net/#/jobs/playbook/137?job_search=page_size:20;order_by:-finished;not__launch_type:sync on test-marist-rhel8-s390x-2 as a prelim playbook run

Failed at the installation of systemtap-sdt-devel
I've created a new job in awx which I can use for debugging/testing. It deploys my own branch, https://github.com/Haroon-Khel/openjdk-infrastructure/tree/awx.debug, which so far the only change is systemtap-sdt-devel commented out
https://awx2.adoptopenjdk.net/#/jobs/playbook/143?job_search=page_size:20;order_by:-finished;not__launch_type:sync

test-marist-rhel8-s390x-2 is actually a SLES15 machine
test-marist-rhel8-s390x-2:~ # cat /etc/os-release
NAME="SLES"
VERSION="15-SP2"
VERSION_ID="15.2"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP2"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp2"

And test-marist-sles15-s390x-2 is Rhel 8
[root@testrhel8 ~]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.6 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.6"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.6 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/red_hat_enterprise_linux/8/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.6
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.6"

Failed at downloading Ant
TASK [ant : Download Apache Ant binaries] **************************************
fatal: [test-marist-rhel8-s390x-2]: FAILED! => {"changed": false, "dest": "/tmp/", "elapsed": 0, "gid": 0, "group": "root", "mode": "01777", "msg": "Request failed: <urlopen error unknown url type: https>", "owner": "root", "size": 255, "state": "directory", "uid": 0, "url": "https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.5-bin.zip"}

Failed at the installation of systemtap-sdt-devel

Presumnably that's only on a subset of the OSs?

Tried deploying to just the RHEL79 build machines - hit https://github.com/adoptium/infrastructure/issues/2700
Tried deploying to test-marist-ubuntu2204 system - failed because gcc7 PR has not yet been merged
Tried deploying to the RHEL79 build machines skipping the docker tag

Failed at the installation of systemtap-sdt-devel

This is specific to SLES15. It is installed on the -1 sles15 machine so it's not entirely clear why this message is appearing on the other machines, unless it was bypassed . libc.so.6 is on the machine:
test-marist-sles15-s390x-2:~ # ls -l /lib64/libc.so.6
lrwxrwxrwx 1 root root 12 Nov  5  2021 /lib64/libc.so.6 -> libc-2.26.so
test-marist-sles15-s390x-2:~ # zypper install systemtap-sdt-devel
Refreshing service 'SMT-http_lxslsmt'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides 'libc.so.6(GLIBC_2.27)(64bit)' needed by the to be installed systemtap-4.6-151.d_t.3.s390x
 Solution 1: do not install systemtap-sdt-devel-4.6-151.d_t.3.s390x
 Solution 2: break systemtap-4.6-151.d_t.3.s390x by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c): c
test-marist-sles15-s390x-2:~ #

test-marist-ubuntu-1804-s390x- systems 1 and 2 had these entries in /etc/hosts:
<IP_ADDRESS> ppa.launchpad.net
<IP_ADDRESS> ports.ubuntu.com

This was preventing them from updating themselves - presumably implemented to bypass a temporary problem at some point - the date stamp on the file was:
-rw-r--r-- 1 root root 487 Apr 22  2021 /etc/hosts

I've commented those lines out of both machines now which should avoid this problem:
root@test-marist-ubuntu1804-s390x-2:~# apt-get update
Err:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
  Could not connect to ports.ubuntu.com:80 (<IP_ADDRESS>), connection timed out
Err:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease
  Unable to connect to ports.ubuntu.com:http:
Err:3 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease
  Unable to connect to ports.ubuntu.com:http:
Err:4 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
  Unable to connect to ports.ubuntu.com:http:
Reading package lists... Done
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/bionic/InRelease  Could not connect to ports.ubuntu.com:80 (<IP_ADDRESS>), connection timed out
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/bionic-updates/InRelease  Unable to connect to ports.ubuntu.com:http:
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/bionic-backports/InRelease  Unable to connect to ports.ubuntu.com:http:
W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/bionic-security/InRelease  Unable to connect to ports.ubuntu.com:http:
W: Some index files failed to download. They have been ignored, or old ones used instead.

sles12-2 was missing the AWX ssh key - now fixed so that should work now.
RHEL8 looks to be trying to install some of the 31-bit (s390) packages which we probably don't need.

@sxa want me to pick up the systemtap-sdt-devel on test-marist-ubuntu-1804-s390x-1 ?

Sure - please co-ordinate with Haroon in slack.

That would be helpful @steelhead31 Thanks

Ubuntu 22.04 looking happier now that https://github.com/adoptium/infrastructure/pull/2691 is merged.

The sles15 playbooks run better using python 3 as the ansible_python_interpreter ( which can be specified in the inventory ), and also an issue with the ipv6 configuration on test-marist-sles15-s390x-2 has been resolved by disabling ipv6 as shown below.
1. Edit the file sysctl.conf by executing the command sudo vi /etc/sysctl.conf
2. Add the below 2 lines to the file
  net.ipv6.conf.all.disable_ipv6 = 1
  net.ipv6.conf.default.disable_ipv6 = 1
3. Save and execute the command "sudo sysctl -p" . This would re-load the settings and disables ipv6 address.
4. Execute the command ip a | grep inet - this should only show ipv4 addresses

From Marist: "Let me know when fully migrated and I can remove the old servers as we are targeting end of September to power off the old storage servers."

@Haroon-Khel Looks like there may be some problems that need addressing: https://ci.adoptopenjdk.net/view/Test_openjdk/job/Test_openjdk11_hs_sanity.openjdk_s390x_linux/651
Certainly a subset of them are in the compression code (we've seen issues there elsewhere - at least on Ubuntu 20.04 - that run was on 22.04) and if all the failures are related to that it will be good to confirm which distributions and versions it happens on, as there will be implications elsewhere.

Nagios should be working on all of the new marist machines expect for test-marist-rhel8-s390x-2 due to
No package nagios-plugins-all available. Should have a quick solution

Added docker tag onto test-marist-ubuntu2204-s390x-1 as openjdk_build_docker_multiarch builds were getting stuck due to lack of suitable labels. The dockerhost-marist machine is currently unsuitable as despite being in jenkins it appears that it cannot run docker as the jenkins user (See this log from when I tried to add the tag to that machine)

Request for Eclipse to set up two machines for Temurin Compliance:
https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1917

NOTE: I've brought docker-marist-ubuntu1604-s390x-1 back online in jenkins for now since that one (why not others?) was causing 'temporarily offline in jenkins' messages to appear in the bot channel, but I've switched the docker label to dockerX

@Haroon-Khel @steelhead31 Can we remove the old machines from Nagios, Jenkins and the inventory files please as they have now been deprovisioned. Full list as follows (Some of these were temporary systems so if you can't find them, that's not a problem):

<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
Older early adopter Self-service account:
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

Will do, has the ansible inventory been updated with the new ip's / hostnames ?, Im starting work on fixing the discrepancies between nagios and ansible today.

Will do, has the ansible inventory been updated with the new ip's / hostnames ?

Yep the new ones have been live for a few weeks: https://github.com/adoptium/infrastructure/pull/2690/files
In theory removing the ones listed above should only leave the s390x ones added in that PR.

All have now been removed from nagios.

That'll clear up the slack channel a bit then ;-)

The old machines have all been relieved or their duties and returned to Marist.
There is still some more work required to fix some issues that have shown up during this release cycle under #2807 but those can be covered under that issue. The old TCK machines will be decomissioned this week too.

Removing the following machines from jenkins as they've been decommissioned
* https://ci.adoptopenjdk.net/computer/test-marist-sles15-s390x-1/
* https://ci.adoptopenjdk.net/computer/build-marist-rhel77-s390x-1/
* https://ci.adoptopenjdk.net/computer/build-marist-rhel77-s390x-2/
* https://ci.adoptopenjdk.net/computer/test-marist-ubuntu1604-s390x-1/
* https://ci.adoptopenjdk.net/computer/test-marist-ubuntu1804-s390x-1/
* https://ci.adoptopenjdk.net/computer/test-marist-ubuntu1804-s390x-2/
* https://ci.adoptopenjdk.net/computer/test-marist-ubuntu1804-s390x-3/
* https://ci.adoptopenjdk.net/computer/test-marist-ubuntu1804-s390x-4/
* https://ci.adoptopenjdk.net/computer/docker-marist-ubuntu1604-s390x-1/


updating singular resource

According to this issue #686 i managed to create singular resource.
But update action fails this:
https://github.com/cerebris/jsonapi-resources/blob/v0.7.0/lib/jsonapi/request.rb#L611
request.rb:
fail JSONAPI::Exceptions::MissingKey.new if data[:id].nil?
But singular resource does not have ID.
Thx.

JSON API spec says that data object MUST contain id
but singleton resource is not mentioned in spec
json-api/json-api Issue#1046


Hairline stroke painting can be antialiased across fractional pixel boundaries

Steps to reproduce
Run the following app:
import 'package:flutter/material.dart';

void main() {
  runApp(HairlineNotSoMuch());
}

class HairlineNotSoMuch extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.all(50),
      child: Column(
        textDirection: TextDirection.ltr,
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          CustomPaint(
            size: Size(99, 99),
            painter: BoxPainter(),
          ),
        ],
      ),
    );
  }
}

class BoxPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    final Paint paint = Paint()
      ..style = PaintingStyle.stroke
      ..strokeWidth = 0
      ..color = Colors.white;
    final Rect rect = Rect.fromCenter(
      center: Offset(size.width / 2, size.height / 2),
      width: size.width,
      height: size.height,
    );
    canvas.drawRect(rect, paint);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) => true;
}

Expected behavior
The documentation on Paint.strokeWidth says that a zero width "corresponds to a hairline width", and a further discussion of hairline widths in BorderSide.width says "Setting width to 0.0 will result in a hairline border. This means that the border will have the width of one physical pixel."
Given that (and no discussion of antialiasing), you expect such the code above to produce a 1-physical-pixel border.
Actual behavior
The above code yields the following result (on my mac-os embedding; saw similar results on iOS and Android emulator):

This shows a 2-physical-pixel border.
Note: setting isAntiAlias = false on the paint causes it to render to one physical pixel.  If the behavior outlined so far is indeed working as intended, then we should fix BorderSide.toPaint() to turn off anti-aliasing for the hairline border case.  The current code is:
https://github.com/flutter/flutter/blob/6db22118ad7192d2719816688b65cef325db528b/packages/flutter/lib/src/painting/borders.dart#L179-L182

Discussed a little bit with @Hixie, and he points out that turning off antialiasing won't work because the line might be rotated (which would look crummy if not antialiased).  Likewise, rounded corners would look bad.
I wonder if we could create a single-child widget that would lay its child out on whole-pixel boundaries.  This would let the developer consciously choose when to pixel-snap.

Looks like there's precedent in other frameworks for that kind of thing.  e.g. https://wpf.2000things.com/tag/pixel-snapping/

Pixel-snapping is an interesting idea.
For this bug, we need to at least update the documentation you linked to to include an explanation about how AA may effect the hairline (since it may in fact not just be one pixel wide).

I wonder if we could create a single-child widget that would lay its child out on whole-pixel boundaries. This would let the developer consciously choose when to pixel-snap.

This could maybe be an Align like widget that is physical-pixel aware and aligns the child to whole-pixel boundaries.

Such a widget would have to use a Layer, probably, and basically would be like a Transform that nudged things left or right to round onto the nearest pixel boundary. Probably would have to specify which axis to do it on. Not sure what we'd do in cases where the widget is rotated or in a perspective transform or whatnot. Assert? Do nothing?

Here's an example of the manifestation fo this in a real app:
Designer specification

Implemented design

You also get irregular behavior on different border sides (these screen captures scaled 300%):
Designer specification

Implemented design

Without the widget we're talking about, there's no way to fix these issues.  What's worse: (a) they're very common in desktop environments because of window resizing, and (b) as the user resizes the window, the borders will jump between 1-pixel and 2-pixel-AA, which draws the user's eye to the issue.

@Hixie could the widget not use localToGlobal combined with devicePixelRatio to know where to place its child - without using layers?  It'd be O(depth) for layout, which would be slow, but we could document it as such, much like we do with IntrinsicColumnWidth?

without layers you can't know where you are in the coordinate space (especially when moving)

as the user resizes the window, the borders will jump between 1-pixel and 2-pixel-AA, which draws the user's eye to the issue.

Here's a demonstration of what that looks like:

Actually, thinking about this more, isn't this be a bug in the dart:ui layer?  The reason for the AA is that the thickness of the stroke causes it to span real-pixel boundaries... but with a thickness of zero, that should never happen - that's the whole point of hairline thickness.
@reed-at-google

if you draw a hairline on a pixel boundary, which side would you want it to paint on? either side would be wrong.

I was picturing each pixel as covering a range.  e.g. pixel 0 covers 0<=P<1, pixel 1 covers 1<=P<2, etc.  So if you painted a hairline at coordinate x=1.0 (on the border of the first and second x-pixels), it would paint on the second pixel.

A weird manifestation of this is that you can have a width-1 border starting at a whole-pixel boundary (in the following example, assume a device-pixel-ratio of 1), and it paints in 1 pixel:
class BorderApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ColoredBox(
      color: Color(0xffffffff),
      child: Padding(
        padding: EdgeInsets.all(10),
        child: DecoratedBox(
          decoration: BoxDecoration(
            border: Border.all(color: Color(0xff000000), width: 1),
          ),
        ),
      ),
    );
  }
}

But if you then lower the width of the border to zero, you get the following AA'd border:

This intuitively seems weird for the developer... "I started at the same x,y coordinates, said to use a smaller value for width... and the border looks wider."  The reason for this is that for the width-1 border, we (correctly) offset its starting x,y coordinates by half the stroke width:
https://github.com/flutter/flutter/blob/599566177736e6b30af922a8f06e8a260acafc36/packages/flutter/lib/src/painting/box_border.dart#L240
Whereas for the 0-width border, we (again, correctly) don't.  But the end result is super counter-intuitive for the app developer.
This also would mean that if we created this layout widget we're talking about, we'd need to provide to parameter to say "layout at the physical half-pixel" (or some such facility), otherwise developers would run into the behavior above.
In any world, this should all be documented thoroughly 🙂

I was picturing each pixel as covering a range of physical coordinate values. e.g. pixel 0 covers 0<=P<1, pixel 1 covers 1<=P<2, etc. So if you painted a hairline at coordinate x=1.0 (on the border of the first and second x-pixels), it would paint on the second pixel.

The problem with any snapping like this is that it lines up poorly.
Consider a hairline from 0.9,0 to 0.9,10, that then hits a hairline that starts at 0.9,10 and goes to 1.9,20. If you snap vertical lines, then it won't line up with the slightly angled line any more. If you snap the coordinates of any line, then it won't line up with paths. If you snap any coordinate of a path, then your paths will look super-ugly when you're animating them.

Yep, I was coming up with other ways in which it didn't work last night after I wrote that.  I think the only real way forward is to provide the layout widget we're talking about.
Beyond that, the only other slightly workable solution (but not really workable) is to have the app designer create their app in such a way that they avoid partial physical pixels where it matters... but that's a huge burden for the app developer when posed with different devices with different pixel densities, and where it only works if they control the widgets from the root pixel on down.

With regard to aligning widgets, aligning each widget independently has less fidelity than if the layout algorithms were pixel aware. Consider a Row or Column with 6 child widgets and spaced evenly, it has to distribute the remaining space into 7 spaces between the widgets which is generally going to lead to every child being on an X/7th sub-pixel boundary. If you wrapped each child with a single child alignment wrapper then half of them are a tiny bit to the left and half of them are a tiny bit to the right. This may not be very visible on a phone that has a DPR of 3.0, but when we get to desktop and are rendering under Windows on screens with a DPR of 1.5, 2.25, etc. this gets more noticeable.

Another area where we see this is with widgets that are filtered with a blur. our default blur tile mode is clamp which means the edge pixels are smeared outwards with respect to the sampling. If a container has a decoration that is opaque to the edges and it happens to align with pixel boundaries then it will have a solid edge to its decoration. We are seeing a number of issues submitted where that doesn't happen and if, say, you Center the widget and it positions you on a 0.5 boundary then your edges are half-transparent and you have a fair bit of background showing through on the edges of your widgets. This is really hard for the developer to solve without the layout algorithms being pixel aware.
See: https://github.com/flutter/flutter/issues/64828
See: https://github.com/flutter/flutter/issues/39623

Note, that in the case of the layout causing a halo on the blurred widget background decorations, the effect is not "sub-pixel" in size, the halo is as large as the blur radius and quite noticable regardless of DPR.
(Actually it is blur_radius * DPR in size, so it is large and then it also scales up with the DPR.)

Any updates on creating this align to pixel widget? I believe it could help me fix a problem I am having with half pixel drawing.
https://github.com/flutter/flutter/issues/67881

Any updates on creating this align to pixel widget? I believe it could help me fix a problem I am having with half pixel drawing.
#67881

Better pixel snapping can't really help the lack of clamping in the drawImageRect method. Even if the destination rectangle of the image is aligned on pixel boundaries, the fact that the DPR can stretch its representations mean that we can sample the image at slightly above the center of the indicated edge pixel and that would blend in some of the next pixels color.


Accept the Precog instance as an argument to Quasar

@wemrysi what's the upstream situation which requires this?

@alissapajer Specifically, we need a Precog to setup table description storage over in slamdata-backend.

@wemrysi alternatively, we could instantiate a MimirIndexedStore here in quasar and then expose that instead of a Precog. Is there a reason exposing a Precog is better?


Generate datastructure out of openAPI JSON schema.

Hello Team,
I'm trying to generate openAPI document generator but facing issues trying to parse the specification. Could you please create a small tool that parses the spec doc and generates data structures relevant to various programming languages.  Such data structures helps users write UI components to document the API.  Although JSON schema can be considered a data structure but it would much easier if we convert/parse into native data structures of the programming languages.
Example below is the JavaScript data structure that we can create out the JSON Schema. Then using react and or any UI tool we can just map through the data structure to create the api document. If we directly parse JSON schema (without the JS data structure)  and create UI we might have to do a lot checking if the variable is a string or object before looping and have to deal with the complexity created by the nested objects.
Thanks,
Arun
let getPet = {
    path: '/pet',
    method: 'get',
    queryParams: [{ id: 33434, name: 'Tommy' }],
    requestInfo: [
        {
            contentType: 'application/json', schema: { name: 'username', id: 34343 },
            responseType: 'application/json', schema: { name: 'username', id: 34343 },
            responseCodes: [{ code: 200, description: "OK" }, { code: 404, description: 'Not found' }]
        },
        {
            contentType: 'application/xml', schema: { name: 'username', id: 34343 },
            responseType: 'application/xml', schema: { name: 'username', id: 34343 },
            responseCodes: [{ code: 200, description: "OK" }, { code: 404, description: 'Not found' }]

        }

    ]
}

let postPet = {
    path: '/pet',
    method: 'post',
    queryParams: [{ id: 33434, name: 'Tommy' }],
    requestInfo: [

        {
            contentType: 'application/json', schema: { name: 'username', id: 34343 },
            responseType: 'application/json', schema: { name: 'username', id: 34343 },
            responseCodes: [{ code: 200, description: "OK" }, { code: 404, description: 'Not found' }]
        },
        {
            contentType: 'application/xml', schema: { name: 'username', id: 34343 },
            responseType: 'application/xml', schema: { name: 'username', id: 34343 },
            responseCodes: [{ code: 200, description: "OK" }, { code: 404, description: 'Not found' }]

        }

    ]
}

export const paths = [getPet, postPet]

This is out of scope for OAI as we don't actively develop or host any tools. The JSON Schema folks are working on additional code/form generation efforts around JSON Schema, you can find out more information in their repo(s).


BUG: Spacing in Navbar

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
There is spacing between the icon and nav-element, I will try to reduce it and make sure it comes under one unit when hovered

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Its-Aman-Yadav
Please assign this issue to me
Thank you


#3629 Improve and document view service admin requests

I could not get the view services working with the existing code. I have added this change to now configure a view service by passing a ViewServiceConfig object rather than view options. This new object supplies a OMAG Server name and PlatformRootUrl (which were already there in the code). With this in place, it is possible to enable all view services with one rest call passing values these 2 properties. The viewOptions would then only contain options specific to a particular view.
As it was not very obvious how to configure the view services, I have added some documentation similar to the access service one, it is not that obvious that a class needs to be supplied in the body so Jackson knows how to deserialise the payload.
@planetf1 please could you check this does not break any existing  notebooks or Docker images. The body is now mandatory in the configure view service requests.

So far I don't believe we configure view services in the notebooks
I suspect there won't be any difference between docker and non docker, so you can run the notebooks locally by following
https://egeria.odpi.org/open-metadata-resources/open-metadata-tutorials/lab-infrastructure-guide/running-natively.html
This will ensure you haven't broken the notebooks, and just leaves a small exposure on docker. Just running configure/start notebooks should suffice
After merging the PR, and a new image being built (takes an extra 45m max after merge) you can deploy the lab chart as normal in k8s, or with docker compose & should pick up the new images. A new issue could be raised on master if anything found
This doesn't require anything beyond the docs we currently have really.
I agree it would be useful to either
a) Document how to build your own docker images, and test them (it is, but needs linking into main test doc) - see https://github.com/odpi/egeria/tree/master/open-metadata-resources/open-metadata-deployment/docker , but should cover how to access a repository etc
OR
b) Automatically build at least the base docker image for every PR. This actually only takes a few seconds, it's just a case of a repository to use, to avoid cluttering up docker hub, and managing the cleanup.  See #1734
b) is probably is the easiest as it can be done on common infrastructure, and avoids extra load on the developer other than just running them. I'm inclined to add it to my 'nearer term' list as I'm currently working in that area. (1-2 releases)

David wrote "With this in place, it is possible to enable all view services with one rest call passing values these 2 properties"
Just an observation - the Rex, Tex and Dino view services either don't or won't use these properties. They are or will be configured with resource endpoints.

David wrote "With this in place, it is possible to enable all view services with one rest call passing values these 2 properties"
Just an observation - the Rex, Tex and Dino view services either don't or won't use these properties. They are or will be configured with resource endpoints.

@grahamwallis Hi Graham, that is correct, as coded these 2 values will be available to Tex, Rex and Dino, if you want them. The advantage of this is that  we can activate all the view services using one call (same as access service), as if a view service needs these they will be mandatory.  I suspect most view services will require a back end; my thinking was it best to move these up to the top level.  Otherwise we will need to issue the configuration for each service separately.  I guess the downside of this approach is that there will be configuration that a view service does not need. When you configure rex or tex individually, you do not need to specify these values.

Talking with @grahamwallis  he suggested introducing a solutionViewService that has the 2 top level OMAG server fields. I think this is a good idea. What do you think @mandy-chessell ?

When I manage to push the Dino changes to the repo there will be SolutionViewService and IntegrationViewService types as subtypes of ViewService. So this should be a NO OP if it is OK architecturally.

When I manage to push the Dino changes to the repo there will be SolutionViewService and IntegrationViewService types as subtypes of ViewService. So this should be a NO OP if it is OK architecturally.

As discussed these 2 fields are already defined in OMAGServerClientConfig, which is the super class of ViewServiceConfig


English words are broken with new line

Hello,
This editor is really nice. But here comes a problem: when I use phone mode in Chrome console, the english words are seperated and broken.

Here is my configuration:

Is there any way I can fix this?
Much appreciated if I could get any help.

I think it's a CSS issue on your side. Check this out to fix it: https://developer.mozilla.org/fr/docs/Web/CSS/overflow-wrap


Allow users to download the Land cover TIFF file after clipping with the catchment boundaries

Users would like to be able to get the clipped land-use raster for their catchment along with the % of each land-use category. Adding this as an option out of the NALCMS zonal stats WPS would be perfect.

I'm fairly certain that the zonalmask functuion I used for this process returns that mask by default. I'd need to delve into the code to see how easy it would be to enable it but the implementation shouldn't be too difficult. A more difficult thing to manage is the returns; how do we return it in such a way that it doesn't break existing scripts? TBD.
Do you have a level of priority for this?

Not very high on the priority list, but it is a feature that at least one user has manifested in a demo and would be very useful to them.
Regarding the outputs: Can we just by default not return the file unless a user wants it as an optional output? That way nothong should break? (I think...)

Not sure, I'd be curious to hear @huard 's thoughts on this. Having a conditional number of outputs is something that we've talked about previously.

OK! In any case, we do something similar with the terrain_analysis, where we return the DEM and display it in the notebooks. Would it be possible to simply copy that mechanism?

Possibly. I seem to recall much of the code already having been written. Most of the work for me would be re-familiarizing myself with the approach I used.


consider candle for config stuff

https://github.com/Torchmind/Candle/

This looks kinda ugly...

I think that it's a good compromise between the ease of use of yaml and the simplicity of json
don't think that I will touch that any time soon, and then I will first take a look how complicated configs (like the game definitions)  look with it

What about this? It looks cool, but it might be a bit too over complicated...
https://github.com/typesafehub/config

that looks good too, don't really see how thats better than candle tho. the file format looks the same

nope

don't think that we need this for now. json seems fine


System-tests: Improve waiting for webItems

Improve waiting for webItem or their properties.

https://github.com/EnMasseProject/enmasse/pull/1163


Missing export buttons

When on full screen, no export buttons in Step 1/2/3
When resized to smaller screen they appeared

With https://github.com/odalic/odalic-ui/pull/355/commits/1057f943fbb70743fdf4bf9c04cb060e1c20e57c it works for me.
But the buttons are strangely small:
Before (Odalic v0.4):

Now:

Also there is very awful space after the table and before Exports, which was not there before

erm, that is something I caused, but there is a reason for that - you see, buttons are separate elements, but to be able to download resources via AJAX, we had to do some HTML5 tricks and wrapped the code around "afake" directive; afake is "<a ...>" type of element. So they are kind of incompatible. But wrapping buttons around ... and clicking on them still counts as clicking on the hyperlink, so... yeah, this happened.
I propose not to have buttons, but rather clickable text, styled like a button. That should solve the issue.


Create php pipeline

Created a ci pipeline for PHP and deleted an already exciting one!

Please have a look on failing build!

Accepted!


ExceptionLess In what form are logs kept?File or db?

And Mine VS2017 OR VS2019 won't work on this project

They are kept in Elasticsearch, please ensure that you have the latest .NET Core 2.2 SDK installed. Does this resolve the issue?

I sure the .NET Core is the latest! 2.2.402

I'm closing this as I think this is resolved it not can you let me know specifically what the remaining issues are.


ari 3.0 - NATS client and server design

A working nats client and gateway server are in v3 now.
server/natsgw
This is the ARI gateway server, ready for embedding (with just Application implemented and no Bus). The tests in here test the ARI v3 nats client and server alongside an example Application client interface.
wildcards
Wildcards in nats only work if you use a dot separator. Confirmed via automated testing in the natsgw package. No colons in the nats code now.
handle.ID()
All handles now have ID methods. Required for this case, where ari.applications.all returns a list of strings but upstream returns a list of Handles.
srv.subscribe("ari.applications.all", func(_ string, _ []byte, reply Reply) {
        ax, err := srv.upstream.Application.List()
        if err != nil {
                reply(nil, err)
                return
        }

        var apps []string
        for _, a := range ax {
                apps = append(apps, a.ID())
        }

        reply(apps, nil)
})

natsgw.Handle and natsgw.Reply
Slight abstraction over standard nats. Reply is a two argument function, the left which contains the response and the right contains an error. (natsgw.Handler could just as easily have those as return values instead which would make Reply redundant)
Here is the translation:
 * reply(nil, errors.New("...")) ---------> err to nats queue "${replyID}.err"
 * reply(resp, errors.New("...")) ------> err to nats queue "${replyID}.err"
 * reply(resp, nil) ----------------------> resp to nats queue "${replyID}.resp"
 * reply(nil, nil) ----------------------> {} to nats queue "${replyID}.resp"

The (simplified) nats client side, to determine 'err' vs 'resp'.
replyID := uuid.NewV1().String()
sub, err = conn.ChanSubscribe(replyID+".>", ch)
msg <- ch
msgType := msg.Subject[len(replyID)+1:]

encoding
All encoding is manual. Without msg.Subject and msgType details from above, we have no idea whether to decode the raw body as an error type or the given interface{}.
Outstanding Questions

Does ChanSubscribe with a wildcard slow things down much? We are using it on /every/ response?

Moved to wiki


⭐FEAT: Add new images to HeroImg containers

TODO :

Add  new images to other containers
Here :

Images :

I have made changes and created a pull request: https://github.com/ArslanYM/StarterHive/pull/144

I have made changes and created a pull request: https://github.com/ArslanYM/StarterHive/pull/144

Did you get assigned to this issue?

No, sorry about that. I completely forgot about that. Could you assign me to this issue?
Thanks.

I would like to kindly request if it would be possible to assign this issue to me.I am eager to work on it. If there are any specific requirements or instructions related to the issue, please let me know, and I will ensure to address them promptly.
Thank you for your consideration. I'm looking forward to the opportunity to contribute to the project.

@Ferno2k Assigned to you.

Fixed


Fixes ANSI character output regression on Windows

Fixes a regression introduced in Hugo version 0.50 by commit df021317a964a482cd1cd579de5a12d50faf0d08, related to issue #4462.
Previously this was fixed in 16b1a4148ad05a40cd748e373b5dc18447285837 by replacing the ANSI characters in commands/helpers.go with empty strings. This fix instead updates package common/terminal, thus disabling all ANSI character output on Windows (including output colorization).

Merged and thanks! For future PRs, see my slightly modified commit message (we have some guidelines somewhere).

Great, thanks @bep, will check out the guidelines


Replacing to extremely large image results in "Failed to decode session object" error

It may have happened to one of my client's site after hearing and trying to reproduce on my local.
Steps to reproduce

Fresh install of concrte5 8.5.2 Full Elemental on normal MacBook Pro environment
Login as admin
Go to the file manager
Select one of the file
Click and select "Replace"
Try to upload an extremely large image

such as http://placehold.jp/9000x8000.png
Very large image, but due to good compression, the filesize is smaller than the server's limit

You get 500 error
Try to reload the file manager page, c5 gets session_start(): Failed to decode session object. Session has been destroyed error.
The user gets logged out.
The entire concrete5 pages starts generating 500 error.

Screen capture

My Environment
MacBook Pro High Sierra with Valet
PHP 7.1.32
concrete6 8.5.2 fresh install
Error Trace
Whoops\Exception\ErrorException
…/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php145
13
 session_start
…/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php145
12
Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage start
…/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php295
11
Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage getBag
…/src/Session/Storage/LoggedStorage.php248
10
Concrete\Core\Session\Storage\LoggedStorage getBag
…/vendor/symfony/http-foundation/Session/Session.php256
9
Symfony\Component\HttpFoundation\Session\Session getBag
…/vendor/symfony/http-foundation/Session/Session.php278
8
Symfony\Component\HttpFoundation\Session\Session getAttributeBag
…/vendor/symfony/http-foundation/Session/Session.php65
7
Symfony\Component\HttpFoundation\Session\Session has
…/src/User/User.php251
6
Concrete\Core\User\User __construct
…/src/Foundation/Runtime/Run/DefaultRunner.php193
5
Concrete\Core\Foundation\Runtime\Run\DefaultRunner setSystemLocale
…/src/Foundation/Runtime/Run/DefaultRunner.php354
4
Concrete\Core\Foundation\Runtime\Run\DefaultRunner trySteps
…/src/Foundation/Runtime/Run/DefaultRunner.php80
3
Concrete\Core\Foundation\Runtime\Run\DefaultRunner run
…/src/Foundation/Runtime/DefaultRuntime.php102
2
Concrete\Core\Foundation\Runtime\DefaultRuntime run
…/dispatcher.php45
1
 require
/Users/katz/Sites/c5852/index.php3
0
 require
/Users/katz/.composer/vendor/laravel/valet/server.php158

Some people like hissy's local environment doesn't happen this error.
But my MacBook Pro's valet happens. It could be some server environment issue.

Thx. We've tried and we've never reproduce the error.
I will keep as stale and leave it for the record.
Thx.


[Question] Getting Involved: Operators

Good afternoon. I've been playing around with Caffe2 for an iOS project I'm working on and as part of testing my project I've had to port Caffe's Batch Normalization operator to Caffe2 and I have some questions:

It was unclear to me how data from a trained caffe model was being converted by caffe_translator. Is there any documentation available for that?
A side from implementing the test that your documentation recommends does anyone have any other suggestions for how to compare the inputs/outputs of my operator to Caffe's?
Would it be easier for everyone to answer these question if I just go ahead and submit a pull request, even if I'm not 100% convinced it is working correctly yet?

Thanks,
Mike

Hi Mike, did you take a look at this document that covers writing custom operators?
http://caffe2.ai/docs/custom-operators.html

Yes, I did. It turns out I just had a problem with the translation layer, which another user has kindly figured out for me. I'll close this request.


Update php-cs-fixer rules

I was annoyed by the (for my taste) weirdly arranged use statements and some minor inconsistencies, so I updated the rules. Sorry, if this causes some inconvenience for open PRs.
Updated rules:

Ensure consistent array indentation
Always import not classes, functions and constants
Rearrange use statements by group (class, function, const)
use modern string methods like str_starts_with when possible We don't have Symfony's polyfill and I don't want to add it for the 1 change caused by this rule
use octal notation

I will leave this open for a while in case anyone has suggestions for other cs rules to change while we are at it or if there are any objections to the changes. Looking especially at you @staabm and @patrickkusebauch 😉


Documentation and Implementation of Inorder, Preorder, Postorder Tree Traversals

Implement Inorder, Preorder, Postorder Tree Traversals in Java/Cpp and explain the algorithm (proper documentation).
Note :
The code should be well commented so that anyone can understand that.
Proper documentation should be provided (either edit the readme or create a new md file and add a link in the readme file under relevant header.

I want to work on this issue. Please assign it to me

sure!

I also want to work on this issue .please assign it to me

@Vishal1003  I have implemented the Tree Traversal Methods with proper comments and documentations. Please review my PR !

Merged

Hi Vishal, You have merged my PR and I have got mail also. But its not
showing in HacktoberFest page. I am new to this HacktoberFest and Open
Source., therefore I have this query. Can you please tell me when it will
show
[image: tree_traversl.jpg]
On Thu, Oct 1, 2020 at 11:44 AM Vishal Jha<EMAIL_ADDRESS>wrote:

Closed #48 https://github.com/Vishal1003/Algorithms/issues/48.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Vishal1003/Algorithms/issues/48#event-3827682613, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANCQC327FBPNDYP4YQW7XDLSIQM2XANCNFSM4R7T4INQ
.


k3s-selinux should publish independent el7 and el8 RPMs

For the same reason as is listed here: https://github.com/rancher/rke2/issues/503
We should publish an el8-specific RPM

Validated on Centos/RHEL 7.8 and 8.2 using version v0.3-rc1 available for testing channel
el7
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.8 (Maipo)
$ rpm -qa |grep k3s-selinux
k3s-selinux-0.3~rc1-0.el7.noarch
[ec2-user@ip-172-31-38-63 ~]$

el8
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)
$ rpm -qa |grep k3s-selinux
k3s-selinux-0.3~rc1-0.el8.noarch
[ec2-user@ip-172-31-34-5 ~]$


enrichPostData doesn't work with form encoded data

Description of the bug
I could be wrong but I think the enrichPostData option doesn't work if the micropub client sends data as form encoded rather than JSON.
https://github.com/getindiekit/indiekit/blob/be3a25f390b3d6065a9e48ed1778beca0eda8875/packages/endpoint-micropub/lib/controllers/action.js#L45C1-L47
Steps to reproduce
Post a like via https://quill.p3k.io/ of a post with mf2
Expected behaviour
jf2 data is included in the references of the post
Environment

Indiekit version: 1.0.0-beta.7
Indiekit config: aciccarello/ciccarello-indiekit
Website git repo: aciccarello/ciccarello.me (dev branch)
Website: dev.ciccarello.me

Additional context
No response

Good spot! For a moment thought this was going to be a pain to fix, but the function already exists deep within the bowels of mf2tojf2, so was able to use that.
This fix will be released in the next beta version, though unsure when that might be yet.


Frontend design for portfolio

No description provided.

I have created frontent using react ui and made pull request


Develop for Java Client Plusar Statistics

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
I am going to participate in the development of the Java Client Plusar Statistics module. I want to know what is the positioning of the statistical function here, and which indicators of the java client need to be monitored.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
https://docs.google.com/spreadsheets/d/1iTzn6QnOpTYK8QQHxXRb6a25nvuTNGPPJDdUQHGBUS4/edit#gid=1784579914

The issue had no activity for 30 days, mark with Stale label.


[A2] Distinction between boolean and flags

In the file https://github.com/bot4dofus/Datafus/blob/master/data/A/DofusInvoker/scripts/com/ankamagames/dofus/network/messages/connection/IdentificationMessage.as#L119

autoconnect  is the first bit of the byte
useCertificate the second bit
useLoginToken the third bit

Those booleans are flags.
We should be able to distinguish them from regular booleans like in https://github.com/bot4dofus/Datafus/blob/master/data/A/DofusInvoker/scripts/com/ankamagames/dofus/network/messages/game/basic/BasicWhoIsRequestMessage.as#L120
Content of events.json:
 "IdentificationMessage": {
        "file": "data/A/DofusInvoker/scripts/com/ankamagames/dofus/network/messages/connection/IdentificationMessage.as",
        "id": "7755",
        "superclass": "NetworkMessage",
        "interfaces": [
            "INetworkMessage"
        ],
        "attributes": {
            "version": "Version",
            "lang": "String",
            "credentials": "Vector<VarInt,Byte>",
            "serverId": "Short",
            "autoconnect": "Boolean",
            "useCertificate": "Boolean",
            "useLoginToken": "Boolean",
            "sessionOptionalSalt": "VarLong",
            "failedAttempts": "Vector<Short,VarShort>"
        }
    },

Based on my observations:

When there is only one Boolean attribute, either readByte or readBoolean can be used. However, it is crucial to maintain the order of the attributes.
When dealing with multiple Boolean fields, readByte should be invoked first. Each bit of the byte corresponds to a Boolean attribute, arranged in the same sequence as they appear. For every group of eight Boolean attributes, an additional readByte call is necessary to handle the next set of Booleans. (See ActorRestrictionsInformations).


FIA: Update class determination query

The current hard-coded queries require instance IRIs to be sub-classes of an instance that is also an OWL class. This is a bit restrictive and has caused issues.
Suggest removing the restriction of the parent class also being an OWL class.

This has been completed as part of the FeatureInfoAgent v3.0.0


Turn repo into monolith, add support for React v0.12 to v15

Please take a look @NiGhTTraX @bogdan-stefan-hs @catalinmiron @flaviusone @ovidiubute @RadValentin 👯
NEW react-cosmos BRANCH
Two big changes:

Added support for most React versions (both pre and post react-dom) in same package. In order to allow all the goodness from the uberVU branch to merge into master & to make the lib more available to other React devs who didn't yet upgrade to >=0.14
Merged all packages into one repo. I realised Cosmos dev sucks when I started working on react-dom-polyfill so I rethought the entire project from scratch. Dev was always a pain. I suspect @catalinmiron will like the use of Lerna ;) - See packages

Also, the cosmos-js pkg becomes react-cosmos. Will rename the repo as well once this branch gets merged.
Can you please test if the new packages (all under npm v1.0.0-beta.1) still work on your use case? The public API should be identical. with a single distinction: ComponentPlayground is no longer bundled, just transpiled, so the parent project needs to ensure the LESS bundling: (https://github.com/skidding/cosmos/pull/189#issuecomment-242014157)
As for the development, it's now very enjoyable. Didn't get to write the docs yet, but here is the gist:
Starting full playground instance, built from the source:
npm install
npm run bootstrap
npm start

Working on a specific module (playground will rebundle on file change):
# After install & bootstrap
npm run build:component-tree -- -- -w
npm start

Building everything with different React version: 👌
# After install & bootstrap
npm run install-react:0.13
npm start

Note: Webpack will throw a warning when bundling with React <0.14, but everything still works, including HMR. Maybe something can be done in the future to get rid of it altogether (a noop alias, or loader?).
Let me know if I can provide other info. Thanks!
Closes #179

Update: Decided the LESS loader shouldn't be in the user land, so went back to bundling CP. This means the API is now exactly as before. Published the lastest change under<EMAIL_ADDRESS><EMAIL_ADDRESS>Note: CP no lunger bundles any JS deps, which makes it lighter and no longer duplicate libs in the user build.

+5,201 −1,847

@RadValentin those numbers bear little importance. Most of the code is the source & tests copied from each satellite repo. Look at the file structure instead.
The most helpful thing right now would be to validate that the new packages<EMAIL_ADDRESS>work on your codebase(s) (hs-components is probably the easiest) without any intervention besides switching the package versions. If you do get the chance, please keep me posted. Thanks!

@skidding I can confirm hs-components' playground environment is working with:

react-component-playground version 1.0.0-beta.1
react-querystring-router version 1.0.0-beta.0
react-component-tree version 1.0.0-beta.0

Does the new react-cosmos package need testing as well?

@bogdan-stefan-hs awesome!

Does the new react-cosmos package need testing as well?

Yes if you're using it internally, otherwise don't bother.

❤  the idea to turn this into a monolith. Amazing job! GG!

LGTM. gg 🍶

@skidding The uberVU playground additions are all written in pre-ES6 code, to be in line with the rest of the repo. Can I suggest we ES6-fy it after we've merged those features? (I'm only talking about react-component-playground)
Also, shall I wait until you merge this, or can I submit PRs with react-cosmos as a base?

@skidding The uberVU playground additions are all written in pre-ES6 code, to be in line with the rest of the repo. Can I suggest we ES6-fy it after we've merged those features? (I'm only talking about react-component-playground)

Makes sense, I will restrain myself!

Also, shall I wait until you merge this, or can I submit PRs with react-cosmos as a base?

Wait for the merge. I'm on it. 🚂

@skidding sorry for being late, but i think you also need to add react-addons-testutils to react-dom-polyfill. It has been separated to another package in React v0.14.
Because of this, npm test fails on React <0.14.

@bogdan-stefan-hs done! The project will remain version as beta for a while, to make for a great 1.0 release, but everything is on master. Fire away! 💣
Muchas gracias, amigos!

@skidding sorry for being late, but i think you also need to add react-addons-testutils to react-dom-polyfill. It has been separated to another package in React v0.14.
Because of this, npm test fails on React <0.14.

I figure react-dom-polyfill is for libs, which only publish production code, which shouldn't include testing logic. It's the user's concern to know how to use those test utils in development, based on his or her React version.
Does the fact that it's no covered by react-dom-polyfill cause problems for you?

Does the fact that it's no covered by react-dom-polyfill cause problems for you?

Not really, i can modify the code accordingly.
It's just the thing that this command sequence:
npm install
npm run bootstrap
npm run install-react:0.13
npm test

will fail out of the box.
Maybe something in the docs to warn the devs is enough, then?

@bogdan-stefan-hs you're right, I forgot to mention that. To be frank, this is the current status:

The lib works with React 0.12 to 15
It can be built & live tested visually via the dev setup with React 0.12 to 15
The automated tests only run with React 0.14 and above. (This should be mentioned in the readme.)

Not ideal, but you can:

Switch to 0.13
Develop with playground open for visual feedback and live testing
Switch back to 15 to run automated tests

I'm thinking it's safe enough. If you think it's feasible to cover the test utils by react-dom-polyfill then feel free to come up with a solution (spec or code, we can keep an issue open for it). I wanted to see this mono repo done and skipped that step. :)


Health status for raft clusters

Enhancement Request
Description
The command onezone show should show a warning if a federation with HA has an OpenNebula (follower) out of phase with the Leader.
Use case
If we have a leader with COMMIT = 50 and a LOG_RETENTION = 10, and we have a follower with COMMIT = 20, this follower is out of phase.
Interface Changes
Some changes over CLI to add this new functionality when show the table.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

This should also include Federation slaves.


German translation for Myth is wrong

The german translation for "Myth" should be "Mythos".
The currently used "Mythisch" is the dungeon difficulty. The upgrade track is different from that on Myth.

And again thanks for your time


Links in your manifest are not http

The links that show up in the package's property pane in Atom (where you can enable/disable) settings are "git://" links: the package home page and report issues etc.

When clicked they generate an error instead of opening Safari like other packages do

Hi guys,
Sorry for the long period of inactivity.
We are currently working on a new version : better code, more stable, and bug fixes.
This bug will be fixed at the next release.
Thank you for using our work ! :)

Hi,
This is fixed in the next release. https://github.com/amoussard/sftp-deployment/commit/0f3c7914c459e3419937b3412b957ed61b5c1bcc


add silent makepkg output

It would be great to have an (optional) silent output, with all makepkg output hidden. In case or error, the output should be made visible.
This might need improvement in error handling management.

Initial work done in 65d419cae99a7c27b97d32467167b3745c5c77b6.
Silent makepkg output can be enabled with --silent or -x. There is not final, so feedback welcome!

The short -x option has been removed as it was buggy in a number of situation. At the moment, only the long --silent option remains. Build log replace the console output. We'll see how this feature behaves, especially when building broken packages, and I might add this new option in the config file in a later version.
In the meantime, guinea pigs that want to enable it by default can add silent=true in the config file.

The makepkg --noprogressbar option might also be relevant here.

This option has been made more visible in 5508b148e88b7195dd05bcb399bc1f5649db2b63. We'll see how to improve upon it as need arise.


batch_normalization_2 (BatchNor (None, 4096, 128)    512         conv1d_3[0][0]
__________________________________________________________________________________________________
activation_2 (Activation)       (None, 4096, 128)    0           batch_normalization_2[0][0]
__________________________________________________________________________________________________
dropout_1 (Dropout)             (None, 4096, 128)    0           activation_2[0][0]
__________________________________________________________________________________________________
max_pooling1d_1 (MaxPooling1D)  (None, 1024, 64)     0           activation_1[0][0]
__________________________________________________________________________________________________
conv1d_4 (Conv1D)               (None, 1024, 128)    262144      dropout_1[0][0]
__________________________________________________________________________________________________
conv1d_2 (Conv1D)               (None, 1024, 128)    8192        max_pooling1d_1[0][0]
__________________________________________________________________________________________________
add_1 (Add)                     (None, 1024, 128)    0           conv1d_4[0][0]
                                                                 conv1d_2[0][0]
__________________________________________________________________________________________________
batch_normalization_3 (BatchNor (None, 1024, 128)    512         add_1[0][0]
__________________________________________________________________________________________________
activation_3 (Activation)       (None, 1024, 128)    0           batch_normalization_3[0][0]
__________________________________________________________________________________________________
dropout_2 (Dropout)             (None, 1024, 128)    0           activation_3[0][0]
__________________________________________________________________________________________________
conv1d_6 (Conv1D)               (None, 1024, 196)    401408      dropout_2[0][0]
__________________________________________________________________________________________________
batch_normalization_4 (BatchNor (None, 1024, 196)    784         conv1d_6[0][0]
__________________________________________________________________________________________________
activation_4 (Activation)       (None, 1024, 196)    0           batch_normalization_4[0][0]
__________________________________________________________________________________________________
dropout_3 (Dropout)             (None, 1024, 196)    0           activation_4[0][0]
__________________________________________________________________________________________________
max_pooling1d_2 (MaxPooling1D)  (None, 256, 128)     0           add_1[0][0]
__________________________________________________________________________________________________
conv1d_7 (Conv1D)               (None, 256, 196)     614656      dropout_3[0][0]
__________________________________________________________________________________________________
conv1d_5 (Conv1D)               (None, 256, 196)     25088       max_pooling1d_2[0][0]
__________________________________________________________________________________________________
add_2 (Add)                     (None, 256, 196)     0           conv1d_7[0][0]
                                                                 conv1d_5[0][0]
__________________________________________________________________________________________________
batch_normalization_5 (BatchNor (None, 256, 196)     784         add_2[0][0]
__________________________________________________________________________________________________
activation_5 (Activation)       (None, 256, 196)     0           batch_normalization_5[0][0]
__________________________________________________________________________________________________
dropout_4 (Dropout)             (None, 256, 196)     0           activation_5[0][0]
__________________________________________________________________________________________________
conv1d_9 (Conv1D)               (None, 256, 256)     802816      dropout_4[0][0]
__________________________________________________________________________________________________
batch_normalization_6 (BatchNor (None, 256, 256)     1024        conv1d_9[0][0]
__________________________________________________________________________________________________
activation_6 (Activation)       (None, 256, 256)     0           batch_normalization_6[0][0]
__________________________________________________________________________________________________
dropout_5 (Dropout)             (None, 256, 256)     0           activation_6[0][0]
__________________________________________________________________________________________________
max_pooling1d_3 (MaxPooling1D)  (None, 64, 196)      0           add_2[0][0]
__________________________________________________________________________________________________
conv1d_10 (Conv1D)              (None, 64,<PHONE_NUMBER>     dropout_5[0][0]
__________________________________________________________________________________________________
conv1d_8 (Conv1D)               (None, 64, 256)      50176       max_pooling1d_3[0][0]
__________________________________________________________________________________________________
add_3 (Add)                     (None, 64, 256)      0           conv1d_10[0][0]
                                                                 conv1d_8[0][0]
__________________________________________________________________________________________________
batch_normalization_7 (BatchNor (None, 64, 256)      1024        add_3[0][0]
__________________________________________________________________________________________________
activation_7 (Activation)       (None, 64, 256)      0           batch_normalization_7[0][0]
__________________________________________________________________________________________________
dropout_6 (Dropout)             (None, 64, 256)      0           activation_7[0][0]
__________________________________________________________________________________________________
conv1d_12 (Conv1D)              (None, 64,<PHONE_NUMBER>     dropout_6[0][0]
__________________________________________________________________________________________________
batch_normalization_8 (BatchNor (None, 64, 320)      1280        conv1d_12[0][0]
__________________________________________________________________________________________________
activation_8 (Activation)       (None, 64, 320)      0           batch_normalization_8[0][0]
__________________________________________________________________________________________________
dropout_7 (Dropout)             (None, 64, 320)      0           activation_8[0][0]
__________________________________________________________________________________________________
max_pooling1d_4 (MaxPooling1D)  (None, 16, 256)      0           add_3[0][0]
__________________________________________________________________________________________________
conv1d_13 (Conv1D)              (None, 16,<PHONE_NUMBER>     dropout_7[0][0]
__________________________________________________________________________________________________
conv1d_11 (Conv1D)              (None, 16, 320)      81920       max_pooling1d_4[0][0]
__________________________________________________________________________________________________
add_4 (Add)                     (None, 16, 320)      0           conv1d_13[0][0]
                                                                 conv1d_11[0][0]
__________________________________________________________________________________________________
batch_normalization_9 (BatchNor (None, 16, 320)      1280        add_4[0][0]
__________________________________________________________________________________________________
activation_9 (Activation)       (None, 16, 320)      0           batch_normalization_9[0][0]
__________________________________________________________________________________________________
dropout_8 (Dropout)             (None, 16, 320)      0           activation_9[0][0]
__________________________________________________________________________________________________
flatten_1 (Flatten)             (None, 5120)         0           dropout_8[0][0]
__________________________________________________________________________________________________
dense_8 (Dense)                 (None, 6)            30726       flatten_1[0][0]
==================================================================================================
Total params: 6,425,638
Trainable params: 6,421,910
Non-trainable params: 3,728
__________________________________________________________________________________________________
None

Thank you for the pointers.
I hope this can be helpful for fixing the deeplearning4j "edge case" which you mentioned in https://github.com/eclipse/deeplearning4j/issues/9043#issuecomment-660405738
I also hope I provided enough details which could be of help if others might stumble on this issue :)

@tarilabs thanks for confirming! I'm glad the workaround helped you out!

@tarilabs  could you potentially send me an expected input and output saved as a numpy array for verification since you have the dev environment setup? I have the model loading but want to make sure we save this in our set of test models to load the resources. Part of that is making sure we keep unit tests that give us expected input and output.
Follow this tutorial:
https://machinelearningmastery.com/how-to-save-a-numpy-array-to-file-for-machine-learning/#:~:text=Save NumPy Array to .,-NPY File (binary&text=The%20.,that%20is%20to%20be%20saved.
Save it as a npy file (if you have time!) much appreciated!

Hi, the full test data is quite big, so I'm not sure is worthy to put in full under unit test?
Anyway I am currently using the test data for input as described in the original source https://github.com/antonior92/automatic-ecg-diagnosis#scripts from this archive: https://doi.org/10.5281/zenodo.3625006
(at the bottom of the page, find option to download data.zip)
If I run the trained model against the input set, in python with:
import numpy as np
import tensorflow as tf
import h5py

tf.keras.backend.set_learning_phase(0)
model = tf.keras.models.load_model('./dnn_predicts/model.hdf5')

with h5py.File("./data/ecg_tracings.hdf5", "r") as f:
    x = np.array(f['tracings'])

y_score = model.predict(x, batch_size=32, verbose=1)
np.savetxt('outputPB.csv', y_score, delimiter=',')

I get a set of calculated probabilities for 6 indicators as described originally here: https://github.com/antonior92/automatic-ecg-diagnosis#model which is:

output: shape = (N, 6). Each entry contains a probability between 0 and 1, and can be understood as the probability of a given abnormality to be present. [...]

I don't have the cutoff thresholds on hand,
but on a random sample, I notice the 19th case in the input set (index 18) was flagged (according to dnn.csv) for 1dAVb and LBBB which are respectively the first and third probability out of the 6 calculated probabilities
(so yes no yes no no no)
I can notice in the CSV from the python are not-insignificant:
5.166105031967163086e-01,1.010838150978088379e-02,7.162648439407348633e-01,1.937061548233032227e-02,1.055046916007995605e-02,5.835294723510742188e-05

and from deeplearning4j I get ~equivalently as:
 [    0.516610563,    0.010108373,    0.716264904,    0.019370649,     0.01055053,    0.000058354],

To run the same test data on the trained model I am using this java snippet:
        SameDiff sd = SameDiff.importFrozenTF(new File("../automatic-ecg-diagnosis/freeze_session.pb"));
        Hdf5Archive hdf5Archive = new Hdf5Archive("../automatic-ecg-diagnosis/data/ecg_tracings.hdf5");
        INDArray tracings = hdf5Archive.readDataSet("tracings");
        Map<String, INDArray> out = sd.batchOutput().input("signal", tracings).outputAll().output();
        System.out.println("dense_8/Sigmoid");
        System.out.println(out.get("dense_8/Sigmoid").toStringFull());

So on a very high-level comparison of the python execution (right) to the deeplearning4j execution (left) the results to me look consistent:

As I mentioned unfortunately I don't have on hand the thresholds for the probabilities to determine a true/false prediction, but I would guess you could still use this as a basis to determine a minimal set of input and output?
Hope this helps!
p.s.: btw I believe I might have found another problem when running this model, I am trying to reproduce it and if confirmed I will raise a github issue accordingly.

I'm getting this same error, "Invalid input type: Batch norm layer expected input of type CNN, CNN Flat or FF," , when importing a Keras model with version 1.0.0-M1 of DL4j. Is there something I should be doing to avoid getting this error?

@joel-a  - this is left over from rnns to batch norm. We weren't supporting that yet. This PR will address that. After this is merged, you can just pull from snapshots. https://github.com/eclipse/deeplearning4j/compare/ag_rnn_batch_norm?expand=1


Returning nic details in KubernetesClusterResponse

Description
Adds nic details in KubernetesClusterResponse
Needed when the cluster is created on a shared network
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

How Has This Been Tested?
(localcloud) SBCM5> > list kubernetesclusters
{
  "count": 1,
  "kubernetescluster": [
    {
      "name": "k8sNew",
      .....
      "virtualmachines": [
        {
          "displayname": "k8sNew-master-175b10034fe",
          .....
          "nic": [
            {
              "broadcasturi": "vlan://7",
              "extradhcpoption": [],
              "gateway": "<IP_ADDRESS>",
              "id": "b400c7d3-0e92-4520-ad1f-2872553de4cc",
              "ipaddress": "<IP_ADDRESS>",
              "isdefault": true,
              "isolationuri": "vlan://7",
              "macaddress": "1e:00:18:00:00:29",
              "netmask": "<IP_ADDRESS>",
              "networkid": "6df796e2-57d5-4f14-8a66-e72b955ec749",
              "networkname": "sh",
              "secondaryip": [],
              "traffictype": "Guest",
              "type": "Shared"
            }
           .....
          ]
      ],
      "zoneid": "2a606f6d-d56e-47a5-9d6a-c432e7c972bf",
      "zonename": "ref-trl-1897-k-M7-david-jumani"
    }
  ]
}

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos7 ✔centos8 ✔debian. JID-2348

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3138)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 33906 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4456-t3138-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Smoke tests completed. 86 look OK, 0 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File


Linux MATE draggin tab has a white background

Happens in:
Safe mode 0.209 and 0.210
Linux Mint Mate 17.1 and Debian Edition

/cc @simurai

It happens in Manjaro i3wm, and everywhere I have tried it.

@freed00m It looks like when dragging, transparency is not supported and it uses a default white background. What happens if you switch to another theme that has rounded corners? Do you still see them white?
For the Atom dark theme, you could try to add the following to your styles.less file:
.tab-bar .tab.is-dragging {
  box-shadow: none;
  padding: 0 10px;
  &::before,
  &::after,
  .close-icon {
    display: none;
  }
}

It basically just makes the tabs square so there is no transparency needed while dragging.

@simurai I have the same issue

Ok, looks like it's not related to a theme.
What happens if you open this page http://www.html5rocks.com/en/tutorials/dnd/basics/ in Chrome, and then drag those boxes around, do you also see the white background?

If it's a dragging/rendering issue in general, then the only thing I can think of is trying to make the tabs a rectangle without any shadows or rounded corners, then there might not be any white visible.

@simurai yep, the same happens on that demo.

@peduxe yep, the same happens with that demo, I can see the white borders.

Thanks for testing. Ok, I guess we have to wait till it gets fixed in Chromium.
In the meantime, here something to paste in your styles.less file that makes the tabs of Atom dark to be square and hopefully not show any white:
// make tabs square to avoid white background while dargging
.theme-atom-dark-ui .tab-bar .tab {
  padding: 0 10px;
  margin: 0;
  border-radius: 0;
  background-color: #333;
  box-shadow: none;
  &::before,
  &::after {
    display: none;
  }
  .close-icon {
    margin-right: 10px;
  }
  &.active {
    box-shadow: none;
  }
}

@simurai

@peduxe Looks like that's the One dark theme? Maybe just try to remove the rounded corners:
// make tabs square to avoid white background while dragging
.theme-one-dark-ui .tab-bar .tab {
  &::before,
  &::after,
  &.active {
    border-radius: 0;
  }
}

Now top and left of the tab got white borders.

What about something as radical as:
.theme-one-dark-ui .tab-bar .tab {
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: #000 !important;
  box-shadow: none;
  &::before,
  &::after {
    display: none;
  }
  &.active {
    border-radius: 0;
    background: #333 !important;
    & + .tab {
      border: none;
    }
  }
  .title {
    background: none !important;
    -webkit-mask: none;
  }
  .close-icon {
    display: none;
  }
}

Too radical hehe

Ok, maybe I should stop guessing and try to reproduce it. :stuck_out_tongue_winking_eye:

ok, this should work for One dark:
.theme-one-dark-ui .tab-bar .tab.is-dragging {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: black !important;
  box-shadow: none !important;

  .title {
    -webkit-mask: none !important;
    background: none !important;
    bottom: 0 !important;
  }

  &::before,
  &::after,
  .close-icon {
    display: none;
  }
}

It just replaces the dragging tab with a black saquare. Hopefully one day transparency will be supported when dragging.


Unexpected error encountered - Oparin

Hi Team,
When I tried to view a Provisioning Service request under "Services >> Requests" I get below error
undefined method `gsub' for 0:Integer [miq_request/show]
I can view VM retire requests without any issue.
Please advice.
Thanks!

This is what i found in production log

Thanks @akhilkr128,
This resolved my issue.


[Feature Request] Change render-header property to a scoped-slot

Existing Component
是
Component Name
ElTableColumn
Description
A scoped-slot is more easy to use than a render-header property.

Would be great to have this enhancement. Did you already plan it?

Would be very useful for me as well

Yes, this function is already implemented.


Row count doesn't work with line terminator / semicolon

After update from a previous version (not necessarily 4.2.4), pressing ctrl+alt+c to do a row count on a select statement no longer runs correctly.  It throws an error on the semicolon.  Highlighting the select except for the semicolon and running the count seems to work.  This is on SQL Server if that makes a difference.

Yes, row count query transformation was changed in 4.2.5 (see #2346).
Thanks for report, see fix in the next version.


"..." button still spins when publishing a new branch in the Git side bar

VSCode Version: 1.41.1
OS Version: Windows_NT x64 10.0.18363

Steps to Reproduce:

Open a workspace with multiple Git repos (such as a repo with a submodule).
Make sure the side bar is narrow enough that the 🔁 doesn't show up completely.
Create a new branch, make some edits, and commit the changes to one repo.
Click the "..." to publish changes.

The "...' spins around. Looks weird! I did not expect the 🔁 to disappear even for a narrow side bar.
I was expecting 🔁 to spin around, not the "..."!

See also #84632

@craxal can you try this out in Insiders to see if it still appears? The publish button should always be visible. I can't repro this both on Mac and Windows:

@misolori Sorry, I've been super busy. I downloaded the Insiders build, and it looks like it has been fixed after all. 😊


tags: add missing for seraphis blog

closes #2124

I agree, if there are future blogs where these tags should begin appearing and become relevant for 'searching' then sure.
i think only the Seraphis tag would be required? (a blog with jamtis mentioned would fall under the seraphis umbrella)

@HardenedSteel a PR to delete the other tags from the blog post is the next step now that this is approved :+1:


Cannot fire a notification without default button

Desktop Notifier version: 3.5.3
Python version: 3.11.3
Operating System: Arch Linux

Description
I'm trying to run a simple notification without a button, but default button keeps poping up. I went through docs twice but obviously I'm still missing some obvious way to disable it.

What I Did
import asyncio
from desktop_notifier import DesktopNotifier

notifier = DesktopNotifier()

async def main():
  await notifier.send(
      title="Julius Caesar",
      message="Et tu, Brute?",
      icon=f"{icons}/selection/check.svg",
      timeout=5
  )

asyncio.run(main())

@samschott Am I missing some way or should I make a feature request? Thanks in advance.

Your not missing anything obvious, but I cannot reproduce this on Gnome or KDE Plasma. Which desktop environment are you using? I'm suspecting that it might interpret the desktop notifier spec differently. From https://specifications.freedesktop.org/notification-spec/latest/ar01s02.html:

The default action (usually invoked by clicking the notification) should have a key named "default". The name can be anything, though implementations are free not to display it.

desktop-notifier always sets a "default" action to react to the user clicking on a notification, but it seems like for your desktop environment, this results in a "default" button being created.

@samschott Thank you for looking into it. I'm using Xfce 4.18.

Thanks for the info! Could you also check which version of xfce4-notifyd you are running? It looks like the latest release v0.8.2 did add support for default actions but requires them to be specified without a label name, see https://docs.xfce.org/apps/notifyd/start.
IIUC, two changes would be required to make this work elegantly on xfce:

Don't provide a label for the default action.
Don't provide a default action in the first place, if not requested by the caller, because some Linux desktop environments will create standalone a button for it.

Could you install from the branch in PR #91 and see if it fixes things for you? I don't currently have access to a VM with XFCE.

xfce4-notifyd version is 0.8.2-1.
I'll check your branch right away tomorrow and let you know. Thank you!

It works like a charm! Thanks a lot :1st_place_medal:


FP 1.11.11_01: TabbedPanel and MoM do not start automatically

Describe the bug
FP 1.11.11_01: TabbedPanel and MoM do not start automatically as in the previous version FP 1.11.10. I did not change any settings, I just installed the new FP version
Screenshots
here is my log file
log - Copia.zip

Desktop:

OS: [e.g. iOS]W11
AddOn version: MoM 0.1.11 and TabbedPanel 0.5
Freeplane Version: FP 1.11.11_01

Additional context
In FP 1.11.10, all the Tabbed Panel start immediately with m actual settings and MOM read the auto execution command.

Hi @Illegit,
can you reinstall the previous version and attach here its Log file too?
The current file shows many errors, and I want to see which of them appears only in the new FP version. (I have not installed it yet)
It seems to me, that it has some problem loading the libraries

For example:
this error:

refers to the use of "config" which is "global variable" in Freeplane

So, I don't know if FP does load it after the execution of the ini scripts or if it doesn't load it at all.
or maybe FP loads all libraries, but it doesn't initialize them as 'global variables' like 'config', 'ui', etc.

Hi @Illegit,
I installed FP 1.11.11_01 and I had no problem at all. I compared my two Log files (before: FP 1.11.09 vs after: FP 1.11.11_01) and they are the same (aside from obvious differences like 'version number'', 'git revision' and time stamps).
Sorry, I think you have a problem with your preferences files, userDirectory or something like that.
here is how my Log file looks after starting FP (much shorter, without Warnings and Errors):
STDOUT: Feb 12, 2024 1:45:24 PM org.freeplane.core.util.LogUtils info
INFO: freeplane_version = 1.11.11; freeplane_xml_version = freeplane 1.11.5
git revision = e297e89b5922d58e27863b455d921f3596d085ae dpolivaev 2024-02-06T15:14:41Z
java_version = 17.0.6; os_name = Windows 11; os_version = 10.0
STDOUT: Feb 12, 2024 1:45:25 PM org.freeplane.core.util.LogUtils info
INFO: added parsing support for standard date format dd-MM-yy
STDOUT: Feb 12, 2024 1:45:25 PM org.freeplane.core.util.LogUtils info
INFO: added parsing support for standard date time format dd-MM-yy HH:mm
STDOUT: Installing shutdown hook.
STDOUT: Framework launched
STDOUT: Feb 12, 2024 1:45:28 PM org.freeplane.core.util.LogUtils info
INFO: Loaded properties from bundle://4:1/org/freeplane/plugin/formula/defaults.properties
STDOUT: Feb 12, 2024 1:45:28 PM org.freeplane.core.util.LogUtils info
INFO: extending script's classpath by [C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\compiledscripts, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\groovyConsole\lib\groovyConsole.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\groovyNode\lib\groovyNode.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\mapDriveInator\lib\MapDriveInator.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\mapSavingOptions\lib\MapSavingOptions.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\markdownHelper\lib\MarkdownHelper.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\markdownHelper\lib\jsoup-1.10.2.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\markdownHelper\lib\markedj-1.0.16.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\menuOMatic\lib\Menu-o-Matic.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\pseudoFreeplaneAPI\lib\pseudoFreeplaneAPI.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\stylesColorShifter\lib\StylesColorShifter.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\tabbedPanelMod\lib\TabbedPanelMod.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\tutorialOMatic\lib\Tutorial-o-Matic.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\tutorialOMatic\lib\markedj-1.0.16.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\tutorialOMatic\lib\jsoup-1.10.2.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\addons\unicodeProgressBar\lib\UnicodeProgressBar.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\lib, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\lib\jcommon-1.0.24.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\lib\jfreechart-1.5.3.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\lib\json-simple-1.1.1.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\lib\MDTool-1.2.4.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\lib\plantuml.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\lib\scriptlib.jar, C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x]
STDOUT: Feb 12, 2024 1:45:28 PM org.freeplane.core.util.LogUtils info
INFO: Loaded properties from bundle://9:1/org/freeplane/plugin/script/defaults.properties
STDOUT: Feb 12, 2024 1:45:29 PM org.freeplane.core.util.LogUtils info
INFO: looking for scripts with the following endings: [groovy]
STDOUT: Feb 12, 2024 1:45:29 PM org.freeplane.core.util.LogUtils info
INFO: looking for scripts with the following endings: [groovy]
STDOUT: Feb 12, 2024 1:45:30 PM org.freeplane.core.util.LogUtils info
INFO: requesting mode: MindMap
STDOUT: Feb 12, 2024 1:45:37 PM org.freeplane.core.util.LogUtils info
INFO: running init script C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\scripts\init\BookmarksMonitorIcons.groovy
STDOUT: Feb 12, 2024 1:45:37 PM org.freeplane.core.util.LogUtils info
INFO: running init script C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\scripts\init\TabbedPanelMod_init.groovy
STDOUT: Feb 12, 2024 1:45:37 PM org.freeplane.core.util.LogUtils info
INFO: menu items to execute: [addons.tabbedPanelMod.TabbedPanelMod_on_single_node]
STDOUT: Feb 12, 2024 1:45:37 PM org.freeplane.core.util.LogUtils info
INFO: executing Tabbed panel mod(addons.tabbedPanelMod.TabbedPanelMod_on_single_node)
STDOUT: modifyTab: tabName Format
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: tabName Attributes
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: tabName Calendar
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: tabName Presentations
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: Feb 12, 2024 1:45:38 PM org.freeplane.core.util.LogUtils info
INFO: running init script C:\Users\efroh\AppData\Roaming\Freeplane\1.11.x\scripts\init\Tabz_Menu-o-Matic_init.groovy
STDOUT: Feb 12, 2024 1:45:39 PM org.freeplane.core.util.LogUtils info
INFO: menu items to execute: [addons.menuOMatic.1launchMenuOMaticDialog_on_single_node]
STDOUT: Feb 12, 2024 1:45:39 PM org.freeplane.core.util.LogUtils info
INFO: executing launch Menu-o-Matic dialog(addons.menuOMatic.1launchMenuOMaticDialog_on_single_node)
STDOUT: MoM: Looking for tab 'MoM' --> tab's index: -1
STDOUT: MoM: tab 'MoM' was created
STDOUT: MoM: edofro.tabbedpanelmod.TPM.modifyTab(4)
STDOUT: modifyTab: tabName MoM
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: iconForTab null
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: TPM: Tab 4 modified
STDOUT: MoM init: - opening AutoLaunchCustomMenus from following mind maps:
STDOUT: MoM AUTO: |- mindMap: 'CustomMenus'
STDOUT: MoM AUTO: |  - [MDI, MDI mantención, MDI tools]
STDOUT: MoM: Looking for tab 'MoM' --> tab's index: 4
STDOUT: MoM: Looking for tab 'MoM' --> tab's index: 4
STDOUT: MoM: Looking for tab 'MDI tools' --> tab's index: -1
STDOUT: MoM: tab 'MDI tools' was created
STDOUT: MoM: edofro.tabbedpanelmod.TPM.modifyTab(5, 'emoji-1F4BF')
STDOUT: modifyTab: tabName MDI tools
STDOUT: modifyTab: iconForTab emoji-1F4BF
STDOUT: modifyTab: FPTabPane.tabIconNames [:]
STDOUT: modifyTab: iconForTab emoji-1F4BF
STDOUT: modifyTab: FPTabPane.tabIconNames [MDI tools:emoji-1F4BF]
STDOUT: TPM: Tab 5 modified
STDOUT: MoM AUTO: |- mindMap: 'Mochila'
STDOUT: MoM AUTO: |  - []
STDOUT: Feb 12, 2024 1:45:40 PM org.freeplane.core.util.LogUtils info
INFO: menu items to execute: []

log - FP1.11.11_01.zip
log - FP1.11.10 stable.zip
Here are the 2 logs with the installation of FP 1.11.10 stable and with the installation of FP 1.11.11_01, before doing these installations I canceled 1 svg icon that wasn't readable, and after that, both of the installations were working correctly with TabbedPanel and with MOM. Still there plenty of errors and some help to identify what to clean will be useful, but it was that icon that was blocking FP 1.11.11_01 and not the previous ones... strange.

note that with FP 1.11.10 stable I deleted the codexplorer.json as suggested by Dimitry, Instead I left it with FP 1.11.11_01.

Hi @Illegit,
I took a look at your log files.
I think I would, in your case, uninstall all the addons, move the script files and libraries to other folders temporarily and restart FP again. Then I would recheck the Log files and see what errors remain.
I would probably also move the compiled script files to other temporary folders.
Beeing specific: I would move the contents of the following folders to temporary folders:

addons
compiledscripts
compiledscripts2
lib
scripts

just to be sure there is no conflict between the scripts and Freeplane
good luck,
edo

sure, thanks for the help I'll do and feedback.

Done, now things are working here the log:
log - Copia (3).zip
there is this error that I do not know which is the source...
Thanks

HI @Illegit,
I think this error:
STDOUT: Feb 17, 2024 7:25:49 PM com.kitfox.svg.xml.StyleSheet parseSheet
WARNING: CSS parser not implemented yet

is because you added some svg Icons that have their own CSS StyleSheet and the version of the library kitfox is not able to parse them.
So, in my opinion, it's not a fault of Freeplane nor your icons, it is just a message from the library saying that it can't handle this yet, it has not been implemented yet.
you can look at this in svgSalamander repository:
    public static StyleSheet parseSheet(String src)
    {
        //Implement CS parser later
        Logger.getLogger(SVGConst.SVG_LOGGER).log(Level.WARNING,
            "CSS parser not implemented yet");
        return new StyleSheet();
    }

@Illegit,
I 've notice that You have had some problems with custom icons.
When I want to create my own icons for Freeplane I do this:

I create the icon in Inkscape
I export the icon as Optimized SVG (*.svg)

@Illegit,
About this error:
STDERR: Feb 17, 2024 7:26:29 PM org.freeplane.core.util.LogUtils severe
SEVERE: Can not process attribute CHILD_NODES_LAYOUT = 'AUTO_BYFIRSTCHILD'
java.lang.IllegalArgumentException: No enum constant org.freeplane.api.ChildNodesLayout.AUTO_BYFIRSTCHILD
	at java.base/java.lang.Enum.valueOf(Unknown Source)

it relates with this issue (reported by you)
and you have to do the solution recommended by Dimitry.
You can use Notepad++ for this.


Fix bytecode printing mistaking the data section for actual instructions

Consider
fn main() -> b256 {
    0x3333333333333333333333333333333333333333333333333333333333333333
}

The generated bytecode, accroding to forc parse-bytecode is
  half-word   byte   op                    raw           notes
          0   0      JI(4)                 90 00 00 04   jump to byte 16
          1   4      NOOP                  47 00 00 00
          2   8      Undefined             00 00 00 00   data section offset lo (0)
          3   12     Undefined             00 00 00 28   data section offset hi (40)
          4   16     LW(63, 12, 1)         5d fc c0 01
          5   20     ADD(63, 63, 12)       10 ff f3 00
          6   24     LW(17, 63, 5)         5d 47 f0 05
          7   28     ADD(17, 17, 12)       10 45 13 00
          8   32     LW(16, 63, 4)         5d 43 f0 04
          9   36     RETD(17, 16)          25 45 00 00
         10   40     LOG(12, 51, 12, 51)   33 33 33 33
         11   44     LOG(12, 51, 12, 51)   33 33 33 33
         12   48     LOG(12, 51, 12, 51)   33 33 33 33
         13   52     LOG(12, 51, 12, 51)   33 33 33 33
         14   56     LOG(12, 51, 12, 51)   33 33 33 33
         15   60     LOG(12, 51, 12, 51)   33 33 33 33
         16   64     LOG(12, 51, 12, 51)   33 33 33 33
         17   68     LOG(12, 51, 12, 51)   33 33 33 33
         18   72     Undefined             00 00 00 00
         19   76     Undefined             00 00 00 20
         20   80     Undefined             00 00 00 00
         21   84     Undefined             00 00 00 28

Note that we're mistaking the data section (the 33s starting byte 40) as actual instructions (LOG), which is misleading.

To know where the data section is, is non-trivial.  The best we can do is assume that the word at byte offset 8 is the offset to it, which is what the disassembly does in comments above.  But that is entirely by convention and could change in the future.  forc-dis actually tracks what the value of $ds is to know where the data section is, which is itself slightly by convention, since $ds is reserved by the compiler and not the VM.
To get around the blown out data section problem in #3161 I was considering putting some values in a local data section, per function, rather than having a single monolithic data section.  We're also considering putting const-ish data at the start of the binary for load-type constants.  These are more potential examples of where the simple output from parse-bytecode would get confused.

@otrho why don't we port forc-dis and make it an official plugin and have it replace forc parse-bytecode? I mean if it's much better and more accurate, might as well deprecate the old approach and not have to worry about fixing this.

Sure.  We need to add finish it off, there's still some todos in there and it needs tests, or at least checks to make sure it's up to date.  Occasionally we still update fuel-asm (though I guess not so much after beta4) and forc-dis can get out of date.

Moving this to the Sway project so that we can actually give it some attention.


[User email] Currency exchange keypad does not show (comma) decimal separator for some locales

I created an account in the actual android app v.2.0.7, for foreign currencies. But unfortunatly I can't enter proper exchange rates. The keypad offers me only a dot, which is interpreted as indicator at the thousands.
So when I want to enter an exchange rate of for example 0.014 it will change to 14. By this I only get ridiculous high numbers.
My divice is a samsung galaxy s5 mini, with android 5.1.1. Actually the set up is in german.

@codinguser Have you been able to reproduce it? In my phone (5.0) and from an emulator (5.1) the keypads both have the comma and the dot, and are interpreted correctly. Also the keypads look totally different from the one in the screenshot. Maybe the user has some non-standard keyboard installed.

@rivaldi8 No I haven't, which is why there is no progress here.
This is low priority because I guess it affects a very small subset of devices which set a special customized keyboard. The combination of this and something with the locale for the interpretation of period.
I only ever got one user report of this, no it is low priority.
I'm also not sure if this was fixed by the fixes you made some time back for the currency exchange.

Ok, then as long as we don't get more complains about this It should be better to leave it as it is.