[WIP] plasma5: 5.17.5 -> 5.18.4

Motivation for this change
Todo list:

[ ] port patches / fix broken behaviour in these packages

[x] plasma-workspace

[x] 0001-startkde.patch
[x] 0002-absolute-wallpaper-install-dir.patch

[ ] kde-gtk-config

[ ] follow-symlinks.patch
[ ] gsettings.patch

[ ] sddm plasma theme

[ ] fix background image

[ ] fix broken packages:

[x] deepin.dde-kwin
[x] deepin.startdde
[ ] kdecoration-viewer

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

nix-review output:
https://github.com/NixOS/nixpkgs/pull/84542
4 package marked as broken and skipped:
gazeboSimulator.sdformat gazeboSimulator.sdformat3 kst linuxPackages_hardkernel_4_14.systemtap

3 package failed to build:
deepin.dde-kwin deepin.startdde kdecoration-viewer

54 package built:
bluedevil breeze-grub breeze-gtk breeze-plymouth breeze-qt5 digikam discover kactivitymanagerd kde-cli-tools kde-gtk-config kde2-decoration kdeApplications.kdenlive kdeApplications.spectacle kdeplasma-addons kdev-php kdev-python kdevelop kdevelop-unwrapped kgamma5 kinfocenter kmenuedit krohnkite kscreen kscreenlocker ksshaskpass ksysguard kwallet-pam kwayland-integration kwin kwin-tiling kwrited plasma5.kdecoration plasma5.khotkeys plasma5.libkscreen plasma5.libksysguard lxqt.lxqt-config milou oxygen plasma-applet-volumewin7mixer plasma-browser-integration plasma-desktop plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace plasma-workspace-wallpapers plasma5.polkit-kde-agent plasma5.powerdevil plasma5.sddm-kcm plasma5.systemsettings plasma5.user-manager plasma5.xdg-desktop-portal-kde wacomtablet

It actually works surprisingly well. The builtin wallpapers are now detected again and the system settings seem fine too.

Is this getting good to go by chance?

The gtk settings and deepin packages are broken (due to kwin update). I have spent some time on both but didn't find any easy fixes. If you want to bring this closer to being merged, feel free to take a look at those problems. I can not tell how much time I will be able to spend on this in the next days.

The gtk settings and deepin packages are broken (due to kwin update).

The deepin packages have stagnated on upstream. For almost an year they have not been updated. Deepin Linux is working privately on a new version of their Linux distribution with substantial changes. For this reason the packaging of the Deepin Desktop Environment is dormant on nixpkgs as well, waiting new releases from upstream.
For now I think you can mark both deepin.dde-kwin and deepin.startdde (which depends on deepin.dde-kwin) as broken.
cc @worldofpeace

I tried fixing dde-kwin and I tried:

patching in https://git.archlinux.org/svntogit/community.git/tree/trunk/kwin-5.17.patch?h=packages/deepin-kwin
https://github.com/linuxdeepin/dde-kwin/pull/106.patch

and getting those to apply, but the build still fails at obscure spots.
@romildo It should be fine to mark as broken because we don't have the deepin desktop module, so no one is going to really miss anything.

I have marked the failing deepin packages as broken and updated the todo list above with my latest findings.

The deepin packages have stagnated on upstream. For almost an year they have not been updated. Deepin Linux is working privately on a new version of their Linux distribution with substantial changes. For this reason the packaging of the Deepin Desktop Environment is dormant on nixpkgs as well, waiting new releases from upstream.

Does this even mean it's open source anymore? Any sources on this?

Does this even mean it's open source anymore? Any sources on this?

Deepin Linux home page does not give much information on that. But the forum has some clues. Unfortunately most of the messages are in chinese.
Recently they published a beta of the next version (Deepin 20 beta), where they wrote:

deepin is an open source desktop system developed for common users. You are free to download, distribute, modify and use it.

In a post in the forum they say:

All the code had been published in the beta repo
but not pushed to github yet
They will push them when V20 official release

The company behind the Deepin Linux is also producing a commercial distribution (I do not remember its name now :) and they gave priority to it. That is the reason for the delay in the development of Deepin Linux. Those comments can be found in the forum if one looks for them.

Rebased, bumped to 5.18.5, fixed sddm wallpaper (thx @DIzFer!)
5.19.x is already out, but 5.18 is LTS and 5.19 requires Qt >=5.14.

I have marked kdecoration-viewer as broken for now, as it does not seem like an essential application and there is no fix available. (CC @gnidorah )
If someone needs it, it can be obtained from the release branch like this:
nix build -f https://github.com/nixos/nixpkgs/archive/nixos-20.03.tar.gz kdecoration-viewer
./result/bin/kdecoration-viewer

I could use some help with the gtk config page.
The plasma kde-gtk-config module was mostly rewritten from scratch. The menu was moved to the other Application Style code, and kde-gtk-config now only contains a kded plugin. If the settings menu detects that the kded kde-gtk-config module is loaded, it will show the settings page.
I don't know how to figure out if the kded module has been loaded or where exactly the problem is, but the settings page is not shown.

@petabyteboy You're free to even remove the kdecoration-viewer entirely

Thanks for the feedback, I removed it.

I am investigating the GTK theme issue now. My first guess is that it is due to the missing dependency on xsettingsd.

I am investigating the GTK theme issue now. My first guess is that it is due to the missing dependency on xsettingsd.

Actually, it has nothing to do with kde-gtk-config at all. It seems that kded is not running, or at least systemsettings cannot connect to it. I discovered this when I tried to configure Background Services.

Apparently I already fixed this? https://github.com/NixOS/nixpkgs/pull/40447
But now the patch must move. :roll_eyes:

deepin was removed in https://github.com/NixOS/nixpkgs/pull/96610.

I fixed kde-gtk-config, but I'm still tracking down some missing dependencies.

We are still affected by #96055, but I don't see that as a reason to block merging as soon as the check pass again!

Thanks everyone who helped this happen, especially @petabyteboy ! :tada:


problem external bundling with relative path from that

Browserify pretty work well with a relative path from external package like
var bluebird = require('bluebird');
var timers = require('bluebird/js/main/timers'); // unclear way but work well with both of node.js and browserify

however, it doesn't fit with external bundling behaviour.
is there any ad-hoc?

What exactly do you mean with " fit with external bundling behaviour"?
The provided example seems to work fine here


Support '&' bindings to callback functions

It looks like 1.0.0-beta3 is only working with '<' or '=' bindings with the state.component() syntax.
Do you plan to support '&' bindings like this:
.state('page', {
    url: '/page',
    component: 'myPage',
    resolve: {
        onUpdate: // Some method in Service, that call when user update a data
    }
})

where the component is:
.component('child', {
    bindings: {
        onUpdate: '&'
    },
    ...
})

and in component's template
<form ng-submit="$ctrl.onUpdate(value)">...

?

the short answer is that you can use '<' binding for that
The long answer can be found here: https://github.com/angular-ui/ui-router/issues/3099#issuecomment-255242756
closing as duplicate of #3099 please add your thoughts to that ticket

Reopening because I agree that wiring a component's output (& binding) to a function returned by a resolve could be useful.  See
I propose that given this component:
.component('foo', {
  bindings: { onEvent: "&" },
  template: "save 123"
});

these examples should work:
example 1
(only works when unminified)
.state('foo', {
  component: 'foo',
  resolve: {
    onEvent: (ServiceAPI) => (data) => ServiceAPI.saveData(data)
  },
});

example 2
.state('foo', {
  component: 'foo',
  resolve: {
    onEvent: (ServiceAPI) => [ 'data', (data) => ServiceAPI.saveData(data) ]
  },
});

example 3
resolveFn.$inject = ['ServiceApi'];
function resolveFn(ServiceApi) {
  saveData.$inject = ['data'];
  function saveData(data) {
    ServiceAPI.saveData(data);
  }
  return saveData;
}
.state('foo', {
  component: 'foo',
  resolve: {
    onEvent: resolveFn
  },
});

The resolve is still invoked as usual when the state is entered.  For this to work, the resolve must return a function.  The "&" binding in the component will pass through to the returned function.
When the template is being created, the resolve function arguments are introspected. The function is faux injected using the locals passed by the component.

Generated templates:
Example 1 and 2:
<foo on-event="$resolve.onEvent(data)"></foo>

Example 3 (finds the last element of the array, which should be the fn)
<foo on-event="$resolve.onEvent[1](data)"></foo>

Reopening, since I agree that wiring a component's output (& binding) to a function returned by a resolve could be useful.
I propose that given this component:
.component('foo', {
  bindings: { onEvent: "&" },
  template: "save 123"
});

these examples should work:
example 1
(only works when unminified)
.state('foo', {
  component: 'foo',
  resolve: {
    onEvent: (ServiceAPI) => (data) => ServiceAPI.saveData(data)
  },
});

example 2
.state('foo', {
  component: 'foo',
  resolve: {
    onEvent: (ServiceAPI) => [ 'data', (data) => ServiceAPI.saveData(data) ]
  },
});

example 3
resolveFn.$inject = ['ServiceApi'];
function resolveFn(ServiceApi) {
  saveData.$inject = ['data'];
  function saveData(data) {
    ServiceAPI.saveData(data);
  }
  return saveData;
}
.state('foo', {
  component: 'foo',
  resolve: {
    onEvent: resolveFn
  },
});

The resolve is still invoked as usual when the state is entered.  For this to work, the resolve must return a function.  The "&" binding in the component will pass through to the returned function.
When the template is being created, the resolve function arguments are introspected. The function is faux injected using the locals passed by the component.

Generated templates:
Example 1 and 2:
<foo on-event="$resolve.onEvent(data)"></foo>

Example 3 (finds the last element of the array, which should be the fn)
<foo on-event="$resolve.onEvent[1](data)"></foo>

IMO the usage of returning a function that takes event arguments is strange.
I would almost rather declare events separately from resolve and the usage be different rather than declaring a resolve and returning a function. It feels like we are overloading the intent of resolve.
If you think of it from the Ember perspective of the model resolver, the intent of model is to either return a promise or an object as the data model which is available on the related controller/component. Events are declared differently.
I feel like we should be able to create events that "require" a service on the route definition rather than injecting a service to a function that returns a function.
example:
$stateProvider.state('foo', {
  require: ['service1', 'service2'], //<-- requirable services available on resolve and event 'this' context
  events: {
    // not injectable, but requireable
    // this event would be available to bindings.
    onEvent: (eventData) => this.service2.handleEvent(data)
  },
  resolve: {
    dataModel: (service3) => this.service1.get(service3.result) //<-- returns data or a promise like today
  }
});

