Fix drawing rectangle annotations on a rotated map.

If you create a rectangle annotation on a rotated map by clicking twice (rather than by clicking and dragging), the rectangle would be aligned to the map, not the screen.

Codecov Report

Merging #694 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #694      +/-   ##
==========================================
+ Coverage   95.22%   95.24%   +0.02%
==========================================
  Files          84       84
  Lines        8919     8920       +1
==========================================
+ Hits         8493     8496       +3
+ Misses        426      424       -2

Impacted Files
Coverage Δ

src/annotation.js
100% <100%> (ø)
:arrow_up:

src/mapInteractor.js
96.11% <0%> (+0.28%)
:arrow_up:

Continue to review full report at Codecov.

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


Polish translation (copied from Roboblocks fork)

Not well formatted, sorry.

Hi. This content must be placed in file called lang/pl-PL.js


Make use of the instruction folder.

Implementation of the simplification pass.

Create pass that calls the instruction folder on each instruction and
propagate instructions that fold to a copy.  This will do copy
propagation as well.

Did not use the propagator engine because I want to modify the instruction
as we go along.  It allows the folding code to be much simpler because we
do not need the map for the ids since we can change the ids as we go along.

Change folding to not allocate new instructions, but make changes in
place.

Add simplification pass to the legalization passes in place of
insert-extract elimination.

Still need to add test.  Please comment on the overall design for what is already there.

Yes, I will admit this will not get all of the cases that using the propagator will miss.  The things it will miss are those that get exposed because of dead branches.  We could run dead branch elimination before hand, but we would still miss those that we realize are dead during the simplification pass.
I did not use the propagator because of the complication it would add to managing the memory of the instructions.  What I found very early was that creating and deleting instructions during this pass is very very expensive.  The compile time is much better if we do the changes in place.
However, the propagator relies on doing a complete analysis, and then changing the code.  The change from interesting to varying would require reverting back to the original.  This means creating copies of instructions, and keeping track of them.
The other issue is how to handle the lattice.  It seems like the propagator has only 3 levels {not interesting, interesting, varying}.  However, simplifying can give a lot of different "interesting" values, that might have a more complicated hierarchy.  They do not from a simple 3 level lattice.  The mapping for this is not very clear.  If there is a way of doing this, you can show me, and then we can talk about it.

On Tue, Feb 6, 2018 at 2:52 PM, Steven Perron<EMAIL_ADDRESS>wrote:

Yes, I will admit this will not get all of the cases that using the
propagator will miss. The things it will miss are those that get exposed
because of dead branches. We could run dead branch elimination before hand,
but we would still miss those that we realize are dead during the
simplification pass.
I did not use the propagator because of the complication it would add to
managing the memory of the instructions. What I found very early was that
creating and deleting instructions during this pass is very very expensive.
The compile time is much better if we do the changes in place.
However, the propagator relies on doing a complete analysis, and then
changing the code. The change from interesting to varying would require
reverting back to the original. This means creating copies of instructions,
and keeping track of them.
The other issue is how to handle the lattice. It seems like the propagator
has only 3 levels {not interesting, interesting, varying}. However,
simplifying can give a lot of different "interesting" values, that might
have a more complicated hierarchy. They do not from a simple 3 level
lattice. The mapping for this is not very clear. If there is a way of doing
this, you can show me, and then we can talk about it.

Yup, thanks for confirming.  It's indeed simpler to handle it this way.
For copy-prop, we could do a lattice, but it's true that for actual
simplification (x + y -> x + 0 -> x), we could end up with several levels.
Most likely easier to just schedule this pass a couple of times, or, even,
have the pass itself run N times until convergence (N < 3?).  But, let's
have the pass in first.  We can tweak later.


Application entry point file error caused by erroneous module path

Giving this one last shot before I abandon this and try to find new avenues.
I went through the various issues on nativescript-cli and here.
This is very likely a directory permission issue I'm having with my machine, but I'd like to see if somebody knows of a solution to this problem which may or may not pertain to permissions.
Like everyone else, I'm following this video tutorial:
Some of the installation processes would fail. For ng create myApp I had to run  npm run postinstall. I had to run the following with sudo in order for it install Magic properlly: sudo npm i nativescript-ng2-magic
The error I get on my device:

tns doctor passes successfully.
npm run start.android successfully opens up the android emulator and runs the app (which fails). I've tried going into the nativescript folder and running tns emulate android with the same result. I accidentally ran tns run android and the app was loaded into my phone - same result.
files:
src/app/app.component.tns
import { Component } from 'nativescript-ng2-magic';

@Component({
  selector: 'app-root',
  templateUrl: './app/app.component.html',
  styleUrls: ['./app/app.component.css']
})
export class AppComponent {
  title = 'app works!';
}

nativescript/app/main.ts:
// this import should be first in order to load some required settings (like globals and reflect-metadata)
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {NS_ROUTER_PROVIDERS, NS_ROUTER_DIRECTIVES} from "nativescript-angular/router";
import {MagicService} from "nativescript-ng2-magic";
MagicService.ROUTER_DIRECTIVES = NS_ROUTER_DIRECTIVES;

// import your root component here
import {AppComponent} from "./app/";

nativeScriptBootstrap(AppComponent, [NS_ROUTER_PROVIDERS], { startPageActionBarHidden: false });

src/app/app.component.tns.html:
<ActionBar title="hello!">
</ActionBar>
<StackLayout>
    <Label [title]="title" textWarp="true"></Label>
</StackLayout>

Please advise. Thanks in advance

