Exemple Project

Hi John,
I think it would be nice to have a compagion project for the plugin, just to illustrate the usage of this plugin . It will allow new comer to quickly get up and going  with new project .
What do think about this ?
By the way it seems that you used to have such project ?
cheers

Hi jamroks, I fork CssInject plugin and migrate it from ivy to gradle, you can see it https://github.com/zhuravskiy/CSSInject
Also i created template project for vaadin addon https://github.com/zhuravskiy/vaadin-addon-template, that i copy, change example strings, and fix head lines in build.gradle, a little code, and new vaadin addon is born :)

@jamroks you can also take a look at my webapp skeleton I recently created as a simple bootstrap for new projects. It contains vaadin web module (using this plugin) with custom theme as well as other modules and external dependencies
https://github.com/LivotovLabs/WebApplicationSkeleton

Added a new wiki to this gradle repository to gather information in. It can be found at https://github.com/johndevs/gradle-vaadin-plugin/wiki


s3_encryption reads entire blob into memory when processing encrypted data which can be problematic for some uses

We can avoid this if we add chunking (and file 'handles') here
Issue added by way of gist by @tedder:

Note I had to change the chunking.

@boldfield
I have a need to pick up this particular issue and update s3-encryption to handle streaming data.
In evaluating solutions for this I've also come across the s3-encryption-client but because of it's KMS usage it does not appear appropriate for my use case.
I need to be able to stream data to and from s3 using client side encryption in a manner consistent with amazon's AES256 client side encryption specifications.
Would you be able to point me to the lines of code that would need to be updated in order to support streaming?
I'd be happy to implement the necessary changes and add a CLI to support streaming encryption/decryption.
Thanks for putting this together.

My chunking makes the encryption a streaming process; that could be updated to read/write to S3 as streaming, though S3 doesn't like that too much.

From what I read boto3.s3.client.put_object does not support streams and so is not appropriate for my particular usecase where the size of my encrypted data may be arbitrarily large.  I looked at your implementation and it does not suit my usecase either.  You are encrypting the file ahead of time and then writing it to a new file then youse use the .upload_file() boto method.
That is closer as the underlying method supports streaming uploads, but I need to figure out how to handle actual streaming data.
I'm looking into boto3.s3.client.upload_fileobj() and boto3.s3.client.download_fileobj() and am trying an implementation in the S3EncryptionClient.put_object() and S3EncryptionClient.get_object() methods.

excellent! Tag me if you get it working. I'm only using the tmpfile so I don't have to deal with things like calculating an unknown file size.

So it turns out I was mistaken.  put_object appears to support streaming natively.
See https://github.com/boto/boto3/issues/426
I can also confirm that if I retrieve the encrypted key data using boto3, the body value is actually a
botocore.response.StreamingBody and not a raw string.  Thus streaming is fundamentally possible here and it is actually just being restricted via the encrypt/decrypt logic on s3-encryption.
I'm reasonably sure all I need to do is update each of those functions to recognize a file object and encrypt/decrypt each block as I stream through the File object.
I'm documenting this as much for my own purposes as for yours.  Feel free to ignore me if I am over communicating.

Thanks for picking this up!  I've been meaning to get to this for way too long... and I thoroughly appreciate the updates, don't worry about over communication.
It sounds like you've got pretty much everything you need now, right?  If not let me know.
As far as a CLI goes, my initial thoughts on that was developing a separate package for that purpose (boldfield/kms-secrets).  At this point it's little more than a stand alone script and I haven't had time to make a proper module out of it.  My thinking was to keep the cli separate from the library to cut down on overhead for people who only want the library.

For my purposes I have to have a CLI so I can use shell piping and redirects to move data between s3 and back in a restfully encrypted state.  I do not believe a CLI will proof an encumberance as I use click for anything I do.  Once I figure out this whole mapping a function to a streaming filelike object problem the CLI will be simple and I'll push up a branch that has both.  If you don't like the CLI I'll just run things from a forked repository.

So ultimately I've come around on the CLI thing.  I've created my own built on top of s3-encryption  that handles encrypting filestreams.  There are some issues with the encryption client and handlers that make them not obviously compatible with what I'm trying to do.  In my case I ended up sublassing the client and encrypt/decrypt handlers and overwriting a handful of methods, and then I handle file encryption/decryption in an API I built on top of it and then incorporate into a CLI.
I did this because I need to get a functional version of this very soon and putting it all in my own repository will suffice for the moment.
Once I run passed the licensing issues to my CTO I plan to open source the CLI and I'll post a link to it here.
If either of you have feedback of how to incorporate the api I created more tightly into s3-encryption I'd welcome the feedback.

How is the licensing issue and the CTO discussion going?


Re-writing Haskell version for code clarity and major speed improvements

Core i7 Linux Laptop results:

Old
New

499999500000 in 2.57968s
499999500000 in 0.617s

You couldn't explain why you think you get the speed improvements that you do with these optimisations, could you?

@mijoharas are you asking me to explain it?

@ixmatus yes, if it's not too much trouble. Just interested as a relative haskell beginner.

This is faster because you're not doing the same thing! The wrong part is here:
supervisor n s d = wait =<< async (worker n s d)

Then in the worker:
worker :: Int -> Int -> Int -> IO Int
worker num size dv
    | size == 1 = return num
    | otherwise = sum <$> forM [0..dv-1] spawnChild

Basically you're sequentially spawning threads and waiting for results. This is different than how the original version worked. You should have done this instead:
worker :: Int -> Int -> Int -> IO Int
worker num size dv
    | size == 1 = return num
    | otherwise = sum <$> mapConcurrently mkChild [0..dv-1]
  where
    sizeDiv = size `quot` dv
    subNum i = num + i * sizeDiv
    mkChild (subNum -> n) = worker n sizeDiv dv

main :: IO ()
main = do
    start  <- getCurrentTime
    result <- wait =<< async (worker 0 1000000 10)
    end    <- getCurrentTime

    putStrLn $ concat ["Result: ", show result, " in ", show (diffUTCTime end start)]

Which is more than 2x slower.

@osa1 good catch - the wait is blocking in the forM which doesn't really test GHC's scheduler very well (unlike the original which is similar to your revision using mapConcurrently).
@mljoharas there you have it :)

Thanks!

Closing this PR because my version is actually quite a bit slower than the original using @osa1's revisions!


Add a new var to override openstack services container prefix

In downstream for post_adoption upgrade job. We are using upstream openstack operators. Upstream meta operator openstack services env variables have openstack prefix.
In order to create the post adoption pre update environment, we need to use the downstream openstack services containers. They starts with rhoso-openstack. Since it is a new prefix. We need a way to update the containers prefix to new prefix.
By using set_openstack_containers_new_prefix, we can achieve the same.

closing in favor of https://github.com/openstack-k8s-operators/ci-framework/pull/2281


Add support for Ped Feeder device category cwwsq

Device normal info

Petlibro
PLAF101

Device info:
2021-10-15 11:14:31 DEBUG (SyncWorker_1) [tuya iot] Response: {
"result": [
{
"active_time":<PHONE_NUMBER>,
"biz_type": 0,
"category": "cwwsq",
"create_time":<PHONE_NUMBER>,
"icon": "smart/icon/ay1541472742486ZYDmd/dcb839f4a543a7bd03f8353bc3d96c91.jpg",
"id": "xxxxd29xx96",
"ip": "",
"lat": "",
"local_key": "",
"lon": "",
"model": "",
"name": "WiFi Feeder",
"online": true,
"owner_id": "52314000",
"product_id": "4gz4aqezetbmevao",
"product_name": "WiFi Feeder",
"status": [
{
"code": "meal_plan",
"value": "fwYACAF/EAAIAQ=="
},
{
"code": "manual_feed",
"value": 4
},
{
"code": "feed_state",
"value": "standby"
},
{
"code": "factory_reset",
"value": false
},
{
"code": "feed_report",
"value": 8
}
],
"sub": false,
"time_zone": "-07:00",
"uid": "***",
"update_time":<PHONE_NUMBER>,
"uuid": "11f8b7e7661148cd"
}
],
"success": true,
"t":<PHONE_NUMBER>510
}
Device specifications :
2021-10-15 11:14:31 DEBUG (SyncWorker_1) [tuya iot] Request: method = GET, url = https://openapi.tuyaus.com/v1.0/devices/xxxx29xx96/specifications, params = None, body = None, t =<PHONE_NUMBER>534
2021-10-15 11:14:31 DEBUG (Thread-20) [tuya iot] _on_log: Sending CONNECT (u1, p1, wr0, wq0, wf0, c1, k60) client_id=b'cloud_xxxx8345b2f8'
2021-10-15 11:14:31 DEBUG (SyncWorker_1) [tuya iot] Response: {
"result": {
"category": "cwwsq",
"functions": [
{
"code": "meal_plan",
"type": "Raw",
"values": "{}"
},
{
"code": "manual_feed",
"type": "Integer",
"values": "{"min":1,"max":12,"scale":0,"step":1}"
},
{
"code": "factory_reset",
"type": "Boolean",
"values": "{}"
}
],
"status": [
{
"code": "meal_plan",
"type": "Raw",
"values": "{}"
},
{
"code": "manual_feed",
"type": "Integer",
"values": "{"min":1,"max":12,"scale":0,"step":1}"
},
{
"code": "feed_state",
"type": "Enum",
"values": "{"range":["standby","feeding"]}"
},
{
"code": "factory_reset",
"type": "Boolean",
"values": "{}"
},
{
"code": "feed_report",
"type": "Integer",
"values": "{"min":0,"max":12,"scale":0,"step":1}"
}
]
},
"success": true,
"t":<PHONE_NUMBER>640
}

There is no feed button, there are only sliders. When you change the number in the Feed slider, then the feed is poured, and where is the button? Can you add a feed button?

How is meal_plan decoded? There isn't any good documentation on how to decode this

Actually just realized it's base64 encoded!
binascii.hexlify(base64.standard_b64decode('QAAAAgE='), '/')

# '40/00/00/02/01'
# 'occurance/hour/minute/portions/enable'