That's a good argument, and I mostly agree. I'm hesitant to increase the API surface area further, however.

I understand the hesitation. I do think however, a wider API surface that is more concise is easier to understand than an overloaded API surface that is more complex.


Uncaught TypeError: Cannot read property 'onDidDestroy' of undefined

Repro steps:

apm install api-docs
Open any buffer, select a keyword (e.g. undefined), Ctrl+Shift+P, Api Docs: Search Under Cursor. An HTML doc view pane opens.
Focus the doc pane, Ctrl+Shift+P, incsearch:toggle.
Unhandled exception.

Atom Version: 1.12.7
Electron Version: 1.3.13
System: Ubuntu 15.10
Thrown From: incsearch package, v0.3.3
Stack Trace
Uncaught TypeError: Cannot read property 'onDidDestroy' of undefined
At /home/ulidtko/.atom/packages/incsearch/lib/incsearch.coffee:138

TypeError: Cannot read property 'onDidDestroy' of undefined
    at Object.show (/home/ulidtko/.atom/packages/incsearch/lib/incsearch.coffee:138:11)
    at atom-workspace.subscriptions.add.atom.commands.add.incsearch:toggle (/home/ulidtko/.atom/packages/incsearch/lib/incsearch.coffee:108:10)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/usr/share/atom/resources/app.asar/src/command-registry.js:259:29)
    at /usr/share/atom/resources/app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/usr/share/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/usr/share/atom/resources/app.asar/src/window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (/usr/share/atom/resources/app.asar/src/window-event-handler.js:3:59)

@ulidtko thanks for the report, I can see the issue, which I'll fix, though I'm not quite sure what should be the expected behaviour here. Currently incsearch will support only text editors, not html panes - did you expect to toggle search field in the editor pane?

@stormherz yes, exactly I did. Is it technically challenging to implement search in html panes?
But anyway, it shouldn't crash nonetheless.

@ulidtko I'll release the patch today and will look into html pane search

Good enough for me, thanks.
Html pane search would be a nice addition, since the built-in Ctrl-F search can't currently find anything in those.


DaemonSet, StatefulSet and Deployment kinds moved to apps/v1 API in Kube 1.16

The templates including the ones used by cluster loader and pbench agents/controller needs to be move to apps/v1 as @wabouhamad found out when running tests on OCP 4.4.

https://github.com/openshift-scale/workloads/pull/112 fixes it.


Android Basics: change-app-icon

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-change-app-icon
In which task and step of the codelab can this issue be found?
"Move vector drawable files into -v26 directory"
Describe the problem
"Move vector drawable files into -v26 directory" section has dubious instructions and references options that do not exist where stated.
Steps to reproduce?
Step 1 of this section says, "First create the drawable-anydpi-v26 directory. Right click on the res folder. Select New > Android Resource Directory."
Step 2 says, "A prompt will appear. Select these options:
Resource type: drawable (Select from dropdown)
Directory name: drawable-anydpi-v26
Source set: main (leave as default)"
A prompt does appear, but there's no option or heading labeled "Source set".
Step 3, "Click OK. In the Project view, verify the new resource directory res > drawable-anydpi-v26 has been created."
Skipping the "Source set" stuff and clicking OK does not result in a new resource directory "res > drawable-anydpi-v26".  It instead makes a directory "res > drawable > drawable-anydpi-v26"
Versions
Android Studio 4.1.1
Build #AI-201.87<IP_ADDRESS>53283, built on November 4, 2020
Runtime version: 1.8.0_242-release-1644-b3-6222593 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 5.4.58-07649-ge120df5deade
GC: ParNew, ConcurrentMarkSweep
Memory: 1246M
Cores: 4
Registry: ide.new.welcome.screen.force=true, external.system.auto.import.disabled=true
Non-Bundled Plugins: org.jetbrains.kotlin
Current Desktop: Undefined
Additional information

@noc-turnal-dev
Thank you for reaching out to us.
When the New Resource Directory dialog appears:
Source set is the third option in the dialog, below Resource type.  You have to leave it as main.

To check the folder creation, switch to Project view. You can't check this in Android view.

Folder will be created under res directory.

Hope this helps!


Add a website made with Quarto. I also made slight edits to the text.

I found the repository for the website so I made the pull request there again.


$('#exampleModal').on('show.coreui.modal', function (event) not work

https://coreui.io/docs/components/bootstrap/modal/#modifying-modal-content
show.coreui.modal not work

Please place the jQuery script before the "coreui.bundle.min.js" and "coreui-utils.js" scripts in the "base.blade.php" file
For example:

Hello,
the jquery script is before coreui's scripts, but it still doesn't work for me
Any other suggestion ?


source URL not parsed correctly

I am trying to stream from a rtsp url that includes a user/password, similar to some examples mentioned in issues here. The url seems to be incorrectly parsed (too many colons, see below).
The url is certainly correct as I can stream from it, for example using the custom cam integration.
Installed from HACS just now, as mentioned in the README. I'm using Chromium to test this.

any ideas? Many thanks!

It seems that the port must not be mentioned in the url. Luckily I'm using a standard one. Sorry for the noise!

Colon after port shouldn't exist


Directory for tool is present, but tool was not found. NixOS linker path issue. Documentation or warning needed (IDFGH-12839)

Is your feature request related to a problem?
WARNING: directory for tool xtensa-esp-elf-gdb version 12.1_20221002 is present, but tool was not found
ERROR: tool xtensa-esp-elf-gdb has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 /home/ziyad/esp/esp-idf/tools/idf_tools.py install' to install it.
WARNING: directory for tool riscv32-esp-elf-gdb version 12.1_20221002 is present, but tool was not found
ERROR: tool riscv32-esp-elf-gdb has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 /home/ziyad/esp/esp-idf/tools/idf_tools.py install' to install it.
WARNING: directory for tool xtensa-esp32-elf version esp-12.2.0_20230208 is present, but tool was not found
ERROR: tool xtensa-esp32-elf has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 /home/ziyad/esp/esp-idf/tools/idf_tools.py install' to install it.
WARNING: directory for tool xtensa-esp32s2-elf version esp-12.2.0_20230208 is present, but tool was not found
ERROR: tool xtensa-esp32s2-elf has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 /home/ziyad/esp/esp-idf/tools/idf_tools.py install' to install it.
WARNING: directory for tool xtensa-esp32s3-elf version esp-12.2.0_20230208 is present, but tool was not found
ERROR: tool xtensa-esp32s3-elf has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 /home/ziyad/esp/esp-idf/tools/idf_tools.py install' to install it.
WARNING: directory for tool riscv32-esp-elf version esp-12.2.0_20230208 is present, but tool was not found
ERROR: tool riscv32-esp-elf has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 /home/ziyad/esp/esp-idf/tools/idf_tools.py install' to install it.
WARNING: directory for tool esp32ulp-elf version 2.35_20220830 is present, but tool was not found
ERROR: tool esp32ulp-elf has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 /home/ziyad/esp/esp-idf/tools/idf_tools.py install' to install it.
WARNING: directory for tool openocd-esp32 version v0.12.0-esp32-20230921 is present, but tool was not found
ERROR: tool openocd-esp32 has no installed versions. Please run '/nix/store/8dzgagiwp6xi6hahsdgq6y4kb5v8kn4j-python3-3.11.8/bin/python3 home/username/esp/esp-idf/tools/idf_tools.py install' to install it.

This is the output I get after running idf_tools.py install then export.sh.
This is happening mainly because I'm on NixOS and files aren't in their usual location. I don't know what else could cause this
And trying to run the binary files for example openocd only outputs cannot execute: required file not found which isn't at all helpful
And it took me way to much time to find out how to fix this.
Describe the solution you'd like.
So it would be very helpful if maybe documentation was added for that, or a warning is given when running idf_tools.py install in a nix environment or on NixOS
Currently how I solved this was just running patchelf on each binary file in these tools and setting the interpreter then adding into rpath any error it gives me for a not found library
e.g.
patchelf --set-interpreter /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/ld-linux-x86-64.so.2 openocd
./openocd --> ./openocd: error while loading shared libraries: libudev.so.1: cannot open shared object file: No such file or directory
find -iname 'libudev.so.1' /nix/store pick anything that is found
patchelf --set-rpath "/nix/store/2m7fcpn68c5pq6zby22xddsv5hwx1x67-steam-fhs/usr/lib64/" openocd
./openocd --> output indicating it's working Open On-Chip Debu...
I have no idea if there are better ways to solve this and I have little experience so anything that would at least inform people if they have the same problem I have would be very appreciated.
Thanks in advance.
Describe alternatives you've considered.
No response
Additional context.
No response

I'm not entirely sure but maybe https://github.com/mirrexagon/nixpkgs-esp-dev exist for this. Does this help you?
Also there is this Wiki page: https://nixos.wiki/wiki/ESP-IDF
As for ESP-IDF, we don't support oficially NixOS .

Yes this github repository worked like a charm I don't know how I didn't find it, But thank you very much. It fixed other problems I was having.
Would it be possible to add a warning in maybe the installation part of the documentation for NixOS?

Would it be possible to add a warning in maybe the installation part of the documentation for NixOS?

We try to keep it as simple as possible for new users. But this might change if more of our users will start to use NixOS.

@ZXTube Could you help me a little, please?

This is the output I get after running idf_tools.py install then export.sh.

Did you run export.sh already in nix-shell? I'm wondering how could we detect that the script is run in NixOS. Checking the presence of the IN_NIX_SHELL environment variable is my current idea.

No, I didn't need to enter any nix shell while installing it.
Do you want to detect if the person is specially using NixOS or also if using nix on another OS?
These are the environment variables I have in NixOS outside of a nix-shell:
$NIX_GSETTINGS_OVERRIDES_DIR, $NIX_PATH, $NIX_PROFILES, $NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR, $NIXPKGS_CONFIG, $NIX_USER_PROFILE_DIR
I think $NIX_PATH is there in NixOS and nix-shell (on a different OS)

Hi,
Yes, it seems that NIX_PATH could be a way.
docker run --rm -it  nixos/nix bash -c 'set | grep NIX'
BASH_EXECUTION_STRING='set | grep NIX'
NIX_PATH=/nix/var/nix/profiles/per-user/root/channels:/root/.nix-defexpr/channels
NIX_SSL_CERT_FILE=/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt

Or maybe just check if nix command is available or /nix/store directory.
https://nix.dev/manual/nix/2.22/store/types/local-store

It is also possible, but not recommended, to change the "logical" location of the Nix store from its default of /nix/store.

I have no hands on experience with the nix package manager though.

@ZXTube @fhrbata Thank you both for your help!


bump to electron v1.1.0

https://github.com/electron/electron/releases

We always update electron to newer versions over time, but since 1.1.0 comes with a major Chrome/node.js update, we will likely skip the update for this sprint and look at this the next sprint.

Please keep your package.json in this repository up to date.
I want to know what ESnext features are usable but in the package is written:
{
  "electronVersion": "0.37.6",
  "engines": {
    "node": ">= 0.10.0 < 0.11.0"
  }
}

I am not sure why we have this engines declaration. @joaomoreno any clue?

No one knows. Nothing really uses it.

I took out the engines declaration, lets see what breaks ;)