Solved, but after going through too many hoops... :disappointed:
First of all, issue was related to me coding with Webstorm as root (so the commandline in the software sets the user to root by default) so the installation process was done incorrectly - needs to be done from a regular user calling sudo.
second, there was a ton of npm packages version issues relating to nativescript-angular 0.4.1. I'm a little to tired to check this now, but it's possible that one of the package.json has the version for nativescript-angular set as latest (prefix with caret ^).
In version 0.4.1 of the nativescript-angular, they removed the usage of nativeScriptBootstrap (by removing the directory nativescript-angular/application) and instead used the platformNativeScriptDynamic from nativescript-angular/platform.
Their documentation of that change is not indicated in their main README.md file. The change is hinted in the changelog file you need to search for, but it won't provide you with an explanation of how to use platformNativeScriptDynamic (or why use it at all).
The answer lied in coping [https://github.com/NativeScript/nativescript-angular/blob/master/ng-sample/app/app.ts](the example app) they have in their repository.
As a conclusion, I recommend the nativescript-ng2-magic team provide a quick update video on how to get running with nativescript-angular 0.4.1.


Property get is not a function (Qt 5.15)

Using the Fedora 33 build of MuseScore plus TempoChanges 3.4.0, I see these messages on the console:
file:///home/jamesjer/Documents/MuseScore3/Plugins/MuseScore_TempoChanges-3.4.0/TempoChanges.qml:450: TypeError: Property 'get' of object 1 is not a function

I see two of those messages every time I use the plugin.  Fedora 33 currently uses Qt 5.15.2.  I wondered if the messages might be related to the deprecation of the "onFoo:" properties, so I changed line 449 to:
function onCurrentIndexChanged() { // update the value fields to match the new beatBase

With that change, the error messages are gone.  The plugin appeared to operate normally both before and after making the change.  I believe the onFoo properties were not deprecated until Qt 5.15, so I don't know at what point you will want to make this change, but just wanted to point out that you will probably want to do so in the future.

5.15.2 still includes the possibility for using QtQuick.Controls 1.1 (1.4) which still have the onCurrentIndexChanged function.
Your change made it so the event handler is no longer called, but is now just an uncalled function (so no, the plugin likely doesn't work in the same way any longer). You should be able to validate this by inserting a console.log("I was here"); statement inside that function and run it from the Plugin Creator. I'm betting you won't see the log output happening.
What it seems to complain about is the line below, that you can't use get on beatBase.model any longer. Which I also don't (yet) understand, as https://doc.qt.io/qt-5/qml-qtqml-models-listmodel.html#get-method seems to indicate that this is still perfectly ok.
Anyhow; as MuseScore 3 is still on 5.9/5.12 and 5.15 isn't happening until MS4.0 (if it doesn't go straight to 6) and there is no decision yet on how the plugin framework will evolve I'll keep this in mind when the alpha/beta is released to review and update as necessary. Thanks for the heads-up!


⚠ Bofrost.de has degraded performance

In 91a4c83, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1706 ms

Resolved: Bofrost.de performance has improved in 7020f4c.


iOS: Chat does not accept autocorrect suggestion on send

Most messaging apps automatically accept the current autocorrect suggestion on send.
I probably don't have bandwidth to fix this myself, but if anyone has pointers on where to get started, that would be helpful!

I'm adding a test case to this issue, in hopes to better define the problem.
Try typing the following input string into the iOS Messages app:
on<space>teh<space>potch<send>
Upon clicking the "Send" button, iOS Messages auto-corrects the input and sends the following correct text:
on the porch
If you try typing the same input string in a Keybase Chat conversation on an iOS device, the sent message is instead:
on the potch
(Note how the second word was auto-corrected, but the final word was not.)
The net effect of this issue is that iOS users of Keybase often have misspellings in the last word they type.
This issue is significant enough for my techy iOS wife to want to ditch Keybase altogether.  😱
I'm not an iOS developer, but I'm motivated to do some digging myself if someone can point me in the right direction.  From what I've found, the iOS Keybase client is located at https://github.com/keybase/client/tree/master/shared and is developed with React Native.
Any pointers on where I can start poking?  Thanks!

Related issues:

https://github.com/facebook/react-native/issues/9273
https://github.com/facebook/react-native/issues/9273

Possibly fixed upstream?  One thread reports as fixed in v0.54.0.  Do we know what version of react-native is in use on the Keybase iOS app?

Found this in package.json:  "react-native": "0.60.5".  Seems as if we already have the aforementioned upstream fixes.
This suggestion (https://github.com/facebook/react-native/issues/2552#issuecomment-340054421) pointed me to the associated callbacks for the TextInput field.  I believe the proper place is https://github.com/keybase/client/blob/c8d5dc26dfd2053a28f61f6070305bcda70130fe/shared/chat/conversation/input-area/normal/platform-input.native.tsx#L177
Should the onSubmit() at https://github.com/keybase/client/blob/c8d5dc26dfd2053a28f61f6070305bcda70130fe/shared/chat/conversation/input-area/normal/platform-input.native.tsx#L84 include a call to onChangeText()?

I've blindly coded up what I feel might be a fix.  However, I don't currently have a means of testing.
Is anyone willing to review?  https://github.com/keybase/client/compare/master...JElchison:dev-chat-autocorrect-19574
Also, is anyone willing to test?  https://github.com/JElchison/client/tree/dev-chat-autocorrect-19574
Many thanks!


⚠ Bofrost.de has degraded performance

In 3102692, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1688 ms

Resolved: Bofrost.de performance has improved in 1bf29d2.


Hard drives out of order after reboot

Description
I have a newer flatcar vm in VMWare ESXi that has 4 hard drives.  These drives have different size amounts.  df command correctly associates the Filesystem and Mounted on, but the Size of disk changes when I reboot.  Navigating to the the Mounted on path shows the wrong files and folders.  If I keep rebooting, eventually the drives are correct and return to the initial installed order.
Config is based off the https://flatcar-linux.org/docs/latest/setup/storage/mounting-storage/#use-attached-storage-for-docker documentation.
Output of df -h at initial install
Filesystem       Size  Used Avail Use% Mounted on
devtmpfs         4.0M     0  4.0M   0% /dev
tmpfs             32G     0   32G   0% /dev/shm
tmpfs             13G  9.9M   13G   1% /run
/dev/sda9         14G  308M   13G   3% /
/dev/mapper/usr  983M  680M  253M  73% /usr
none             450M  259M  192M  58% /run/torcx/unpack
tmpfs             32G     0   32G   0% /media
tmpfs             32G     0   32G   0% /tmp
/dev/sdf         251G  7.2G  231G   4% /srv/dockerbackups
/dev/sde          20G  8.0K   19G   1% /srv/dockerlogs
/dev/sdc         974M  2.2M  905M   1% /srv/dockercompose
/dev/sdb          63G   16G   44G  27% /var/lib/docker
/dev/sdd          94G  3.8G   86G   5% /srv/dockervolumes
/dev/sda6        128M  6.6M  118M   6% /usr/share/oem
tmpfs            6.3G     0  6.3G   0% /run/user/500
tmpfs            6.3G     0  6.3G   0% /run/user/1001

Output of df -h after reboot (Size is wrong)
Filesystem       Size  Used Avail Use% Mounted on
devtmpfs         4.0M     0  4.0M   0% /dev
tmpfs             32G     0   32G   0% /dev/shm
tmpfs             13G  9.0M   13G   1% /run
/dev/sda9         14G  300M   13G   3% /
/dev/mapper/usr  983M  680M  253M  73% /usr
none             450M  259M  192M  58% /run/torcx/unpack
tmpfs             32G     0   32G   0% /media
tmpfs             32G     0   32G   0% /tmp
/dev/sdf          20G  8.0K   19G   1% /srv/dockerbackups
/dev/sdc          63G   16G   44G  27% /srv/dockercompose
/dev/sdd          94G  3.8G   86G   5% /srv/dockervolumes
/dev/sdb         974M  2.2M  905M   1% /var/lib/docker
/dev/sde         251G  7.2G  231G   4% /srv/dockerlogs
/dev/sda6        128M  6.6M  118M   6% /usr/share/oem
tmpfs            6.3G     0  6.3G   0% /run/user/500
tmpfs            6.3G     0  6.3G   0% /run/user/1001

Impact
Severe.  Reboot or System Upgrades cause the drives to be mapped wrong and docker containers do not start after reboot OR they do start but are reading and writing to the wrong drives risking data loss.
Environment and steps to reproduce

Create a VM in VMWare ESXI via flatcar_production_vmware_ova.ova
Use a cloud-config with the following

systemd:
  units:
    - name: var-lib-docker.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount docker disk to /var/lib/docker
        Before=local-fs.target
        [Mount]
        What=/dev/sdb
        Where=/var/lib/docker
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockercompose.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockercompose
        Before=local-fs.target
        [Mount]
        What=/dev/sdc
        Where=/srv/dockercompose
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockervolumes.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockervolumes
        Before=local-fs.target
        [Mount]
        What=/dev/sdd
        Where=/srv/dockervolumes
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerlogs.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerlogs
        Before=local-fs.target
        [Mount]
        What=/dev/sde
        Where=/srv/dockerlogs
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerbackups.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerbackups
        Before=local-fs.target
        [Mount]
        What=/dev/sdf
        Where=/srv/dockerbackups
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: docker.service
      dropins:
        - name: 10-wait-docker.conf
          contents: |
            [Unit]
            After=var-lib-docker.mount
            Requires=var-lib-docker.mount
            After=srv-dockervolumes.mount
            Requires=srv-dockervolumes.mount
            After=srv-dockerlogs.mount
            Requires=srv-dockerlogs.mount
storage:
  filesystems:
    - name: docker
      mount:
        device: /dev/sdb
        format: ext4
        wipe_filesystem: false
    - name: dockercompose
      mount:
        device: /dev/sdc
        format: ext4
        wipe_filesystem: falsee
    - name: dockervolumes
      mount:
        device: /dev/sdd
        format: ext4
        wipe_filesystem: false
    - name: dockerlogs
      mount:
        device: /dev/sde
        format: ext4
        wipe_filesystem: false
    - name: dockerbackups
      mount:
        device: /dev/sdf
        format: ext4
        wipe_filesystem: false

Upgrade to the latest stable build

DISTRIB_ID="Flatcar Container Linux by Kinvolk"
DISTRIB_RELEASE=3139.2.2
DISTRIB_CODENAME="Oklo"
DISTRIB_DESCRIPTION="Flatcar Container Linux by Kinvolk 3139.2.2 (Oklo)"

Expected behavior
/dev/sdb should always mount the same drive after reboot.
/dev/sdc should always mount the same drive after reboot.
/dev/sdd should always mount the same drive after reboot.
/dev/sde should always mount the same drive after reboot.
/dev/sdf should always mount the same drive after reboot.
Additional information
This config used to work with older CoreOS vms (managed over 100 vms for several months) that worked as of 7/28/2019 stable versions.
ESXi 7.0 U2 virtual machine

I share your frustration. I think this actually works 9/10 times but that one time is really when the order of the drives is wrong.
To overcome this you can add a label to each drive via ignition and then mount it by label via /dev/disk/by-label, vs /dev/sdX. This is the (reliable) way and also suggested somewhere in the flatcar docs.

@till  @pothos  Thanks for the feedback.  I will test out this with a new fresh install and confirm by-label.
While I realize Flatcar is intended to be ephemeral, any idea how to change this post deployment?

@till @pothos
Updated my config to use by-label, but now the disks are out of order on the first time boot.  VMWare Disks do not match the order in the Container linux config yaml.
While this may fix the drives changing on reboot, how do I associate a VWMARE disk 2 with a Systemd unit order?
Specifically /srv/dockerlogs changed to Disk 4 96 GB.
VMWare Disks
Disk 1 16 GB
Disk 2 64 GB
Disk 3 1 GB
Disk 4 96 GB
Disk 5 20 GB
Disk 6 256 GB

df -h
Filesystem       Size  Used Avail Use% Mounted on
devtmpfs         4.0M     0  4.0M   0% /dev
tmpfs             16G     0   16G   0% /dev/shm
tmpfs            6.3G  9.0M  6.3G   1% /run
/dev/sda9         14G   31M   13G   1% /
/dev/mapper/usr  983M  680M  253M  73% /usr
none             450M  259M  192M  58% /run/torcx/unpack
tmpfs             16G     0   16G   0% /media
tmpfs             16G     0   16G   0% /tmp
/dev/sdb         974M   24K  907M   1% /srv/dockercompose
/dev/sdf         251G   28K  239G   1% /srv/dockerbackups
/dev/sdd          94G   24K   90G   1% /srv/dockerlogs
/dev/sde          20G   24K   19G   1% /srv/dockervolumes
/dev/sdc          63G   24K   60G   1% /var/lib/docker
/dev/sda6        128M  6.6M  118M   6% /usr/share/oem
tmpfs            3.2G     0  3.2G   0% /run/user/500
tmpfs            3.2G     0  3.2G   0% /run/user/1001

  units:
    - name: var-lib-docker.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount docker disk to /var/lib/docker
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-label/docker
        Where=/var/lib/docker
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockercompose.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockercompose
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-label/dockercompose
        Where=/srv/dockercompose
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockervolumes.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockervolumes
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-label/dockervolumes
        Where=/srv/dockervolumes
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerlogs.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerlogs
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-label/dockerlogs
        Where=/srv/dockerlogs
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerbackups.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerbackups
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-label/dockerbackups
        Where=/srv/dockerbackups
        Type=ext4
        [Install]
        WantedBy=local-fs.target

storage:
  filesystems:
    - name: docker
      mount:
        device: /dev/sdb
        format: ext4
        wipe_filesystem: false
        label: docker
    - name: dockercompose
      mount:
        device: /dev/sdc
        format: ext4
        wipe_filesystem: false
        label: dockercompose
    - name: dockervolumes
      mount:
        device: /dev/sdd
        format: ext4
        wipe_filesystem: false
        label: dockervolumes
    - name: dockerlogs
      mount:
        device: /dev/sde
        format: ext4
        wipe_filesystem: false
        label: dockerlogs
    - name: dockerbackups
      mount:
        device: /dev/sdf
        format: ext4
        wipe_filesystem: false
        label: dockerbackups

VMWare uses a single SCSI controller and adds drives to it when you add additional drives to a VM.  So there needs to be a way to mount drives that honors the SCSI order.
ls -dl /sys/block/sd*/device/scsi_device/*
drwxr-xr-x. 3 root root 0 Jun  8 02:46 /sys/block/sda/device/scsi_device/0:0:0:0
drwxr-xr-x. 3 root root 0 Jun  8 02:46 /sys/block/sdb/device/scsi_device/0:0:1:0
drwxr-xr-x. 3 root root 0 Jun  8 02:46 /sys/block/sdc/device/scsi_device/0:0:2:0
drwxr-xr-x. 3 root root 0 Jun  8 02:46 /sys/block/sdd/device/scsi_device/0:0:3:0
drwxr-xr-x. 3 root root 0 Jun  8 02:46 /sys/block/sde/device/scsi_device/0:0:4:0
drwxr-xr-x. 3 root root 0 Jun  8 02:46 /sys/block/sdf/device/scsi_device/0:0:5:0

You can use /dev/disk/by-path/ entries if you are sure about their naming. There is no correct or wrong order of sda, sdb, sdc, as far as I know because the kernel assigns the next name to the fastest drive appearing which could also be a USB stick that gets detected in the middle of the two SCSI devices being detected, and it will get sdb as name then.

@Winnie81 do you know of any solutions to this issue?

Early testing of using /dev/disk/by-path/ is working!  Going to try a few more restarts, but so far is consistently mapping the drives correctly on first install and subsequent reboots.
Not sure if VMWare in other environments would always uses "pci-0000:03:00.0-scsi-0:0:#:0" as their SCSI card...
ls -d /sys/block/sd*/device/scsi_device/*
/sys/block/sda/device/scsi_device/0:0:0:0  /sys/block/sdd/device/scsi_device/0:0:3:0
/sys/block/sdb/device/scsi_device/0:0:1:0  /sys/block/sde/device/scsi_device/0:0:4:0
/sys/block/sdc/device/scsi_device/0:0:2:0  /sys/block/sdf/device/scsi_device/0:0:5:0

systemd:
  units:
    - name: var-lib-docker.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount docker disk to /var/lib/docker
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:1:0
        Where=/var/lib/docker
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockercompose.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockercompose
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:2:0
        Where=/srv/dockercompose
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockervolumes.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockervolumes
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:3:0
        Where=/srv/dockervolumes
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerlogs.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerlogs
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:4:0
        Where=/srv/dockerlogs
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerbackups.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerbackups
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:5:0
        Where=/srv/dockerbackups
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: docker.service
      dropins:
        - name: 10-wait-docker.conf
          contents: |
            [Unit]
            After=var-lib-docker.mount
            Requires=var-lib-docker.mount
            After=srv-dockervolumes.mount
            Requires=srv-dockervolumes.mount
            After=srv-dockerlogs.mount
            Requires=srv-dockerlogs.mount

Even with a more stable path like /dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:3:0 I would recommend to use /dev/disk/by-label/dockercompose when you already set a unique label in
    - name: dockercompose
      mount:
        device: /dev/sdc
        format: ext4
        wipe_filesystem: false
        label: dockercompose

This makes the config independent from changes in the way the disks are attached and instead you match by content which is stronger and probably what you intend to do in the end.
I'll file a docs PR now where we call this out more explicitly.

Early testing of using /dev/disk/by-path/ is working! Going to try a few more restarts, but so far is consistently mapping the drives correctly on first install and subsequent reboots.
Not sure if VMWare ESXi/Workstation/Fusion would always uses "pci-0000:03:00.0-scsi-0:0:#:0" as their SCSI card.
ls -d /sys/block/sd*/device/scsi_device/*
/sys/block/sda/device/scsi_device/0:0:0:0  /sys/block/sdd/device/scsi_device/0:0:3:0
/sys/block/sdb/device/scsi_device/0:0:1:0  /sys/block/sde/device/scsi_device/0:0:4:0
/sys/block/sdc/device/scsi_device/0:0:2:0  /sys/block/sdf/device/scsi_device/0:0:5:0

ls /dev/disk/by-path
pci-0000:00:07.1-ata-2               pci-0000:03:00.0-scsi-0:0:0:0-part7
pci-0000:00:07.1-ata-2.0             pci-0000:03:00.0-scsi-0:0:0:0-part9
pci-0000:03:00.0-scsi-0:0:0:0        pci-0000:03:00.0-scsi-0:0:1:0
pci-0000:03:00.0-scsi-0:0:0:0-part1  pci-0000:03:00.0-scsi-0:0:2:0
pci-0000:03:00.0-scsi-0:0:0:0-part2  pci-0000:03:00.0-scsi-0:0:3:0
pci-0000:03:00.0-scsi-0:0:0:0-part3  pci-0000:03:00.0-scsi-0:0:4:0
pci-0000:03:00.0-scsi-0:0:0:0-part4  pci-0000:03:00.0-scsi-0:0:5:0
pci-0000:03:00.0-scsi-0:0:0:0-part6

systemd:
  units:
    - name: var-lib-docker.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount docker disk to /var/lib/docker
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:1:0
        Where=/var/lib/docker
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockercompose.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockercompose
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:2:0
        Where=/srv/dockercompose
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockervolumes.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockervolumes
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:3:0
        Where=/srv/dockervolumes
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerlogs.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerlogs
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:4:0
        Where=/srv/dockerlogs
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: srv-dockerbackups.mount
      enable: true
      contents: |
        [Unit]
        Description=Mount disk to /srv/dockerbackups
        Before=local-fs.target
        [Mount]
        What=/dev/disk/by-path/pci-0000:03:00.0-scsi-0:0:5:0
        Where=/srv/dockerbackups
        Type=ext4
        [Install]
        WantedBy=local-fs.target
    - name: docker.service
      dropins:
        - name: 10-wait-docker.conf
          contents: |
            [Unit]
            After=var-lib-docker.mount
            Requires=var-lib-docker.mount
            After=srv-dockervolumes.mount
            Requires=srv-dockervolumes.mount
            After=srv-dockerlogs.mount
            Requires=srv-dockerlogs.mount

This no longer working on the latest production iso (3510.2.6)

Update butane config to /dev/disk/by-label/.
Successfully built the vm with all the disks in ESXi.
Successfully built the vm with all the disks on Proxmox machine hypervisor.
So now my butane config is not custom to the hardware as an added bonus.


Probems with.eot-Files

I have to use .eot- and .svgz-font-files in mine project and get errors on npm run buid.
    ERROR in ./src/fonts/23569C_8_0.eot 1:0
    Module parse failed: Unexpected character '�' (1:0)
    You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
    (Source code omitted for this binary file)
     @ ./src/main.scss (./node_modules/css-loader/dist/cjs.js??ref--9-1!./node_modules/postcss-loader/src??ref--9-2!./node_modules/sass-loader/dist/cjs.js??ref--9-3!./src/main.scss) 9:36-69

test: /\.(eot|woff|woff2|ttf|otf|svgz)$/, in line 37 of webpack.common.js seems to fix it.

Yeah that's all it is, just need to test for it. Never used font files like that before 🤷🏽♂


Unity compatible function delegates

@lithiumtoast are you open to supporting Unity compatible code generation?
If so I will submit a PR that optionally falls back to legacy function delegates as C#9 function pointers are not fully supported in Unity 2021+ yet. I've already implemented this in my own branch.

I don't use Unity per se; the context is that I come from MonoGame/FNA/XNA.
However, I don't see why not the bindings could not work with Unity. You mention a specific problem of function pointers with Unity; okay, we agree on how to solve this problem.
I used to write C# bindings from hand and I have done it using delegates; e.g. using GetDelegateForFunctionPointer. I had bindings generated using this in the past, but I iterated on this and decided that C# funciton pointers are superior. The reason they are superior is that delegates are objects and thus have allocation memory costs and are tracked by the Garbage Collector. There is also an issue of calling the GetDelegateForFunctionPointer method which requires some setup code; so then there has to be some method the user has to call to set up the bindings. E.g. MyNamespace.MyStaticCLibraryClass.Setup(). However, for generating bindings before C# 9; this would be the only way.
So, I would start to think about "profile"s for generating bindings for specific C# version targets.
C# >= 9: Use function pointers; no setup code required.
C# < 9: Use delegates for function poitners; requires setup code.

What do you think @jazzay?

Yes I agree that C#9 function pointers are superior, however Unity 2021 does not support them fully. I considered the Profile approach (based on language version) however again Unity is special in that it supports some of C# 9.0, but not all of it sadly, making your current implementation not compatible. So I decided to make the flag specific to Unity for now. Are you interested in taking it like this? If so I will send over the PR.

Yeah.
Does Unity support C# < 9?

Yes. I will send over a PR.

I'm contemplating adding this feature in after multi-pass is finished myself if you don't submit a PR. It would require the developer to call a setup / teardown to setup the delegates using GetDelegateForFunctionPointer. The setup / teardown would also be in conjunction with adding support for externed variables where the pointer to the variable would need to be exposed over a get/set property by reading/writing a blittable struct / primitive to the pointer.

Soon as I get multipass finished I can take a whack at it. Having issues with Clang cross compilation which is taking longer than expected.

Going to take a look at your fork https://github.com/jazzay/c2cs/commit/8c2c66c89aef96f0d7a0c4652d9f9abeb472ac5c tomorrow

@jazzay Let me know if this works for you. If not we can talk about it and see what needs to be tweaked.

Will take a look. Thanks!


Update attack-surface-reduction-rules-deployment.md

added statement about  Block abuse of exploited vulnerable signed drivers as it is currently available
Fixes https://github.com/MicrosoftDocs/microsoft-365-docs/issues/12414

@JohanFreelancer9 Please copy review


Make RN work properly when 403 is returned by graphql

Not even sure what the behavior is today. What should happen is that the user should be 'logged off'

This will be handled when https://github.com/codefoundries/UniversalRelayBoilerplate/issues/167 is implemented. Closing this issue and will track the progress in https://github.com/codefoundries/UniversalRelayBoilerplate/issues/167


Validate models

This change adds some validations to models of the application.
The following validations are added:

Name for User must not be blank.
PostsCounter for User must be an integer greater than or equal to zero.
For the Post model:
Title for Post must not be blank and must not exceed 250 characters.
CommentsCounter and LikesCounter for Post must be an integer greater than or equal to zero.

Hi @danielufeli
Thank you.
I'll update it as soon as possible.


Support for older versions of Delphi?

Any plan?
Thanks.

No, because the SVG library used is based on GDI+ available only from DXE4+


Insufficient memory to continue the execution of the program. (7439df71)

This issue was submitted by the add-ins's exception handler.

Exception:
System.InsufficientMemoryException: Insufficient memory to continue the execution of the program.
   at XLToolbox.Dispatcher.Execute(Command cmd) in XLToolbox\Dispatcher.cs:line 68

Message: Insufficient memory to continue the execution of the program.

Test exception.


-l argument does not work when engine is fofa

uncover version:

1.0.1
Current Behavior:

/ # uncover -q 'cert="baidu" && (icon_hash="-1374555452" || icon_hash="1684500512")' -l 2000 -json -o /tmp/result.json -e fofa
/ # wc -l /tmp/result.json
91 /tmp/result.json

-l 2000 return little record, more fewer than 2000.
besides, the search result is bigger than 2000.

Expected Behavior:

-l 2000 return 2000 result
Steps To Reproduce:

/ # uncover -q 'cert="baidu" && (icon_hash="-1374555452" || icon_hash="1684500512")' -l 2000 -json -o /tmp/result.json -e fofa

Anything else:

Hi @leveryd, can I ask if you have enough F points in your Fofa profile to complete the request?
Could it be that you get 91 records back just because there aren't enough F points available for the request?

It is enough.
My account can get 10000 record. when i need to fetch more than 10000 record, it will need F points.

I can confirm the bug. Instead of saving 2000 results, only 67 results are saved.
result.json.txt
However, if I run uncover with -v, in the terminal, I can see 2200 results (not 2000 as requested).
terminal_fofa_baidu_glitch.txt


About MPI-INF-3DHP

Thanks for your awesome work. I also hope to use the MPI-INF-3DHP data set in my experiment.
How did you deal with MPI-INF-3DHP?
This problem has been bothering me for several days.
I would be very glad if you could help me.

Thanks for your interest! Please refer to P-STMO. We also follow their implementations.

Thanks for your awesome work. I also hope to use the MPI-INF-3DHP data set in my experiment. How did you deal with MPI-INF-3DHP? This problem has been bothering me for several days.
I would be very glad if you could help me.

Hi, Have you solved the problem?
Like you，This problem has been bothering me for several days .

感谢您的关注！请参阅P-STMO。我们也遵循他们的实施。

您好方便给出根据P-STMO修改的相关代码吗，具体实现细节吗，我们希望在MPI-INF-3DHP<EMAIL_ADDRESS>

感谢您的出色工作。我还希望在我的实验中使用 MPI-INF-3DHP 数据集。您是如何处理MPI-INF-3DHP的？这个问题已经困扰了我好几天了。
如果你能帮助我，我会很高兴。

请问你解决了吗，方便分享下在MPI-INF-3DHP数据集上进行实验的相关代码吗，我的邮箱（2540610633@qq.com）,感激不尽

Please check here (@HL-KL). I recently got the chance to upload the code. Sorry for the huge delay.


error on android

get error on android 8.1, it seems can not find the so file.
byte[] bytes_c = Zstd.compress(bytes);
Process: **, PID: 32609
                                                   java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/
***
G2A1lahdmnHjLbIRu2ZjeQ==/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /product/lib64]]] couldn't find "libzstd-jni.so"
                                                   Unsupported OS/arch, cannot find /linux/aarch64/libzstd-jni.so or load zstd-jni from system libraries. Please try building from source the jar or providing libzstd-jni in you system.
                                                       at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
                                                       at java.lang.System.loadLibrary(System.java:1660)
                                                       at com.github.luben.zstd.util.Native.load(Native.java:69)
                                                       at com.github.luben.zstd.Zstd.<clinit>(Zstd.java:11)
                                                       at com.github.luben.zstd.Zstd.compress(Zstd.java:348)
                                                       at com.huawei.hiai.vision.mobilextest.MainActivity.compress(MainActivity.java:53)
                                                       at com.huawei.hiai.vision.mobilextest.MainActivity.onCreate(MainActivity.java:39)
                                                       at android.app.Activity.performCreate(Activity.java:7354)
                                                       at android.app.Activity.performCreate(Activity.java:7345)
                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1219)
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3110)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3268)
                                                       at android.app.ActivityThread.-wrap12(Unknown Source:0)
04-25 21:46:53.432 32609-32609/? E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1888)
                                                       at android.os.Handler.dispatchMessage(Handler.java:109)
                                                       at android.os.Looper.loop(Looper.java:218)
                                                       at android.app.ActivityThread.main(ActivityThread.java:7384)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)

Are you using it by importing zstd-jni in your project as a source sub-module or you are trying to reuse the Maven distributed JAR file? The later will not work.

an aar is published on maven central for zstd-jni-1.3.4-10 and above, it should work now

I'm trying to use this library using the following gradle line:
implementation 'com.github.luben:zstd-jni:1.4.0-1'
But I'm still getting the Unsupported OS/arch, cannot find /linux/aarch64/libzstd-jni.so or load zstd-jni from system libraries. Please try building from source the jar or providing libzstd-jni in you system. error.
Perhaps something else has to be done in order for an Android project to work well?

My bad, I forgot to add the @aar suffix on the implementation line. The correct and working line for Gradle is:
implementation 'com.github.luben:zstd-jni:1.4.0-1'@aar
It's working!

@carlos-mg89 thank you for mentioning the @aar is quite important for fixing the issue.
For Android developers who now use version catalog in module dependency management, the following code would be helpful to load the zstd library.
In libs.versions.toml,
[libraries]
zstd = { module = "com.github.luben:zstd-jni", version = "1.5.6-5"}
In build.gradle,
implementation (libs.zstd) {
artifact {
type = 'aar'
}
}


”Sfântu Gheorghe” is listed in the drop-down menu

Description:
"Sfântu Gheorghe" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Frecăței" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Sfântu Gheorghe, TULCEA".


[fakeintake] ♻ move and refactor fakeintake

What does this PR do?

Move fakeintake from fake-intake to fakeintake
Move server related code to server
Move api code (response structure) to api
Run tests on the CI
Update readme after https://github.com/DataDog/datadog-agent/pull/15516/files#diff-01b7d368418dd5c99b2de1f93f79b58e7548c4f31875f497a525a0015924e7beR15

Motivation

Preparatory refactoring to add client ad parsers, that can be used in integration tests
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

integration_tests are not passing because I am not based on latest main, will merge main once all changes are approved.


fix: Preserve dimensions on resizing for panel

Issue: https://github.com/storybooks/storybook/issues/6343
What I did

Update resizer position when changing the boundaries of the container
for the addon panel and preview

How to test

@shilman PTAL.
P.S.: Not sure what to do about the eslint rule. Should we use another solution?

Thank you @kohakukun !

@kohakukun  OH MY GOSH THANK YOU. This was driving me crazy.


Lucas-Kanade Robustness

If there are is precipitation data on a map, the Lucas-Kanade method throws a ValueError with the following details:
File "/python3.5/site-packages/pysteps/motion/lucaskanade.py", line 245, in _ShiTomasi_features_to_track
    raise ValueError("Shi-Tomasi found no good feature to be tracked.")
ValueError: Shi-Tomasi found no good feature to be tracked.

It is understandable that a motion field cannot be computed on an empty map but I see that more as a regular case rather than an exception/error. Could the API be modified slightly to make sure that an error is not raised?

Hi @5fcgdaeb , thanks for your suggestion!
I totally agree with you, the robustness of the method can be improved in case of empty fields.
Commit c15edcba98827fa39b02829a758b6b89a7972ccb is an attempt in that direction: now a zero motion field is returned when no motion is detected and a simple UserWarning is raised.
This issue however opens a broader discussion about what should be behavior of pysteps methods when empty precipitation fields are passed.
I also wonder what happens with VET and DARTS in such cases, @aperezhortal @spulkkin ?
We should aim for consistent way of handling such situations.
I would therefore leave this issue open for the moment, as there are still some important aspects to discuss.

I run the following snippet to test the behavior with zero fields::
import pysteps
IMAGE_SIZE = 256

for method_name in ["lk", "vet", "darts"]:
    opt_flow = pysteps.motion.interface.get_method(method_name)

    if method_name == "darts":
        UV = opt_flow(numpy.zeros((10, IMAGE_SIZE, IMAGE_SIZE)), verbose=False)
    else:
        UV = opt_flow(numpy.zeros((3, IMAGE_SIZE, IMAGE_SIZE)), verbose=False)

    print(method_name, UV.min(), UV.max())

In all the cases, the motion field is 0 and no error are raised. But, only Lucas-Kanade raises a UserWarning.
For VET, since all the precipitation fields are Zero, displacing the fields does not change the value of the cost function used to find the displacements. In consequence, VET returns a field equal or similar to the initial guess (which is zero by default).
For example, the output of the following snippet is UV=1 on every point.
opt_flow = pysteps.motion.interface.get_method("vet")

UV = opt_flow(numpy.zeros((3, IMAGE_SIZE, IMAGE_SIZE)), verbose=False,
              first_guess=numpy.ones((2, 2, 2)))
print("VET", UV.min(), UV.max())

Thanks @aperezhortal! In this case, I will remove the UserWarning for Lucas-Kanade and assume that the expected behavior in case of zero fields is to return zero motion.
I guess this closes the issue.


How to apply for c# winforms

Brilliant project
How to customize to support for c# winforms app

Unfortunately this library is only for WPF. I would suggest migrating to WPF or a more modern toolkit.
However you may have some success embedding a WPF control inside your WinForms app, for instance:

https://learn.microsoft.com/en-us/dotnet/desktop/winforms/advanced/walkthrough-creating-new-wpf-content-on-windows-forms-at-design-time?view=netframeworkdesktop-4.8
https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.integration.elementhost?redirectedfrom=MSDN&view=windowsdesktop-7.0


docs/core/tutorials/

There are several related tutorials that need updating:

[ ] target-dotnet-core-with-msbuild.
[x] using-on-macos.md #1535
[ ] using-on-windows.md
[x] using-with-xplat-cli.md #1506 (See PR #1507)

The one I'm updating with PR #1507 is the one under preview3 folder which in csproj should be redirected to the one you list above. So once that PR is merged, I can switch things around in csproj.

The two remaining topics should just be redirected. We had done the redirection for some in csproj but somehow lost it.

can you check if this one is now done @BillWagner?

Closing.  The old topics are both redirecting correctly.


Facebook errors

Am absolutely loving this, but I'm finding that whenever I attempt a Facebook share, the popup gives me this error message: "An error occurred. Please try later."
When I click OK, the popup does take me to Facebook, but the preloaded share is gone.
I'm probably doing something wrong, but I'm not sure. I didn't change the app_id. Am I supposed to replace that with one I get from Facebook myself?

My app_id is coming out blank in the url. Here is my config
                    url: "http://urx.io/useshout.com/app/shouts/" + post_attributes.id,
                    title: "Check out this Shout: " + post_attributes.title,
                    description: post_attributes.description,
                    image: image,
                    networks: {
                        facebook: {
                            app_id: "app_id_in_here",
                        },
                        google_plus: {
                            enabled: true
                        },
                        twitter: {
                            enabled: true
                        },
                        pinterest: {
                            enabled: true
                        },
                        email: {
                            enabled: true
                        }
                    }
                }

Any help would be awesome!

In debugger mode in the Chrome console, my config object looks like this:
config
Object {url: "http://urx.io/useshout.com/app/shouts/8180", title: "Check out this Shout: Yup", description: "They are pretty sweet!!!!", image: "http://shoutdevelopment.s3.amazonaws.com/posts/818…6500&Signature=MjfI%2BTtGDJti%2FjasxJsB6COFQtY%3D", networks: Object}
config.networks
Object {facebook: Object, google_plus: Object, twitter: Object, pinterest: Object, email: Object}
config.networks.facebook
Object {app_id: "my_app_id"}


[Question] Can we customize the visual encoder and llm used? For example, replace llama with opt？

Question
No response

Yes you can.  We have largely refactored our code base to make it easier to swap out the visual encoder / LLMs.
Checkout our initial guide in replacing the LLMs: https://github.com/haotian-liu/LLaVA/blob/main/docs/Customize_Component.md


Creation of Istio configuration using a GUI instead of YAML text.

Today Kiali can present Istio configuration using GUI style (in VirtualServices and DestinationRules linked with a Service) or using its YAML representation.
GUI style for a VirtualService linked with a Service:

YAML representation of a VirtualService:

We have started to support "write" operations (delete, update existing configuration from a YAML editor).
Now we want to start adding new objects using a well driven GUI design.
The main requeriments defined in [1] are
Minimum Viable Product: We provide a GUI for doing A/B traffic balancing between two versions of a service. (Possibly having a slider between two versions).
Advanced: We identify the the top five features and provide an in browser workflow aiding the user the feature’s configuration (e.g. for configuring traffic routing we query and return the list of “subsets” as a drop down and ensure all weights add up to 100%).
More suggestions for use cases:
Traffic Routing
Path based routing configuration
Header based routing
Response code routing
Canary Release
Ideal: Users can configure any/all features via a web browser via a guided workflow (without using a YAML editor).
The model used in Istio to implement these use cases are:

VirtualService object [2]
DestinationRule object [3]

Probably we may need to use others model, but I think to start defining some work we can start thinking in configurations that need these two objects.
Some questions to discuss:
Where a user can invoke a "create new configuration" operation ?
It seems logical that user may have a button/link to access to this operation from Graph, Service Details or even any of the Service / Istio Config list pages we have.
Also there is a proposal to provide a shortcut for this operation from the graph in
https://issues.jboss.org/browse/KIALI-1962
What operation is going to be performed by the user ?
One aspect not yet discussed is if user will use this GUI to create only or create and update.
This is important, because, if we support update another side scenario is how to map existing configurations to the GUI. (What happens if GUI doesn't support all potential configuration of a VS / DR).
How do we want to perform this operation?
I see two types of approaches: "context driven", where a GUI is asking high level questions to a user and as result configuration is created in a transparent way to the user, versus "form driven" where the VirtualService/DestinationRule models are mapped into a form.
I understand that we are in an agreement to follow a "context driven" approach.
So, some examples based in Istio bookinfo demo:
Example 1:

Select reviews service (from graph, or service list, or service details).
Click in "create" operation (button/link ?).
Select type of operation: "A/B" ?
Define graphically percentage of traffic between workloads identified for a service ?

Example 2:

Select productpage service (from graph, or service list, or service details).
Click in "create" operation (button/link ?).
Select type of operation: "Matching routing" ?
Define a filter and a route: "All traffic from region1 goes to productpage version1".
Define a filter and a route: "All traffic from region2 goes to productpage version2".

From here we can work and ellaborate more examples or provide more details but I hope we have enough context to start discussing the relevant UX aspect to work on this issue.
Thanks,
Lucas
[1] https://issues.jboss.org/browse/KIALI-1836
[2] https://istio.io/docs/reference/config/istio.networking.v1alpha3/#VirtualService
[3] https://istio.io/docs/reference/config/istio.networking.v1alpha3/#DestinationRule

@serenamarie125 @cshinn @brianredbeard this is a big topic we need to discuss :)
@lucasponce I see you wrote "I understand that we are in an agreement to follow a "context driven" approach." - I think I missed that part - when/who agreed on this?
Also, I think that if we introduce nice UI for configuration additions, we should introduce it for edit as well at least for some cases. For example changing traffic balancing between versions of service (the slider).

@lucasponce I see you wrote "I understand that we are in an agreement to follow a "context driven" approach." - I think I missed that part - when/who agreed on this?

In the description of [1], and [2], and in the discussions had with @theute @pilhuhn on calls and IRC is clear we want to focus more on "context driven" scenario rather than having a generic form to create a VS/DR object. I understood that.
Even the MVP description has implicit context, as to route traffic between versions you need first to define which is a version in a DR (a version can be defined with more than simple labelling) and reuse this information in a VS where we can show all options defined.
I assume that we want to drive user in a high level scenario rather than write a low level config but from a form.
That is what I mean by "context" here.

Also, I think that if we introduce nice UI for configuration additions, we should introduce it for edit as well at least for some cases. For example changing traffic balancing between versions of service (the slider).

Yes. It needs some definition work as I see several sync issues, as we won't control that a config is modified externally from Kiali, it should take into consideration how this will work. If slider is just a GUI way to introduce a % graphically instead that uses number, it will work, but when a config has more options that GUI will support, user should have this clear (i.e. user can modify percentage via GUI, but for more complex they need to use yaml editor, etc).
In anyway, these are the interesting content to discuss.
I remember @serenamarie125 drove a workshop with users where they started to define some use cases, so probably we have already some feedback about this.
[1] https://issues.jboss.org/browse/KIALI-1836
[2] https://issues.jboss.org/browse/KIALI-1962

I think since this is driving towards an MVP it's completely fine to say (for the time being) "we only are supporting create operations".  It could also be possible to solve the "edit" mechanism by using patch to update the object.  Then, in the event that there configurations unsupported in the GUI they may be able to be ignored.
@abonas What are the key areas that have identified that we need to cover to continue work towards a MVP?

@abonas I think the "context driven" refers to my desire to have a context menu on graph element (if possible) to trigger such actions as opposed to force the user to first go to the list of services (or whatever), select something that the user no longer remembers (because we left the graph) and then starts to set up new rules without having the context.

@abonas What are the key areas that have identified that we need to cover to continue work towards a MVP?

@brianredbeard that's the input we would like to get from you :)

@abonas To follow up on this, what additional questions do you have for me which in regards to the two examples outlined in the first post in this thread?
Rather than trying to solve for two many cases, we called out two examples cited above.  Which additional questions can I answer to make the next steps more clear?

@lucasponce @abonas after seeing the demo of this, I feel that looking into other controls for the traffic weight would be beneficial - the slider component could quickly become too complicated with 2+ items. @bmignano and I can do some initial research on other ways of controlling this and make suggestions for you

@maryshak1996 @bmignano thanks.
As discussed, my main concern is how to group more than one "rule".
On the demo a group of workloads (with its sliders for weight) can be read as a "rule" for traffic routing.
i.e. "All requests" should target to w1 %50, w2 %25 and w3 %25.
In our next iteration we are going to add more "rules".
i.e. "Requests where header == abc" will target to w1 %50, w2 %25 and w3 %25.
"Rest of Requests" will target w1 %100
Note, this is something that actually is represented in VS page:

So, the idea is to include these use cases in the Wizard.

@maryshak1996 FYI, the scope of this work was defined as an MVP.
While it may require more complexity over time it would likely be best to wait until we get more direct requirements around this and feedback around the feature before we make too many assumptions.  In an operational environment, I'm unlikely to try and split traffic between too many endpoints because then it reduces the ability to test functionality between versions.

@brianredbeard can you clarify your comment above?  Are you saying that for MVP, the UI only needs to be able to split traffic between endpoints?

@brianredbeard @serenamarie125 I think there are some mix here.
One aspect is the feature we want to implement, and once the scope of the feature is clear, next step is to work together with designers on the UI.
The scope of the feature and this work is defined in https://issues.jboss.org/browse/KIALI-1836 and also there was a proposal of meeting to discuss it.
There was an email about it on Nov 29th and last email about it was in Dec 13rd.
So, let's move the discussion on the feature in the JIRA and let's use the kiali-design issue to clarify the UI aspects of the work.

To follow up on last week's request for some design recommendations, here is @bmignano and I's brainstorming: https://docs.google.com/document/d/199Lrhv_b1c_p8VgAgr3VOqrmLAo33DoG6f-Y7JjUXdE/edit?usp=sharing
It seems like the option with the "lock" icon is well received, so I will create a hi-fi to show in context this week!

as promised, here is a hi-fi mockup of @bmignano and I's suggestion for the lock/unlock option with the slider component

@bmignano @maryshak1996 @lucasponce what is the role of the lock icon next to each slider? There is already a TLS control underneath. Through the different screens in Kiali the lock icon is used to indicate TLS, so if the lock here is used for something completely different, that would be most likely confusing to users.

+1 to change the lock icon.
I'd suggest this one as it's very common for the feature discussed here.

About the other suggestion, I think the lock icon would be good, but to show it only when it's different to "NONE" if not as I user I will think that service is always in mTLS mode.

+1 to change the lock icon.
I'd suggest this one as it's very common for the feature discussed here.

I love this suggested icon!
I think a tooltip is needed here as well on the icon.

About the other suggestion, I think the lock icon would be good, but to show it only when it's different to "NONE" if not as I user I will think that service is always in mTLS mode.

how many modes are there for TLS? is it dual on/off? or more states here?
If dual, then this is the standard solution:
https://www.patternfly.org/pattern-library/forms-and-controls/data-input/#onoff-switches

mTLS mode needs to be pre-populated depending on what is (not) set for namespace and mesh-wide.

@abonas the lock icon would allow the user to lock a slider in place while adjusting the others (so that they don't all get altered in the changing of just one slider).
@lucasponce I am fine with the pin icon instead of the lock (since the lock does have pre-existing meaning in the UI), but we will need to investigate a way to indicate both 'pinned' and 'unpinned' (similarly to how I have both a 'locked' and 'unlocked' icon in my mockup).
Here's some ideas
Indicate 'pinned' vs 'unpinned' through icon change [this pin with a slash is NOT fontawesome, I created it)

Indicate 'pinned' vs 'unpinned' with icon color change (this stays with fontawesome, but when 'pinned' the icon is blue)

@maryshak1996 I have a WIP with this approach:

I used 'private' icon and 'thumb-tack-o' basically as we don't have a reverse 'thumb-tack-o' icon and using colors can be problematic, also the 'private' icon is different than the lock used for the mTLS and perhaps can suit on this context.
I have a question about the input text component, I'm using the standard patternfly component with already implemented support for arrows:

It's pretty standard, I wonder if we want to continue with it or to implement your proposal of two additional buttons for '-', '+' operations that are already built-in in the component.

can we make a black pin and a transparent pin? any icon that resembles lock is more suitable IMO for security/permissions.

Sure. @maryshak1996 if you can provide me a couple of icons I can add them to the PR easily.
Thanks

@lucasponce sure! I'll put those two icons together and post here by the end of the day

@maryshak1996 also, as a transition solution I checked how other IDEs use the same icon for same use case and they tends to rotate the icon:

I comment it, just if that solution is good, but I can change the icons anytime.

and @lucasponce the arrow controls to adjust the percentage is using the patternfly bootstrap touchspin concept (https://www.patternfly.org/pattern-library/widgets/#bootstrap-touchspin). I think that trying to align it as closely as we can to patternfly would be ideal, so this might be worth giving a try :)

The rotated pin is great IMO

@maryshak1996 yes, that was my goal; but the bootstrap-touchspin widget is not available in patternfly-react nor react-bootstrap. But let me work on it to give a try.

I think that the lock is still the most clear to the user when it comes to familiarity and recognizability over the pin, but if you decide to move forward with the pin approach this is our design recommendation

A few things to note here:

when the slider item is 'unpinned', the touchspin is displayed in an enabled state and a hollow pin icon is shown on a default pf secondary button
-when the slider is 'pinned', the touchspin is displayed in displayed in a disabled (greyed-out) state, a solid pin icon is shown on a disabled pf secondary button, and the danger fa-ban icon appears if the mouse hovers over the slider to indicate that that workload cannot be changed while pinned
Here are the two pin icons in the format of a large PNG (I can provide SVG if that is preferred as well)
kiali-pin-icons.zip

@maryshak1996 what do think about adding a button to evenly distribute the traffic between however many routes there are:

https://issues.jboss.org/browse/KIALI-2414

@mtho11 I think that that would certainly be a useful featured to have available :)
I would consider having it at the bottom of all of your rows instead of at the top

@mtho11 @maryshak1996 I can add that button, indeed, when wizard is open, it reset all workloads in that way. So having a button as you describe is easy to add.
But the bootstrap-touchspin component requires more work and that will be addressed in a following step.
There is no a react component and it requires a refactor/re-organization on all the slider work, so, I'll postpone that for next step.
Thanks for the icons :-).

ManageIQ / CFME uses the pin with rotation

Straight pin = unpinned, turned pin = pinned.

Finally got it

The bootstrap-touchspin component is not available but I think we can get a closer design with this approach.

the + sign looks like the "add" button at its current location, while it should be the "+ -" for the input field, right?

closing this in favor of #109


Grammatical Corrections and cleanups

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


add information to docs

Adding information to the docs, again to test when Travis starts a build.

Squash and merge works as well.


Order symbol search results by sentence order

Currently, search results for symbols in the paper are ordered from top of a page to the bottom in a document. If a paper has multiple columns, then it could be that the first matches for the symbol appear low down on the page, i.e., in a column to the left of another appearance of the symbol in a later column.
To fix this issue, we need a LaTeX parser that detects the order in which LaTeX files will be input by the main document (potentially doing a recursive search through the LaTeX files). Each sentence should be assigned a numerical index or some other property indicating the order in which the sentences will be rendered by the TeX compiler.

An alternative implementation would be to order symbols by the spans they appear in, which are often in document order. Use DOM utilities to determine which span each symbol bounding box appears in. Then find that span's child index in the page. Sort symbols by the span index.

It might also be useful for us to not require successful processing of sentences to support ordering of symbols. We could still use the technique described in the first comment to compute an estimate of in what order the symbols in a document appear (i.e., by iterating over the files in the order they will be input), and save symbol order as a field to the database.
This would require only pretty small fixes to the data-processing code for the order in which LaTeX files are opened and read, to the symbol entity data structure in the Python code, and the database schema. We could reuse this same code for assigning an order index to entities for other types of entities, like terms and citations.

Now that the TeX pipeline unifies the TeX files into a single TeX file per PDF, if should now be possible to approximate sentence order by the order that sentences appear in the unified TeX file. It won't be foolproof (because sentences could be stored in a filecontents environment or a macro that appears out of document order).


Fixed a problem that udemae_exp cannot be 0.

Integer 0 is evaluated as False.

Thanks for the proposal, but I believe there is more better way to fix it:
- if (udemae_exp < 0) or (udemae_exp > 99):
+ if (udemae_exp <= 0) or (udemae_exp > 99):

Thanks!
Image detector class should not return None for "0"... that is not expected. The proposed solution should be a workaround for a while.


new API (in skikoMain): onCombinedClick and detectDragGestures with PointerFilter

This PR adds new experimental APIs to handle clicks and drag gesture:
onCombinedClick
fun Modifier.onCombinedClick(
    enabled: Boolean = true,
    filter: PointerFilter.() -> Unit = PointerFilter.Default,
    onDoubleClick: (() -> Unit)? = null,
    onLongClick: (() -> Unit)? = null,
    onClick: () -> Unit
): Modifier

It allows to configure the required buttons and pointers using filter. It can be added multiple times. It doesn't add click-related side effects such as indication, focusable. It also doesn't add semantics. There is an overload with interactionSource: MutableInteractionSource to allow indication configuration at the call site.
detectDragGestures and onDragGesture
suspend fun PointerInputScope.detectDragGestures(
    filter: PointerFilter.() -> Unit, // no default value to avoid resolution issue (there is a function with the same name)
    onDragStart: (Offset) -> Unit = {},
    onDragCancel: () -> Unit = {},
    onDragEnd: () -> Unit = {},
    onDrag: (Offset) -> Unit
)

fun Modifier.onDragGesture(
    enabled: Boolean = true,
    filter: PointerFilter.() -> Unit = PointerFilter.Default,
    onDragStart: (Offset) -> Unit = {},
    onDragCancel: () -> Unit = {},
    onDragEnd: () -> Unit = {},
    onDrag: (Offset) -> Unit
): Modifier

Both functions do the same thing - allow to handle drag gesture configured with filter (to allow only specific drags, e.g.: only with primary mouse button). The difference is the scope where they can be called).
Filter
filter lambda allows to configure filtering based on pointer types (mouse, touch, stylus, eraser...).
Example (to allow only mouse, primary button, and shift pressed required):
filter = {
    mouse {
       button = PointerButton.Primary
       keyboardModifiers = { isShiftPressed }
    }
}

Example with keyboardModifiers:

fun main() {
    var isCtrlPressed: Boolean by mutableStateOf(false)

    singleWindowApplication(
        onPreviewKeyEvent = {
            isCtrlPressed = it.isCtrlPressed
            false
        }
    ) {
        var isDragging by remember { mutableStateOf(false) }
        val isDraggingWithCtrlPressed: Boolean by derivedStateOf {  isDragging && isCtrlPressed }

        var offset1 by remember { mutableStateOf(Offset.Zero) }
        Box(modifier = Modifier
            .offset { IntOffset(offset1.x.toInt(), offset1.y.toInt()) }
            .size(100.dp)
            .background(Color.Blue)
            .pointerInput(Unit) {
                detectDragGestures(
                    filter = { mouse { button = PointerButton.Primary } },
                    onDragStart = { isDragging = true },
                    onDragEnd = { isDragging = false },
                    onDragCancel = { isDragging = false }
                ) {
                    offset1 += it * if (isDraggingWithCtrlPressed) 2.0f else 1.0f
                }
            }.pointerHoverIcon(if (isDraggingWithCtrlPressed) PointerIconDefaults.Hand else PointerIconDefaults.Default)
        ) {
            Text("Use Left Mouse Button To Drag")
        }
    }
}

It's a draft now. But might be worth having a look. It contains implemented method:
fun Modifier.combinedMouseClickable(
    filterMouseButtons: (PointerButtons) -> Boolean = { it.isPrimaryPressed },
    onDoubleClick: ((PointerKeyboardModifiers) -> Unit)? = null,
    onLongPress: ((PointerKeyboardModifiers) -> Unit)? = null,
    onClick: (PointerKeyboardModifiers) -> Unit
)

closing this PR. The alternative PR is https://github.com/JetBrains/androidx/pull/238


⚠ Bofrost.be has degraded performance

In 4cef9aa, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1376 ms

Resolved: Bofrost.be performance has improved in f2da4d3 after 20 minutes.


Academic timetable view option

Describe the bug
A clear and concise description of what the bug is.
-> I'm unable to view the academic timetable though I can download it in my device.
To Reproduce
Steps to reproduce the behavior:

Go to 'Academic Timetable'
Set the options for 7th semester EIE B.Tech for 2020-21
Click on 'View'
It says the timetable hasn't been uploaded

Expected behavior
A clear and concise description of what you expected to happen.
-> It should the timetable for the given inputs.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS:
Android Studio Version

Smartphone (please complete the following information):

Device: Huawei Honor 7x
OS: Android 9(EMUI 9.1)

Additional context
Add any other context about the problem here.

I think its because the file was not uploaded onto the site in the intranet since it is the 2020 -21 batch  .When I checked the link which is used to get the timetable from intranet from the code  it says 'Sorry....Time table not yet uploaded.   Check back later' and this is seen as toast message in the app

No, the file is displayed for a short span of time and then exits throwing that toast. It's a bug.

Can I see the stacktrace of the error from the logcat

@VenkataDheeraj Can you update the app and verify if the bug you raised has been fixed ?


could not load host key, permission denied

https://github.com/gogits/gogs/tree/master/docker
I am simply following this guide, and I get all of these errors.
I am able to run the container by ignoring the instructions and simply running
docker run gogs/gogs
This is what occurs after running:
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
2018/03/06 22:55:41 [ WARN] Custom config '/data/gogs/conf/app.ini' not found, ignore this if you're running first time 2018/03/06 22:55:41 [FATAL] [...g/setting/setting.go:501 NewContext()] Fail to create '/data/git/.ssh': mkdir /data/git: permission denied Saving key "/data/ssh/ssh_host_rsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_dsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ecdsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ed25519_key" failed: No such file or directory chown: /data/ssh/*: No such file or directory chmod: /data/ssh: No such file or directory chmod: /data/ssh/*: No such file or directory Could not load host key: /data/ssh/ssh_host_rsa_key Could not load host key: /data/ssh/ssh_host_dsa_key Could not load host key: /data/ssh/ssh_host_ecdsa_key Could not load host key: /data/ssh/ssh_host_ed25519_key sshd: no hostkeys available -- exiting. mkdir: can't create directory '/data/git/': Permission denied chmod: /data/git/.ssh: No such file or directory ./run: ./setup: line 11: can't create /data/git/.ssh/environment: nonexistent directory chmod: /data/git/.ssh/environment: No such file or directory chown: /data: Permission denied chown: /data: Permission denied chown: /data/git/: No such file or directory chmod: /data: Permission denied chmod: /data/gogs: No such file or directory chmod: /data/git/: No such file or directory 2018/03/06 22:55:42 [ WARN] Custom config '/data/gogs/conf/app.ini' not found, ignore this if you're running first time 2018/03/06 22:55:42 [FATAL] [...g/setting/setting.go:501 NewContext()] Fail to create '/data/git/.ssh': mkdir /data/git: permission denied Saving key "/data/ssh/ssh_host_rsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_dsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ecdsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ed25519_key" failed: No such file or directory chown: /data/ssh/*: No such file or directory chmod: /data/ssh: No such file or directory chmod: /data/ssh/*: No such file or directory Could not load host key: /data/ssh/ssh_host_rsa_key Could not load host key: /data/ssh/ssh_host_dsa_key Could not load host key: /data/ssh/ssh_host_ecdsa_key Could not load host key: /data/ssh/ssh_host_ed25519_key sshd: no hostkeys available -- exiting. mkdir: can't create directory '/data/git/': Permission denied chmod: /data/git/.ssh: No such file or directory ./run: ./setup: line 11: can't create /data/git/.ssh/environment: nonexistent directory chmod: /data/git/.ssh/environment: No such file or directory chown: /data: Permission denied chown: /data: Permission denied chown: /data/git/: No such file or directory chmod: /data: Permission denied chmod: /data/gogs: No such file or directory chmod: /data/git/: No such file or directory Saving key "/data/ssh/ssh_host_rsa_key" failed: No such file or directory 2018/03/06 22:55:43 [ WARN] Custom config '/data/gogs/conf/app.ini' not found, ignore this if you're running first time 2018/03/06 22:55:43 [FATAL] [...g/setting/setting.go:501 NewContext()] Fail to create '/data/git/.ssh': mkdir /data/git: permission denied Saving key "/data/ssh/ssh_host_dsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ecdsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ed25519_key" failed: No such file or directory chown: /data/ssh/*: No such file or directory chmod: /data/ssh: No such file or directory chmod: /data/ssh/*: No such file or directory Could not load host key: /data/ssh/ssh_host_rsa_key Could not load host key: /data/ssh/ssh_host_dsa_key Could not load host key: /data/ssh/ssh_host_ecdsa_key Could not load host key: /data/ssh/ssh_host_ed25519_key sshd: no hostkeys available -- exiting. mkdir: can't create directory '/data/git/': Permission denied chmod: /data/git/.ssh: No such file or directory ./run: ./setup: line 11: can't create /data/git/.ssh/environment: nonexistent directory chmod: /data/git/.ssh/environment: No such file or directory chown: /data: Permission denied chown: /data: Permission denied chown: /data/git/: No such file or directory chmod: /data: Permission denied chmod: /data/gogs: No such file or directory chmod: /data/git/: No such file or directory Saving key "/data/ssh/ssh_host_rsa_key" failed: No such file or directory 2018/03/06 22:55:44 [ WARN] Custom config '/data/gogs/conf/app.ini' not found, ignore this if you're running first time 2018/03/06 22:55:44 [FATAL] [...g/setting/setting.go:501 NewContext()] Fail to create '/data/git/.ssh': mkdir /data/git: permission denied Saving key "/data/ssh/ssh_host_dsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ecdsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ed25519_key" failed: No such file or directory chown: /data/ssh/*: No such file or directory chmod: /data/ssh: No such file or directory chmod: /data/ssh/*: No such file or directory Could not load host key: /data/ssh/ssh_host_rsa_key Could not load host key: /data/ssh/ssh_host_dsa_key Could not load host key: /data/ssh/ssh_host_ecdsa_key Could not load host key: /data/ssh/ssh_host_ed25519_key sshd: no hostkeys available -- exiting. mkdir: can't create directory '/data/git/': Permission denied chmod: /data/git/.ssh: No such file or directory ./run: ./setup: line 11: can't create /data/git/.ssh/environment: nonexistent directory chmod: /data/git/.ssh/environment: No such file or directory chown: /data: Permission denied chown: /data: Permission denied chown: /data/git/: No such file or directory chmod: /data: Permission denied chmod: /data/gogs: No such file or directory chmod: /data/git/: No such file or directory 2018/03/06 22:55:45 [ WARN] Custom config '/data/gogs/conf/app.ini' not found, ignore this if you're running first time 2018/03/06 22:55:45 [FATAL] [...g/setting/setting.go:501 NewContext()] Fail to create '/data/git/.ssh': mkdir /data/git: permission denied Saving key "/data/ssh/ssh_host_rsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_dsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ecdsa_key" failed: No such file or directory Saving key "/data/ssh/ssh_host_ed25519_key" failed: No such file or directory chown: /data/ssh/*: No such file or directory chmod: /data/ssh: No such file or directory chmod: /data/ssh/*: No such file or directory Could not load host key: /data/ssh/ssh_host_rsa_key Could not load host key: /data/ssh/ssh_host_dsa_key Could not load host key: /data/ssh/ssh_host_ecdsa_key Could not load host key: /data/ssh/ssh_host_ed25519_key s

Yes, I am using CENTOS. It is currently disabled.
I used the following commands successfully:
Create docker volume.
$ docker volume create --name gogs-data
Use docker run for the first time.
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v gogs-data:/data gogs/gogs


use_module support

Hi @yuce
Is it possible to add modules (via use_module)? As I would do in prolog:
:- use_module('module', [ predicate/2 as new_predicate ]).

Have you tried:
module_name = 'foo'
prolog.query(f"use_module(library({module_name}),[])")


Hard reset not working.

It seems that hard reset is not working anymore. I just tried hard-reset on the official game lin (totominc.github.io/blackmarket-reloaded).
When clicking the 'yes' button of hard-reset, nothing act.

Please try:

save game
reload
options -> hard reset

I think, there will be an js error, because I added some vars to save.
We have to write an adapter, which checks if the save vars exists or not (if not, default value has to be set).
I'll do this next.

Oh yeah I haven't though if that. Let me do the save check function when I'm .


Get inluded data

Since version 3.0, Document.included is not accessible. How to get all included data without knowing the id?

Is there any example of the use case?

{
"data": {
"type": "accounts",
"id": "2593177",
"attributes": {
"payment-type": "prepaid",
"unbilled-charges": null,
"next-billing-date": null,
"title": "Ms",
"first-name": "Joe",
"last-name": "Bloggs",
"date-of-birth": "1985-01-01",
"contact-number": "0404000000",
"email-address"<EMAIL_ADDRESS>"email-address-verified": false,
"email-subscription-status": false
},
"links": {
"self": "http://localhost:3000/accounts/2593177"
},
"relationships": {
"services": {
"links": {
"related": "http://localhost:3000/services/0468874507"
}
}
}
},
"included": [
{
"type": "services",
"id": "0468874507",
"attributes": {
"msn": "0468874507",
"credit": 1200,
"credit-expiry": "2016-11-20",
"data-usage-threshold": false
},
"links": {
"self": "http://localhost:3000/services/0468874507"
},
"relationships": {
"subscriptions": {
"links": {
"related": "http://localhost:3000/services/0468874507/subscriptions"
},
"data": [
{
"type": "subscriptions",
"id": "0468874507-0"
}
]
}
}
},
{
"type": "subscriptions",
"id": "0468874507-0",
"attributes": {
"included-data-balance": 52400,
"included-credit-balance": null,
"included-rollover-credit-balance": null,
"included-rollover-data-balance": null,
"included-international-talk-balance": null,
"expiry-date": "2016-11-19",
"auto-renewal": true,
"primary-subscription": true
},
"links": {
"self": "http://localhost:3000/services/0468874507/subscriptions/0468874507-0"
},
"relationships": {
"service": {
"links": {
"related": "http://localhost:3000/services/0468874507"
}
},
"product": {
"data": {
"type": "products",
"id": "0"
}
},
"downgrade": {
"data": null
}
}
},
{
"type": "products",
"id": "4000",
"attributes": {
"name": "UNLIMITED 7GB",
"included-data": null,
"included-credit": null,
"included-international-talk": null,
"unlimited-text": true,
"unlimited-talk": true,
"unlimited-international-text": false,
"unlimited-international-talk": false,
"price": 3990
}
}
]
}
In this example data, for example I'd like to get the included values for the products type

The accounts entity in example data has a relationship named services with only links. Therefore, there should no included data here. And the included resources should instead be added to a response to http://localhost:3000/services/0468874507/subscriptions.


Make nonCiculatingTokenSupplyAddressConfig dynamically readable from gateway DB

This will enable easily adding tokenSupply functionality to additional tokens without having to redeploy the app with a new config.

Updated getTotalSupplyAcrossNetworks function to return JSON objects and fixed the issue with supply numbers not being accurate up to 18 decimals.
Modified the getNetworkConfigurations function to return the currencyId alongside the network configurations.
Updated the /nonCirculatingSupplyAddresses route to remove the jsonRpcUrl value from the response without affecting the getNonCirculatingSupplyAddressConfigurations function.
Moved the database collection name to an environment variable and updated the getNonCirculatingSupplyAddressesConfigInput function to use the new variable.
Fixed the TypeScript error related to the potential undefined value of the environment variable by providing a fallback value.


Enhancement of footer

I want to make some changes in the footer section to enhance it.
Please assign this issue to me under gssoc-extd and hacktoberfest.

can you explain more about your issue

current footer is kind of looking scattered. I want to place everything in a systematic way that will look good and attractive too.

@ajay-dhangar  Can i do it in html and css? or i have to go for typescript only?


"mv list" map order is nonsensical?

For the life of me i can't figure out how mv sorts the maps you import to it. I'm talking about the maps you see when you do "mv list" or inside the worlds.yml file. It seems that regardless of what order you import them, they get sorted via some arbitrary criteria i cant for the life of me figure the pattern of. It's not alphabetical, nor based on the creation date or world dimension, and if you try to manually switch them around from the worlds.yml, file, when you start the server it reverts back to the initial order.

Dupe #1960 ?

Well, technically i wasn't just pointing it out that it happens, i know it's been mentioned in #1960 already, i was trying to get more info about HOW it currently sorts the worlds you import, and hopefuly  find a way around it (say, with a prefix or numbering the worlds or something).

I believe this is due to the fact that WorldManager uses a ConcurrentHashMap to store the worlds, which is unordered.

Close as its duplicate of #1960


How do i use Shaders

Describe your problem here.
How do i use Shaders i am trying to add a VCR shader to thorns but idk how
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.

initLuaShader('ass')
setSpriteShader('amogus', 'ass')


[5.8] Collection literal inferred as Any when function type argument is Any

With this code:
func asJSON(_ a: [String: Any]) { print(a) }

asJSON([
    "a": [
        "b": "c",
        "d": [
            "e": "f",
        ],
    ],
])

Swift 5.8 from Xcode 14.3 beta 2 warns that the collection is inferred as Any:
foo.swift:4:10: warning: heterogeneous collection literal could only be inferred to '[String : Any]'; add explicit type annotation if this is intentional
    "a": [
         ^

In this case I'm surprised to see this warning since the function it's being passed to explicitly takes [String: Any], so it being inferred as Any seems expected and I don't think needs a warning

The type of dictionary is inferred to [String: Any] before it's converted to the parameter type. The warning has been made more aggressive by https://github.com/apple/swift/pull/60323. cc @AnthonyLatsis

I'm not sure how I feel about this myself, on one side this seems reasonable because collection is indeed heterogeneous but on other other hand we could consider parameter to be an explicit type annotation as well.

on other other hand we could consider parameter to be an explicit type annotation as well

yea that's what I was expecting

After looking at https://github.com/apple/swift/commit/1d21b4e, which introduced this diagnostic, I think I might have misinterpreted its purpose. I agree with Keith that whether the literal has a defaulted type should not matter if it gets type-erased anyway. On its turn, an erasure expression implies the presence of an explicit type annotation somewhere.

Should the changes be reverted then, @AnthonyLatsis?

Yes, I will see if there is anything useful worth keeping while there’s still time until 5.9 converges. Do you want me to fully revert it for upcoming 5.8 patches now?

Let’s revert on main and 5.9.

@lattner Do you remember why you added this diagnostic (https://github.com/apple/swift/commit/1d21b4e)? Is it to avoid semantic source breaks caused by potential improvements to the type join?

no recollection sorry


How can I keep a certain number of release history of my app?

Have a configuration for  keeping the latest some relases, and remove older releases automatically?

@koolay this is controlled via the gc.max_inactive_slug_releases app meta variable.
You can check the current value with flynn meta:
$ flynn meta
KEY                            VALUE
gc.max_inactive_slug_releases  10

and set it with:
$ flynn meta set gc.max_inactive_slug_releases=20

@lmars
$ flynn meta
KEY                            VALUE
gc.max_inactive_slug_releases  3

I changed the value,  but there are still six releases on the board ui.
How to trigger it to work?

@koolay have you created more than six releases? In other words, is it cleaning any releases or is the number of releases continuing to increase?
The gc.max_inactive_slug_releases actually controls how many releases with distinct slugs to keep (i.e. how many releases created via git push flynn master), so you can end up with more releases if you for example create ones with flynn env set.

@lmars
by git push flynn master ,  there are seven releases on board .
Actually I had set gc.max_inactive_slug_releases = 3,  but cleaning not work.

it is a BUG?

@koolay apologies I missed your last comment. Please run sudo flynn-host collect-debug-info on a host in your cluster and send the resulting gist to<EMAIL_ADDRESS>


Port & path easy validation.

Need a way to validate if port/path is used for chain without actual starting process.
otherwise it takes too much time.

How will it work in multinode setup ?

Hi @konstantinzolotarev this issue is in the done column on the board but is still open - can I close the issue?


[Report] Should we have subscribed topics report?

Would it be interesting to monitor what Topics users add / filter out?

Do I just report the keywords that were added / removed in the time period and then maybe a Top 5 table of the topic that are most subscribed and most filtered ?


AppVeyor: enable MSSQL ODBC connection

Enabled MSSQL tests.
Some code modification in tests was introduced.
@vadz @mloskot Could you please review?

@vadz BTW, here the exposure for #287 and #383. Test was failed on nvarchar.
I believe it related to http://stackoverflow.com/questions/10025032/what-is-the-meaning-of-the-prefix-n-in-t-sql-statements
One of idea how to fix it - is use N'< here the long string >'

Sorry, I'm really not sure what is the idea here: why do we need to create a new database just for MS SQL and just for this test? And why do we need yet another helper class, could we reuse test_context_base for this instead?

@vadz Because I'm limited with CI environment. It is not my or your local PC.
For PostgreSQL I can create database before test run from cmd console.
With MSSQL I don't know how to do this. So I prepare environment inside the test.
If you provide guideline how to reuse test_context_base and reuse same approach approach for "// MS SQL-specific tests" I'll change my code per your suggestion.

@vadz Personally, I use fixtures for that. But didn't see same approach anywhere in test code.

Normally sqlcmd.exe should be available in the MS SQL installation, so it should be possible to use it to create the test database and avoid doing it in the code entirely.
But maybe creating the database from the code is actually better, it's just that I don't like the inconsistency of doing it just for MS SQL but not the others. IMHO if we want to change this, we should do it for all of them. And test_context is basically already a fixture, so we should use it for this.

@vadz Ok. Thank you. :)
I also find sqlcmd but need some time to check how it'll work. Will update my pull shortly.
Creating also good, but I suspect it can be server specific, and probably harder.

@vadz I've closed this pull per your comments. New pr #415 submitted.
Now code is unchanged. Used sqlcmd for test preparation.


Rerun exits with - Error with one the underlying data table

Describe the bug
Rerun exits with the following error:
ERROR re_viewer::app] Failed to add incoming msg: Error with one the underlying data table: The schema has a column "rerun.controls.EntityPath" that is missing in the data
I was able to connect to the same websocket from one computer. But when I tried to connect from another computer after a couple of minutes, I receive the error above. But I'm able to reconnect from the first computer again without any issues.
This happens once in a while and not a common occurence.
To Reproduce
I'm not entirely sure what I can provide to reproduce the issue.
Desktop (please complete the following information):
Ubuntu 22.04 LTS
Rerun version
rerun-cli 0.16.1 [rustc 1.76.0 (07dca489a 2024-02-04), LLVM 17.0.6] x86_64-unknown-linux-gnu 6447/merge d24e449, built 2024-05-29T15:06:39Z

Your server and clients are very likely not running the same Rerun version.
Our ABI does not provide any backwards- nor forwards-compatibility at the moment, especially so at this time where we are making serious changes to our underlying storage and binary encodings.


Add lineterminator to read_csv keywords

Previously we avoided putting lineterminator into keywords because we
often need to split on \r\n but can't pass this into pandas (only
terminators of length one are supported).  This caused problems when
the user explicitly stated that they were using \n, which has slightly
different behavior from default.
Now we pass in the lineterminator to pandas if it is of length one and
ignore it in pandas otherwise (staying with default).
Long term we might consider breaking this up into two arguments, one
for block splitting and one for within-block parsing.
Fixes #1132
cc @wabu

Merging soon if no comment


curl wttr.in no content

The page and command curl http://wttr.in seem to have no response except the twitter follow link.
curl wttr.in returns
Follow @igor_chubin for wttr.in updates

same.
empty response from curl, location not found in conky

same report here from multiple platforms. Getting this:
pi@raspberrypi:~ $ curl wttr.in
Follow @igor_chubin for wttr.in updates
pi@raspberrypi:~ $ curl https://wttr.in
Follow @igor_chubin for wttr.in updates
pi@raspberrypi:~ $ curl https://wttr.in/80538
Follow @igor_chubin for wttr.in updates
pi@raspberrypi:~ $

#638

I have been having the same problem, curl connect but no data other than "follow chubin" comes back.
May I suggest that if the wttr.in service exceeds the number of queries permitted from whatever weather service provider it uses, it returns a message similar to "Number of queries exceeded for today" rather than just a blank?

Fixed

Unfixed again :-(
At least since yesterday (May 4th 2022) there's no weather data anymore, even though the message was improved
$ curl wttr.in

Sorry, we are running out of queries to the weather service at the moment.
Here is the weather report for the default city (just to show you what it looks like).
We will get new queries as soon as possible.
You can follow https://twitter.com/igor_chubin for the updates.
======================================================================================

Now it works for some cities, but for others doesn't. For instance Warsaw works, but London does not.

Today it's not working even without city for me

Tested right now and seems back to work

@johnnyontheweb well now it doesn't work at all for me. There is a problem with the number of requests sent. They're saying they're working on it though, so maybe we just need to wait a little bit.

Started working again

Closing this one, the problem was fixed


Don't use mambaforge for readthedocs

Description
Pip should be enough.
Checklist

[ ] Add tests
[ ] Add docs
[ ] Update CHANGELOG

Codecov Report
All modified lines are covered by tests :white_check_mark:
:loudspeaker: Thoughts on this report? Let us know!.