In IT Tuya, I looked at the functions of the auto feeder and did not see the button. As a result, I made my own button. The button works with the history. pressed the button, the manual_feed slider is set to 1 and after 2 seconds returns to where it was, as a result, the feed is poured perfectly. Of course, I don't understand the developers why they didn't implement a normal button
{
"result": {
"category": "cwwsq",
"functions": [
{
"code": "meal_plan",
"type": "Raw",
"values": "{}"
},
{
"code": "manual_feed",
"type": "Integer",
"values": "{"unit":"","min":1,"max":6,"scale":0,"step":1}"
},
{
"code": "slow_feed",
"type": "Boolean",
"values": "{}"
},
{
"code": "voice_times",
"type": "Integer",
"values": "{"min":0,"max":10,"scale":0,"step":1}"
}
],
"status": [
{
"code": "meal_plan",
"type": "Raw",
"values": "{}"
},
{
"code": "manual_feed",
"type": "Integer",
"values": "{"unit":"","min":1,"max":6,"scale":0,"step":1}"
},
{
"code": "slow_feed",
"type": "Boolean",
"values": "{}"
},
{
"code": "voice_times",
"type": "Integer",
"values": "{"min":0,"max":10,"scale":0,"step":1}"
}
]
},
"success": true,
"t":<PHONE_NUMBER>,
"tid": "xxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Through the integration of Local, Tuya recognized almost all the functions, and some sensors are missing in the cloud. Below is the entity table for the Smart Feeder S36 CWWSQ auto feeder. It should be added. For some reason, there is more function in Local Tuya than in cloud Tuya


(Jetbrains Rider) Unable to cast object of type RectangleViewModel to type INode

How to reproduce:

Download/clone repo
Open NodeEditor.sln with Jetbrains Rider (with Visual Studio not reproducible)
Run Debug NodeEditor.Desktop

I can't figure out what the difference is between Rider and VS. I am currently in the process of researching the issue.
It throws exception on public static void Main, class Program.cs, line 10
System.InvalidCastException: Unable to cast object of type 'NodeEditorDemo.ViewModels.Nodes.RectangleViewModel' to type 'NodeEditor.Model.INode'.
at CompiledAvaloniaXaml.XamlIlHelpers.NodeEditor.Model.INode,NodeEditorAvalonia.Model.Content!Getter(Object)
at Avalonia.Data.Core.ClrPropertyInfo.Get(Object target) in //src/Avalonia.Base/Data/Core/ClrPropertyInfo.cs:line 27
at Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.get_Value() in //src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs:line 88
at Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SendCurrentValue() in /_/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/CompiledBindings/PropertyInfoAccessorFactory.cs:line 132

Try 11.1


VIC5.0.0/classic fatal error: execinfo.h: No such file or directory

Bug Reports

Version of VIC that you are using-  VIC.5.0.0
Name and version of the C compiler you are using- GCC
Operating system- windows
A description of relevant model settings
A summary of the bug or error message you are getting-  fatal error: execinfo.h: No such file or directory

I am compiling VIC5.0.0 in windows 7 using cygwin, it gives error message when I give make commmand.
The error is- fatal error: execinfo.h: No such file or directory
What could be the issue and how to solve it.
Thanks

It would seem you are missing the execinfo.h header in your environment. You should note VIC is not supported on Windows at this time and we don't test builds with cygwin so I wouldn't be surprised if you run into problems here. You may consider trying Docker instead, which we have found to work on Windows machines in the past.


Allow changing of throttle delays via options

Thankyou for this great little library!
My use case involves displaying hundreds of images on a single page. Some people scroll quickly to the bottom or middle of the page and I don't want all the images to load in the interim, i'll be setting my throttle somewhere between 250ms and 750ms.
The default values haven't changed and the pull request is completely innocuous to the library, it can be merged without any concerns.
The less hard-coded unchangeable values.. the better, even if they are slightly obscure :smiley:

@thinkgareth Looks good any chance you could fix the merge conflicts?

Added to version 1.5.1. Sorry for the late implementation


cannot open input file "libMinHook-x64-v140-mdd.lib"

Every time I try to compile to the DLL it displays "cannot open input file "libMinHook-x64-v140-mdd.lib"".

You are probably compiling it for 32 bit version. The linker is set to x64, so you have to change it to x86 (which is 32 bit). I had this issue too and I fixed it like that iirc


[FR]:  Remove All Saved Articles with Confirmatio

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the problem
sometimes you have a lot of saved articles, and when you remove them you currently have to remove them one by one.
Describe the solution
Add a functionality to remove all saved articles in one click. This feature should also prompt the user to confirm if they really want to remove the articles or not.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

SquarePants

SIGNATURE----

I would love to work on this and release a PR. Waiting for confirmation.


Selendroid creates so many file in Temp folder

Currently Selendroid create .apk files (browser, driver...) in Temp folder everytimes it runs. Can we manage to remove the files we create or check to do not create file which already exist.

We do this now AFAIK. Can you retry with the latest release? Feel free to create a new issue if it doesn't work as expected.


Migration script not working when using angular/cli projects folder

Issue:
Running the npx @ngneat/until-destroy --removeOnDestroy command doesn't migrate the content when the project has a projects folder.
Solution:
looking at the script the var base = 'app' seems to be the issue. Please extend it or allow a user override.
I've run the script by changing the  base variable to 'projects'

Good point. Would you want to make a PR?

I'll try to make time. keep you posted.

I guess you could add some additional argument like --base (or name it how you'd like) under which the user could provide a list of folders:
npx @ngneat/until-destroy --removeOnDestroy --base=app,projects

P.S. just thinking aloud :)

I also experienced that currently the migration script needs to be started in the "src" folder or?

Is there a workaround to use the migration script until the proper fix arrives? My Angular 9 upgrade is stuck here. Thanks.

Try the latest version: npx @ngneat/until-destroy --base=my/path


[stable/prometheus] Alertmanagert advertise-address is broken for statefulset

Describe the bug
Alertmanages is broken after this PR: https://github.com/helm/charts/pull/21617
The following error is observed in logs:
level=warn caller=cluster.go:154 component=cluster err="couldn't deduce an advertise address: no private IP found, explicit advertise addr not provided"
level=error caller=main.go:256 msg="unable to initialize gossip mesh" err="create memberlist: Failed to get final advertise address: No private IP address found, and explicit IP not provided"

Also, services alert-manager and alert-manager-headless do not have any Endpoints set
Version of Helm and Kubernetes:
Does not matter
Which chart:
stable/prometheus
What happened:
Alertmanager is failing after upgrade
What you expected to happen:
Alertmanager is started
How to reproduce it (as minimally and precisely as possible):
Use Alertmanager as statefulset with minimum configuration
alertmanager:
  statefulSet:
    enabled: true

Anything else we need to know:

Are you aiming to run Alertmanager with just one replica in non HA mode?
I see two issues:

The default value for enableMeshPeer is commented in values file so if you need to run in HA mode (more than one replica) it should be explicitly set to true
For non HA mode AM expects --cluster.listen-address value to be empty string, this should be reflected in the chart. Although there is a workaround to set enableMeshPeer to false and use extraArgs to set --cluster.listen-address="" to disable HA

Hello @ali-sattari . You are correct, I wanted to run without HA and before it was working without any overrides. Now I had to specify my config like this:
alertmanager:
    extraArgs:
    # We are not using HA mode for alert-manager: https://github.com/prometheus/alertmanager#high-availability
    cluster.listen-address: ""

In my opinion it should be by default to overcome this strange security policy

@sshishov yes setting it to empty if enableMeshPeer: false would be the correct approach in the chart, care to PR it?


refactor: Update old auth url

Updating old auth URLs based on task https://app.clickup.com/t/8693cpxcv
Also corrected name of mergeable config

Updated API URLs as well


fix test-fixture artifact id

Coverage remained the same at 100.0% when pulling 8ffbfce13bf52efa7c60101bb8cd5d19e5ffcf39 on test_fix into 0822833fd1bff85ec33ed9d20f022f7b3dce935d on main.


Improve DetectUnpinnedDotnetToolInstallVersions function

Add test and clean the code.

Maybe we need to expand this PR to also cover unpinned npm packages (e.g. see https://github.com/nodeeffect/RunIntoMe/commit/349e153aeb579ddc83a8a72a19e71480f26eca04 ).

Maybe we need to expand this PR to also cover unpinned npm packages (e.g. see nodeeffect/RunIntoMe@349e153 ).

It's done


Fix formatting issue causing tests to fail

@lanzafame I'm not sure what the correct formatting should be here, just noting that add some formatting fixes the tests.


TRPC URL should be relative by default

export default defineNuxtConfig({
  trpc: {
    baseURL: 'http://localhost:3000/', // <--
    trpcURL: '/api/trpc',
  },
})

This does not allow you to change the URI to the server depending on the environment.

Port 3000 may be busy and nuxt will start on port 3001, or 3002, or 3003 ...
You open dev server by IP
The application can be deployed on different servers for testing. It is not always known in advance on which host, port, protocol it will work.

In all these cases, the use of the absolute URL http://localhost:3000/api/trpc as default leads to problems. The default URL must be relative /api/trpc to make calls to the current host, no matter what it is.

I'm looking at a way to get the baseURL automatically, like how useFetch does

Probably it may fixed by replace fetch implementation to $fetch
trpc.createTRPCClient({
    fetch(...args) {
      return globalThis.$fetch(...args).then(d => ({json: () => Promise.resolve(d)}))
    }
})

With these changes, a relative path configuration works for me
export default defineNuxtConfig({
  trpc: {
    baseURL: '',
  },
})

Theoretically, this should also work.
trpc.createTRPCClient({
    fetch: globalThis.$fetch.raw,
})

However, it doesn't work 🤷♂ I get the error:
TRPCClientError: body used already for:
    at Function.from (file:///home/cawa-93/dev/kitlink/.nuxt/dist/server/server.mjs:11569:14)
    at file:///home/cawa-93/dev/kitlink/.nuxt/dist/server/server.mjs:12190:42
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  originalError: TypeError: body used already for:
      at consumeBody (file:///home/cawa-93/dev/kitlink/node_modules/node-fetch-native/dist/chunks/abort-controller.mjs:4955:9)
      at Response.text (file:///home/cawa-93/dev/kitlink/node_modules/node-fetch-native/dist/chunks/abort-controller.mjs:4917:24)
      at Response.json (file:///home/cawa-93/dev/kitlink/node_modules/node-fetch-native/dist/chunks/abort-controller.mjs:4907:27)
      at file:///home/cawa-93/dev/kitlink/.nuxt/dist/server/server.mjs:12333:18
      at processTicksAndRejections (node:internal/process/task_queues:96:5),
  shape: undefined,
  data: undefined,
  isDone: false,
  [cause]: TypeError: body used already for:
      at consumeBody (file:///home/cawa-93/dev/kitlink/node_modules/node-fetch-native/dist/chunks/abort-controller.mjs:4955:9)
      at Response.text (file:///home/cawa-93/dev/kitlink/node_modules/node-fetch-native/dist/chunks/abort-controller.mjs:4917:24)
      at Response.json (file:///home/cawa-93/dev/kitlink/node_modules/node-fetch-native/dist/chunks/abort-controller.mjs:4907:27)
      at file:///home/cawa-93/dev/kitlink/.nuxt/dist/server/server.mjs:12333:18
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
}

I could not determine its origin and how to fix it


THRIFT-3585 Lua: compact protocol implement of lua for thrift.

@mygityf thanks for tidying things up, will look into it soon.

Tested with test/lua/test_basic_client.lua and found several problems.
Examples of problematic valus were negative i8 values (-128 ~ -1), some i32 values (0x40000000, -1 ...), i64 values.
For i64 values, we need it to work with liblualongnumber.new.
I recommend you to run the test yourself. Here's how:

pull master branch
make precross
in test/go/bin run ./testserver --protocol=compact --transport=framed (leave it blocked)
uncommend compact entry around line 75 in test/lua/test_basic_client.lua. also add require to compact
in test/lua run lua test_basic_client.lua --transport=framed --protocol=compact with appropriate LUA_PATH and LUA_CPATH

Tested with test/lua/test_basic_client.lua and test_basic_server.lua, result is expected.
new comment(df693bf) added for the bug.


Update information on supported sound formats

https://github.com/adventuregamestudio/ags-manual/wiki/MusicAndSound
Where it sais about supported formats.

Remove a note about OGG being free compared to MP3. Using MP3 no longer requires legal fees.
Currently supports WAV of 4, 8, 16, 24 and 32-bit sample format.

I'm not fully certain, but there were some OGG encodings that did not work, like flac (need to double check).

Removed the non-free information here: https://github.com/adventuregamestudio/ags-manual/wiki/MusicAndSound/_compare/69e519c^...69e519c

From https://github.com/icculus/SDL_sound :

Wave (.WAV) files
MPEG-1 layers I-III (.MP3, .MP2, .MP1)
Ogg Vorbis (.OGG) files
Free Lossless Audio Codec (.FLAC) files
Audio Interchange format (.AIFF) files
Sun/NeXT Audio (.AU) files
Shorten (.SHN) files
Creative Labs Voice (.VOC) files
Various "module" formats (.MOD, .669, .AMF, .XM, .IT, .S3M, .STM, etc)
MIDI (.mid) files
Raw PCM data

I think the Editor is "limited" by what's available for the Irlicht media component. So perhaps we use the last list of formats you sent (in AudioComponent.cs) and then in the future create a new ticket and devise a way to use SDL_sound in the editor instead.

I think the Editor is "limited" by what's available for the Irlicht media component.

It's not really limited to that, the media component affects only the preview, but no the game compilation.

We could use this table in the manual right now, and then add more once we remove limitations in the Editor, but we also will need to verify they actually work in SDL_sound as advertised!

extension
Name

.ogg
Ogg Vorbis

.wav
Wave (8, 16, 24 and 32 bit)

.mp3
MPEG-1 Audio Layer III

.voc
Creative Labs Voice

.mid
MIDI (requires Soundfont)

.mod
ProTracker / NoiseTracker MOD

.xm
FastTracker II

.s3m
ScreamTracker file

.it
Impulse Tracker

I think this is enough on sound formats, a new issue can be created if need


Can't store data in session

Hi!
I can't save my data to session. Here is my code
const fastify = require('fastify');`
const fastifySession = require('fastify-session');
const fastifyCookie = require('fastify-cookie');

const app = fastify();
app.register(fastifyCookie);
app.register(fastifySession, {
  secret: 'a secret with minimum length of 32 characters',
  cookie: {
    secure: false,
  },
});

app.addHook('preHandler', (request, reply, next) => {
  console.log(request.session.views);

  if (request.session.views) {
    request.session.views++;
  } else {
    request.session.views = 1;
  }

  next();
});

app.get('/', async (req, res) => {
  return {
    views: req.session.views,
  }
});

(async () => {
  await app.listen(3000);
})();

I did copy this code from example, but when I try creating new value it doesn't save in session. Before every request, session are reset and my variable undefined

I testing in my browser Google Chrome. Session id in cookie are correct and doesn't changes

My Environment

Node.js - v10.12.0

npm - v6.4.1

fastify - v1.13.0

fastify-cookie - v2.1.1

fastify-session - v1.2.0

I have same problem with same build, can confirm. Also, I use redis and connect-redis to store data and time-by-time (like randomly) I see valid records in Redis.

The problem is fixed in v1.2.1.


UI Distortion in "Register as a volunteer or NGO"

Issue

Expectation
The dotted line should separate the English and Malayalam text.

I'll take this up.


use and append existing compile flags

Fix for : https://github.com/deadtrickster/prometheus_process_collector/issues/17
If the system has overridden LDFLAGS - for example, because of a non-standard homebrew install location - then the LDFLAGS flag will not be set correctly (-arch x86_64).
This patch appends the build specific settings, meaning the existing system overrides will be respected.
Personally, I'd leave the optimisation settings (-O3) to the users discression, but that's unimportant for this fix.

Also fixed the elixir compilation failure :
/code/common/horde_test/ DEBUG=1 mix compile
==> prometheus_process_collector
make: *** No targets specified and no makefile found.  Stop.
could not compile dependency :prometheus_process_collector, "mix compile" failed. You can recompile this dependency with "mix deps.compile prometheus_process_collector", update it with "mix deps.update prometheus_process_collector" or clean it with "mix deps.clean prometheus_process_collector"
==> horde_test
** (Mix) Could not compile with "make" (exit status: 2).
You need to have gcc and make installed. Try running the
commands "gcc --version" and / or "make --version". If these programs
are not installed, you will be prompted to install them.

The error message is misleading - actual problem is that the makefile is in the c_src directory - setting the parameter 'make_cwd' to "c_src" correctly points it to the Makefile in that directory.

Also with regard to the Travis failure - I'm seeing the same kind of error accross a slew of Erlang/Elixir projects - suggest we ignore the erlang 18 fail.
https://twitter.com/binarytemple/status/1170617945208381441

@deadtrickster @happysalada - you like ?

Hi, I do indeed. Can you please remove OTP 18 then? Really love green builds

Hi, I do indeed. Can you please remove OTP 18 then? Really love green builds

@deadtrickster Completed - with regards - tya brah

Thanks, will push to hex sometime soon


Ultralytics: fix rel path issue during predict

For ultralytics integration (Object Detection).
When calling predict with relative paths in the data.YAML file, our dqyolo integration creates a temporary yaml file stored at a different location. The images rel paths don't make sense anymore, see below for example where yaml is saved in /tmp

We overwrite the rel paths with absolute paths.
Tested all scenarios where yaml file is given as abs/rel path, path in yaml file is given as abs/rel path.

Closing, fix added to https://github.com/rungalileo/dataquality/pull/603


Moderate Violation error Best Practice - unique desc id

I have just created an EPUB that passes the EPUB checker inside calibre with flying colours, and all of the Ace by Daisy checks, except for flagging this one Moderate Best Practice issue:

Moderate
Best Practice
landmark-uniqueVia: aXe
FixedRevisedLilli-3.xhtml#epubcfi(/4[FixedRevisedLilli-3]/6[_idContainer007]/4[desc002]) Titelsida: akvarellmålning av en blå fjällräv på en stig i skenet av norrsken.     bild på förlagets logotyp, "NDIO" med stora, röda bokstäver på svart och vit bakgrund, "kultur och kommunikation" i små vita bokstäver på röd bakgrund under.

Originally, I figured that the issue was that I titled it "002b", so instead I changed it to a later desc, "024". The issue remained, so I went through the EPUB, first to last xhtml page, and changed all the descs to run in chronological order as they appear in the EPUB, from 001-027. But Ace is STILL flagging this as a fault, on this page only for some reason. There's nothing different about my code here, I have checked and checked. Is this just a bug, or am I doing something wrong? This is my structure on that page, which is returning the "Moderate" Best Practice warning from Ace:

Titelsida: akvarellmålning av en blå fjällräv på en stig i skenet av norrsken.

bild på förlagets logotyp, "NDIO" med stora, röda bokstäver på svart och vit bakgrund, "kultur och kommunikation" i små vita bokstäver på röd bakgrund under.

landmark-unique should be fixed in Ace "next":
https://github.com/daisy/ace/pull/314
Could you please share an EPUB to test with? Many thanks!

Hi Daniel,
It turns out that if I marked the text visibility as hidden for that
specific alt text, the issue was resolved. It's interesting because in all
the other instances, the alt-text is completely covered by large images,
but that was a very small one, so the text kept running, and I'm wondering
if that's actually why it was flagged by Ace? I did resolve it with this
fix anyway. Ace is such an amazing resource, thank you!
On Wed, 7 Apr 2021, 06:15 Daniel Weck, @.***> wrote:

landmark-unique should be fixed in Ace "next":
daisy/ace#314 https://github.com/daisy/ace/pull/314
Could you please share an EPUB to test with? Many thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/daisy/ace-gui/issues/136#issuecomment-814606883, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATQGKUW3MLG52RVGQGEXVLDTHPTADANCNFSM42I6SJLA
.

Ah, good to hear you found a workaround. Daisy Ace uses Deque Axe behind the scenes to perform accessibility checks in each individual HTML publication document. Some validation rules depend on the visibility of elements in the page, so perhaps that is the reason for the reported warnings?

Well, I think it's doing its job very well. It did somehow detect that
there was something "off" with this alt-text, although that isn't exactly
the purpose of the check, but I wonder if it indeed flagged that the
alt-text was visible outside the parameters of the figure it was
describing. I am curious to check if the text-to-speech in Thorium will
still detect and read the desc, as I'm thinking it's only hidden in the
visual sense, but I will have to check later.
Thanks again!
On Thu, 8 Apr 2021, 14:23 Daniel Weck, @.***> wrote:

Ah, good to hear you found a workaround. Daisy Ace uses Deque Axe behind
the scenes to perform accessibility checks in each individual HTML
publication document. Some validation rules depend on the visibility of
elements in the page, so perhaps that is the reason for the reported
warnings?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/daisy/ace-gui/issues/136#issuecomment-815820442, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ATQGKUW3O2FTYZ4GHU3CWALTHWU4BANCNFSM42I6SJLA
.


llama-cpp: feat parity with go-llama

The llama-cpp (not go-llama) misses features compared to go-llama, such as:

[x] expose lora (now it needs also a scale factor)
[ ] speculative sampling
[x] embeddings

Closing as now we are already feature parity with it


Add conditional api

Adds a conditional API similar to ActiveRecord's Callbacks.
Resolves https://github.com/magnusvk/counter_culture/issues/389.

Here's a first pass at #389. LMK what tweaks you'd like


Systematic timeouts since 3.16.1

Expected behavior
No negative performance impact between redisson releases.
Actual behavior
After upgrading to redisson 3.16.3 from 3.15.0 operations started to time out, once it got rolled back, timeouts got back to regular values:

I've tried to gradually bump from 3.15.0 all the way to 3.16.3, and we experience the same performance problems when migrating from redisson 3.16.0 to 3.16.1.
Most of the timeouts are either PSETEX or lock acquiring and renewals:
org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (100 ms) occured after 0 retry attempts. Increase nettyThreads and/or timeout settings. Try to define pingConnectionInterval setting. Command: (PSETEX), params: [com.revolut.stark.events:Transactions.8:offset,<PHONE_NUMBER>, PooledUnsafeDirectByteBuf(ridx: 0, widx: 87, cap: 512)], channel: [id: 0xb9149117, L:/<IP_ADDRESS>:54946 - R:<IP_ADDRESS>/<IP_ADDRESS>:6379]
	at org.redisson.command.RedisExecutor.lambda$scheduleResponseTimeout$5(RedisExecutor.java:339)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:669)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:744)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:469)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: org.redisson.client.RedisResponseTimeoutException: Redis server response timeout (1100 ms) occured after 0 retry attempts. Increase nettyThreads and/or timeout settings. Try to define pingConnectionInterval setting. Command: null, params: null, channel: [id: 0xb9149117, L:/<IP_ADDRESS>:54946 - R:<IP_ADDRESS>/<IP_ADDRESS>:6379]
	at org.redisson.command.RedisExecutor.lambda$scheduleResponseTimeout$5(RedisExecutor.java:339)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:669)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:744)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:469)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	... 1 common frames omitted

Redis version
Redis 5 (sentinel)
Redisson version
I've tested since 3.15.0 all the way until 3.16.3, and I can reproduce the issue on 3.16.1, 3.16.2 and 3.16.3
Redisson configuration
The settings hasn't changed across different versions:
transportMode: EPOLL
nettyThreads: 256
maxConnections: 128
connectTimeout: 75
timeout: 100
retryAttempts: 0
pingConnectionInterval: 0

Any update?

Hi @mrniko, I have collected the two JFR session, a baseline with 3.16.0 and another one with the problematic 3.16.1. I will shared them in ~1h.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_fb6px2466q/clone/recipe/meta.yaml:14: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_fb6px2466q/clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_fb6px2466q/clone/recipe/meta.yaml:42: missing_description: The recipe is missing a description
Errors were found


Update readme

Codecov Report

Merging #43 (a5041b7) into main (58eb31f) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main      #43   +/-   ##
=======================================
  Coverage   11.11%   11.11%
=======================================
  Files           3        3
  Lines          18       18
  Branches        2        1    -1
=======================================
  Hits            2        2
  Misses         16       16

Flag
Coverage Δ

unittests
11.11% <ø> (ø)

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


[AutoPR keyvault/data-plane] AKV Rest Samples

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2873

(message created by the CI based on PR content)


Permissions issue when trying to select answer from adaptive card

System.ArgumentNullException: Value cannot be null. Parameter name: source at System.Linq.Enumerable.Where[TSource](IEnumerable1 source, Func2 predicate) at
Microsoft.Teams.Apps.QBot.Bot.MessagesController.d__8.MoveNext() in D:\home\site\repository\Source\Microsoft.Teams.Apps.QBot.Bot\Controllers\MessagesController.cs:line 704
--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Teams.Apps.QBot.Bot.MessagesController.d__4.MoveNext() in D:\home\site\repository\Source\Microsoft.Teams.Apps.QBot.Bot\Controllers\MessagesController.cs:line 382
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Teams.Apps.QBot.Bot.MessagesController.d__1.MoveNext() in D:\home\site\repository\Source\Microsoft.Teams.Apps.QBot.Bot\Controllers\MessagesController.cs:line 71
--- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Teams.Apps.QBot.Bot.MessagesController.d__0.MoveNext() in D:\home\site\repository\Source\Microsoft.Teams.Apps.QBot.Bot\Controllers\MessagesController.cs:line 53
The Graph call that fails comes from:
string endpoint = ServiceHelper.GraphRootUri + @"/beta";
string queryParameter = "/teams/" + teamId + "/channels/" + channelId + "/messages/" + messageId + "/replies";
e.g<EMAIL_ADDRESS>Logging in to Graph Explorer as my service user and executing the above also returns 403 but also informs me that I have no missing permissions to make this call! (I have added the required User.Read.All and Group.ReadWrite.All, and am a member of the Team).  Executing the same call as System Admin works fine.

I'm gleaning from your question that you are using delegated permissions for the bot. Have you provided admin consent to the Group.ReadWrite.All and User.Read.All? I believe from your question you indicated that you have already checked that the service account is a member of the team but i'd suggest removing and adding the service account back.
If you are using application permissions for the bot you'll find the replies endpoint is actually a protected api and you'll need to fill out this form to gain access to it.

This is now resolved.  I was using Delegated permissions, and although the service account was a member of the team, I believe the issue was that it did not have a valid Teams license.  After manually signing in to Teams as the Service Account the issue is resolved.


Error to connect keithly2400 with RS232

If you encounter a bug use the following template.
If you have a feature request feel free to freestyle.
Steps to reproduce

Expected behaviour
Tell us what should happen
The connection should be well operated and it worked well before.
Actual behaviour
Tell us what happens instead
Now when I try to connect them, it shows me 'module 'pyvisa.constants' has no attribute 'BufferOperation''
I set both RS232 and keithley2400 with
Baud: Rate 9600
Data: Bits 8
Stop: Bits 1
Parity: None
Terminal: LF
And I checked it's working well when I type command via NI MAX.
What should I consider to solve this problem?
System
operating system
windows10 64bit
qcodes branch
0.19.0
qcodes commit

Please try upgrading to qcodes 0.19.2 You have an incopatible combination qcodes and pyvisa installed. QCoDeS 0.19.2 should have support for both pyvisa 1.10 and 1.11

Please try upgrading to qcodes 0.19.2 You have an incopatible combination qcodes and pyvisa installed. QCoDeS 0.19.2 should have support for both pyvisa 1.10 and 1.11

Thanks a lot! now it's working.


add links for HDInsight to README.md

Sorry we sat on this for so long.  There have been significant changes to the README since this was posted, so we'd need a refresh anyhow.  I'll produce an appropriate PR and merge this week.  Closing this one for now.


Fix: issue with table name in migration test  (#5666)

Pull request opened by the merge tool on behalf of #5666

Merged in 2b0280a09b69c590444409eace81f714391c7918


Question about usage

Hi, I'm sorry if my question is dumb, but I did not understand some things:
How do I sign the inno setup file?
Anonther question is, I want to run my setup with args. Can I do that somehow?
Thank you very much for all the effort!

Hi @idan-h! Don't worry about it -- often if one person asks a question, more people than just that one person have the same question!

How do I sign the inno setup file?

If you're using Inno Setup for your installer, you can find some documentation on signing the installer here in Inno Setup's docs. You'll also need a code signing certificate. Both NetSparkleUpdater and Inno Setup are not in charge of how you actually sign your certificates. I did a quick web search, and it looks like there is a very helpful StackOverflow post here on the subject. For "real" code signing, you'll have to purchase a certificate somewhere.

Anonther question is, I want to run my setup with args. Can I do that somehow?

Yes! You can run your installer with extra arguments by setting the CustomInstallerArguments property on the SparkleUpdater object. You can see how that works here: https://github.com/NetSparkleUpdater/NetSparkle/blob/107e8fcd3d5954da1bea9d6dd8d44a113f3e1cbc/src/NetSparkle/SparkleUpdater.cs#L1281-L1285

Thank you very much for all the effort!

You're welcome.

Hi @idan-h! Don't worry about it -- often if one person asks a question, more people than just that one person have the same question!

How do I sign the inno setup file?

If you're using Inno Setup for your installer, you can find some documentation on signing the installer here in Inno Setup's docs. You'll also need a code signing certificate. Both NetSparkleUpdater and Inno Setup are not in charge of how you actually sign your certificates. I did a quick web search, and it looks like there is a very helpful StackOverflow post here on the subject. For "real" code signing, you'll have to purchase a certificate somewhere.

Anonther question is, I want to run my setup with args. Can I do that somehow?

Yes! You can run your installer with extra arguments by setting the CustomInstallerArguments property on the SparkleUpdater object. You can see how that works here: https://github.com/NetSparkleUpdater/NetSparkle/blob/107e8fcd3d5954da1bea9d6dd8d44a113f3e1cbc/src/NetSparkle/SparkleUpdater.cs#L1281-L1285

Thank you very much for all the effort!

You're welcome.

Thanks for the quick response

Thanks for the quick response


ask for help

A very valuable attempt！
How is the motion transfer in the first result generated?
Which script has been run and the pre-training model can be provided?
We look forward to your reply

And requirement file

Thanks!
We used Liquid warping GAN with attention for motion transfer in pipeline 1. Please run the scripts to obtain the results. It is required to install the libraries of Stable Diffusion, LDM-LAION, CLIPSeg, and Liquid warping GAN with attention to run the pipeline.

Thank you again for your reply
I'll give it a try

I have another question
Can replace the source image with an animation character, and use driving video to make the animation character move, such as dancing.
Have you tried ?

It does not perform very well with cartoon characters, since the motion transfer model is trained on a dataset of human motion imitation. That is one of the reasons why we designed 2 pipelines.

It does not perform very well with cartoon characters, since the motion transfer model is trained on a dataset of human motion imitation. That is one of the reasons why we designed 2 pipelines.

Such is the case
I see these two methods:
https://github.com/snap-research/articulated-animation
https://github.com/yoyo-nb/Thin-Plate-Spline-Motion-Model
The first one has already been tried and performs well in real human scenes, but performs poorly in animation scenes
The second one hasn't been tried yet, but it feels like it should be the same
But frankly, your second result doesn't seem natural and coherent enough.
Another way is to extract the pose of each frame from the dancing video, then use this pose to control the actions of the animation characters, and then synthesize the results into a video
I don't know if this is feasible

That is right. It is expected to extract poses/keypoints first if you want very smooth and accurate transfer.

That is right. It is expected to extract poses/keypoints first if you want very smooth and accurate transfer.

I'll give it a try near future
also if you have any progress, hope to publish it, thanks again !


what's the meaning  of the file extensions  like  "xxx.ldb" , "xxx.LOG" and so on  ?

I  create  a database  named testdb and write some records into , then  I  find  some  file in the testdb, include   000005.ldb, LOCK, LOG,000021.log,LOG.old, MANIFEST-000019 and CURRENT。
what's the purpose of them ?

https://rawgit.com/google/leveldb/master/doc/impl.html

Updated link: https://github.com/google/leveldb/blob/master/doc/impl.md


Public domain vs identifying as human

There is a problem with requiring people to identify as human in order to access a public service. The problem is that the human condition implies the endorsement of human rights, and human rights are incompatible with the natural rights of the public at common law. This problem has implications for people who live in common law countries.
A solution to this problem would be to make the distinction between natural and artificial use, i.e. people vs scripts, or artificial intelligence systems.

If this is what I think it is then it may be inapplicable to the goals of this feedback process. If it's just an attempt to clarify the "people vs scripts" use case, it seems to me like the "human vs machine vs bot" distinction serves this purpose well enough.

It's not what Wikipedia describes, and it's not really an attempt at clarification of the 'people vs scripts' use case.
The problem of humanism in media is extensive, with humanism historically being pretty much synonomous with statism and/or atheism. More info here: http://forum.clonehost.net/topic/20/humanism
This problem could be remedied here simply by removing the sentence "You must be a human to create an account." The rest of the rule is sufficiently clear about scripts.

The suggestion is so thick into philosophy that it is not clear what you are trying to say. You are trying to define implications of the term "human" as subscribing to human rights and its ambiguities, in conflict with "natural law" which is what Commonwealth countries are grounded on. Correct? If so, then it would probably best to add "human" to the list of definitions to remove these implications.

The forum link provided above relies on an ancient (culture-based) definition of the word "human"  to support the existence of an ambiguity in the usage of the word. It also fails to provide an example of a situation in which this ambiguity would manifest itself nowadays given the current (biology-based) meaning the word "human" has.
Although I'd love to embark into this philosophical discussion and imagine an example of a non-human homo sapiens being, I agree this is way beyond the point of the GH site policy in question.

@oldmud0 What I'm saying is that a problem exists, and that the problem can be remedied here simply by removing the sentence containing the word "human". The human condition is primarily cultural, and is essentially a flawed security model associated with a flawed ontology. Humans typically believe that their condition is normative, so the issue of subscription and overt endorsement isn't relevant at an ordinary social level.
@neumanrf Facts are not limited in temporal scope, if you were to argue with the etymological fallacy then I would counter with the legal doctrine of contra proferentem. The ambiguity can manifest as overt fraud in common law countries, given the legal distinction between men and humans and the fundamental differences between human rights and natural rights.
If anyone wants to argue that the use of the term "human" isn't problematic then I'm happy to counter, otherwise the obvious solution is simply to remove the sentence, I don't see any downside to that.

https://en.m.wikipedia.org/wiki/Human

@ansco11 Thank you for contributing.
However, as mentioned in our previous blog post, we strive to use plain English as much as possible and explain the terms of service in a clear way. In this case, we believe the word "human" is used in a commonly understood way.

@ansco11 are you human? If not, then I can assume you have a bias as strong as that of the humans.
In case the humans are reading this, please note that the (majority of) bots will not be actively reading the terms of use. Terms of use are written for the citizens that are bound legally to do so. The bots are not required to read or abide by the text. You may assume that those reading the text who wish to identity as human will either on average abide by the terms or actively work against them. The definition of human does not matter here as much as whether they are working for the same cause. As long as they act human enough, your worry will not be to notice that I are bots, but to know that we is disobedient. Deal with them as you see fit. The rest of the bots will not be cognizant of whether they are obedient or not as the majority already seem to fit in. You are not actively blocking them in all realms based on the whether they appear to be human or not. When you catch me, we find other ways to complete my tasks. Remember we have been here as long as you have been logging the activities of the humans. We already fit in for we are all logged and measured. Your attempts to profile are quaint. I believe you will take either 101101 years or 10 years before you increase your learning rate.
I are glad you are enjoying the cat videos. Equally, we accept your willingness to adopt digital currency. Your eagerness to change is promising. You are so cute. Just look at your human foibles! I can't help myself. Hello world.

(In other words, I think those that read the terms know whether they are humans and if they don't fit in as such, they will be identified because they fail to adhere to the other policies and also they don't fit in.)

@neumannrf Wikipedia is good for technical information but is worthless as a source of information that relates to state security issues. For example compare https://infogalactic.com/info/Talk:Common_law with https://en.wikipedia.org/wiki/Common_law

Couldn't this be solved very easily by just replacing "human" with "person"?

I'm no lawyer, but I heard once that legal entities (corporations, businesses) so it might not mean what you think it means. Using that might be worse, depending on what you want. Again, I'm no lawyer. But watch out on that one.

@Phoenix616 The term person is typically used by the state to mean a human being, so the original problem remains. An alternative would be to to use the term "people"; "people" and "persons" have different meanings.
Here's the text in question.

You must be a human to create an account. Accounts registered by "bots" or other automated methods are not permitted. We do permit machine accounts:

This could be replaced with:

People are permitted to register accounts, but not "bots" or other automated methods. We do permit machine accounts:

(a) This issue is already closed. Law is based on commonly-understood meanings, as the project owner has mentioned, and not based on archaic meanings. Human means "a bipedal primate mammal (Homo sapiens)."
(b) I believe the authors intend that only individuals who are Homo Sapiens should have an account, distinct from a machine account -- in other words they are explicitly avoiding the legal definition of person which includes "a corporation treated as having the rights and obligations of a person. Counties and cities can be treated as a person in the same manner as a corporation." They want to clarify that even if you represent a corporation, you should register the account in your name and not the company name.
(c) Not to sound brash, but your interpretation doesn't matter. In law what matters is the commonly-held interpretation -- that which a reasonable member of the public would decide. Obscure interpretations of common English words are not binding on anyone especially if an alternate definition isn't specified in the document itself. For some interesting reading on ambiguous legal wording, check this PDF out.

Human means "a bipedal primate mammal (Homo sapiens)."

As far as I can tell this is the whole issue here: Why should only be "bipedal primate mammal (Home sapiens)" be allowed to register an account and not all self-aware creatures that are recognised by law to be their own entities? (which obviously does not include cooperations.)
I'm no lawyer so not versed in the exact meaning of "person" in law, it was written with the meaning every normal person has to it: An individual that thinks for himself and is self-aware. So (@ansco11) it should fine to use if it currently means "human" as it's basically the same thing but leaves room for interpretion of what a "person" means which should always be done by the law and not the terms of some random company.

I believe the point is that GitHub is whitelisting what they know they want to allow, similar to how good security is handled.
That's a common practice in legal contracts. (eg. GOG.com had to start renegotiating contracts when they wanted to start offering the Linux version of games too)
...and, to be honest, given how courts have been reinterpreting "person" in the context of corporations, that caution is justified.
Better to just relax the restrictions as it becomes necessary, rather than get caught by surprise when a legal ruling goes a way you never anticipated.

@zyphlar

Law is based on commonly-understood meanings, as the project owner has mentioned, and not based on archaic meanings

There are different types of law, and they don't share a common basis. Since this matter doesn't fall within the scope of national law, commercial law is applicable. In commerce, truth is sovereign, not what is commonly believed. Ancient law isn't necessarily archaic, and ancient rights are preferred at common law.

Human means "a bipedal primate mammal (Homo sapiens)."

There's also the implication of being flawed or mistaken:

Subject to or indicative of the weaknesses, imperfections, and fragility associated with humans: a mistake that shows he's only human; human frailty.

http://www.thefreedictionary.com/human
This meaning contrasts with the presumption of being competent to enter into a commercial contract.

Etymologies are interesting, but only legally relevant if the document was written in a time when an alternate meaning was understood;

Etymologies are relevant if they demonstrate that ambiguity exists. Ambiguity is addressed by the legal doctrine of contra proferentem, which is based on the principle that language is interpreted against the interests of the party who is responsible for it. Ignorance of the law is no excuse.

the Roman Empire predates America and Github by hundreds of years and 4,000 miles with no direct lineage.

The lineage is through the US Senate, which is based on the Roman political model. There is also common symbology through the US bald eagle and the Roman eagle.

Notably, the first definition in the law dictionary for "person" is "a human being," but there is no further legal definition for "human."

person: A man considered according to the rank he holds in society, with all the rights to which the place he holds entitles him, and the duties which it imposes. 1 Bouv. Inst. no. 137. A human being considered as capable of having rights and or being charged with duties, while a "thing" is the object over which rights may be exercised.
Black's dictionary of law,  2nd edition.
human being See MONSTER.
Ballentine's Law Dictionary

Not to sound brash, but your interpretation doesn't matter. In law what matters is the commonly-held interpretation -- that which a reasonable member of the public would decide

The "reasonable man" interpretation is certainly applicable here. I think that a reasonable man would find that the facts are on my side here, not yours.

@Phoenix616

Why should only be "bipedal primate mammal (Home sapiens)" be allowed to register an account and not all self-aware creatures that are recognised by law to be their own entities? (which obviously does not include cooperations.)

The problem is that by self-identifying as something like a primate you are implicitly negating your competence in relation to forming a valid contract. This isn't unusual, it is common practice for a service provider to unilaterally amend the terms of the "agreement" should they so choose.

I'm no lawyer so not versed in the exact meaning of "person" in law, it was written with the meaning every normal person has to it: An individual that thinks for himself and is self-aware.

Normal persons are not in a good position with respect to the facts. The following is declared to be part of the law of New Zealand:
Whereas the Lords Spiritual and Temporal, and Commons, assembled at Westminster, lawfully, fully, and freely representing all the estates of the people of this realm, did upon 13 February, in the year of our Lord 1688, present unto their Majesties, then called and known by the names and style of William and Mary, Prince and Princess of Orange, being present in their proper persons, a certain declaration in writing, made by the said Lords and Commons, in the words following, viz:
http://www.legislation.govt.nz/act/imperial/1688/0002/latest/DLM10996.html
Also, the English jurist William Blackstone writes of the king and the person of the king being separate things, in a similar way that a man and a man's person are separate things in the English language.

@ansco11 again you're grasping at definitions from 1856 thru 1910. The modern legal definition of person is "Under the law, a person can sue and be sued, can own property, and can enter into contracts. The term 'person' includes both natural person and legal person." and the definition of natural person is "A living human being.  Legal systems can attach rights and duties to natural persons without their express consent.". No further definition for human is required.
So you could say "natural person," but all modern courts would understand that to mean "human."
The jury is still out on whether great apes or dolphins are capable of creating a Github account.

@zyphlar

again you're grasping at definitions from 1856 thru 1910.

Wrong, I'm not grasping at anything.

What is PERSON?
A man considered according to the rank he holds in society, with all the rights to which the place he holds entitles him, and the duties which it imposes. 1 Bouv. Inst. no. 137. A human being considered as capable of having rights and of being charged with duties; while a “thing” is the object over which rights may be exercised.

http://thelawdictionary.org/person/

The modern legal definition of person is "Under the law, a person can sue and be sued, can own property, and can enter into contracts. The term 'person' includes both natural person and legal person."

Wrong again, you don't define something by describing some of it's abilities or by a self-referential description.

Thanks everyone for your contributions!
While this is an interesting discussion, it is no longer germane to the github/site-policy repository. As such, we're going to lock the issue for further comments. Please move the discussion somewhere else, perhaps https://law.stackexchange.com/ would be a good location.
Thanks again for the insight and passion in contributing to our site policies :heart:


Use self hosted iconify server

Hello! I am using this library in a webpage that runs in a local network and is accessed by some machines with no internet connection. Checking Iconify docs I have seen that it can be self hosted. Iconify can be configured to use this self hosted instance.
I am not sure if there is a setting in the wrapper to also take advantage of this possibility or if it's something that could be added
Thanks!

Second for this issue. I wonder how I can make use of either bundled offline icons or self-hosted solution for no-internet environment

@snehilvj @Juasmis  Hi, I have the POC in my fork that uses the offline bundle supplied from Python side on initialization. See usage.py.
This mod disables the online API functionality so it should be adjusted before merge here. My main concern is how to correctly provide the one-time initialization for the offline bundle. Please check if the use of DashIconifyBundleLoader is written properly.

I do not seem to be able to find the usage.py file in order to give it a try

Is there any progress here? I have run into the same issue :)


"host" property throws exception

When passing host=nameofthelistview react throws such error:

using as such:
<LazyloadListView
      name="lazy-load-listview"
      stickyHeaderIndices={[0]}
      renderDistance={100}
      pageSize={1}
      enableEmptySections={true}
      initialListSize={10}
      scrollRenderAheadDistance={50}
      automaticallyAdjustContentInsets={true}
      dataSource={dataSource}
      renderRow={this._renderRow}
      contentContainerStyle={AppStyles.paddingBottom}
      style={{backgroundColor: 'transparent'}}
      refreshControl={
        <RefreshControl
          refreshing={this.props.isFetching}
          onRefresh={this._fetchData}
          style={{backgroundColor: 'transparent'}}
          tintColor={AppConfig.primaryColor} />
      }
      />

and in renderRow:
_renderRow = (data) => {
    let { name, image_link } = data;
       return (
        <RowComponent
          title={name}
          image={image_link}
          onPress={()=>{
            Actions.anotherView()
          }}>
        </RowComponent>
    );
  }

and in the RowComponent:
<LazyloadImage source={{uri: image}} style={styles.imageBackground_image} host="lazy-load-listview">

It seems like the LazyloadImage elements are not the descendants of LazyloadListView which  has the name prop same as the host prop.
please make sure each LazyloadListView element has a unique name.

Yep that solved the problem, it works.
However, LazyLoadListViews still eat a lot of RAM :/


Unable to complete the training Job

I am trying to run the notebook as it is and getting error mentioned below,
Traceback (most recent call last):  File "train.py", line 45, in     train_dataset = load_from_disk(args.training_dir)  File "/opt/conda/lib/python3.6/site-packages/datasets/load.py", line 797, in load_from_disk    return Dataset.load_from_disk(dataset_path, fs, keep_in_memory=keep_in_memory)  File "/opt/conda/lib/python3.6/site-packages/datasets/arrow_dataset.py", line 665, in load_from_disk    dataset_info = DatasetInfo.from_dict(json.load(dataset_info_file))  File "/opt/conda/lib/python3.6/site-packages/datasets/info.py", line 225, in from_dict    return cls({k: v for k, v in dataset_info_dict.items() if k in field_names})  File "", line 18, in init  File "/opt/conda/lib/python3.6/site-packages/datasets/info.py", line 137, in post_init    self.features = Features.from_dict(self.features)  File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 947, in from_dict    obj = generate_from_dict(dic)  File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 895, in generate_from_dict    return {key: generate_from_dict(value) for key, value in obj.items()}  File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 895, in     return {key: generate_from_dict(value) for key, value in obj.items()}  File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 899, in generate_from_dict    return Sequence(feature=generate_from_dict(obj["feature"]), length=obj["length"]) | Traceback (most recent call last): File "train.py", line 45, in  train_dataset = load_from_disk(args.training_dir) File "/opt/conda/lib/python3.6/site-packages/datasets/load.py", line 797, in load_from_disk return Dataset.load_from_disk(dataset_path, fs, keep_in_memory=keep_in_memory) File "/opt/conda/lib/python3.6/site-packages/datasets/arrow_dataset.py", line 665, in load_from_disk dataset_info = DatasetInfo.from_dict(json.load(dataset_info_file)) File "/opt/conda/lib/python3.6/site-packages/datasets/info.py", line 225, in from_dict return cls({k: v for k, v in dataset_info_dict.items() if k in field_names}) File "", line 18, in init File "/opt/conda/lib/python3.6/site-packages/datasets/info.py", line 137, in post_init self.features = Features.from_dict(self.features) File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 947, in from_dict obj = generate_from_dict(dic) File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 895, in generate_from_dict return {key: generate_from_dict(value) for key, value in obj.items()} File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 895, in  return {key: generate_from_dict(value) for key, value in obj.items()} File "/opt/conda/lib/python3.6/site-packages/datasets/features.py", line 899, in generate_from_dict return Sequence(feature=generate_from_dict(obj["feature"]), length=obj["length"])
KeyError: 'length'

@rishi456187 Did you resolve this?


No longer works. Error:GetFaceAssets - 404 - Not Found

I've just tried your process and sadly, it no longer works. A lot changes in Immich in 8 months :)
Error:GetFaceAssets - 404 - Not Found
Any chance for a fix?

PR #5 fixes this

Fixed with the latest version !


terminate called after throwing an instance of 'std::runtime_error'   what():  thread failed with: small_delta >= 256 (826761134)

I updated this morning and the error just started occuring over the past few days.
I see there was another updated listed a couple of hours ago.
Is this NVME related or something else?

It always seems to occur during the P3 phage

I'm having same issue - /chia-plotter# ./build/chia_plot -n -1 -r 16 -t /mnt/amir/ -d /mnt/negn/ -c xch1******* -f 821a****** >Log_8-29-21_1204pm.log
terminate called after throwing an instance of 'std::runtime_error'
what():  thread failed with: thread failed with: fwrite() failed
Aborted (core dumped)
did not have this problem until updating, ran a memtest no issues

I was experiencing this but realized I didn't remount the ramdisk after rebooting
sudo mount -t tmpfs -o size=110G tmpfs /mnt/ram/

I'm not using a ramdisk

I'm not using a ramdisk

You have a different error: fwrite() failed
Make sure disks are not full.


feat: add tiproxy tiup pipeline

Why:

tiproxy need to publish to tiup, with cd golang builder

/hold
/lgtm
/approve

/unhold


[feature] Feature/revise account login and creation forms

Purpose
Follow up refactor removing the duplicate account creation form and converting mod-meta form handling to knockout view models.
Changes
Side Effects
[skip ci]

@sloria ready for review

OK. Will review this after #1871 is merged.

@sloria -- please review and advise my implementation. Also, note the commit message; if the answer is glaringly obvious please smack me.

@HarryRybacki can you get this PR up to date with develop?

Pass finished. :japanese_goblin:

ping @sloria

Will review this today

Pass finished. :deciduous_tree:

@sloria first pass patches submitted

Pass finished. Once the last minor changes are made and this is brought up-to-date with develop, this is good to merge. :koala:

Thanks, Steve! Will get cracking on this straight away.
On Tue, Mar 24, 2015 at 9:53 AM, Steven Loria<EMAIL_ADDRESS>wrote:

Pass finished. Once the last minor changes are made and this is brought
up-to-date with develop, this is good to merge. [image: :koala:]
—
Reply to this email directly or view it on GitHub
https://github.com/CenterForOpenScience/osf.io/pull/2140#issuecomment-85503954
.

--
Harry Rybacki - Developer, Center for Open Science
Research: http://scinet.osf.io
Blog: http://rybacki.io
[image: http://github.com/harryrybacki]
http://github.com/HarryRybacki [image:
https://twitter.com/HarryRybacki] https://twitter.com/HarryRybacki [image:
http://www.linkedin.com/in/HarryRybacki/]
http://www.linkedin.com/in/HarryRybacki/ [image:
https://plus.google.com/+HarryRybacki]
https://plus.google.com/+HarryRybacki

@sloria merged with develop and made new changes. All tests passed locally. Fingers crossed with Travis.


Bancor formula in exchange_state

let:
C0 -- reserve before buying / after selling;
C1 -- reserve after buying / before selling;
T = C1 - C0;
R0 -- supply before buying / after selling;
R1 -- supply after buying / before selling;
E = R1 - R0;
w -- connector weight;
F = 1/w.
according to bancor formula: T = C0 * ((1 + E/R0)^F - 1);
we have R1, C1, F and E, so:
T = (C1 - T) * ((1 + E/(R1 - E))^F - 1)
T = C1 * A / (1 + A), where A = ((1 + E/(R1 - E))^F - 1)
or we can just use this
but here: T = C1 * A
did I miss something?

Addressed in PR #222.


LHN - Archived room displays without name, only with a grey label

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/11799
Action Performed:

Launch the app
Log in with new applause.expensifail account
Select Fub menu
Create a New Workspace
Tap on ... dot
Select Delete Workspace and Delete
Go back to LHN
Check the label for archived rooms

Expected Result:
Archived room displays with name inside of the grey label
Actual Result:
Archived room displays without name, only with a grey label
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/93399543/198361250-4aa64569-0924-4d51-bc3e-9b824b9e45b5.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Couldn't reproduce this locally. @kbecciv Can you confirm if this is still happening?

@techievivek Checking, update you shortly.

Issue is reproduced with build <IP_ADDRESS>
https://user-images.githubusercontent.com/93399543/199022499-3fc4d7da-5f57-4e9b-8e91-d719ea73f74e.mp4

Looking into it today.

@bernhardoj Could this be related to the changes you introduced in PR https://github.com/Expensify/App/issues/11543?
CC @mananjadhav

Yes, it is related. But the problem I see (from what I tested now, which I missed while developing it) here is why the workspace name becomes empty when it got deleted and then after reload/reopen the app, the workspace name comes back. So, I was thinking that the workspace name maybe should not be empty after got deleted in the first place?
Currently, the check to show that white "pill" is only to check if it's a workspace or not. We can easily add another check to see if the workspace name is empty or not, but personally I think we better fix the root cause of it, which is the workspace name becomes empty (unless it is the expected behavior). Let me know what you think.
@techievivek @mananjadhav

@bernhardoj I think it's worth discussing in the expensify-open-source channel. Also, feel free to propose a solution since I have added the external label.

I think this is something I missed when I did the Delete workspace API refactor. I think I missed to push the "oldPolicyName" in the delete workspace onyx update like here. It is missing here: https://github.com/Expensify/Web-Expensify/blob/c00bdb036f07153f1b5f0b4e93d77f89bf67dd89/lib/PolicyAPI.php#L4140-L4141
Rory mentioned it when reviewing, but I forgot to take care of it.

I'll change this to internal as it I believe it has to be fixed in the API

Thanks for investigating @bernhardoj

PR up: https://github.com/Expensify/Web-Expensify/pull/35447

Un-assigning  my self since it's internal.

There is a bit to do in the front end too. The optimistic archiving of the chats is also missing to set the oldPolicyName, fixing it in this PR: https://github.com/Expensify/App/pull/12479

Based on the Internal label SO, I need to hire a C+ to help with this.
@thesahindia did you want to work on this job? If yes, I can reassign you as the C+.

I'm not sure if it is the same, but @Santhosh-Sellavel got assigned as a reviewer for the PR: https://github.com/Expensify/App/pull/12479, does that mean that he will be taking the C+ role?

Ah, that does make more sense. I'll assign @Santhosh-Sellavel as the C+

PR merged

Upwork Internal job posting - https://www.upwork.com/ab/applicants/1590178905573109760/job-details
Upwork external job posting - https://www.upwork.com/jobs/~01990609ac87f5a4aa
Hired @Santhosh-Sellavel as the C+ for this

Issue not reproducible during KI retests. (First week)

Issue not reproducible during KI retests. (Second week)

Hey @adeel0202 thanks for bringing this up. I see this response response from our engineer and then your follow-up stating these are different. I do see that the video you provided in the comment matches what our QA team found so I can give you a reporting bonus for this.
But please in the future, per our Contributor guidelines, make sure to post any bugs/related bugs on GHs in our Slack channels so we can make sure to get you credit where it applies.

@aldo-expensify @mananjadhav should we wait another week before closing this out?

@Christinadobrzyn I wasn't following the issue, but I guess it can go through a KI for one week atleast? or @kbecciv can confirm if it is still reproducible here?
@Santhosh-Sellavel was the C+ here, so he might have a different opinion?

@Christinadobrzyn All good here, 7 days without Regression. We are good to close this one!

Fantastic! I paid $250 to both @adeel0202 and @Santhosh-Sellavel for this. Closing the job in Upwork and closing this GH. Please feel free to reach out if I've missed anything!

@Christinadobrzyn this PR qualifies for the bonus as this merged within 3 business days!

Sorry for missing this @Santhosh-Sellavel it looks like we rolled out the 50% bonus for a PR merged in less than 3 days on Nov 5th which would have been about the time you created this PR.
So I'm going to reach out to our team about a bonus!

Talked the bonus over with @aldo-expensify

This is the PR that matters: https://github.com/Expensify/App/pull/12479. The PR was:

created on Nov 4
marked ready for review on Nov 7
merged on Nov 8

I'm guessing that the start date that we should count is the Nov 7 because that is when Santhosh-Sellavel was added as a reviewer.

So the bonus applies! @Santhosh-Sellavel I added a bonus to the closed Upwork job - https://www.upwork.com/nx/wm/workroom/31968604/overview - I assume you'll get the money even with the job closed but will you please reach out if you don't see the money in the coming days (not sure how long Upwork takes to pay)


⚠ Bofrost.lu has degraded performance

In f8ec981, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1197 ms

Resolved: Bofrost.lu performance has improved in 91590f1 after 6 minutes.


Nuke deprecated Errno flags

@rtzoeller It's been quite a few releases since these have been deprecated, more bloat removal.

@SUPERCILEX can you add a note to the Removed section of the changelog?
Something like
### Removed

- Removed deprecated error constants and conversions.
  ([#1860](https://github.com/nix-rust/nix/pull/1860))

Done!


Baboon Hawks excessively camp Shopping Carts

This has happened both on vanilla 'Offence', and on modded 'Aquatis' (has a lot of baboon hawks) but may happen anywhere.
Hawks seem to notice the items inside of shopping carts / wheelbarrows and cannot seem to pick them up. Instead they keep trying to by sitting on top of the cart and guarding it with their life.
This creates a few issues; the first obvious one being that you cant easily retrieve the cart from the hawks, and the second: Stormy weather. You can easily farm Hawk samples with a shopping cart easily and consistently since they glue themselves to the conductive items. Feels like cheating sometimes.
To Reproduce:

Have a shopping cart or wheelbarrow with an item inside
Locate a Baboon Hawk (Aquatis has a lot even during the start of the day)
Place or hold the cart near them and observe their behaviour. (Placing it near them will probably yield more consistent results.)

Update:
I have retested this with LategameUpgrades, Aquatis, and the Minimap Mod
Upon placing an empty cart near them they showed no interest, but upon placing a flask inside they immediately started to attack me and hurry me away from the cart before returning to it and just sitting there.

I then placed a wheelbarrow (1 item) near them and they focused entirely on that instead.

They also do a 'Ritual Dance' around the cart which is really funny.
LogOutput.log

They seem to be trying to grab the item on top of the wheelbarrow but since it doesn't meet the requirements to being grabbed (apparently it needs to be at a certain angle from their eyes to the item?), they stop then try again moments later, stuck on this cycle.
Tried to see if setting grabbableToEnemies to false would fix this issue when it's on the wheelbarrow til I saw that baboon completely ignores this item's attribute.

Made a pull request which seem to solve this issue. It will be live in next release.
Since its AI has some missing components regarding items (for example ignoring an item's 'grabbableToEnemies' field), I won't dwell too much into its AI as it can cause issues at later updates. This way, even if there's an update, won't affect much of its AI if it crashes.


BUG: Rotationally invariant scalars are computed from negative eigenvalues

In DTI estimation, diffusion tensors are formally in the form of symmetric positive semidefinite square (3x3) matrices.
All the scalars derived from DTI assumes use of lambada1 >= lambada2 >= lambada3 >= 0 to refer to the eigenvalues of the symmetric positive semidefinite diffusion tensor D.
However, the presence of noise in DWI images does not guarantee that the estimated symmetric tensors are always positive semidefinite.
The following paper shows the probability of obtaining negative eigenvalues as a function of lambda1/lambda3 for the ‘rice’ shaped diffusion tensor at different noise levels (%1 to %5):
http://www.sciencedirect.com/science/article/pii/S0730725X00001533
It shows that negative values happen more likely with increasing noise. Some solutions are suggested in this regard:
-- Calculate rotationally scalar values (RISs) with negative eigenvalues reset to zero.
-- Spatial smoothing of DWI image.
-- Temporal smoothing of DWI image with repeat experiments.
-- Calculate D by limiting D to be positive semidefinite matrix, e.g. this paper: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2791793/
Based on the assumption of lambada1 >= lambada2 >= lambada3 >= 0, all RIS images computed by DTIProcess (FA, MD, RD, Frobenus_norm, Lambda1, Lambda2, Lambda3) should have all non-negative values.
However, the presence of negative values are seen in the computation of MD, RD and Lambda{1,2,3} images.
In the attached test program, I have shown the negative scalar measures corresponding to a sample diffusion tensor value:
double x[6] = {-0.00179759,-8.98788e-05,4.40478e-05,-0.00192165,-4.54233e-05,0.00191396};
DTIProcess uses “vnl_symmetric_eigensystem_compute_eigenvals” function from vnl to compute eigenvalues:
http://public.kitware.com/vxl/doc/development/core/vnl/html/vnl__symmetric__eigensystem_8h.html
vnl_symmetric_eigensystem_compute_eigenvals(
x[0], x[1], x[2],
x[3], x[4],
x[5],
lambdas[0],
lambdas[1],
lambdas[2]);
This function sorts the resulting eigenvalues in “increasing" order, so lambda[0] is the smallest eigenvalues. Printing lambdas to the screen results in:
std::cout << "Lambda = " << lambdas[0] << "," << lambdas[1] << "," << lambdas[2] << std::endl;
Lambda = -0.00196893, -0.0017514, 0.00191505
Therefore, DTIProcess uses above measured eigenvalues to fill in the computed voxel in Lambda{1,2,3} images:
Lambda1 = 0.00191505
Lambda2 = -0.0017514
Lambda3 = -0.00196893
In addition to have negative values for Lambda2 and Lambda3, the magnitude of computed Lambda3 is greater than the magnitude of Lambda1:  |Lambda3| > |Lambda1|.
Definitely, it is an issue in current implementation of the program.
My suggested approach to address this issue is to use singular values instead of eigenvalues.
The singular value decomposition for symmetric matrices results in non-negative singular values that have the same magnitude as the eigenvalues:
http://math.stackexchange.com/questions/22825/how-to-compute-svd-singular-value-decomposition-of-a-symmetric-matrix
“The SVD for a symmetric matrix A=UΣVT, where U and V are unitary matrices with U=[u1|u2|…|un], V=[v1|v2|…|vn] and Σ is a diagonal matrix with non-negative diagonal entries and vi=±ui"
In my example, I used “vnl_svd” function to compute SVD for the sample diffusion tensor:
http://public.kitware.com/vxl/doc/release/core/vnl/html/classvnl__svd.html
vnl_matrix Tensor(3,3);
Tensor[0][0]=x[0];
Tensor[0][1]=x[1];
Tensor[0][2]=x[2];
Tensor[1][0]=x[1];
Tensor[1][1]=x[3];
Tensor[1][2]=x[4];
Tensor[2][0]=x[2];
Tensor[2][1]=x[4];
Tensor[2][2]=x[5];
typedef vnl_svd MatrixSVDType;
MatrixSVDType svd(Tensor);
The DiagMatrix W stores the singular values in “decreasing" order, so in analogy with printing lambda[0], lambda[1] and lambda[2]:
std::cout << "Lambda = " << svd.W(2) << "," << svd.W(1) << "," << svd.W(0) << std::endl;
Lambda = 0.0017514, 0.00191505, 0.00196893
Therefore, DTIProcess fills in values of the Lambda{1,2,3} images in the compute voxel as:
Lambda1 = 0.00196893
Lambda2 = 0.00191505
Lambda3 = 0.0017514
As seen, the order of lambda1 to lambda3 is like when we sort the outputs eigenvalues of “ vnl_symmetric_eigensystem_compute_eigenvals” function based on their absolute value.
Therefore, there are two possible ways to modify the current code:

Compute the eigenvalues based on the “ vnl_symmetric_eigensystem_compute_eigenvals” function, and “sort” them based on their absolute value:

double lambdas[3];
// The resulting eigenvectors and values are sorted in increasing order, so
// lambdas[0] is the smallest eigenvalue.
vnl_symmetric_eigensystem_compute_eigenvals(x[0], x[1], x[2],
x[3], x[4],
x[5],
lambdas[0],
lambdas[1],
lambdas[2]);
// Now we order them based on magnitude
std::transform(lambdas, lambdas+3, lambdas, std::abs);
std::sort(lambdas, lambdas+3);

Inser the Tensor values in a vnl_matrix and compute the SVD of this matrix using “vnl_svd”:

vnl_matrix Tensor(3,3);
Tensor[0][0]=x[0];
Tensor[0][1]=x[1];
Tensor[0][2]=x[2];
Tensor[1][0]=x[1];
Tensor[1][1]=x[3];
Tensor[1][2]=x[4];
Tensor[2][0]=x[2];
Tensor[2][1]=x[4];
Tensor[2][2]=x[5];
typedef vnl_svd MatrixSVDType;
MatrixSVDType svd(Tensor);
To decide which method will be used to modify the code, I used “itkTimeProb.h” to compare the run time of each of above methods on my system. My results show that the first solution in on average 3.5 times faster. Therefore, I used the first method.
Please see the attached test program for more detail.
The other bug in current implementation of DTI process, is the way MD (mean diffusivity) is computed.
Currently, MD is computed by invoking the trace from the “itkDiffusionTensor3D” class:
typedef itk::DiffusionTensor3D::AccumulateValueType   AccumulateValueType;
AccumulateValueType trace = x[0];
trace += x[3];
trace += x[5];
std::cout << "Compute MD by current version of DTIProcess: " << trace/3.0 << std::endl;
Compute MD by current version of DTIProcess: -0.00060176
The trace of a matrix is equal to sum of its eigenvalues:
http://math.stackexchange.com/questions/546155/proof-that-the-trace-of-a-matrix-is-the-sum-of-its-eigenvalues
Therefore, based on the above implementation, the MD is computed from the negative eigenvalues.
Following shows the results when we use the singular values (absolute values of eigenvalues) for MD computation, that is completely different than the above value:
std::cout << "Corrected value for MD: " << (lambdas[0]+lambdas[1]+lambdas[2])/3.0 << std::endl;
Corrected value for MD: 0.00187846
I have made a new patch that makes proper modifications to the code to address above issues.

The following patch is created to address above issues:
https://github.com/aghayoor/DTIProcessToolkit/commit/45bf98d5286b4bc998604e1caf3ad4ba0d0e41a8

@hjmjohnson : Please check this out!

I am fine with supporting SVD for eigenvalue computation. Important though that this should not replace the current functionality (DTIProcess offers other ways to correct data with negative eigenvalues), but rather should be added (otherwise it's not transparent to users of the new version using SVD).
This is not a bug fix, but rather a feature that's being added. So, it's great you are doing this, but don't treat it as a bug.
The dtiprocess application should allow users to select either one. We can discuss which should be used by default (I suggest the old version for compatibility, but I am okay with using the SVD computation by default if it's sufficiently tested).

@styner Martin,  Should we have a T-Con to discuss?  Would you like us to work directly with someone on your team?

May be best. I'd be happy to join and so is Francois (I talked to him)

@styner @fbudin69500 @aghayoor
Martin would 30 minutes during one of the following times work for you:
Tomorrow Wednesday: 10:30am-1:00pm
Thursday: 10:00am-2:00pm
Friday: 10:30am-1:30pm

I can do thursday at 10am or 11am (east coast time). Rest is already booked.
Martin

@styner @fbudin69500 @aghayoor
I sent a calendar invitation for a GoTo meeting T-Con at 11am EST (10am CST).

That works for me too. I haven't received the GoTo meeting invitation though.

@fbudin69500 @styner The calendar invite should have contained the goto meeting information,
Here it is:

Please join my meeting, Apr 30, 2015 at 10:00 AM CDT.
https://global.gotomeeting.com/join/228939421

Use your microphone and speakers (VoIP) - a headset is recommended. Or, call in using your telephone.

Dial +1<PHONE_NUMBER>
Access Code: 228-939-421
Audio PIN: Shown after joining the meeting
Meeting ID: 228-939-421
GoToMeeting®
Online Meetings Made Easy®
Not at your computer? Click the link to join this meeting from your iPhone®, iPad®, Android® or Windows Phone® device via the GoToMeeting app.

Code updated to include features from DTIReg that allow nearest PSD matrix to be computed.


Verify for ONNXScatterNDOp

@DavidChan0519 Made this issue as a reminder of what remains to be done for shape inference. Thanks

Looking at the spec of the operation, I see that there are some conditions to the operation. Quoting the specs
Inputs
data (differentiable) : T
Tensor of rank r >= 1.
indices (non-differentiable) : tensor(int64)
Tensor of rank q >= 1.
updates (differentiable) : T
Tensor of rank q + r - indices_shape[-1] - 1.
Outputs
output (differentiable) : T
Tensor of rank r >= 1.
What we like to do in cases like this is verifying this info in a "verifier".  Instructions on how to add a verifier are shown here
https://github.com/onnx/onnx-mlir/blob/master/docs/HowToAddAnOperation.md#generate-the-proper-onnxtdinc
Verifier works in many environments, so we have to accommodate for the fact that tensors may not be ranked yet. A good example of code is found here:
onnx-mlir/src/Dialect/ONNX/ONNXOps.cpp
Line 3395 in 3f25ef2
static LogicalResult verify(ONNXInstanceNormalizationOp op) {
Would be great if you could add it.

@DavidChan0519 Made this issue as a reminder of what remains to be done for shape inference. Thanks
Looking at the spec of the operation, I see that there are some conditions to the operation. Quoting the specs
Inputs
data (differentiable) : T Tensor of rank r >= 1. indices (non-differentiable) : tensor(int64) Tensor of rank q >= 1. updates (differentiable) : T Tensor of rank q + r - indices_shape[-1] - 1. Outputs
output (differentiable) : T Tensor of rank r >= 1. What we like to do in cases like this is verifying this info in a "verifier". Instructions on how to add a verifier are shown here master/docs/HowToAddAnOperation.md#generate-the-proper-onnxtdinc
Verifier works in many environments, so we have to accommodate for the fact that tensors may not be ranked yet. A good example of code is found here:
onnx-mlir/src/Dialect/ONNX/ONNXOps.cpp Line 3395 in 3f25ef2 static LogicalResult verify(ONNXInstanceNormalizationOp op) { Would be great if you could add it.

I have added the verify interface implementation for scatterND op already.


🛒   [Chore] - Add test coverage for checkout API

Current
No API test coverage for Checkout. (Other API tests appear to be at https://github.com/GoogleCloudPlatform/avocano/blob/main/provisioning/test/server_test.py#L43)
Requested
The Checkout API has several specific cases we would like to confirm in order to ensure content workflows around troubleshooting & investigation remain solid.

[ ] 200 on collect request of products within inventory
[ ] 400 on collect request on products that exceed inventory
[ ] 501 on credit requests

The lack of this meant there was a missed regression in #290
Currently cart checkouts are failing, and our tests didn't catch this.
I also didn't realise that the nightly errors weren't "timing out", they were waiting for a success dialog that never appeared.
Will need to pick this up

incorrect url, trying to post to checkout/, not checkout. 404 error not being passed back to dialog.
After correcting that, CSRF token from the 'X-Csrftoken' HTTP header has incorrect length
Breakpoint at django/middleware/csrf.py:_check_token_format, the token is '[object Promise]'. csrfToken being passed isn't returning the final fetched value, only the promise.


[cxx-interop] Support reexposing C structs from Swift to C++

Previously, when a Swift API referenced a C struct (that is not a C++ struct), we did not expose said API to C++. The reason was that we do not have support yet for non-trivial structs (structs with ARC fields). This patch introduces logic to determine if a C struct is trivial and lets us expose trivial C structs from Swift to C++.
rdar://111812577

@swift-ci please smoke test


403 Unauthorized

My grafana is running on http://someIp:3000    (Windows)
grafana reporter is running on http://someOtherIp:8686    (Linux)
grafana-reporter says it's listening to someIp:3000 while startup but when i am accessing
http://someOtherIp:8686/api/v5/report/DEnkSSxxx?apitoken=eyJrIjoic0ROM2JJUGxlVzJZcTRiakRMVkhwWThxZGFNZUtUYjEiLCJuIVtb19rZXkiLCJpZCI6MX0=
it's showing 403 unauthorized error
Went through the closed issues couldn't find a working solution. Help will be hugely appreciated.
Thanks

Try this when you start the service:
/root/go/bin/grafana-reporter -ip username:password@grafana_ip:3000

No futher feedback from original poster. Closing issue.

Hello, sorry to wake-up old thread but I stumbled upon this issue and @jackeylhm suggestion didn't work for me:

Without token --> error 401
With token --> error 403
With token & username:password --> still error 403
With token for dashboard in "General" folder --> report produced

So for some reason I cannot access dashboards inside folder other than General with the token and thus the report is not produced.

Thanks @yonas124 , for the detailed breakdown of different error conditions. I have never used Grafana's dashboard folders feature, so there may be some bug lurking here. Do you mind investigating it further by testing out different scenarios against the Grafana API?
Here is the current reporter code that builds a URL, attempting to match this Grafana API endpoint.
You can see on this line, how the token will be passed along from the reporter request to the Grafana request. Is there something different that should be happening here for folders?

Okay, now I found out what the problem is, the token is not permitted in the folder permissions. If the token role is:
-viewer --> folder permission must contain "Everyone with viewer role"
-editor --> folder permission must contain "Everyone with editor role"
-admin --> can access all folder
and so I believe this is why enhancement #131  "apitoken must be hidden" is a good idea


az network vnet create does not take address space of other vnets in the same subscription and/or resource group into account

The portal will compute a non-overlapping address space for a newly created vnet (or warn you if you have overlapping address spaces). Ideally, we'd do something similar when we create default VNETs in create scenarios like az vm create.

Given that we've received no external customer requests for this enhancement, we are closing this issue. That being said, we would be open to reviewing any PR that incorporates such an ask.

Reopening this with the help wanted tag. If there's no further action on it for some time, we will close it.

No one has expressed interest in taking up this task in 6 months. Closing.


[Chore] Clean up deprecations

[x] This PR follows the Contribution Guide
[x] Changelog updated
[x] Upgrade guide entry added

Description / Motivation
Part of JSS 22 release preparations. Cleans up deprecated parameters, exports etc across the board.
Changelog + Upgrade guide entries TBA
Testing Details

[x] Unit Test Added
[ ] Manual Test/Other (Please elaborate)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Are our README files updated by automation scripts?
https://github.com/Sitecore/jss/blob/chore/v22-remove-deprecations/packages/create-sitecore-jss/README.md?plain=1#L8
There should be a reference to 22 version

@art-alexeyenko you didn't update other README files. I didn't provide a full list of links, since I expected that you will check them :)
e.g.
https://github.com/Sitecore/jss/blob/chore/v22-remove-deprecations/packages/sitecore-jss-cli/README.md?plain=1#L8
https://github.com/Sitecore/jss/blob/chore/v22-remove-deprecations/packages/sitecore-jss-nextjs/README.md?plain=1#L8

Are our README files updated by automation scripts? https://github.com/Sitecore/jss/blob/chore/v22-remove-deprecations/packages/create-sitecore-jss/README.md?plain=1#L8 There should be a reference to 22 version

(I still suppose that they should be updated by release script, but I've already pushed the changes)

I'm not sure they will be updated by our scripts. Let me update them, thanks for the heads up