The weights, and biases of the conv and bn are not binary (They are floats) !

Hi, after training the model, I checked the weights, and the biases of each conv and bn layers and they are floats. I am not sure what I am missing here, but the paper specifically talked about the weights and activations being constrained to +1/-1, which is not the case !! I appreciate any help here !

Hi,
For inference / run-time, you only need the weights' signs. You can discard the rest of the data. You will get the performance reported in the paper.
If I remember correctly, we did not quantized the biases. but I may be wrong.

Thank you for your reply, I appreciate it.


Document testing SSSOM-Py against a development version of the schema.

[x] docs/ have been added/updated if necessary
[ ] make test has been run locally (no need)
[ ] tests have been added/updated (not applicable)
[ ] CHANGELOG.md has been updated. (no need)

This PR updates the CONTRIBUTING.md document to add a section about how to locally run the test suite, and especially how to locally run SSSOM-Py’s test suite, since changes to SSSOM’s LinkML schema can negatively impact the Python implementation.
It also updates the pull request template to add a checkbox to remind contributors that any change to the LinkML schema should be tested against SSSOM-Py (or rather, SSSOM-Py should be tested against the new schema).

@hrshdhgd Can you also review / approve please? Thank you!


Intertesting but doesn't open

I tried it on a Windows 10 machine, double click on OpenTXLog2GoogleEarth.exe and no window opens.  Nothing happens. Am I opening it wrong, is there a prerequisite that has to be installed first?  Thanks.
{
"PathColor": "991081f4",
"AltitudeMode": "relativeToGround",
"AltitudeOffset": 0.0,
"GoogleEarthExe": "C:\Program Files\Google\Google Earth Pro\client\googleearth.exe",
"GPSHeader": "GPS",
"GPSSpeedHeader": "GSpd(kmh)",
"GPSSpeedFactor": 1,
"GPSSpeedLabel": "km/h",
"AltitudeHeader": "Alt(m)",
"TimeHeader": "Time",
"DateHeader": "Date"
}
Actual googleearth location on my machine appears to be the same
C:\Program Files\Google\Google Earth Pro\client\googleearth.exe

Maybe this helps:
c:\Movie\OpenTXLogs\release_win\Release\netcoreapp3.0>opentxlog2googleearth.exe razor.csv
or
c:\Movie\OpenTXLogs\release_win\Release\netcoreapp3.0>opentxlog2googleearth.exe
Gives:
A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [c:\Movie\OpenTXLogs\release_win\Release\netcoreapp3.0].
If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation].
.net 4.8 is installed on my machine

Maybe this helps:
c:\Movie\OpenTXLogs\release_win\Release\netcoreapp3.0>opentxlog2googleearth.exe razor.csv
or
c:\Movie\OpenTXLogs\release_win\Release\netcoreapp3.0>opentxlog2googleearth.exe
Gives:
A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [c:\Movie\OpenTXLogs\release_win\Release\netcoreapp3.0].
If this is a framework-dependent application, install the runtime in the global location [C:\Program Files\dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\InstallLocation].
.net 4.8 is installed on my machine

You need to install .net core runtime in Order to run .net core apps

You need to install .net core runtime in Order to run .net core apps

Installing .NET Core 3.1 SDK (v3.1.404)  worked fine.  Thank you.

Installing .NET Core 3.1 SDK (v3.1.404)  worked fine.  Thank you.

No problem, I should update the readme arccordingly :)
EjectSteve<EMAIL_ADDRESS>schrieb am Di. 5. Jan. 2021 um 18:22:

Closed #3 https://github.com/naice/OpenTXLog2GoogleEarth/issues/3.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/naice/OpenTXLog2GoogleEarth/issues/3#event-4170989076,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAOJYTRJ73A7KXSP4OIQH3SYNDERANCNFSM4VVRNAEA
.

No problem, I should update the readme arccordingly :)
EjectSteve<EMAIL_ADDRESS>schrieb am Di. 5. Jan. 2021 um 18:22:

Closed #3 https://github.com/naice/OpenTXLog2GoogleEarth/issues/3.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/naice/OpenTXLog2GoogleEarth/issues/3#event-4170989076,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABAOJYTRJ73A7KXSP4OIQH3SYNDERANCNFSM4VVRNAEA
.


Sign checksums.txt for releases

Source is already signed, and checksums are provided for binaries, however the checksums are unsigned.

Good point, done now for current release and added to release flow for future versions.


'npm i'  fails with conflicting peer dependencies

Hi!
I have been enjoying the app and liked its simplicity, however, I wanted to add some features I think would be useful:

Add an option to disable the full screen blend off
Add a "Remind me in 2 Minutes" Button to the notification
Make the time to focus on something far away adjustable

Sadly, when trying to initialize the React project using npm i it results in conflicting depndencies:
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving<EMAIL_ADDRESS>npm error Found<EMAIL_ADDRESS>npm error node_modules/react
npm error<EMAIL_ADDRESS>from the root project
npm error   peer<EMAIL_ADDRESS><18.0.0" from<EMAIL_ADDRESS>npm error   node_modules/@fluentui/foundation-legacy
npm error<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm error     node_modules/@fluentui/react
npm error<EMAIL_ADDRESS>from the root project
npm error   11 more (@fluentui/react, @fluentui/react-focus, ...)
npm error
npm error Could not resolve dependency:
npm error peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm error node_modules/react-circle
npm error<EMAIL_ADDRESS>from the root project
npm error
npm error Conflicting peer dependency<EMAIL_ADDRESS>npm error node_modules/react
npm error   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm error   node_modules/react-circle
npm error<EMAIL_ADDRESS>from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.

Additionally, using --force a module seems to be missing:
npm error ModuleNotFoundError: No module named 'distutils'
npm error gyp ERR! configure error
npm error gyp ERR! stack Error: `gyp` failed with exit code: 1
npm error gyp ERR! stack     at ChildProcess.onCpExit (C:\GitLib\Github\twenty\node_modules\node-gyp\lib\configure.js:284:16)
npm error gyp ERR! stack     at ChildProcess.emit (node:events:514:28)
npm error gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:294:12)
npm error gyp ERR! System Windows_NT 10.0.22631
npm error gyp ERR! command "C:\\Tools\\NodeJS\\node.exe" "C:\\GitLib\\Github\\twenty\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm error gyp ERR! cwd C:\GitLib\Github\twenty\node_modules\ffi-napi
npm error gyp ERR! node -v v20.10.0
npm error gyp ERR! node-gyp -v v9.1.0
npm error gyp ERR! not ok

Hey Alexander! Glad to hear you're enjoying the app. Have you retried with --legacy-peer-deps?

That worked, thanks! I will try to figure the rest out, but it seems the dev server does not work properly currently.
localhost:3000 shows only a blank page, while the tray icon is active, but I cannot open the UI to check the changes.


Add icon near row number

Hello
Is it possible to customize error highliting?
E.g. add icon with error near row number (Can i do it by editor.deltaDecorations?)

This issue is already done?
see https://microsoft.github.io/monaco-editor/playground.html#interacting-with-the-editor-rendering-glyphs-in-the-margin
I haven't tried yet but I think we can add any images by CSS background-image.


Update CatalogTable to default total count to 0 instead of undefined

Hey, I just made a Pull Request!
Depending on latency in making the request the context can load without items and then refresh moments later with the correct count. Until the entities are loaded the total will show as "All (undefined)", which is not confidence inspiring.

Making this change from GitHub UI so not sure if it included the package in the commit but did include a signoff:
---
'@backstage/catalog': minor
---

Closes #24034
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Closes #24034

This does need a changeset.
Just a thought though - if the count is undefined, wouldn't it be better to not render a number (nor the parentheses) at all instead? So for example it just says "All" and nothing else for a short while

I re-ran the page and noted the kind doesn't show until populated. Makes sense @freben. Will adjust and see about correcting from local fork the changset and push back up.


Different databases in 9.x and before? Behavior of versions before 9.x when NVD feeds are retired?

Hi,
we have a massive QA: hundreds of projects and for most of them Bamboo Sonar plans.
All projects (Maven) are based on parent POM projects for Java8, Java11, Java17 and Java21. These parents include plugins sonar, dependency check and so on.
The older current releases (resp. current snapshots) are, the older a parent version may be, for example parent 17.0.0, 17.0.1 and so on.

Can I test 9.x on Bamboo, or do 9.x and before use the same database?
How will versions before 9.x behave when NVD feeds are retired? Worst case would of course be hundreds of failed Sonar builds using 8.x. Hopefully the unability to update from feeds is just a warning.

Regards,
Gunnar

while technically the database is the same in a lot of ways - there are differences in the values stored in the properties table. These differences would likely cause a full download of the data from the NVD again.

I've heard the data feeds won't be retired on 12/15 - the NVD has received a lot of push-back on this. However, this doesn't mean they won't be retired or heavily change; just that you might have more time. I'd keep working towards migrating.
ODC 9.x requires the use of an NVD API key for updates. If every node updates you are likely going to hit the rate limit enforced by the NVD (it is per API key - so if the key is reused on multiple builds it is easy to hit the rate limit). As such, if you have multiple builds I would highly recommend utilizing a caching strategy. There are a few options documented under The NVD Database (see items 2-4) here: https://jeremylong.github.io/DependencyCheck/data/index.html

To your last question, "How will versions before 9.x behave when NVD feeds are retired?" Unless you are using something like the nist-data-mirror - the builds will likely just start falling once the data feeds are retired.

Thanks for your extended support, closing answered, have a nice day,
Gunnar


Failing 'GET apply-rules' requests are irritating

Describe the bug
When accessing Automate with a user account that has no permissions to manage projects rules, the UI still attempts to refresh the status every five seconds, yielding a constant stream of irritating 403 in the network tab.
To Reproduce
Steps to reproduce the behavior:

upgrade to v2 (chef-automate iam upgrade-to-v2) or don't, the same thing hapens on IAM v1
login as a non-admin (no viewer/operator groups, either)
watch dev tools' network tab

Expected behavior
Radio silence. Successful requests to /refresh every minute.
No project-related requests for IAMv1 (or IAM v2, but that's not that bad)
Screenshots

Versions (please complete the following information):

dev/acceptance as of today 😉

https://github.com/chef/automate/compare/sr/issue-1129/no-GET-apply-rules-unless-iam-v2.1 Some WIP here -- please pick up! Or start over! All fine by me :smiley:

this has hit

[X] dev
[ ] acceptance

✔Looks good in dev, for each of IAM v1, v2, and v2.1.


f sanitizer detect runtime error in cfe_msg_sechdr_time.c

Describe the bug
Running with f-sanitizer shows the following error:
/home/vboxuser/Desktop/cFS/cfe/modules/msg/fsw/src/cfe_msg_sechdr_time.c:95:42: runtime error: left shift of 144 by 24 places cannot be represented in type 'int'

To Reproduce
Add the following options:
add_compile_options(
-fsanitize=address
-fsanitize=undefined
-fsanitize-recover=all
-g
)
add_link_options(
-fsanitize=address
-fsanitize=undefined
-fsanitize-recover=all
)

make SIMULATION=native
make install
Run

Expected behavior
A clear and concise description of what you expected to happen.
Code snips
If applicable, add references to the software.
System observed on:

Hardware
OS: [e.g. Linux 4.4]
Versions [e.g. cFE 6.6, OSAL 4.2, PSP 1.3 for mcp750, any related apps]

Additional context
Add any other context about the problem here.
Reporter Info
Full name and company/organization if applicable
Anh Van, GSFC

@dmknutsen @dzbaker Can you add this to the discussion to see if this is something you want to fix?


iOS: add site tweaks

@samuelclay commented in #806:

... have it start on the folder selector (this should be true of any opening of the Add Site dialog. When opening, just immediately press the folder selector).

Sure.  I could tighten up the size of the popover, too; there's a lot of empty space there.
Though I've never been a fan of pickers.  I realize you were trying to replicate the popup menu in the web app, but I'd think a checkmark table would look nicer, and be easier to use.  Let me know if you'd prefer that too.

I love that popover, that's why it's so big. But sure, go ahead and trim it down.

Another change I'd like to see is to not automatically add the site when the autocomplete option is chosen. This is just a single line that needs to be commented out.

I'm not entirely sure what you mean by that last comment.  Entering some search text in the site field and clicking a site in the autocomplete table just puts the URL in the site field; it doesn't add it.

Looks like I already made that change. Awesome!
OK, I'm going to add the new fonts and submit this to the App Store later today.

Excellent.  We can close this, then.


DB connection pool exhausts.

Description:
Connection pool exhausts after the fix for https://github.com/ballerina-platform/ballerina-lang/issues/10611.
Here, within the transaction block there is a match with a Select query, and withtin that match block, there is another match with a Select query. The Update querries are wriiten inside the nested match block. If the max_pool_size is set to 5, the code breaks after 3 commits. If it is set to 10, the code breaks after 8 commits. Seems like the connections are not getting closed properly.
Steps to reproduce:
Sample code to reproduce:
function updateData() {
    int counter = 0;

    foreach key, value in organizedDataMap{
        io:println(counter);
        counter++;

        // Start transaction
        transaction with retries = 3, oncommit = onUpsertCommitFunction, onabort = onUpsertAbortFunction {
            match getBatchStatus() {
                BatchStatus bs => {
                    if (bs.uuid != uuidConst) {
                        abort;
                    } else {
                        match getRecordStatusWithLock(key) {
                            RecordStatus => {
                                    var result = mysqlEP->update(QUERY_TO_INSERT_VALUES_TO_TEST, <string>value);

                                    match result {
                                        int c => {
                                            if (c < 0) {
                                                log:printError("Unable to update record.");
                                                abort;
                                            } else {
                                                log:printDebug("Updated record.");
                                            }
                                        }
                                        error e => {
                                            retry;
                                        }
                                    }
                                //}
                            }
                            () => {
                                log:printDebug(string `Unable to lock RecorsStatus table row for key: {{key}}`);
                                abort;
                            }
                            error e => {
                                log:printError("Error occured when getting the row lock for key: " + key, err = e);
                                retry;
                            }
                        }
                    }
                }
                () => {
                    log:printWarn("No batch status found. Aborting");
                    abort;
                }
                error e => {
                    log:printError("Unable to get batch status. Aborting", err = e);
                    retry;
                }
            }
        }
        onretry {
            log:printWarn("Retrying transaction to insert records...");
        }
    }
}

Affected Versions:
0.982.1
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):
@anupama-pathirage

@SaubhagyaW Can you please share the code for getBatchStatus() and getRecordStatusWithLock() as well?

function getBatchStatus() returns BatchStatus|()|error {
    BatchStatus|() batchStatus = ();
    var results = mysqlEP->select(QUERY_GET_BATCH_STATUS, BatchStatus);
    // get batch status
    match results {
        table<BatchStatus> entries => {
            while (entries.hasNext()) {
                match <BatchStatus>entries.getNext()  {
                    BatchStatus bs => batchStatus = bs;
                    error e => log:printError("Unable to get batch status", err = e);
                }
            }

            return batchStatus;
        }
        error e => {
            log:printError("Unable to get batch status", err = e);
            return e;
        }
    }
}

function getRecordStatusWithLock(string jiraKey) returns RecordStatus|()|error {
    RecordStatus|() recordStatus = ();
    var results = mysqlEP->select(QUERY_GET_RECORD_STATUS_WITH_LOCK, RecordStatus, loadToMemory = false, jiraKey);
    // get record status
    match results {
        table<RecordStatus> entries => {
            while (entries.hasNext()) {
                match <RecordStatus>entries.getNext()  {
                    RecordStatus rs => recordStatus = rs;
                    error e => log:printError("Unable to get record status", err = e);
                }
            }

            return recordStatus;
        }
        error e => {
            log:printError("Unable to get record status", err = e);
            return e;
        }
    }
}

@SaubhagyaW We have identified issue with hasNext() which can cause this issue. Can you please use foreach to loop the tables in all the places?  We will fix the issue with hasNext.
Ex:
 RecordStatus rs;

 table<RecordStatus> entries => {
        foreach row in entries {
            rs = row;
        }
}


added forfeit action

added forfeit action

@Josh-121 you will need to implement a function to forfeit game in the systems/actions file. Can you also write test to make sure this works as it should.
re: https://book.dojoengine.org/framework/contracts/systems

@Josh-121 you will need to implement a function to forfeit game in the systems/actions file. Can you also write test to make sure this works as it should.
re: https://book.dojoengine.org/framework/contracts/systems

Alright. On it


Element core-animated-pages not in core-elemens but in paper-elemens package.

This issue was originally filed by @mezoni

Element core-animated-pages not in core-elemens but in paper-elemens package.

This issue has been moved to dart-lang/polymer-dart#225.


Neighbors

deprecate JAX-MD because it hasn't been release on PyPI for 10 months. Copy all relevant files.
convert neighbor_search from lagrangebench to part of the documentation here.

Still WIP

Codecov Report
Attention: Patch coverage is 62.14383% with 279 lines in your changes missing coverage. Please review.

Project coverage is 63.5%. Comparing base (cf3eb54) to head (c24bc5f).

Files
Patch %
Lines

jax_sph/jax_md/partition.py
63.4%
183 Missing :warning:

jax_sph/jax_md/space.py
35.3%
95 Missing :warning:

jax_sph/jax_md/dataclasses.py
96.9%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##            main     #13     +/-   ##
=======================================
- Coverage   65.4%   63.5%   -2.0%
=======================================
  Files         11      15      +4
  Lines       1264    1962    +698
=======================================
+ Hits         827    1246    +419
- Misses       437     716    +279

Flag
Coverage Δ

unittests
63.5% <62.1%> (-2.0%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


wallet: load keys without keysets

Fixes #119

Codecov Report
Patch coverage: 72.22% and project coverage change: +0.13 :tada:

Comparison is base (e696e19) 51.96% compared to head (ff310ec) 52.10%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #123      +/-   ##
==========================================
+ Coverage   51.96%   52.10%   +0.13%
==========================================
  Files          34       34
  Lines        2615     2633      +18
==========================================
+ Hits         1359     1372      +13
- Misses       1256     1261       +5

Impacted Files
Coverage Δ

cashu/mint/router.py
0.00% <0.00%> (ø)

cashu/mint/ledger.py
33.20% <50.00%> (+0.13%)
:arrow_up:

cashu/wallet/wallet.py
85.12% <96.15%> (+0.23%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


nixos/firewall: Refactor rpfilter, allow DHCPv4

Adds a new chain in the raw table for reverse path filtering and optional logging. A rule to allow serving DHCPv4 was also added as it is commonly needed and poses no security risk even when no DHCPv4 server is running.
Fixes #10101.
cc @domenkozar @rasendubi

@fpletz can I ask you to write a changelog for this PR?

Thanks for the reminder. Done. :)

@fpletz Just a clarification, do we still need to allow port 67 through allowed UDP ports? If so, why aren't service modules like Dnsmasq set to allow port 67 by default?


Add scala 2.13.0-RC1 support

Applying this PR will add support for scala 2.13.0-M5, change in the CollectionReaders trait is the cbf parameter type change from CanBuildFrom[Nothing, A, C[A]] to Factory[A, C[A]].

Coverage increased (+1.0%) to 95.652% when pulling 52d9bf56d81f8b4d0b423b4f2c93d62a68eb0b63 on Philippus:support-scala-2.13.0-M5 into dbda3fda1276d7b1beed3b5635c29b53eb122f90 on iheartradio:master.

Coverage increased (+1.0%) to 95.652% when pulling 52d9bf56d81f8b4d0b423b4f2c93d62a68eb0b63 on Philippus:support-scala-2.13.0-M5 into dbda3fda1276d7b1beed3b5635c29b53eb122f90 on iheartradio:master.

Coverage increased (+1.0%) to 95.652% when pulling 52d9bf56d81f8b4d0b423b4f2c93d62a68eb0b63 on Philippus:support-scala-2.13.0-M5 into dbda3fda1276d7b1beed3b5635c29b53eb122f90 on iheartradio:master.

Coverage increased (+1.0%) to 95.652% when pulling 52d9bf56d81f8b4d0b423b4f2c93d62a68eb0b63 on Philippus:support-scala-2.13.0-M5 into dbda3fda1276d7b1beed3b5635c29b53eb122f90 on iheartradio:master.

Coverage increased (+1.0%) to 95.652% when pulling 52d9bf56d81f8b4d0b423b4f2c93d62a68eb0b63 on Philippus:support-scala-2.13.0-M5 into dbda3fda1276d7b1beed3b5635c29b53eb122f90 on iheartradio:master.

Thanks!


Tag and Release at 0.7.x

TODO:

[x] merge collectionQueue PR
[x] merge address endpoint PR
[x] update README.md
[x] bump ver in version.go
[x] doc added types/funcs/etc.
[x] sanity test all functionality
[x] double check https://github.com/dcrdata/dcrdata/milestone/10
[x] git tag
[x] write GitHub release notes

Features for future release (not included in 0.7) are:

caching - this seems good, but there are some small remaining issues
dep migration from glide
wallet support
block explorer

I've assigned peeps just to draw attention.  No pressure to actually sink your time into this.  However, feedback regarding the testing portion would be greatly appreciated.

I'll get to work on updating the README.md and documenting the types/funcs, maybe add a few tests along the way

@RogueElement Thanks for tackling the docs and README!

I would do the tests but I don't even know where to start since the program is not self-contained. Any pointers on the main functionality to test? I'm thinking testing the db connection, rpc connection and api endpoints

@RogueElement unit tests will be great to have at some point, but for now I was just going through the API endpoints to make sure nothing was completely broken for reasonable inputs.

Done!


Add the ability to show week numbers on the calendar.

Fixes #420

Current coverage is 91.58% (diff: 71.42%)

Merging #570 into master will decrease coverage by 0.78%

@@             master       #570   diff @@
==========================================
  Files            11         12     +1
  Lines           498        511    +13
  Methods          15         16     +1
  Messages          0          0
  Branches         89         91     +2
==========================================
+ Hits            460        468     +8
- Misses           14         17     +3
- Partials         24         26     +2

Powered by Codecov. Last update 95a870a...881c70e

This looks great -- a couple things:

Please remove the docs update from the PR; those are generated automatically when we release
Can we get some tests on this guy? =)

@rafeememon sure thing- just to confirm on the docs, just docs-site/bundle.js should be removed, correct? Also, happy to add a some tests.

@MarkReeder correct; and thanks!

@rafeememon Anymore comments on this?

Hi @MarkReeder,
This looks good to go. I had some issues merging the branch to master since src/calendar.jsx is conflicting. Could you update your PR so I can merge this ASAP?

@martijnrusschen I've rebased against the current master- let me know if you need anything else.


Animations on borderRadius don't work as expected

Description
When animating on borderRadius, the result looks strange.
For instance, when animating from fullCircle to emptyCircle in the following example, the borderRadius in the beginning of the animation seems to be 0 but should be 20 (hence, the animation starts with a square instead of a circle).
StyleSheet.create({
  emptyCircle: {
      width: 10,
      height: 10,
      borderRadius: 5,
      borderWidth: 1,
      borderColor: 'grey'
    },
  fullCircle: {
      width: 20,
      height: 20,
      borderRadius: 10,
      backgroundColor: 'black'
    }
})

This is how it looks like when animating with LayoutAnimation.Presets.linear:

This is because LayoutAnimation only works for animating layout props (anything that changes a view position or size) but borderRadius is not one. What I recommend doing here is using Animated instead. You can do something like:
_onButtonPress() {
  Animated.timing(this.state.anim, {
    toValue: 1,
    duration: 500,
  });
}

render() {
  const scale = this.state.anim.interpolate({
    inputRange: [0, 1],
    outputRange: [1, 0.5],
  });
  const backgroundColor = this.state.anim.interpolate({
    inputRange: [0, 1],
    outputRange: ['black', 'white'],
  });
  return (
    <Animated.View style={[styles.circle, { backgroundColor, transform: [{ scale }] }]} />
  );
}
...

const styles = StyleSheet.create({
  circle: {
      width: 20,
      height: 20,
      borderRadius: 10,
      backgroundColor: 'black'
    }
})

Closing as this is not a bug.


Computing item_hash does not support non-inline message storage

See https://github.com/aleph-im/aleph-client/blob/3b7383bc4b6ec479cfc42d111622b8a8a1b9a4ea/src/aleph_client/asynchronous.py#L436-L450
Related to https://github.com/aleph-im/aleph-client/pull/106

Should be fixed, as we compute the item_hash directly from the json dump here:
https://github.com/aleph-im/aleph-sdk-python/blob/59e22b5ee52ce8400311d7fc287a8cfcc037930c/src/aleph/sdk/client/authenticated_http.py#L606
and here:
https://github.com/aleph-im/aleph-message/blob/e1c0f474c394e2f7ce380d97dfac71bec157f056/aleph_message/models/__init__.py#L375


Crash report

In Organizer in Xcode, I see some users are getting a crash at:
https://github.com/sindresorhus/gifski-app/blob/eac104f38a1956351d1265b7af7d456c95c31bfc/Gifski/MainWindowController.swift#L124
But there's no error message, so it's hard to guess what the issue is.
This crash has been reported for every version of Gifski since it was first released.
This is what I'm seeing in Xcode:

Is there anything we can do to improve the logging of this error? I assumed fatalError would include the actual error message, but it seems not. At least not in the crash report we get from Apple.
D3n6t7-Uxh_FcdK-IatJgq.xccrashpoint.zip

We could use Crashlytics: https://firebase.google.com/docs/crashlytics/customize-crash-reports#add_custom_logs

That guide is for iOS. Fabrics Crashlytics supported macOS, but Google has given no indication of macOS support for Firebase Crashlytics. I also don't trust Google.

What about logging the error with SwiftyBeaver?

That could be an option, but how would we get the logs? We would still have to have them uploaded somewhere.

SwiftyBeaver looks good for logging, but it doesn't do automatic crash reporting. I went with Fabrics Crashlytics. It's still operational even with the new Firebase Crashlytics.

This was fixed by https://github.com/sindresorhus/gifski-app/commit/833fd28d1eed5c989a82af922229b35a59c1f560.


function create --verbose stalls on GKE

Using riff function create --verbose stalls on GKE between the build pod and the running revision. It works fine on minikube.
See https://travis-ci.org/projectriff/fats/jobs/421257815#L767
cc @glyn

Hmmm. I just ran it on GKE and there was a pause of a few seconds after build-step-build-and-push before the application itself started running, but there was no stall. Is there any reason to think that the function creation itself did not stall, as that's the obvious explanation?

Good question, it could be something upstream in Knative Serving not resolving as expected. I pointed the finger towards something being amiss in GKE because the FATS minikube builds passed and the GKE build a few times in a row when trying to add --wait to riff function create in FATS.

In FATS, the command function passes regularly, while the jar function fails regularly.
It looks like the function starts, but the riff --verbose never sees the function as running and times out.
default/fats-uppercase-jar-00001-deployment-8685df5f-kxdhr[user-container]: INFO: Started application in 3.532 seconds (JVM running for 4.408)
Error: function creation failed: RevisionMissing: Configuration "fats-uppercase-jar" does not have any ready Revision.; Revision "fats-uppercase-jar-00001" failed with message: "Unable to create pods for more than 120 seconds.".

https://travis-ci.org/projectriff/fats/jobs/437345291#L768

I haven't seen this in a long time


Protocol Buffer update for release 1.7.x at Fri Oct 30 09:29:09 UTC 2020

Note that there's gonna be some minor changes to this. Will be added to this PR.


Incorrect address display

Right now the estimated address is displayed in the panel. But we need logic that says:

IF official address exists, display official address, ELSE display "City, State ZIP."

That way we are only publishing official addresses. The directions use lat/long, so I don't think we need to use the estimated addresses at all. @shua123 I can dig through the columns to see which we need to use if you want, just need a copy of the table it's coming from (poi_info?)

I have been pulling this from the poi_info table.
There is an 'addr' field that I am using. It is the only field I am using because it has the city and zip in it a lot of the times but it is inconsistent. There are separate zip, zipmuni, and municipality fields.  Take a look at the table and see what you and @glw want to do with it.

Got it. Talked to @glw and will create a new address column for web display.

This is done in the next data update. Guidance from email:
Addresses
I added intersection guidance or an actual address for each location with an entrance (web_street_addr in poi_info). I added municipality/zip code for all POIs (web_muni_addr in poi_info)
Address Search
For search, street names will be in web_street_addr in poi_info. We don’t want to search web_muni_addr for address search (i.e. matching street names).
Address Display
I removed entrance ID associations (parking_entrance_id in poi_info) for locations that don’t have entrances. I moved that entrance ID (when appropriate) to a new column called parking_connection_id. Hopefully we can add a link that says “View closest parking area” that links to the URL/pans to that parking entrance—see (3) below. Let me know if that makes sense. I don’t think it’s critical for July 15, but something that will be valuable when we can include it.
Build addresses like this:
(1) IF [web_street_addr from poi_info] exists:
Entrance
[web_street_addr from poi_info]
[web_muni_addr from poi_info]

(2) IF [web_street_addr from poi_info] DOES NOT exist:
Location
[web_muni_addr from poi_info]

(3) IF [web_street_addr from poi_info] DOES NOT exist AND [parking_connection_id from poi_info] exists:
Location
[web_muni_addr from poi_info]
<href=”[link to location at parking_connection_id]”>View closest parking area

Added address line back into search: https://github.com/smartchicago/trailsy/commit/df1732d77ceebf26ce2ebdd51ffb5314ceff44ec

Okay, (1) and (2) are done.
(3) needs some more work.

@versatilehuman For (3), can you explain what you mean by

[link to location at parking_connection_id]

@shua123 It would plug in the URL from whatever poi_info_ID was included in the parking_connection_id column.

It looks like parking_connection_id is a parking_info_id not poi_info_id or parking_entrance_id.
So I need to take the parking_connection_id, check if any poi_infos are associated with that parking_info_id. If there is a poi_info associated with the parking_info_id, have the link <href=”[link to location at parking_connection_id]”>View closest parking area open up the detail panel for and pan/zoom to that poi?

@shua123 Sorry, yes it would match the parking_entrance_id, then proceed as you outlined.

"View closest parking area" added to poi detail panel display where parking_connection_id exists. Updated on gh-pages version.

Looks good. Only issue I see is browser "back" functionality doesn't work after clicking link. Example:
http://smartchicago.github.io/trailsy/#/?poi=2-Cap+Sauers+Holding+Nature+Preserve
After click, stuck at Teason's.

Back should work okay now. https://github.com/smartchicago/trailsy/commit/5bb5a8e0119ee32beea9e68fb31324a4d88edb9b

Logic issue with close parking: If the close parking poi has been filtered out with search, there won't be anything there.
Example: Search "cap sauers". There will be one result. Click on it to go to Cap+Sauers+Holding+Nature+Preserve. Now if you click on the View closest parking link, the map will go to Teasons Woods but there is no sign icon since that POI had been filtered out by the search.

Thoughts?

Good catch. Let me look at that column next week. I think we could add the closest parking area as an alt name so it shows up in search -- it should make sense for all these but I want to double check.

All these make sense for an alt_name column, so I've updated and should be included in next data update.

Well that only really fixes it for name based searches. If you search for an amenity/activity that POI A has but Closest Parking Related POI B doesn't, it still is an issue.

Hmmm...
I'm at a loss here. We definitely don't want locations without that amenity/activity showing up in search just for the benefit of this. The names works because there is an actual association.
Is there a way to add the POI when the link is clicked? BUT... Let's not make this a priority for now.
@shua123 You think launch with it as is (plus alt name update) or disable? If we launch with it, we can get an estimate on usage through analytics by tracking how many people came from the non-parking POI to the parking POI -- and see what kind of search they executed before that. If it's impacting a lot of people we can re-prioritize?


Design web series page

I would like to work on this issue @QAZIMAAZARSHAD can you please assign me under LGM-SOC

@QAZIMAAZARSHAD  I just have a doubt does this project involve back-end like login and sign-up using mysql and php?

I would like to work on this issue @QAZIMAAZARSHAD can you please assign me under LGM-SOC

I'll assign you this issue when the contribution period starts from 10th June, then you can start working on this issue.

@QAZIMAAZARSHAD I just have a doubt does this project involve back-ends like login and sign-up using MySQL and PHP?

No, but you are always welcome to improve this website.

@QAZIMAAZARSHAD
Can i implement same design as done in Kids page issue #35 for this page also?

Sure,

Thank you :) I will make PR tomorrow


XWALK-4992 [windows] App does not support gamepad

While chromium is bundling xinput1_3.dll from DirectX redist, using whatever
platform suports. Logic about what dll is in use for different platforms is
copied from Xinput.h.
In order to target all of the Windows versions with the same binary, chosen to
keep dynamic linking approach. Otherwise, there would be a problem with
XInputEnable not available in xinput dll before Windows8 and deprecated on
Windows 10.
Upstreaming the patch planned, too.

@darktears
Could you please review it? Thanks.

It looks fine to me. Can you clarify (and in the commit message) how the DLL are supposed to be found in the first place? I get that you special case them per platform but how the loading works?

LGTM, make sure to roll the DEPS

@darktears
Updated the description. Still didn't test this on other versions except on Windows 10. Notifying when ready.

@darktears
Verified also on Wind8. OK to merge.


fix(942160): check REQUEST_FILENAME

This change addresses  #3779

It's a nice bypass and a decent fix. Thanks @mat1010.
I wonder whether we still want to do REQUEST_BASENAME since we now cover REQUEST_FILENAME? It's redundant in most of the cases. But maybe REQUEST_FILENAME allows for a different type of bypass ...

While i was reviewing without reading @dune73's comment i come to the same conclusion - REQUEST_BASENAME is not needed.

You are right. REQUEST_BASENAME is redundant. I removed it in f563dca.

But maybe REQUEST_FILENAME allows for a different type of bypass ...

Not sure if it allows some kind of bypass that wouldn't have worked before. In worst case it could catch more requests as the initial rule since it is now checking the full URI instead of just the name of the script.
While thinking about bypassing this rule I came to an additional easy bypass we have to consider.
Using comments like sleep(/*comment*/5) or pg_sleep(/*comment*/5)- this syntax is not blocked, but would work on a mysql and posgresql server. For benchmark this wont work since the regex is just matching for everything before and after the ,
mysql> SELECT sleep(/*comment*/5);
+-----------+
| sleep( 5) |
+-----------+
|         0 |
+-----------+
1 row in set (5.01 sec)

postgres=# select pg_sleep(/*comment*/5);
 pg_sleep
----------

(1 row)

I will also work on a fix to specifically address comments in the sleep command

Try using removeCommentsChar or replaceComments before making the regular expression unnecessarily complex.

Sorry for the long delay. I added the the comment handling and a test for it.


Prevent homepage scroll #12

Made the sign-in page non-scrollable. Added minor CSS changes to achieve this. Removed .idea folder and added .idea and .idea/workspace.xml to the .gitignore. I hope I did this PR correctly. Thank you for your feedback and looking forward to hearing back from you.

 This is looking really good - merging now 👍


Groupless scorecard generation

Are there plans to create some method of generating scorecards that don't have a group tied to them? I'm excited at the prospect of WCA Live but am hesitant about switching over due to using my own grouping methods.

First of all WCA Live is designed to be used for dealing with results only, so it's not opinionated on how you actually do groups and generate scorecards. At this point we suggest Groupifier, as it handles both grouping and scorecard generation and is compatible with WCA Live (it knows how to talk to the WCA website to load/save the necessary information). It's a external app, and so could be replaced by any other software as long as it satisfies the organizer needs. In general grouping and scorecard printing are two separate tasks and there's a wide variety of functionalities related to each of them, so in the future we will most likely have a dedicated app for scorecards printing and various grouping solutions developed by other people. You can read more on that here.
At the moment one workaround would be setting just 1 group for every round in Groupifier, which would correspond to what cubecomps does now.
I hope that clarifies things. Closing the issue as there's nothing to do in this matter on WCA Live side.
(Btw. Groupifier provides several sorting rules to put people in groups, I'd be happy to chat about the details of what you usually try do accomplish to see if this could be done with Groupifier or what poses the problems).

Got it, thanks for the suggestion! I'll give that a try sometime to get
comfortable with how scorecard generation would work before and during a
competition.
I'd be happy to chat about Groupifier if you'd like! Feel free to reach out
when you have time, I'll be busy for the next week or so but would be happy
to chat about it after that.
On Mon, Sep 23, 2019 at 3:15 PM Jonatan Kłosko<EMAIL_ADDRESS>wrote:

First of all WCA Live is designed
https://github.com/thewca/wca-live/blob/master/docs.md#concept to be
used for dealing with results only, so it's not opinionated on how you
actually do groups and generate scorecards. At this point we suggest
Groupifier, as it handles both grouping and scorecard generation and is
compatible with WCA Live (it knows how to talk to the WCA website to
load/save the necessary information). It's a external app, and so could be
replaced by any other software as long as it satisfies the organizer needs.
In general grouping and scorecard printing are two separate tasks and
there's a wide variety of functionalities related to each of them, so in
the future we will most likely have a dedicated app for scorecards printing
and various grouping solutions developed by other people. You can read more
on that here
https://github.com/thewca/wca-live/blob/master/docs.md#3rd-party-apps.
At the moment one workaround would be setting just 1 group for every round
in Groupifier, which would correspond to what cubecomps does now.
I hope that clarifies things. Closing the issue as there's nothing to do
in this matter on WCA Live side.
(Btw. Groupifier provides several sorting rules to put people in groups,
I'd be happy to chat about the details of what you usually try do
accomplish to see if this could be done with Groupifier or what poses the
problems).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/thewca/wca-live/issues/14?email_source=notifications&email_token=ABPBPDAEHK5BCQVIEWEEAVTQLE5XHA5CNFSM4IZSLXHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7MN4GY#issuecomment-534306331,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABPBPDABTT3CPW2WDJ5ZLITQLE5XHANCNFSM4IZSLXHA
.

As for the random order, scorecards are sorted from worst to best, but yeah that makes the workaround less useful for you. First of all I'd like to see if your needs could be satisfied by appropriate Groupifier configuration (or some reasonable changes to the available options), ping me on Facebook after your busy time is over =)

just played around with a comp and did this, and the cards come in a random order rather than alphabetical, so this isn't really workable for manually sorting based on our own groupings

Manual sorting into groups is a nightmare even when the scorecards are sorted alphabetically
I highly recommend using a tool that generates scorecards already sorted by groups (and that mention the group on the scorecard - no confusion possible at the competition too)


fix: set correct url for Getting Started

Previously Getting Started pointed to /guide.html:

Which doesn't exist. The user guide is at /guide/init.html.

thanks @kristof-mattei


Add instructions to README for using Refile in Rails Engines

I wanted to use Refile in a Rails Engine and ran into the problem, that I wanted to require refile-mini_magick. This lead to the following error which confused me a lot:
bin/rails:6: warning: already initialized constant APP_PATH

The only error was the wrong required file, so maybe this might help someone in the future.

I'm not really sure how else you would require refile in a Rails engine (aside from the fact that you don't need to require mini_magick). This is also pretty much the same thing you'd do if you're not in an engine.

Ok well the only thing that I did wrong was that I used the wrong path for the refile mini magick gem. So maybe it's not that big deal. Thanks for the hint with mini_magick.


Support for CIS0.supports function CIS2Contract class

Description
As explained by CIS2 Standard CIS2 standard should also following CIS0. Which has the function supports. However there is not support for the same function in Cis2Contract class
https://github.com/Concordium/concordium-node-sdk-js/blob/main/packages/common/src/cis2/CIS2Contract.ts
Steps to Reproduce
NA
Expected Result
functions of CIS0 should also be supported.
Actual Result
NA
Versions

Software Version
@concordium/web-sdk: 3.5.0

OS

Browser

Mobile device, if applicable

Hi @parv0888. This is already available, however currently it is imported as it's own function.
import { cis0Supports } from '@concordium/web-sdk';

thanks


Create a main alias for master channel.

To slowly migrate away from master branch in the flutter repository we created a main branch that is mirroring master branch. This PR is also adding a channel alias that will allow to use master/main interchangeably.
Bug: https://github.com/flutter/flutter/issues/95041
Pre-launch Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[X] I signed the CLA.
[X] I listed at least one issue that this PR fixes in the description above.
[X] I updated/added relevant documentation (doc comments with ///).
[X] I added new tests to check the change I am making, or this PR is test-exempt.
[X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

tested the change: using flutter channel, flutter channel main and flutter upgrade.


NIFI-9072: improvements to ValidateXML including validate XML in attr…

…ibutes and non-schema, well-formed XML only validation, and additional documentation

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
https://issues.apache.org/jira/browse/NIFI-9072
Improves ValidateXML by allowing the XML to be in the flowfile content or in a flowfile attribute. Also, the XSD schema is now optional. If the schema is not provided, basic validation is performed simply to ensure the XML is well-formed. Documentation was updated to include sample XSD and XML. Unit tests cover various combinations of content vs. attribute, schema vs. no schema, and valid/invalid XML.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically main)?

[X] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[X] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[X] Have you written or updated unit tests to verify your changes?
[X] Have you verified that the full build is successful on JDK 8?
[X] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[X] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[X] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

The request to use SafeXMLConfiguration as been completed. I performed a force-push because I rebased to current main. This seems to have prevented me from marking the request as resolved - but it is.

Sorry for the confusion regarding the Schema property handling, please disregard those comments.  The only minor remaining thing is the potential opportunity for reducing duplication.
Other than that, this looks workable, although I would like to get concurrence from @markap14 since he raised initial concerns in the Jira issue regarding memory usage.  On that note, is there a reason that using something like ReplaceText to substitute the FlowFile content with the attribute content prior to this Processor is not a workable solution for effectively validating the XML contents of an attribute?

Using ReplaceText goes against the purpose of this ticket. Already, the content of a FlowFile can be validated. However, this ticket is to allow the contents of an attribute to be validated. Use case: an attribute contains metadata about the content; this metadata is in XML format. See the original JIRA ticket for an example use case.
I understand Mark's reservations, and I share them. Large XML documents should be avoided in attributes. However, responsible usage of attributes and "reasonably sized" XML provides an opportunity here. Also, there is support of this feature by @mosermw in this PR.

Still looking for a committer to wrap up this PR. There are no outstanding change requests. Thanks!

Pinging once again.  I think all discussions have been resolved and this is ready to be merged. Are there any outstanding issues that I'm not seeing?

@markobean I'm not sure that I agree that this is a great idea. Having worked with many, many NiFi users, probably the single biggest issue that I encounter is users putting large values into attributes. Attributes should always be small. Think 100-200 characters or less, generally. They should store things like filename = my-file.txt and documentId = 27830278, etc. Tiny key-value pairs. They should never contain large amounts of contents like XML or JSON.
To fully understand why, consider how attributes are handled.

Firstly, they are stored in HashMaps on the FlowFile and are always stored in memory (unless swapped out in a queue). This very quickly results in massive amounts of garbage collection and OutOfMemoryErrors.
They also have to be written out to the FlowFile Repository when any attribute changes. If you change the filename, for instance, the next update to the FlowFile repository writes out all attributes. Now, if we have an 8 KB XML message in an attribute, we don't write 200 bytes, we write 8 KB. Potentially every time the FlowFile moves from 1 queue to the next.
We also have to write the attributes for every single Provenance event. So we have doubled the expense just mentioned.
If the data is swapped out, we get to remove it from heap. But that happens by default at 20,000 FlowFiles and only in chunks of 10,000 FlowFiles. So we need to buffer about 30,000 FlowFiles per FlowFile Queue!
And if we swap it out, we then get to drop those attributes from the heap, but we have to write out that big XML chunk again. And we have to read it in and deserialize it again when swapping back in. Performance will suffer greatly.

But out of all of these concerns, the greatest, by far, is the heap exhaustion and OutOfMemoryErrors that get generated. When a user buffers a bunch of data into FlowFile attributes, they can significantly affect all users of the system. Once you buffer so much that you start throwing OutOfMemoryErrors, you're now into an area where you can potentially even start to affect the stability of the cluster because nodes are constantly performing garbage collection, etc.
Because of this, we should very much discourage putting XML, JSON, or any other large chunks of content into FlowFile attributes. So I have trouble supporting any update that further encourages this anti-pattern.

So a summary of sorts: Improving validation of XML in content is good/great/useful and safe.  Creating or increasing validation of XML in the context of attributes is far less desirable as having such payloads in attributes should not be encouraged given the design reasons MarkP noted.
I do agree.
To add to this I just spent 45 minutes on a call with a great long time user of nifi, they know what they're doing, and they're getting bit by the usage of large memory caused by very similar circumstances.  And had they looked at the docs it would have called out how to avoid getting into the memory exhausting situation but these are rarely sufficient guard rails particularly as the user base has expanded well beyond software developers the past few years.
MarkB in an earlier JIRA comment said " I find it overly limiting to prevent responsible usage only for fear it may be abused."  Of course many of us would agree with that statement on its own.  But we do need put in reasonable effort to not lean into features which encourage dangerous usage patterns OR we need to include features that by default prevent exposure the danger of the pattern.  In this case we'd be hard pressed to put an artificial limit on attribute size now that we didnt from the get go.  On the other hand it isn't a great idea to encourage large attributes by adding capabilities to operate on them.
Ultimately this part of the community job is unpleasant.    Saying yes to this example is also not fun because it means we're implicitly adding support for a usage pattern we know we have not designed for and for which we see users run into trouble all the time.
We have many cases where we've been inconsistent on such things and this is by no means the straw that would break our back.  That said we do need to push back where we can and the review process is a helpful way.  MarkB you certainly could put up a processor such as ValidateXMLAttribute and offer that via a github repository.  We could link to such custom processors as we have done in other cases.  I think that is the intent of a wiki page like this https://cwiki.apache.org/confluence/display/NIFI/Community+Contributions

Not to be silly, but why doesn't nifi cap the size of attributes explicitly?

@markap14 I do not disagree with any points your have made about the dangers of using large attributes. Also, thanks for detailing the reasons of why this can be a problem for other users who may not be aware. Rest assured, these were all considerations and well within the understanding and scope of the use case which drove this ticket. We have never had OOM issues, and the usage is for approximately 200 FlowFiles per day with reasonably sized XML attributes.
I appreciate the necessity to prevent “bad things” happening as much as possible. While I respectfully disagree with limiting the platform out of fear of self-induced problems, I understand such problems do occur in the real world.
Since NiFi is easily extensible, we will apply these changes to a custom processor to satisfy the specific case without injecting it to the NiFi community.
@joewitt I hear what you’re saying about being inconsistent. A prime example related to this PR for processing XML in attributes is available right in Expression Language. It has functions such as (un)escapeXml, and also (un)escapeJson and (un)escapeHtml. It seems the availability of these functions promotes placing XML (or JSON or HTML) into attributes equally as much as this PR, or even more since EL can be applied to a wide variety of processors. EL even has other jsonPath* functions whose simple examples in the EL Guide include 300-500 character JSON strings. Perhaps these examples should be updated to simpler JSON more consistent with the recommended limitation.

I agree those are excellent examples of inconsistency and we should ensure we have disclaimers on them about usage.  In a nifi 2.0 world I think we ought to punt those out for the reasons we are talking about here or at least make the danger of their usage more obvious.  I'm not sure that view is widely shared but the more I spend time with users who truly just dont know these things the more we have to find reasonable ways to provide safety.  On the other hand...the more we turn this into a safety tool the less powerful it is for the more capable people.  I'm not sure what the best way to thread that needle is without coming across or acting inconsistently.  Maybe we were on the right track with annotations which alerted the user to such things but we need to make that a more prominent part of the user experience.
otto i do think we have some limit on the size of attributes or at least I know we considered it.  On the other hand we also have to consider how many attributes there can be on a given flowfile.  But then on top of that we have to consider how many flowfiles can be in the system at any one time and of that how many can have their metadata in memory at any one time.  It is not uncommon to see real user flows with hundreds of thousands or millions of flowfiles in flight at any one time under normal conditions.  The swapping stuff helps but doesn't eliminate the problem.  Hard limits become tricky as they're fairly arbitrary.

On further thought...
In this PR we do have an annotation to warn users.  The EL examples provided where we're already inconsistent don't have that benefit.  This is at least better handled than those.  So to that end I dont know we have a strong enough argument to not bring this in.
MarkP: Im not saying I disagree with your points.  Of course they're all true.  But I do at least for my own comments here feel like I have a weak case to not support this in comparison to existing items.

@markobean @joewitt thanks for your responses. So here's my personal viewpoint.

I do agree that we have several things already like jsonPath functions in Expression Language, escapeHtml, etc. That should never have existed.
I do agree also that there could be some applicable use cases. I can imagine having some metadata that is say < 1 KB of XML that could be in an attribute. It's probably rare but definitely feasible.
My concern here is that by enabling this, we may further perpetuate the idea that it's ok to put arbitrarily large chunks of data in attributes.
@markobean I know you have significant experience here and it probably makes perfect sense for your use case. However, the more I interact with users, the more that I see this pattern of attributes are keyed content, and it creates a lot of issues. While it probably makes perfect sense for your use case, I'm concerned about encouraging those with less experience.
The annotation does provide some warning.
The processor itself isn't designed to create large attributes from content - only verify that already exists as an attribute is, in fact, valid. Without it, the solution may be to simply create the attribute anyway and avoid performing any validation on it, potentially leading to errors later in the flow.

I personally don't like adding this in such that we further encourage poor flow design patterns. That said, these are well thought-out, well-articulated arguments. While I won't vote a +1 for this issue & merge the PR, I won't vote a -1 either. I'll say I'm a +0. Fair enough?
@exceptionfactory if you are comfortable with the changes, you should feel free to merge from my standpoint.

Thanks for the additional discussion on this @markap14, @joewitt, and @markobean!
Based on the direction of the discussion, I'm not inclined to merge the changes as they stand. However, I think there is value some of these features.
Making the Schema File optional to support minimal well-formed XML checking is a useful improvement, so that would be helpful on its own.
Regarding validation of XML attributes, what do you all think about a new ValidateXmlAttribute processor?
The current ValidateXml processor is fairly simple as it stands, and separating attribute validation into a separate processor provides a clearer distinction of capability. I also noticed that the getBytes() call current has UTF-8 hard-coded as the character set. Moving this handling to a separate processor provides the opportunity to make the character set a configurable property, which is not currently necessary when processing FlowFile content input streams. Although there may be some overlap in core schema validation functionality, having a separate ValidateXmlAttribute processor would follow the pattern of some other attribute-specific processors.

I am a -1 for an additional ValidateXMLAttribute processor. Such a processor adds to processor bloat, and it does not solve any of the current resistance outlined in this PR. In fact, it creates more problems than it solves.
Another negative to such a named processor is the increased visibility into the fact that XML in attributes is supported. This will only exacerbate the concerns of uninformed users voiced by @markap14. Another nudge to the +1 direction of this PR is the fact that the processor handles attributes is not obvious unless/until a user looks at the configuration options and documentation. And, to be explicit, the processor documentation clearly has a warning for use of large attribute values by making use of the @SystemResourceConsideration.

Thanks for the reply @markobean, I can see why adding a specific processor takes us further down a road that is not ideal, as others have already stated.
Without wanting to complicate things further, the character set encoding is a concern, requiring an additional optional property.
From a maintenance point of view, it is much easier to deprecate an entire component, as opposed to a property. Adding this feature, even with warnings and documentation, locks in future support for a long period of time. I would much rather see that in a separate processor, even given the discussion thus far. If the concern is that it makes the capability too obvious, then that goes against introducing the feature in this processor. In absence of other reasons for supporting this feature in this processor, I am still not inclined to move forward as it stands.

I think I would be more inclined to accept this PR than to introduce a separate ValidateXMLAttribute processor, as well. If there's concern about adding the character set property, that can be easily addressed by adding an "XML Source" property - either "FlowFile Content" or "FlowFile Attribute" and then make the attribute name dependent, as well as making the "character set" property dependent. That way, we require the Character Set if reading FlowFile content and it's not an option if using an attribute.

The character set issue pointed out by @exceptionfactory refers to the getBytes() call when reading an attribute value. Yet, @markap14 suggests using the proposed character set property only for flowfile content. However, for content, this processor uses Java classes accepting InputStream, not a character set-specific String.
Additionally, this processor is not generating or modifying content. I don't think the character set is relevant in order to accurately parse XML. IMO, we're getting into issues of relevance and scope creep for this ticket.

Ah @markobean my mistake - I thought the discussion about a character set was about converting the InputStream (flowfile content) into a String, not converting an attribute into bytes. I don't think we need to expose any property for the character set to use when serializing the attribute. UTF-8 should be fine for that.

OK went ahead and merged. Thanks all!

Thanks @markap14 !


OSD-26937: Removing Pete Brown from reviewers

Closes OSD-26937

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 64.22%. Comparing base (7d465a2) to head (b37dc39).

Additional details and impacted files

@@           Coverage Diff           @@
##           master     #154   +/-   ##
=======================================
  Coverage   64.22%   64.22%
=======================================
  Files          22       22
  Lines        1504     1504
=======================================
  Hits          966      966
  Misses        459      459
  Partials       79       79

/test validate

/approve


Optimize arguments handling

Remove memory/cpu overhead of handling arguments when they are empty. This is important in case of user loading a dump of their database. In such a case, there are no arguments at all and the number of statements is usually big.
Refs https://github.com/tursodatabase/turso-cli/issues/735

Ok, let's merge this

Thanks. It seems that I will have to change this significantly for streaming so I will try to improve the situation then.


[Language request]

Finnish?

Done. You might need to refresh the page a few times to make it update.


[FEATURE] Stock recommendation

Is this a unique feature?

[X] I have checked "open" AND "closed" issues and this is not a duplicate

Is your feature request related to a problem/unavailable functionality? Please describe.
A stock recommendation model using Machine Learning analyzes an investor's portfolio to suggest stocks with similar characteristics but different specific offerings. It examines patterns in the investor's current holdings, such as industry sectors, market trends, and stock performance metrics. By leveraging algorithms like clustering, regression, and collaborative filtering, the model identifies alternative stocks that align with the investor's preferences while offering diversification opportunities. This approach helps investors discover new stocks that fit their risk tolerance and investment goals while maintaining a balanced portfolio, ultimately enhancing their potential for returns through more informed investment decisions
Proposed Solution
The proposed solution for a stock recommendation model using Machine Learning involves analyzing an investor's existing portfolio to suggest similar yet diverse stocks. It begins by collecting data on stock performance, historical trends, and financial metrics. By employing algorithms like K-means clustering for grouping similar stocks and collaborative filtering to identify relevant alternatives, the model can recommend stocks that align with the investor's preferences while promoting diversification. This approach enhances investment decisions by helping investors discover new opportunities that fit their risk tolerance and financial goals.
Screenshots
.
Do you want to work on this issue?
No
If "yes" to above, please explain how you would technically implement this (issue will not be assigned if this is skipped)
No response

@sapnilmodak , all the best,
please ensure to star the repo

Should I Utilize clustering algorithms to develop a buy/sell recommendation system.
@rohitinu6

@rohitinu6  accept the pr


Anyone tried using the API to create a iOS Shortcut to save links from iPhone?

I see theres no mobile apps on the roadmap, I really want to give this a go but I have to be able to add links from my phone.
But if Grimoire has an API then it more than likely possible to create a shortcut for iOS. I just wouldn't know how to actually make it work.

Hello @relink2013! Firstly, sorry for not getting back to you sooner.
I have looked into this topic and came with a quick Apple Shortcut template you can configure yourself and use: https://www.icloud.com/shortcuts/4d84bb8c7872429aa2d486dc66a4164e
It requires you to set:

correct URL to your Grimoire instance
generating a valid token for the authorization header (for now, you need to send POST request to <GRIMOIRE_URL>/api/auth with a JSON body containing an object with login (username or e-mail) and password
pasting this token into the last step's (Get contents of Text) Authorization header in the place of key (just after Bearer

As for generating the token, I plan to add the ability to specify your own long-term API tokens for such integrations in the user's settings page. The existing one is being used by the web extension only.

Awesome, added it to my shortcuts and I'll be trying it soon.


Delete using multiselect checkbox in comments panel fails

Delete using multiselect checkbox in comments panel fails due to issue with pdftron. Occurs after upgrade to 10.3.0. Currently only in dev-marshal
Private Zenhub Image
Private Zenhub Image
Private Zenhub Image
Link bug to the User Story
Impact of this bug
Describe the impact, i.e. what the impact is, and number of users impacted.
Chance of Occurring (high/medium/low/very low)
Pre Conditions: which Env, any pre-requesites or assumptions to execute steps?
Steps to Reproduce
Steps to reproduce the behavior:

create a redaction
open comments panel
select redaction using multiselect checkbox
delete using the actions icons at the bottom of the panel
confirm popup

Actual/ observed behaviour/ results
annotation will be deleted in ui but if page is refreshed annotation will return
Expected behaviour
annotation should be permanently deleted
Screenshots/ Visual Reference/ Source
If applicable, add screenshots to help explain your problem. You an use screengrab.

Ticket was opened with PDFTron; they said they fixed it, but we need to verify.

working as expected , so closing


map-request Indonesia

hey the previous react-jvectormap have Indonesia map built in i was wondering if there Indonesia map here? or im missing something?
Thx

Done - https://www.npmjs.com/package/@react-jvectormap/indonesia


Don't require write access to pods (use pod/status)

Expected Behavior

What's described here: https://github.com/kubernetes/kubernetes/pull/65022#discussion_r195087195
Should be an easy fix. Will required adjusting our RBAC yamls once implemented.
Current Behavior

We write to the pod API.
Possible Solution

Write to the pod/status subresource instead.
Context

What's described here: https://github.com/kubernetes/kubernetes/pull/65022#discussion_r195087195
Your Environment

libcalico-go version:
Operating System and version:
Link to your project (optional):

Looks like key difference with the example in that thread is setting the subresource.  I think that maps to this incantation on the go API:
pod, err := c.clientSet.CoreV1().Pods(ns).Patch(wepID.Pod, types.StrategicMergePatchType, patch, "status")

I had tried patching the status before (but possibly without calling it out as a subresource?) in order to try the patch to the PodIP field directly.  That didn't work because kubelet clobbers it.  I don't think I've tried the exact incantation above (with ", status"); seems promising.
One thing to be wary of: retesting this might require a scale run; wasn't that the only way we hit this problem?

retesting this might require a scale run; wasn't that the only way we hit this problem?

It's where the impact was most prominent for sure, but I think the risk is fairly low. I'd be happy to make this change without a scale re-test specifically for it.


Adding rules for TEA, XTEA, XXTEA and RIPEMD hashing

Adding rules for XTEA, XXTEA, RIPEMD-128, 160, 256, 320
Adding to current rules for TEA encrypt & decrypt
Relates to issue #676

Thank you for the review! A follow up commit addresses these comments above:

rules with examples are moved out of nursery
unneeded examples removed from rules and their example files removed from the PR for capa-testfiles
DS_store files deleted

If @williballenthin doesn't object in the next few days, I'll merge this. Thanks, everyone!

send it!

Thanks, Willi and Ray!