Filtered relation count aggregate

Problem
Briefly discussed here: https://github.com/prisma/prisma/discussions/6554.
I would like to execute a query where it would be possible for me to include an additional (named?) column (similar to _count) whose value would aggregate relation information based on a provided filter. In my problem, I am referring to count but possibly you could broaden it to more aggregates.
Example Query
I would like to see movie watchers (count) but only from today or fulfilling another requirement (where) all in the same query returning a list of movies (filtered in its own way) to maintain pagination on the database level.
Suggested solution
Using SQL as a reference I was thinking about something like (example of Movie-Watchers one-to-many relation, where each watcher has seen the movie on a particular date which will be compared against our filter):
SELECT movie_id,
       movie_name,
       ...other_movie_columns,
       watchers_day_count
FROM movies m
JOIN
  (SELECT count(*) AS watchers_day_count,
          w.movie_id
   FROM watchers w
   WHERE w.watched_date = <our-filter>
   GROUP BY w.movie_id,
            w.watched_date) daily_watchers
ON m.movie_id = daily_watchers.movie_id
WHERE <main_query_filters>
ORDER BY daily_watchers.watchers_day_count

In general, I am thinking about making an extra join with a grouped subquery.
Alternatives
As for now, I was thinking only about the above solution with extra relation join because the solution involves custom grouping and where filter.
Additional context
It would be really helpful if you could also sort using this extra filtered count column. In my scenario, I have a query that is listing movies with the total number of watchers (_count) and I would like to add an extra column for the number of watchers who have seen it on a specific date (or between date range). In my situation, I have all generic implementation that adds pagination on top of findMany that's why it is important for me to limit this to a single query.
Feature request is db agnostic but personally, I come from MySQL with this.

I would like to add to this as I have the exact same issue.
I'm building a social network, and I need to return groups.  With a group, I'd like to see a count of all members and a count of members who are also my friend.
It would be awesome if we could do something like
_count: {
    select: {
        members: true,
        members as friends: {
            friends: {
                some: {
                    id: userId
               }
           }
        }
    },
 },

That (especially filter by _count of relations) would be extremely useful. Anything new on that end?

Hi there, 👋
I have a suggestion how a solution for the prismaClient API might look like and what SQL it could map to.
Feedback welcome!
Current limitations:
Currently it is only possible to query records, where some, none or every related record fulfills a criteria (see Relation Filters). There are several use cases, where this functionality doesn't work out. Those are situations where it is needed to query records, where an exact number (min number, max number) of related records fulfill a specific criteria.
Example Use Case
We have two models: Activity and User connected as a m:n relation.
The goal is to query rows of the model Activity. We want to query activities, where >= 2 users are connected to, that are of age >= 18.
schema:
model User {
  id         String     @id
  age:       Int?
  activities Activity[] @relation("ActivityUser", references: [id])
}

model Activity {
  id    String @id
  users User[] @relation("ActivityUser")
}

Suggestion for the prismaClient API
prismaClient.activity.count({
  where: {
    users: {
      some: { age: { gte: providedAge } }
      having: {
        _count: { id: { gte: providedRelationalCount } }
      }
    }
  }
});
// e.g. providedAge = 18, providedRelationalCount = 2

Suggestion for the generated SQL query
SELECT
  COUNT(*)
FROM
  (
    SELECT
      "public"."Activity"."id"
    FROM
      "public"."Activity"
    WHERE
      ("public"."Activity"."id") IN (
        SELECT
          "aggregateFilteredSub"."activitiyId"
        FROM
          (
            SELECT
              "t0"."A" AS "activitiyId",
              COUNT("t0"."A")
            FROM
              "public"."_ActivityUser" AS "t0"
              INNER JOIN "public"."User" AS "j0" ON ("j0"."id") = ("t0"."B")
            WHERE
              (
                "j0"."age" >= ${providedAge}
                AND "t0"."A" IS NOT NULL
              )
            GROUP BY
              "activitiyId"
            HAVING
              COUNT("t0"."A") >= ${providedRelationalCount}
          ) AS "aggregateFilteredSub"
      )
  ) AS "sub"

Note:
For the simplicity of the suggested SQL I chose a count query here, the functionality should of course be available for findMany aswell. The inner GROUP BY + HAVING query would look the same.
Inside the suggested prismaClient having object could at some point in time other aggregate keys go aswell (sum, max, min, avg).
I think for now  count is by far the most requested so it makes sense to focus on that first.

This is a painful limitation for me too.

Ran into this today as well. The use case is:

I have "users"
Each user has N "classes"
Each class has N "submissions"
Each submission has a boolean "approved" field

I would like to be able to query the user's classes and for each class how many unapproved submissions it has. I ended up with this:
db.user.findUnique({
  where: { id: `theuserid` },
  include: {
    classes: {
      orderBy: {
        updatedAt: `desc`,
      },
      include: {
        _count: {
          select: {
            // Can't filter for unapproved submissions!
            submissions: true
          },
        },
      },
    },
  },
})

But got stuck where I have that comment.

It seems like another use case for this is: e.g. find users with >50 followers
prisma.user.findMany({ where: { followers: { _count: { gt: 50 } } } });

Based on: https://github.com/prisma/prisma/issues/8413#issuecomment-901986001

+1 this should really exist, hoping it comes soon!

It seems like another use case for this is: find users with >50 followers
prisma.user.findMany({ where: { followers: { _count: { gt: 50 } } } });

Based on: #8413 (comment)

+1, this is precisely what I was looking to do!

I also have a use case for this that is in line with the previous examples. Right now, I am trying to get the number of likes a post has from a type in my database called "Interaction" that ties a user to a post. This Interaction type has 4 boolean fields that I want to count for each post. I think, my query would look this like:
prisma.interaction.findMany({
  where: {
    postId: id
  },
  include: {
    _count: {
      like: {
         where: {
            like: true
         },
      love: {
         where: {
            like: true
         },
      repost: {
         where: {
            like: true
         },
      share: {
         where: {
            like: true
         },
      }
   }
}
})

Which would result in the following object:
{
   _count: {
      likes: 23,
      loves: 3,
      reposts: 13,
      shares: 2,
   }
}

Just in case you have missed it: https://github.com/prisma/prisma/issues/15069 (as I did...)

Hey, thanks for the reference! Sorry, I do not use Prisma on a daily basis anymore but I did check it now.
That preview feature indeed resolves the relation counting problem. Though I will keep the issue open as I see that the new feature is still living in separation from the main query (findMany). I seek some more integrated connection that would allow you to name it and reference for example to order by it like in normal SQL. Adjusted the suggested SQL solution so that is more visible.


Include type reference information

[X] Class type hierarchy
[X] Implemented/extended interfaces
[ ] All known implementations (interfaces only)
[ ] All known sub-types (classes only)
[ ] All known type aliases

Upvote.  In my project I've been adding these "all known" lists manually.  They tend to get out of date.  They would be more likely to be correct if it's automatically generated.


Terraform Broken Kubernetes Deployment on testnet

After successfully deploying a K8s cluster with a master and 4 workers on nodes 5,10 on testnet. i tried to ssh to the master and run kubectl get nodes it failed to run and gave me the following error
The connection to the server <IP_ADDRESS>:6443 was refused - did you specify the right host or port?

It might be related to this issue
main.tf config
terraform {
  required_providers {
    grid = {
      source = "threefoldtech/grid"
    }
  }
}

provider "grid" {
}

resource "grid_network" "net1" {
    nodes = [5, 10]
    ip_range = "<IP_ADDRESS>/16"
    name = "network12346"
    description = "newer network"
    add_wg_access = true
}

resource "grid_kubernetes" "k8s1" {
  network_name = grid_network.net1.name
  nodes_ip_range = grid_network.net1.nodes_ip_range
  token = "12345678910122"
  ssh_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC533B35CELELtgg2d7Tsi5KelLxR0FYUlrcTmRRQuTNP9arP01JYD8iHKqh6naMbbzR8+M0gdPEeRK4oVqQtEcH1C47vLyRI/4DqahAE2nTW08wtJM5uiIvcQ9H2HMzZ3MXYWWlgyHMgW2QXQxzrRS0NXvsY+4wxe97MMZs9MDs+d+X15DfG6JffjMHydi+4tHB50WmHe5tFscBFxLbgDBUxNGiwi3BQc1nWIuYwMMV1GFwT3ndyLAp19KPkEa/dffiqLdzkgs2qpXtfBhTZ/lFeQRc60DHCMWExr9ySDbavIMuBFylf/ZQeJXm9dFXJN7bBTbflZIIuUMjmrI7cU5eSuZqAj5l+Yb1mLN8ljmKSIM3/tkKbzXNH5AUtRVKTn+aEPvJAEYtserAxAP5pjy6nmegn0UerEE3DWEV2kqDig3aPSNhi9WSCykvG2tz7DIr0UP6qEIWYMC/5OisnSGj8w8dAjyxS9B0Jlx7DEmqPDNBqp8UcwV75Cot8vtIac= root@mohamed-Inspiron-3576"

  master {
    disk_size = 23
    node = 5
    name = "master"
    cpu = 2
    publicip = true
    memory = 2048
  }
  workers {
    disk_size = 15
    node = 5
    name = "worker1"
    cpu = 2
    memory = 2048
  }
  workers {
    disk_size = 14
    node = 10
    name = "worker2"
    cpu = 1
    memory = 2048
  }
  workers {
  disk_size = 15
  node = 10
  name = "worker3"
  cpu = 2
  memory = 2048
  }
}

output "master_public_ip" {
    value = grid_kubernetes.k8s1.master[0].computedip
}

output "wg_config" {
    value = grid_network.net1.access_wg_config
}

Output
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Outputs:

master_public_ip = "<IP_ADDRESS>/24"
wg_config = <<EOT

[Interface]
Address = <IP_ADDRESS>
PrivateKey = oJCOh9rc7TZ+g9CqXflG1ldOUKZhL3YDTHLLh3w0q00=
[Peer]
PublicKey = LC6lHkeaJdv8eO7XZqnhnUWwYd3V5vuCKWiHZ2AAXQk=
AllowedIPs = <IP_ADDRESS>/16, <IP_ADDRESS>/16
PersistentKeepalive = 25
Endpoint = <IP_ADDRESS>:3228

Still running into the same issue in terraform provider grid v0.1.31

is this terraform only?

@xmonader yes but there is a similar issue also available on weblets.

fixed

I tested it with the new version of terraform provider grid v 0.1.32 and now when i use the command kubectl get nodes in the master it works and this is the output
root@mr:~# kubectl get nodes
NAME   STATUS   ROLES                  AGE     VERSION
mr     Ready    control-plane,master   6m19s   v1.22.7+k3s1
w0     Ready    <none>                 6m15s   v1.22.7+k3s1

However when i execute the same command in the worker i get an error
W0512 13:51:40.458361    1396 loader.go:221] Config not found: /etc/rancher/k3s/k3s.yaml
The connection to the server localhost:8080 was refused - did you specify the right host or port?

which is the same error that's available in the weblets issue.

Closing this issue since the error related to the worker was normal because the worker nodes are not allowed to execute K8s commands like kubectl get nodes
More details available in this issue.


Update the steps in the prepare section with the latest changes in the UI.

To get started, export a Resource Manager template. This template contains settings that describe your Event Hubs namespace.

Sign in to the Azure portal.
Select All resources and then select your Event Hubs namespace.
Select > Automation > Export template.
Choose Download in the Export template page.

Note: Export template has moved from settings tab to Automation tab.
Update the screenshot with the latest UI changes:

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

ID: 64fad971-9318-7faa-cb63-99065fdaa5de
Version Independent ID: 91076390-9945-ab6b-eb30-a3ab50a55c84
Content: Move an Azure Event Hubs namespace to another region - Azure Event Hubs
Content Source: articles/event-hubs/move-across-regions.md
Service: event-hubs
GitHub Login: @spelluru
Microsoft Alias: spelluru

@spelluru Could you please review and update the screenshot with the latest UI changes?

Fixed the issue. The updated article will go live tomorrow.
#please-close


Can the ops in pb files be fully supported by android tensorflow  Mobile ?

It seems tensorflow mobile(android_tensorflow_lib) contains only part of the  core/kenerns files.
If it is not fully supported ,  can we know how many ops not supported in Tensorflow mobile？

You can refer this document to know more about TF mobile supported ops.

Are inference  ops on Tensorflow mobile （not tensorflow lite） the same with inference ops in a desktop environment?
Can all the tensorFlow model that's successfully working in a desktop environment also sucessfully working  on a mobile application with Tensorflow mobile?（not  with tensorflow lite）,

Can all the tensorFlow model that's successfully working in a desktop environment also sucessfully working on a mobile application with Tensorflow mobile?

Unfortunately, not always. TensorFlow Mobile only supports a subset of the desktop ops, kernels and types. At the moment, there's no way to know with 100% certainty a priori that your model will run with TensorFlow Mobile short of actually running it. As an example, take a look at the Android ops listing.


Missing README with sniff overview

Hey, I really like few sniffs in here and I think of usign them. But I don't want to open manually every sniff file and decode, what the function is.
Do you plan to add a README with their overview?
Somehting like this
I think that would be worth it for other people, since you've got over 42 releases.
Great job :tada:

Hi @TomasVotruba,
great idea. I'll look into it, but your help will be highly appreciated.

That would be great.
I'm quite full with my open-source projects and I don't know more than 2 sniffs in here. That's why I need a Readme.
I can help you with styling the examples and Readme. Just  put in the names of a sniff and no/yes examples


feat(crictl): Adding the crictl image for container-kill experiment

Signed-off-by: shubhamchaudhary<EMAIL_ADDRESS>
What this PR does / why we need it:

Adding the crictl image for container-kill experiment

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

re-raise PR from fork?

re-raise PR from fork?

sorry I have cloned the master repo. I will raise the PR form forked one

Raised the Pr for the same from forked repo #130


Update text_fr.ts

add new translation like asked in https://github.com/picturama/picturama/issues/51

Thank you 😊


How to use plugins ?

Describe the bug
How to use external plugins like daisyUI ? I try to use it but the output shows some rem values that crashes on expo, is there any way to create a patch or transform function to change those values on native ?
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Expo Snack
If applicable, add a link to an Expo snack demonstrating the issue. There are multiple example snacks available at nativewind.dev.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Plugins work exactly has described here https://tailwindcss.com/docs/plugins
NativeWind is not a full featured CSS engine - we only try to support the same feature set of TailwindCSS. DaisyUI extends Tailwind and takes advantage of all the features of CSS such as inheritance and composite styles. As such it doesn't work with NativeWind


Support the current environment's interpolation variable

I.e., ${terraform.env}
See: https://www.terraform.io/docs/state/environments.html#current-environment-interpolation

Wow! Impressive turnround time, @VladRassokhin! Thank you so much.


[FR] last activity timestamp

:bulb: Idea
would be nice to see the last activity timestamp for each channel in the list in the app. Thank you
:computer: Target components
Android app,m.b. iOS app

Nobody likes this suggestion?


Way to change protoc version?

Now this may be a silly question, but how can I change the version of protoc that is used to generate the .pb.h files like
/usr/local/include/tensorflow/bazel-genfiles/tensorflow/core/lib/core/error_codes.pb.h
and
/usr/local/include/tensorflow/bazel-genfiles/tensorflow/core/framework/graph.pb.h
and the likes?
Currently it is using the 3.3.0 version of protobuf, but I need the files to be compatible with 2.6 runtime.

Currently, tensorflow_cc builds protobuf using tensorflow/contrib/makefile project, which is supposed to build the right protobuf version for the current tensorflow version. I am not sure whether it is even possible to build TF 1.3.0 to be compatible with protobuf 2.6. If you want to experiment with this, you may try not to build protobuf using the contrib/makefile project and change the included directories and linked libraries in the CMakeLists.txt. However, I don't think it is worth the effort.
Are you sure you need this? protobuf is currently statically linked in the final tensorflow_cc dynamic library, so there should be no need to link to dynamic protobuf at all.


.Net core publish output is ugly

Hello,
I have built a website using .net core razor pages.
My problem is when I publish the website there are hundreds of dll files.
Most often, what I am trying to find is appconfig / webconfig or main Application file
I think you should package rest of them in a bin folder or something because it looks like all compiled files are dumped in the publish root folder and this is annoying on publishing situations

Issue moved to dotnet/cli #8764 via ZenHub


fix theme name usage to actually display the theme name in chat

The variable "theme" is undefined, so all messages respond with ", undefined is not a valid theme name or isn't installed. You can use !theme list to get a list of available themes."
This fix will make sure to use the correct variable here.

@all-contributors please add @John-Kryspin for bug

Thanks for finding that!


Update dependencies to latest version

Is your feature request related to a problem? Please describe.
The application requires NodeJS version to be 13.x.x  because of the node-sass 4.13.1 dependency. Considering the upgradation in the NodeJS versions over the recent times, it would be great if we can upgrade the dependencies such that they support the latest versions. This will also allow us to implement new features in the application smoothly.
Describe the solution you'd like

All the dependencies should be updated to their latest version, such that they are compatible with the latest stable release of NodeJS.
Since it involves huge modification in dependencies, a subjective testing of all the features is also necessary to ensure that all the functionalities are working as expected.

I want to work on this issue.


config: check env directly

Usage of app()->inProduction() yields an exception:

laravel.ERROR: Target class [env] does not exist. {"exception":"[object] (Illuminate\Contracts\Container\BindingResolutionException(code: 0): Target class [env] does not exist.

Checking the environment directly, using the sensible default as used in the application skeleton config, solves the problem.

Thank you! I will tag a new version in a few days, so that I can add Laravel 10 support in the same release.


schemas: Allow empty array for dependOn, entry, import, noParse

There may be no practical reason to use an empty array here, but it’s not harmful, and allowing it makes the TypeScript typings more convenient, e.g. string[] instead of [string, ...string[]].
The [string, ...string[]] type was annoying to work with because it’s incompatible with almost every nontrivial way you might compute the value other than writing it out literally. For example, using filter or map or importing from a .json file all give you a string[], which cannot be assigned to [string, ...string[]] without an unchecked cast, even if the programmer “knows” the result will be nonempty.
Fixes #11801.
What kind of change does this PR introduce?
Feature, I guess.
Did you add tests for your changes?
Yes.
Does this PR introduce a breaking change?
No.
What needs to be documented once your changes are merged?
Nothing, I think—the documentation did not suggest that empty arrays were forbidden.

:cry:
(Are…you going to explain?)

Because we still generate invalid types for minItems, I think we should fix it here https://github.com/webpack/tooling/blob/master/generate-types/index.js

[string, ...string[]] isn’t an invalid type. It does accurately describe arrays of at least one item. It’s just inconvenient because it means I have to contort my code to “prove” to the compiler that I have at least one item in order to use this type.
For these arrays, I don’t see a reason to enforce a minItems restriction at all (in the type system or at runtime). Do you?

@andersk I'm not arguing about types, I'm just saying that we should fix this in the generation util, because other places can be affected the same problem

We have exactly two other instances of minItems:

Target. Passing an empty array of targets seems like it would actually break something, so I left this as is.
WatchIgnorePluginOptions.paths (in schemas/plugins/WatchIgnorePlugin.json). This one should be removed too.

For the instances I’m proposing to remove, I’m saying that both the type restriction and the runtime restriction should be removed. Changing the generator would only remove the type restriction, not the runtime restriction. Are you specifically saying that the runtime restriction should not be removed? If so, why?


Pandas.plot() fails to calculate the right xlims

While working with cyclic data, Pandas failed to calculate the right limits for the plot. I am not sure which exact characteristic of my data causes the problem, but I will observe if further when I have time for it. Until then, here is the notebook in which the error occurred:
http://nbviewer.ipython.org/gist/AKuederle/d7837facee0479beb6cf
The first plot is the pandas plot, which has the wrong x-limits.
The second plot is the same (or at least I thought) the same plot using matplotlib directly.
The third plot shows, that it padas issue is indeed the x-limits and not something else in plotting process

pls pd.show_versions()


[Regression] GTA IV - Frogged textures

Commit f90163b broke GTA IV's textures, Alt+Tab-ing out and back also makes the textures look completely different every single time. Reverting this commit fixes the issue.

Software information
Grand Theft Auto IV
System information

GPU: RX 580 4GB
Driver: Mesa ACO Git, AMDVLK 2019.Q3.2
Wine version: Proton-4.11-GE-1
D9VK version: 3e36478

Apitrace file(s)

Same trace that can be found in issue #99

Log files

GTAIV_d3d9.log

The apitrace in issue #99 doesn't have the issue. It looks just fine.


Issue with G6 v5 beta 35

问题描述
These line of code seems having an issue
import { Graph, Extensions, extend } from '@antv/g6';
const ExtGraph = extend(Graph, {
transforms: { 'transform-v4-data': Extensions.TransformV4Data },
nodes: {
'sphere-node': Extensions.SphereNode,
},
behaviors: {
'orbit-canvas-3d': Extensions.OrbitCanvas3D,
'zoom-canvas-3d': Extensions.ZoomCanvas3D,
'hover-activate': Extensions.HoverActivate,
'brush-select': Extensions.BrushSelect,
},
});
Extensions and extend seems not exported in antv/g6.
It can be reproduce with your example as https://g6-next.antv.antgroup.com/en/examples/feature/features/#lodLevels
重现链接
https://codesandbox.io/s/452wyj
重现步骤
npm run build
预期行为
Compilation OK
平台
ubuntu
G6 V5
package.json
屏幕截图或视频（可选）
No response
补充说明（可选）
No response

<EMAIL_ADDRESS>build
craco build

Creating an optimized production build...
One of your dependencies, babel-preset-react-app, is importing the
"@babel/plugin-proposal-private-property-in-object" package without
declaring it in its dependencies. This is currently working because
"@babel/plugin-proposal-private-property-in-object" is already in your
node_modules folder for unrelated reasons, but it may break at any time.
babel-preset-react-app is part of the create-react-app project, which
is not maintianed anymore. It is thus unlikely that this bug will
ever be fixed. Add "@babel/plugin-proposal-private-property-in-object" to
your devDependencies to work around this error. This will make this message
go away.
Failed to compile.
Attempted import error: 'extend' is not exported from '@antv/g6' (imported as 'extend').

issue stil open.

请看最新文档，issue中的用法 api 是被移出的。


How to set up as a lowercase?

The action buttons are intentionally capitalized to follow Material Design.
You can get a handle to the buttons and override setAllCaps on their TextView's, though.


New chapters often get stuck on "loading" when first opening to edit

Here's a screenshot of the loading UI I'm getting stuck at:

It's possible this is arising from the unique way I'm using the editor today: I have a series of lecture notes I'm uploading to use as the basis for the chapters, so I'm copy-pasting many chapters one after another into the editor. Maybe that's setting something off.
Details:

Refreshing does not fix it
Deleting the chapters and creating new ones often but doesn't always fix it
I created the chapters in bulk and had multiple chapters named "Unnamed Chapter" if that matters
I'm using Chrome on Win10

Curious. Chapter names aren't used as identifiers, so that's not it. And there shouldn't be any issues caused by copying and pasting text into chapters at a rapid pace. If you're able to reproduce it, can you see if there any error messages on the JavaScript console? One possibility is that there's some specific texting your chapter that's causing some defect, but a console error might give me a clue about what that is.

Will search the error log if it happens again!

I got it to happen again and I did not see anything in the error console under Chrome dev tools. Here's the URL, if there's anything you can see on the backend:
https://bookish.press/write/E8yDqgKqBl2zGeE4iQfq/1/chapter21

I don't know how to reopen the issue on my end by I attached a new comment
to it with a new and different error log after the previous fix :'(
On Sat, May 27, 2023 at 12:05 PM Amy J. Ko @.***> wrote:

Curious. Chapter names aren't used as identifiers, so that's not it. And
there shouldn't be any issues caused by copying and pasting text into
chapters at a rapid pace. If you're able to reproduce it, can you see if
there any error messages on the JavaScript console? One possibility is that
there's some specific texting your chapter that's causing some defect, but
a console error might give me a clue about what that is.
—
Reply to this email directly, view it on GitHub
https://github.com/amyjko/bookish/issues/338#issuecomment-1565555576,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6WYPYODJFUUPRKGDJU53XIIQ5JANCNFSM6AAAAAAYO3IM6I
.
You are receiving this because you authored the thread.Message ID:
@.***>

I'm hoping this is related to the #340 session timeout issue; this would be caused by database requests failing. This should be less likely to happen now. (Let me know if it's still happening though).
There is an improvement to make here: when chapter text can't be loaded because of authentication issues, we need better feedback than "Loading..." . EditionLoader currently doesn't propagate chapter loading failures, and so the view can't distinguish between loading and a problem.

I strongly suspect they're related, will tell you if it happens again.
Thanks again for being so on top of bug reports
On Sat, Jun 10, 2023, 1:32 PM Amy J. Ko @.***> wrote:

I'm hoping this is related to the #340
https://github.com/amyjko/bookish/issues/340 session timeout issue;
this would be caused by database requests failing. This should be less
likely to happen now. (Let me know if it's still happening though).
There is an improvement to make here: when chapter text can't be loaded
because of authentication issues, we need better feedback than "Loading..."
. EditionLoader currently doesn't propagate chapter loading failures, and
so the view can't distinguish between loading and a problem.
—
Reply to this email directly, view it on GitHub
https://github.com/amyjko/bookish/issues/338#issuecomment-1585747173,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6WYLY5TX7SVSYAGP7ZCDXKSVT7ANCNFSM6AAAAAAYO3IM6I
.
You are receiving this because you authored the thread.Message ID:
@.***>

Haven't had a problem in a while, closing it


Update BingVoiceOutput.md

made changes that are inline with latest implementation of the backend

@hardikmodi,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@hardikmodi : Thanks for your contribution to the Azure documentation! The author, @priyaravi20, has been notified to review your proposed change.

#sign-off


Implement bin/install-roc and .github/workflows/test.yml

This is a first attempt at implementing the test.yml workflow. It works on my machine, as they say, but I'm not sure it will work on GitHub Actions. Let's see...

Oh wow, it worked, I thought it might bomb when using external packages, since this involves downloading them online, but it actually went smoothly. Cool!


Upgrade CBMC proofs

Issue #, if available:
N/A.
Description of changes:
Upgrade to the latest version of CBMC templates and Litani (build system used by CBMC proofs). We also don't need to use mallocCanFail anymore. CBMC non-deterministically fails malloc when invoked with --malloc-may-fail and --malloc-fail-null flags (see Makefile.common).
I suggest reviewers to review this PR commit by commit (too many files changing).
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Never mind, please feel free to merge when you have approval. I'd rather not block here.


39 - US: As a server admin, node to node connections can be authenticated with HTTP Basic Auth

This works right?

it works yes


Password Incorrect

I installed flare-vm on windows 7 32-bit VM machine. After the installation and reboot I couldn't login to the IEUser it show "The username or password Incorrect". But the password was correct and working before flare installation.

Thank you for your feedback! We've been working on major updates to FLARE VM over the last year.
The now revamped FLARE VM has just been released and will make the project more open and maintainable.
Please check out our blog post at https://www.mandiant.com/resources/blog/flarevm-open-to-public and give the new installation a try.
If this problem still persists with the new installation, please report:

new tools or tool-related issues at https://github.com/mandiant/VM-Packages/issues
ideas and issues related to the installer script and configuration at https://github.com/mandiant/flare-vm/issues

Please note that we use this message to close all legacy issues in this repository. We look forward to your feedback and support for the next generation of FLARE VM.


Question about scaling/loadbalancing

Hello,
I was wondering what is the best way to scale the microservices system that is using amqp for the transport?
Say I have a high load on my application and I want to introduce more services of the same type and share load between them, as far as I understand this will be problematic because (at least by default) the queues are exclusive so I can't have two services listening on the same pin. Is the proper solution to spin another rabbitmq server?
I see in options there is an "exclusive" property for the response, is changing that to false the proper way to do it? If so, why is it exclusive by the default?
Thank you in advance!

@OriginalEXE You absolutely can spawn more than one microservice. If you register them with the same set of pins, new consumers will be declared on RabbitMQ. The exclusive queues are only those tied to responses, which are randomly named and short lived.

Hmm it might be I messed something else up. Will test again tonight and let you know. Thanks again!

Please, do and let me know if I can be of help.

To extend @OriginalEXE question further, is it possible to have multiple microservices listening on the same pin but carry out different functions. Basically like a fan out method.

@vigneshnrfs You can. But it won't be exactly like a fanout exchange. And there are certain gotchas you'd have to be aware of. If you have multiple microservices registered with the same pin carrying on different tasks, you'll end up with multiple queues bound to the same routing key on a topic exchange (on default settings, at least). A fanout exchange doesn't care about the routing key, whereas in this topology you'd have to publish your messages with a certain pattern to make it work (which is automatically handled by the plugin).
On the other hand, if you do that you'd have many responses (many listeners) for one request (a client). And that is not supported by default in Seneca. It is doable, but you are going to have to do grunt work to succeed.

@nfantone Thanks for the pointes. I think I will be able to work with you logic.

@vigneshnrfs No worries.
I'll leave this issue open, waiting for input from @OriginalEXE.

Hello,
apologies for the delay, had no time last night.
Ok so it seems like I'm getting an error only when I have two identical .client() calls. The way I am testing this is I run my express server microservice using pm2 and I set "instances" to 2, so it spawns two of them in a cluster.
The exact error is:
Channel error on connection <0.765.0> (<IP_ADDRESS>:58414 -> <IP_ADDRESS>:5672, vhost: '/', user: 'guest'), channel 1:
rabbitmq_1            | operation queue.declare caused a channel exception resource_locked: "cannot obtain exclusive access to locked queue 'seneca.res.pg:path:users,role:api,pin:role:api,path:users,type:amqp,url:amqp://rabbitmq-master' in vhost '/'"

Also, I am wondering, if I have multiple services listening for the same pin, which one will respond to the client? How is that determined, by speed of the response?
Thanks again, as you can see I am quite new to this concept so apologies for the noobish questions.

@OriginalEXE No need to apologize. This is the right place to ask questions.

Ok so it seems like I'm getting an error only when I have two identical .client() calls.
As per your log prints, it looks like you are manually setting the response queue name. Be careful with that. Response queues are randomly named to avoid name clashing. See the warning in the README.md.

If I'm right, just remove the name attribute on the client's options.

Also, I am wondering, if I have multiple services listening for the same pin, which one will respond to the client? How is that determined, by speed of the response?
Read my previous response to @vigneshnrfs.

Thank you for the answer.
1.) I am not setting the name manually, I have read the warning in the README about it before using the plugin. Here is my whole seneca.js file for the express server:
'use strict';

let seneca = require( 'seneca' )();

seneca
	.use( 'seneca-amqp-transport' )

	// API: Users
	.client({
		pin : 'role:api,path:users',
		type: 'amqp',
		url : 'amqp://rabbitmq-master'
	});

module.exports = function() {

	return seneca;

};

2.) I have read your answer but I have to admit I am still a bit confused. Say for example that I have a microservice that is carrying out some time consuming task, and it's at the moment a very "popular" microservice because a lot of traffic is using exactly that part of my app right now. What I want to do is bring in another exact copy of the same service, and have it also listen and carry out the same task (in order to lighten the load of the primary copy). So basically a load balancing. Would I be able to do it?

Hi @originalexe. With regards to point 2 you can spawn multiple microsevices and the load will be balanced. I have tested it with my development environment.

@OriginalEXE Regarding your first point, it's looking more and more like a bug. The name of your queue ends up being seneca.res.pg:path:users,role:api,pin:role:api,path:users,type:amqp,url:amqp://rabbitmq-master, which is totally absurd. Could you please try the develop branch and see if that fixes it?
On number two, it's as @vigneshnrfs said. If you start n microservices each one calling .listen, you'll create n consumers on the same queue. Consumers are used in a round-robin fashion among those available.

Thank you.
I tested it with the develop branch and it works fine, no error :)

@OriginalEXE Great! I'll cut a new release as soon as I can, so you can install it from npm.

@nfantone Sorry for opening this thread again. Just wanted a opinion on this.

@vigneshnrfs You can. But it won't be exactly like a fanout exchange. And there are certain gotchas you'd have to be aware of. If you have multiple microservices registered with the same pin carrying on different tasks, you'll end up with multiple queues bound to the same routing key on a topic exchange (on default settings, at least). A fanout exchange doesn't care about the routing key, whereas in this topology you'd have to publish your messages with a certain pattern to make it work (which is automatically handled by the plugin).

On the other hand, if you do that you'd have many responses (many listeners) for one request (a client). And that is not supported by default in Seneca. It is doable, but you are going to have to do grunt work to succeed.

Can I use seneca.prior for a fanout kind of exchange. By default I will have seneca.prior for every. In this case, I am not worried about the response that I will get from those exchanges. Will this kind of workaround have any issues?

@vigneshnrfs How do seneca.prior and exchanges play along here? You lost me here.

I am not worried about the response that I will get from those exchanges.
Still, you'd have to call the callback on each listener. Or have the client implement some kind of "fire and forget" mechanism. Maybe this decorator could help.


Require containers for Linux always if podman is available

Less confusing UX, long-term we may want to remove the dependancies on containers for macOS support and those that want to deploy without containers.

This is the UX related one @rhatdan I'll let you decide if we want to merge this one...

I think we should simplify and just force containers to start and then if users want to do it without containers we can move to it.  For now this would keep the complexity of the app less.


owl noises

too many owl noises please remove/restrict allow configure them away

I agree, they're a little obnoxious. Would love to be able to toggle them.

Could just add owls as seperate noise instance, then you can mute them via atmosfera menu in the settings

if you want to have it already, just download the source and make a zip from the contents of the dungeons folder. its luckily no big effort to change it


Non panic apply

Objective
Currently the apply functions for Reflects panic when an error occurs (eg. wrong types). I am working on a solution where errors can be propagated to the user where they can handle it on their end.
Solutions

I've created a new pub enum ReflectError which uses thiserror crate to log errors.

#[derive(Error, Debug)]
pub enum ReflectError {
    #[error("Attempted to apply non-{0} type to {0} type.")]
    MismatchedTypes(String),
    #[error("Value is not a {0}.")]
    WrongType(String),
    #[error("Attempted to apply different sized {0} types.")]
    DifferentSize(String)
}

I've changed the return values of the apply function on all the types. for example:

#[inline]
pub fn map_apply<M: Map>(a: &mut M, b: &dyn Reflect) -> Result<(), ReflectError> {
    if let ReflectRef::Map(map_value) = b.reflect_ref() {
        for (key, b_value) in map_value.iter() {
            if let Some(a_value) = a.get_mut(key) {
                a_value.apply(b_value);
            } else {
                a.insert_boxed(key.clone_value(), b_value.clone_value());
            }
        }
        return Ok(());
    } else {
        // panic!("Attempted to apply a non-map type to a map type.");
        return Err(ReflectError::MismatchedTypes(String::from("map")));
    }
}

Problems
Either my implementation is completely wrong or there is still somewhere in the code where I still have to change the return type. I've also looked in the bevy_reflect_derive folder and made changes there but to no avail.
Some pointers in the right direction would be appreciated!
I get errors from places in the code where derive(Reflect) is called or the macro impl_reflect_value!.
Errors are: method `apply` has an incompatible type for trait expected fn pointer `fn(&mut enums::tests::enum_should_allow_struct_fields::TestEnum, &(dyn reflect::Reflect + 'static)) -> Result<(), reflect::ReflectError>`    found fn pointer `fn(&mut enums::tests::enum_should_allow_struct_fields::TestEnum, &(dyn reflect::Reflect + 'static))`rustc[E0053](https://doc.rust-lang.org/error-index.html#E0053) mod.rs(359, 18): Error originated from macro call here reflect.rs(155, 49): type in trait mod.rs(359, 18): change the output type to match the trait: `-> Result<(), reflect::ReflectError>

Okay I found the issue. A few missed imports and I guess the linter doesn't like big projects x).
I can finally start working on this :).


[Fix-9078][UI Next][V1.0.0-Alpha] The interface for adding DingTalk a…

Purpose of the pull request
This pull request fixs this issue.
Releated issues
close #9078

Someone is doing this problem, please look for the problem carefully next time when submitting an issue and handling PR.

Codecov Report

Merging #9079 (408774c) into dev (bf1f959) will decrease coverage by 0.03%.
The diff coverage is n/a.

:exclamation: Current head 408774c differs from pull request most recent head eb36302. Consider uploading reports for the commit eb36302 to get more accurate results

@@             Coverage Diff              @@
##                dev    #9079      +/-   ##
============================================
- Coverage     39.80%   39.76%   -0.04%
+ Complexity     4264     4261       -3
============================================
  Files           808      808
  Lines         32545    32545
  Branches       3646     3646
============================================
- Hits          12953    12940      -13
- Misses        18365    18378      +13
  Partials       1227     1227

Impacted Files
Coverage Δ

...er/master/processor/queue/TaskResponseService.java
49.43% <0.00%> (-13.49%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

Continue to review full report at Codecov.

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


Add EnumArrayType to support mapping database Enums as Java arrays

Hi,
Can you include the EnumArrayType you created here in this repo? That would be very helpful.

After looking more into the code I referenced above, I noticed that it didn't quite meet my requirements. The EnumArrayType was translating Java enum arrays into integer arrays in PostgreSQL instead of enum type arrays. I've made some changes to the above code to be able to support PostgreSQL's enum type arrays in a generic way. I will create a pull request shortly for your review. Any feedback would be appreciated.

The pull request is here #59

Cool. I'll check it out when I have some time.

This is available from version 2.3.5.

Awesome, thanks!


Allow exclusion of sourcekit-lsp workspaces.

Is your feature request related to a problem? Please describe.
A VSCode workspace may contain multiple sourcekit-lsp workspaces. To be specific, by "VSCode workspace" I mean the folder you are opening in a VSCode window and by "sourcekit-lsp workspace" I mean the workspaces managed by sourcekit-lsp (which effectively tells the LSP server where to search for Package.swift or compile_commands.json). As I understand it, this VSCode extension automatically tries to find a workspace when a Swift file is opened in the VSCode UI, and there is no way to influence this behavior. The one customization option provided is "search subfolders for packages", which tries to identify workspaces when the extension starts up.
This is fine for most projects, but there are times when this is problematic. One example is a project with a top-level Package.swift file (the "user-facing package") may have a number of other packages in its directory tree (packages testing the user-facing package, local packages that can be referenced by the user-facing package, or just one-off examples). I've noticed a number of weird issues in such a project, including some failures with package resolution (which can be disabled via an option) and LSP functionality being unavailable for the nested packages.
Describe the solution you'd like
For my example above, just deleting the top-level Package.swift fixed all my issues (i.e. LSP began working well in the nested packages). It would be great if there was a setting like the following:
"swift.sourckit-lsp.workspaces.exclude": [
  ".": true,
  "my/other/problematic/package": true,
  "test-workspaces/*",
]

Note that in this case a workspace located at "the/workspace/I/care/about" would still be enabled even though it is nested under ".", which is excluded. Support for "*" would be nice for folders of test projects.

Possibly related to this feature request: opening a workspace that contains non-swift compile_commands.json breaks in the presence of this extension. I don't have a small example, but if you download Fuchsia and run fx set you'll have generated a compile_commands.json; if you open that workspace in the presence of this extension you'll see that just about all C++ tooling is broken.


Content.Render() without Vector2-Position argument.

Position should not be provided by user.
It needs to be generated by the library


problem with opencv 3.0

I test your code on ubuntu 14 LTS, and compile the code successfully with opencv 2.49

To get it to run with OpenCV 3.0, I added "-lopencv_imgcodecs" to the OPENCV line in the MakeFile.


[npm] take fetch name

the fetch npm name has been offered by @andris9, and github/fetch is using whatwg-fetch.

Ah thx, i saw that, but decided to leave it be, given it's quite easy to find node-fetch anyway :)
Though if Andris isn't working on fetch anymore, a pull request to clarify module status in readme would be good, so people don't need to figure out if fetch follows whatwg.

it's your decision, but the use of node is discouraged:
https://docs.npmjs.com/files/package.json:

Don't put "js" or "node" in the name. It's assumed that it's js, since you're writing a package.json file, and you can specify the engine using the "engines" field. (See below.)

with iojs gaining popularity, node is slightly anachronistic

hopefully this module will be compatible with iojs without change, if not I will need to look into it in the future.
node-fetch is in a special position where whatwg spec isn't stable yet, and it splits between client-side and server-side (since npm is runtime agnostic, but runtime has different strength and weakness), so I feel ok violating npm best practice :)

it would be much easier to use fetch name on npm


Cannot set table cell margins

I understand table cell margins should be set like this:
var tableCellMarginDefault = new TableCellMarginDefault(
   new TopMargin { Width = "21", Type = TableWidthUnitValues.Pct },
   new StartMargin { Width = "21", Type = TableWidthUnitValues.Pct },
   new BottomMargin { Width = "21", Type = TableWidthUnitValues.Pct },
   new EndMargin { Width = "21", Type = TableWidthUnitValues.Pct });

var tableProperties = new TableProperties(tableCellMarginDefault);

I cannot find a way to assign the TableProperties instance to a table though.

I don't think we expose margins directly yet. We only support choosing one of the built-in styles which already have the required margins set. This needs to be added/exposed.

Additional questions for it:

you're after setting totally custom style or modifying existing styles?
what would be expectation when you have table with style GridTable6ColorfulAccent1 that you "modify" on the table - would you want it to apply to all tables using same style or the style should now be cloned and become new style?

The more think about it, the more complicated it becomes to implement.


Creating a container with an LVM backend creates an LV of 1024mb regardless of the size specified.

When creating a container with an LVM backend, regardless of the size entered into the form the resulting logical volume created is always 1024M
https://gyazo.com/29d91baaf95e6519042de95b4308d679
https://gyazo.com/4a95376c35e1e852e507ff2ffdf62bc4

Found and solved.  There's a missing + in the following regex:
https://github.com/claudyus/LXC-Web-Panel/blob/master/lwp/views/main.py#L494
'^[0-9][G|M]$' will only match if the size is 1 character followed by a G or M.
Ex: 1G, 2M are ok but 10G or 100M will fail.
'^[0-9]+[G|M]$' will instead match any set of numbers followed by G or M.
Ex: 1G, 2M, 100G, 500M all work.


chore: configure third party checks

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Channel Listing does not send Starting Numeric

On UnrealIRCd for example, if you do /LIST it will start with
321  Channel :Users Name   << this is missing from Oragono
322  <#channel> 2 :[+ntr] Welcome
323 End of /LIST
By not sending Numeric 321 it can confuse some IRC Clients, and the result is if you refresh the channel listing, it just adds to the list, rather than clearing it out and then listing again

Thanks! We're probably going to change this. Which clients are affected?

It only breaks one client I use regular and it was created as part of a launcher that ZDaemon uses, called ZDaemon Relay Chat, I guess it is coded so that it needs all 3 numerics (maybe on 321 it wipes the channel list, and because that is not sent, the listing is not wiped, and therefore doubles up each time) - I have attached ZRC image showing the issue

here if you want to test it yourself

Since only one client is affected, and it's fairly obscure, I'd prefer not to fix this (unless you have strong feelings).

(The context being that RFC2812 describes RPL_LISTSTART as "Obsolete. Not used.", and modern.ircdocs.horse describes it as optional.)


[Documentation]Add documentation various cloud storage buckets

Description
Add documentation various cloud storage buckets used by celotool and
mobile

Superseded by https://github.com/celo-org/celo-labs/pull/143


add config support for setAutomaticRecoveryEnabled in connection factory

the connection factory does not set automatic recovery enabled, and has no configuration option for it.  This will allow users to optionally set this parameter, while maintaining backwards capatibility

Hi @johntbush !
I've just upgraded master branch amqp-client to 4.0.0 which enable automatic recovery by default.
Do you think there is still need for this change ?
Regards,

if it's enabled by default than probably not


Scatter viewers don't show up at load

Scatter viewers (more specifically the bqplot plot content) do not show up until there is an interaction via selection.
This may be bqplot waiting for an event that never comes (after-attach?)

Probably, because it happens in the notebook as well.

Just to clarify, you mean the classic Notebook?

No. JupyterLab's notebook using glue-jupyter with the following example (I used the data from this repository):
import glue_jupyter as gj
app = gj.jglue()
data_image = app.load_data('w5.fits')

scatter = app.scatter2d(data=data_image)

In Jupyterlab v3.6

Ok, thanks for trying! I'll have a look into this one, if you're not already on it.

Closing and replaced by https://github.com/glue-viz/glue-jupyter/issues/353


Hidden sections can't be used for associations

A newly created section, if marked as hidden ("hide section from menu"), will be hidden in the backend from the association extension as well. Thus it is impossible create an association field and to connect it with the hidden section. One needs to unhide it first, then associate it and hide it again.
Wouldn't it be better to show all sections as possible associations in the backend, no matter what there visibility is?

This is not related to the core, so I've open a new issue in the right project. Closing here.

Thank you – I realised through your comment that it is an issue of the association field.

Not a problem! It's better to report it at the wrong place, than letting it go unreported!


Can you add support for SPC700

I want to make a game in godot that uses SPC700 for music and for sound effects. Could you add support for that?

.spc files should work

How do you use this tool. I have it but I don't know how to use it.


RFE: handle full ISO code in hreflang

As per this prestashop forum post.
Take full care of language-location ISO code and implement it as per moz.com article

 RFE: handle full ISO code in hreflang


Quality of Life additions

WIP pull request of stuff that gives the game more quality in a way
todo list:

[x] lil' glow effect of windows in the philly stage

[WIP] snow shader/emitter in mall stages
[x] vignette in monster song that increases as you lose health and decreases as you gain health, also disappears when a thunder strike occurs, fades back in when its done (as what nex has suggested to me)

https://github.com/user-attachments/assets/5f995407-460c-43c2-a4eb-2915c4085574
suggestions, ideas and criticism are open :]

kill santa at the end of eggnog
also he should stay there during horrorland too
not because it's canon but because it would make me laugh
also santa only appears if you killed him in eggnog
so basically only in story mode
or if you played eggnog in freeplay and then wh

nope, that should be in the vslice modpack instead im making for cne

kill santa at the end of eggnog
also he should stay there during horrorland too
not because it's canon but because it would make me laugh
also santa only appears if you killed him in eggnog
so basically only in story mode
or if you played eggnog in freeplay and then wh

nope, that should be in the vslice modpack instead im making for cne

ok 😔


Support for N-grams or user input vocabulary

@StatguyUser
I have tried it on my corpus and it returned feature scores for all unigrams.
Any plans to include bi/tri grams or an input to give a vocabulary of n-grams for which we want the feature scores?

Hi, Thanks for using my work. Appreciate the request. I will add this amongst few other fixes and enhancements in next version.
There is a workaround. create bigram and trigram with underscore _ character and concatenate with original text with a space. For example if your original corpus is i am content then modify your text to i am content i_am am_context. Here i created bigram with underscore character and all bigrams are added back into original text with a space character separating bigrams from the original text.
Binary classification
input_doc_list=['i am content','i am having the time of my life','you cannot learn machine learning without linear algebra','i want to go to mars']
target=[1,1,0,1]
result_df=TextFeatureSelection(target=target,input_doc_list=input_doc_list).getScore()
result_df

word list | word occurence count | Proportional Difference | Mutual Information | Chi Square | Information Gain
-- | -- | -- | -- | -- | --
algebra | 1 | -1.0 | 1.386294 | 4.000000 | 0.0
am | 2 | 1.0 | -inf | 1.333333 | 0.0
cannot | 1 | -1.0 | 1.386294 | 4.000000 | 0.0
content | 1 | 1.0 | -inf | 0.444444 | 0.0
go | 1 | 1.0 | -inf | 0.444444 | 0.0
having | 1 | 1.0 | -inf | 0.444444 | 0.0
learn | 1 | -1.0 | 1.386294 | 4.000000 | 0.0
learning | 1 | -1.0 | 1.386294 | 4.000000 | 0.0
life | 1 | 1.0 | -inf | 0.444444 | 0.0
linear | 1 | -1.0 | 1.386294 | 4.000000 | 0.0
machine | 1 | -1.0 | 1.386294 | 4.000000 | 0.0
mars | 1 | 1.0 | -inf | 0.444444 | 0.0
my | 1 | 1.0 | -inf | 0.444444 | 0.0
of | 1 | 1.0 | -inf | 0.444444 | 0.0
the | 1 | 1.0 | -inf | 0.444444 | 0.0
time | 1 | 1.0 | -inf | 0.444444 | 0.0
to | 1 | 1.0 | -inf | 0.444444 | 0.0
want | 1 | 1.0 | -inf | 0.444444 | 0.0
without | 1 | -1.0 | 1.386294 | 4.000000 | 0.0
you | 1 | -1.0 | 1.386294 | 4.000000 | 0.0

Binary classification with bigram in first document corpus
input_doc_list=['i am content i_am am_context','i am having the time of my life','you cannot learn machine learning without linear algebra','i want to go to mars']
target=[1,1,0,1]
result_df=TextFeatureSelection(target=target,input_doc_list=input_doc_list).getScore()
result_df
word list	word occurence count	Proportional Difference	Mutual Information	Chi Square	Information Gain

0	algebra	1	-1.0	1.386294	4.000000	0.0
1	am	2	1.0	-inf	1.333333	0.0
2	am_context	1	1.0	-inf	0.444444	0.0
3	cannot	1	-1.0	1.386294	4.000000	0.0
4	content	1	1.0	-inf	0.444444	0.0
5	go	1	1.0	-inf	0.444444	0.0
6	having	1	1.0	-inf	0.444444	0.0
7	i_am	1	1.0	-inf	0.444444	0.0
8	learn	1	-1.0	1.386294	4.000000	0.0
9	learning	1	-1.0	1.386294	4.000000	0.0
10	life	1	1.0	-inf	0.444444	0.0
11	linear	1	-1.0	1.386294	4.000000	0.0
12	machine	1	-1.0	1.386294	4.000000	0.0
13	mars	1	1.0	-inf	0.444444	0.0
14	my	1	1.0	-inf	0.444444	0.0
15	of	1	1.0	-inf	0.444444	0.0
16	the	1	1.0	-inf	0.444444	0.0
17	time	1	1.0	-inf	0.444444	0.0
18	to	1	1.0	-inf	0.444444	0.0
19	want	1	1.0	-inf	0.444444	0.0
20	without	1	-1.0	1.386294	4.000000	0.0
21	you	1	-1.0	1.386294	4.000000	0.0
You can do for trigram also in the same manner.

Thanks for suggesting the work around. I know MI and CS work on just the presence of a token, not sure whether PD and IG are dependent on frequency as well. If that's the case, I need to add those n-grams in the same frequency as well.
Anyways, I am yet to explore these two methods and also understand how the utilities at class-term level are aggregated to a term level in your final result.
Once I understand the above, I will also try to contribute to the enhancements/documentation.

In case you haven't explored, I will suggest you to check SN-gram, which are rich in meta linguistic property and less arbitrary than n-grams. I created this a while ago.
https://pypi.org/project/SNgramExtractor/

In case you haven't explored, I will suggest you to check SN-gram, which are rich in meta linguistic property and less arbitrary than n-grams. I created this a while ago.
https://pypi.org/project/SNgramExtractor/


Hover information for cities

A feature I really liked in the EUI in Civ 5 was the possibility to hover over a city's banner, thus see at a glance what tiles are currently worked by citizens and which tile the city will expand to. Additionally the cities tiles could show their yield on hover.

On latest build, the hover information will always turn off yields display when un-hovering from the city banner. This conflicts with the global yield display option.
I would suggest that the hover function needs to be aware of the current state of yield icon display and do its work accordingly.
Should I open a new issue or does this belong within this issue? I'm sorry I'm not familiar with software development practices.


Holding down the button on crafting, and stone cutter interface no longer repeats pressing.

So basically on console edition, when holding down the button on crafting interface and stone cutter, it no longer repeats. I hope you can fix this without conflicting other stuff like jumping, etc.
https://github.com/Wilyicaro/Legacy-Minecraft/assets/39068731/498c7f2a-1fad-44cd-80ea-1260efcf2201

Same issue here, very annoying to have to spam the button

Fixed in version 1.6.4, thanks for reporting.


Pac Script error for the version 4192

Describe the bug
script error
pac.txt, line 6:
var proxy = "PROXY";
change it to:
var proxy = PROXY;
To Reproduce
Steps to reproduce the behavior:
update ss to 4192
ss can not connect to remote server
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Submit Feedback
Please submit feedback through the app and label it with this issue number.
Additional context
Add any other context about the problem here.

This is Outline-Client, shadowsocks-windows is in neighbourhood.

To save your time, delete pac.txt, shadowsock.exe will regenerate it with correct content.


[FIX]Yaswanth/To Fix Type errors for modal and dialog component

Need to make changes in package.json file to Fix Type errors for modal and dialog component

this is fixed in #152


How can we display proposed questions when user asks any related question to bot

Resolved this by my self. Thanks


New release: update docs

Published a new version of the packages with the latest fixes, updated docs accordingly here.

Sorry I should have mentioned but when I do a single PR it means that the brand new files are pure duplicates of previous, so nothing to review on these.
Otherwise I'd do 2 PR's like I did the other day, where first one just duplicates, and second shows changes.

Sorry I should have mentioned but when I do a single PR it means that the brand new files are pure duplicates of previous, so nothing to review on these.
Otherwise I'd do 2 PR's like I did the other day, where first one just duplicates, and second shows changes.


ShouldQueue trait breaks params parsed to Listener through Event class

I'm attempting to Queue an event Listener using the ShouldQueue trait. Without this trait everything works correctly, however when added the params I'd set in the event construct are not parsed through.
class AudioWasUploaded extends Event
{
    use SerializesModels;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct($location, $name)
    {
        $this->path = $location;
        $this->name = $name;
    }

class UploadToS3 implements ShouldQueue
{
    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct()
    {

    }

    /**
     * Handle the event.
     *
     * @param  AudioWasUploaded  $event
     * @return void
     */
    public function handle(AudioWasUploaded $event)
    {
        dd($event)

    }

The dd above outputs the following when using the trait:
AudioWasUploaded {#237}

and without the trait:
AudioWasUploaded {#212 ▼
  +"path": "/home/vagrant/Sites/sitename.co.uk/storage/uploads/06Home.mp3"
  +"name": "Home"
}

Obviously after trying to work this out all day I fix it as soon as I post an issue. The problem was the use SerializesModels; trait. Removing that meant that all the data was parsed through.


docs: fix hyperlink

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.487%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
890

Relevant Lines:
1021

💛  - Coveralls


Update persistent storage app for P6 platform

Problem
Persistent storage app for P6 needs to be updated to support new keymanagement support
Change overview
Persistent storage app changes
Testing
Verified manually
Logs:
CHIP:P6: =============================================
CHIP:P6: chip-p6-persistent-storage-example starting
CHIP:P6: =============================================
CHIP:P6: Starting FreeRTOS scheduler
CHIP:P6: Running Tests:
CHIP:-: TestEmptyString(): PASSED
CHIP:-: TestString(): PASSED
CHIP:-: TestUint32(): PASSED
CHIP:-: TestArray(): PASSED
CHIP:-: TestStruct(): PASSED
CHIP:-: TestUpdateValue(): PASSED
CHIP:-: TestMultiRead(): PASSED
CHIP:P6: Running Tests:
CHIP:-: TestEmptyString(): PASSED
CHIP:-: TestString(): PASSED
CHIP:-: TestUint32(): PASSED
CHIP:-: TestArray(): PASSED
CHIP:-: TestStruct(): PASSED
CHIP:-: TestUpdateValue(): PASSED
CHIP:-: TestMultiRead(): PASSED

/rebase

Fast tracking platform changes.


feat : Added Sponsor Models

Added sponsor models.

@iamareebjamal Please review.

@iamareebjamal Ready for review.


Replace MoveTowards with Lerp

Description
Replace the MoveTowards lerp with a real lerp - use Duration, rather than speed to move to a new value.

Definite improvement. Looks good in local tests.
Lerp > MoveTowards for animations!


debug mode fix

There's a bug in EnableDebugMode, caused by an earlier cleanup i did.
To reproduce:

Make sure EnableDebugMode is enabled
Open config menu for EnableDebugMode
Edit a combination and leave menus
You get an error

Ah, I suppose it's because I forgot to call Clear

Also, I only just realized there might be a problem with me not filtering out combination from other strings (in form of extra errors).
Maybe we should add IsType method to config?

Ah, I suppose it's because I forgot to call Clear

You kinda did, I removed it in a cleanup 😥

Also, I only just realized there might be a problem with me not filtering out combination from other strings (in form of extra errors).
Maybe we should add IsType method to config?

Maybe and maybe. We'll deal with it when/if we need to ;-)


Add a section about debugger

For #214
So far only delve setup is described in details, but I think it can be convenient.

Coverage remained the same at 10.981% when pulling 53014ca28b0690e6d55f4646f3ce614433d16030 on erthalion:feature/debugger-documentation-section into b90a36c9090121ca28f8354d81516f67c4c70354 on zalando-incubator:master.

:+1:

:+1:

Wouldn't it be better to add a debug target to the Makefile or make it build with debugging if DEBUG has some value in the environment, rather than simply documenting how to hack the Makefile manually?  Perhaps this could also be included as an option in the script to run under Minikube.

@mgomezch That's very true. I will play a little bit with the debugger and then script all that stuff in a separate PR.


Implement parsing multiple Ownership Vouchers, and add libfdo-data-go

This patchset fixes #148, by supporting parsing multiple Ownership Voucher parsing, and adding support for this to libfdo-data.
It also adds a libfdo-data-go Go wrapper, which users can then use if they use libfdo-data from Go.

The stability impact is caused by adding new functions to libfdo-data.

@runcom I changed the API to your suggestion (thanks!), and added a go doc output for CI labeling, please take a look.


Add helper method for shielding transparent funds

Once #21 is implemented, we should add a method that will shield any transparent funds in the wallet. This should match how we implement it in the mobile SDKs: by default we should only shield one receiver at a time, and thus if we have multiple receivers containing transparent funds we will need the call to specify which one to shield.
Creating multiple transactions at once to shield funds present in multiple transparent receivers is out-of-scope for this issue.

zcash-devtool wallet shield exists.


style(txid): Added txid as a link to the bch explorer

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Next.js rewrite no longer working on swa since v13.4.13

Describe the bug
The rewrite is broken since Next.js v13.4.13 (both using next.config.js and middleware.js).
Using Next.js v13.4.12 the rewrite works as expected.
To Reproduce
I have created a minimal repo to reproduce the issue https://github.com/bertrand-riviere/nextjs-swa-rewrite-bug
The app is deployed as a swa: https://orange-water-06ec3c503.3.azurestaticapps.net
Expected behavior
The rewrite to work: for instance browsing https://orange-water-06ec3c503.3.azurestaticapps.net/page-a should display "Page B" (just like in https://orange-water-06ec3c503.3.azurestaticapps.net/page-b).
Additional context
I use the App Router.

Same problem here. Results in the middleware not working for me as well. For example rewriting for internationalization in middleware.

Hello,
Any news on this bug?
Btw, I have tested the latest NextJs version (1.5.2) and it still does not work

Same here, rechecked on 13.5.4 and still an issue.

This is also broken under Azure Web Apps within a Docker Node 18 container. The Next JS project had a "revert to a revert" around the router right before 13.4.13 was deployed. I am guessing it is in their code. =(

This is also broken under Azure Web Apps within a Docker Node 18 container. The Next JS project had a "revert to a revert" around the router right before 13.4.13 was deployed. I am guessing it is in their code. =(

Well, could be... but in this case I don't get why it would work locally, on Vercel, etc...

This bug persists in Next JS 14.0.3.
As previously mentioned the rewrites still work locally and on Vercel but not on Azure SWA.

I'm seeing my rewrites not work in an Azure Static Web App running Next 14.0.2. Has this bug been noticed by Microsoft, yet?

Same problem here

Hi folks! This issue is now resolved with our improvements to Next.js support on Static Web Apps, with support for Next.js 13 & 14 and further features. I'll be closing this thread, please try out the newest improvements and let us know how it goes in the announcement thread: https://github.com/Azure/static-web-apps/discussions/1428


Units in front page do not match the the internal units of the px routine

In github frontpage pressure unit is said to be MPa, However, only the test below passes. Meaning that the unit is actually Pa! Did not occur to me before. There was something funky going on with temperatures with possible Celcius/Kelvin conversion bug before but I have to find it first.
    #[test]
    fn test_px_sat_vap() {
        let pressure = 5e5;  // This is in Pascals not MPa
        let quality = 1.0;
        let density = px(pressure, quality, Variable::Density);
        let result = 915.284 * (1.0 - quality) + quality * 2.668058;
        assert!((density - result).abs() < 0.1, "{}", density) // within 0.1 kg/m3
    }

Just to my knowledge is the meaning to use the github frontpage unit system or SI base system. Typically I prefer SI base but anything is fine as either way I write thin wrappers over pretty much every external package.

Also please check:
#[test]
fn test_tx_sat_density() {
    let temperature =<PHONE_NUMBER> + 273.15;
    let quality = 0.5;
    let density = tx(temperature, quality, Variable::Density);
    let result = 915.284 * (1.0 - quality) + quality * 2.668058;
    assert!((density - result).abs() < 0.1, "{}", density) // within 0.1 kg/m3
}

In above snip the temperature input is in Kelvins. But in below temperature 500 C gives correct value.
#[test]
fn test_ph_sat_density() {
    let pressure = 2.0;  // 2 MPa = 20 bar
    let temperature = 500.0;  // 500 C
    let enthalpy = seuif97::pt(pressure, temperature, seuif97::OH);
    let result = 3468.093;  // kJ/kg
    assert!((enthalpy - result).abs() < 0.1, "{}", enthalpy) // within 0.1 kJ/kg
}

I think in general the temperature conversion are currently a big problem in this crate.  It is very hard to expect what to input and where. I don't know what is the original unit system in the paper but would it reasonable to stick to that instead of conversions? I usually try to do everything internally as SI base and have someking of unit system implementation which user can inject into the tools at hand. Meaning that if user wants F, BTUs and whatnot it should be relatively easy to just throw the unitsystem as 4th argument to those functions

p = 5e5;
x = 1.0;
then, the output d=`-9999.0` indicates that the input parameter is an unreasonable value

Ok sorry I said anything about this. I already got mixed with my own implementations in testing :D. You are totally correct in the above response. Thank you for your effort! This is resolved and so is my misunderstanding.


[$1000] Screen is flashing when changing focus between edit input

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

Action Performed:

Login with any account
Try to select any report, send few messages, try to edit them but doesn’t press Save. Try to change focus
Notice that screen is flashing when switching focus between edit field.

Expected Result:
Screen is not flashing when switching focus between edit fields.
Actual Result:
Screen is flashing when switching focus between edit field.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] iOS / native

Version Number: 1.2.70-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/218359252-eed544ce-a615-493f-ae74-7f878e147941.MP4
https://user-images.githubusercontent.com/43996225/218359369-04b52b51-5e8b-42a0-8ffd-bca18fe3ad6c.MP4
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1676115306084349
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01f0ed90a9d3684e1e
Upwork Job ID:<PHONE_NUMBER>301693440
Last Price Increase: 2023-02-14

Triggered auto assignment to @davidcardoza (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Triggered auto assignment to @thienlnam (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Job added to Upwork: https://www.upwork.com/jobs/~01f0ed90a9d3684e1e

Current assignee @davidcardoza is eligible for the External assigner, not assigning anyone new.

Sending out to engineering and external. I was able to reproduce on iOS.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @mananjadhav (External)

Triggered auto assignment to @MonilBhavsar (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The screen is flashing when switching focus between edit message fields.
What is the root cause of that problem?
When we move from 1 edit message input to another, the toggleReportActionComposeView in https://github.com/Expensify/App/blob/ff5723caba03b40d609c0d70dee2a48b3462214f/src/pages/home/report/ReportActionItemMessageEdit.js#L230 is called, causing the ReportActionCompose to be called, pushing the view upward and causing the glitch.
What changes do you think we should make in order to solve the problem?

We should only call toggleReportActionComposeView when the keyboard is completely hidden. So when we switch between edit message inputs, it will not trigger (and it should not because we're still on the edit inputs so there's no need to make the ReportActionCompose visible). If we tap outside of the edit message text, the keyboard will be hidden and we can show the ReportActionCompose in this case.

when the keyboard is completely hidden
We can do something like this:

this.keyboardDidHideListener = Keyboard.addListener(
                                'keyboardDidHide',
                                () => {
                                    toggleReportActionComposeView(true, this.props.isSmallScreenWidth);
                                },
                            );

There'll be cleanups of the listener, ... as well but the above code is the main change to fix it.
What alternative solutions did you explore? (Optional)
NA

The toggleReportActionComposeView method is likely responsible for showing or hiding the report action compose view, and the VirtualKeyboard.shouldAssumeIsOpen() method is used to check whether the virtual keyboard is currently open or not.
Assuming that the flashing issue is related to the interaction between the report action compose view and the virtual keyboard, we can try the following technical solutions:

Use a different keyboard event listener: Instead of relying on VirtualKeyboard.shouldAssumeIsOpen(), we can try using a different keyboard event listener, such as Keyboard.addListener('keyboardDidShow', callback) and Keyboard.addListener('keyboardDidHide', callback). These event listeners can be used to detect when the keyboard is shown or hidden, and we can adjust the layout or behavior of the report action compose view accordingly.
Optimize report action compose view rendering: The flashing issue could be related to the way the report action compose view is rendered. We can review the code that renders the report action compose view and optimize it by using a more efficient rendering method, such as PureComponent or React.memo, reducing unnecessary re-renders, or using shouldComponentUpdate to prevent unnecessary updates.
Use a different animation method: If the flashing issue is related to the animation of the report action compose view, we can try using a different animation method, such as the Animated API or a third-party animation library. These methods can provide more fine-grained control over the animation and can be optimized for performance.

Proposal
Please re-state the problem that we are trying to solve in this issue.
The screen is blinking when the focus changes between edit composer.
What is the root cause of that problem?
When we switch the focus to another edit composer, the onBlur will be called on the first composer and inside it, we call toggleReportActionComposeView(true, this.props.isSmallScreenWidth) which will show the main composer. Then the onFocus on the second (that we switched to) edit composer will be called which will call toggleReportActionComposeView(false, this.props.isSmallScreenWidth) to hide the main composer.
What changes do you think we should make in order to solve the problem?

The simplest solution is to debounce the function call, so we only receive the latest value. Tested with 100ms wait time and it works fine.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Switching focus between composers (message edit composers) makes the screen blink.
What is the root cause of that problem?
Switching focus from one composer to another triggers a sequence call of onBlur and onFocus where both toggleReportActionComposeView making the main composer (new message composer) show up for a brief moment then hide.
What changes do you think we should make in order to solve the problem?
Don't toggleReportActionComposeView if the the node receiving focus is also a composer. This can be achieved by adding the composer id to the list here.
What alternative solutions did you explore? (Optional)
None

Removing @MonilBhavsar since it auto-assigned for both Engineering and External (not sure why)

Both the proposals identified the root cause correctly.  But I think we should avoid using debounce.
I checked @tienifr's proposal and it makes sense to implement both the KeyboardListener for the native and inputId to the composer. @tienifr's proposal looks good to me.
@thienlnam All yours.

Yeah, the proposal looks good to me 👍

📣 @tienifr You have been assigned to this job by @thienlnam!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@mananjadhav @thienlnam The PR is ready. Could you please help review it?

@mananjadhav  @thienlnam
Regression Test Proposal
Bug: Screen is flashing when changing focus between edit input
Proposed Test Steps:

Login with any account
Try to select any report, send few messages, try to edit them but don’t press Save. Try to change the focus
Verify that the screen isn't flashing when switching focus between the edit fields.

Do we :+1: or :-1:

Reviewing label has been removed, please complete the "BugZero Checklist".

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.2.74-0 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/15201

If no regressions arise, payment will be issued on 2023-02-28. :confetti_ball:
After the hold period is over and BZ checklist items are completed, please complete any of the applicable payments for this issue, and check them off once done.

[ ] External issue reporter
[ ] Contributor that fixed the issue
[ ] Contributor+ that helped on the issue and/or PR

As a reminder, here are the bonuses/penalties that should be applied for any External issue:

Merged PR within 3 business days of assignment - 50% bonus
Merged PR more than 9 business days after assignment - 50% penalty

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@mananjadhav / @thienlnam] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@mananjadhav / @thienlnam] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@mananjadhav / @thienlnam] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@tienifr] Propose regression test steps to ensure the same bug will not reach production again.
[ ] [@davidcardoza] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

I'll try to update the checklist by today/tomorrow. Meanwhile @tienifr can you please post a regression test step for this one?

📣 @mananjadhav! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@mananjadhav @thienlnam I just posted the regression test in the above comment

Regression Test Proposal
Bug: Screen is flashing when changing focus between edit input
Proposed Test Steps:

Login with any account
Try to select any report, send few messages, try to edit them but don’t press Save. Try to change the focus
Verify that the screen isn't flashing when switching focus between the edit fields.

Do we :+1: or :-1:

I think we're good with the regression steps. Not sure if we want to split step 2 into multiple steps.
Also I couldn't pinpoint to a specific PR for this regression. I think it exists since the time we've got these Report Edit/Chat features.
@thienlnam What do you think?

Try to select any report, send few messages, try to edit them but don’t press Save. Try to change the focus

@davidcardoza Can you help with the payout here?

Payments sent apologies for the wait.

Thanks @davidcardoza I have accepted the offer. Can you help with the payout? Also this is eligible for the timeline bonus.

@davidcardoza can you send me the offer as well? I'm the reporter.

All payments have been sent.


gossip: rename in prevision of network refactoring

In prevision of the network refactoring, this PR:

Renames the gossip folder to node to better match its content and main component;
Renames the components folder to pipeline to better fit the future architecture of the node;
I initially would have done it in the network refactoring PR but it would have made it really hard to review since all files would have been modified by the rename.

* Renames the `gossip` folder to `node` to better match its content and main component;

As I know, the gossip folder is a general module currently used by cIRI. We can call it Node in cIRI or IRI, but rename it to Node is confusing.

* Renames the `components` folder to `pipeline` to better fit the future architecture of the node;
  I initially would have done it in the network refactoring PR but it would have made it really hard to review since all files would have been modified by the rename.

Where can I get more info about the future architecture of the node (or gossip)?

As I know, the gossip folder is a general module currently used by cIRI. We can call it Node in cIRI or IRI, but rename it to Node is confusing.
The fact is that this folder already does more than just the gossip, it has neighbours management, caching, network... Everything the node does. The main component of this folder is called node_t and technically it could be run on its own. We can think of cIRI as just tying node_t and consensus_t together so it makes sense to me that that the other folder is called node.

Where can I get more info about the future architecture of the node (or gossip)?
https://github.com/iotaledger/iri/pull/1393

As I know, the gossip folder is a general module currently used by cIRI. We can call it Node in cIRI or IRI, but rename it to Node is confusing.

The fact is that this folder already does more than just the gossip, it has neighbours management, caching, network... Everything the node does. The main component of this folder is called node_t and technically it could be run on its own. We can think of cIRI as just tying node_t and consensus_t together so it makes sense to me that that the other folder is called node.

how about moving them into ciri?  since they depend on ciri.

They don't depend on cIRI, cIRI depends on them!
I have thought about that actually, but technically they could be run on their own, without needing each others.
I'm fine both ways, @tsvisabo opinion on this ?

They don't depend on cIRI, cIRI depends on them!
I have thought about that actually, but technically they could be run on their own, without needing each others.
I'm fine both ways, @tsvisabo opinion on this ?

Sorry, I didn't make it clear, I meant the conf of consensus and gossip.

@oopsmonk Done


unix-dgram optionality problem using specific Node.js Docker image

When using Janode in Docker containers I've faced the same problem as in issue #10:
node:internal/errors:477
    ErrorCaptureStackTrace(err);
    ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'unix-dgram' imported from /app/node_modules/janode/src/transport-unix.js
    at new NodeError (node:internal/errors:387:5)
    at packageResolve (node:internal/modules/esm/resolve:951:9)
    at moduleResolve (node:internal/modules/esm/resolve:1000:20)
    at defaultResolve (node:internal/modules/esm/resolve:1214:11)
    at nextResolve (node:internal/modules/esm/loader:165:28)
    at ESMLoader.resolve (node:internal/modules/esm/loader:844:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:431:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:40)
    at link (node:internal/modules/esm/module_job:75:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

The issue occurs when the Docker image is built from the base image node:16-slim. Meanwhile it works well and as expected when using the node:16 image.
Steps to reproduce

npm init with default values
npm insall janode
add the "type": "module" line to the package.json

The package.json file should look like this:
{
  "name": "janode-issue",
  "version": "1.0.0",
  "description": "",
  "type": "module", // added line
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "janode": "^1.6.4"
  }
}

Create the main.js file with the following content:

import Janode from 'janode'

Create the Dockerfile file with the following content:

FROM node:16-slim
WORKDIR /app/
COPY main.js ./
COPY package*.json ./
RUN npm install
CMD ["node", "main.js"]

Build the Docker image:

docker build --tag xyz .

Run the built Docker image:

docker run --rm xyz

Error should be occured.

Appendix
The zip with all the mentioned files (plus package-lock.json file): janode-issue.zip

But I’m not installing/building unix-dgram at all. Isn’t there a way that janode check the presence of the optional package (can dynamic import do that?).

npm is installing (at least it is trying to install) every janode dependency for you.
Currently there is no check for the optional package.
Dynamic import should work (e.g. loading the module when a unix transport is being requested) but I'd prefer trying other strategies before considering it, since dynamic importing does not cope well with tools like bundlers, static analyzers and so on.
For example, when bundling in browsers, we replace transport-unix.js with a stub module.
If you got any suggestion about the best strategy to adopt here, please feel free to share your ideas.

I guess since we switched to es modules and every dep is now being statically imported asap, making unix-dgram an optional dependency in package.json does not make any sense. Skipping that dep with ``--omit=optional` will just trigger a failure when starting janode and it will be also be a kind of "silent" failure.
I'll move unix-dgram to the standard deps in order to have an error message when installing janode and avoid silent failures like you experienced.

done in https://github.com/meetecho/janode/commit/ee0d97b10f4c9421a58f1fbb11bf0e117a1718b1

Thanks for the patch, at least now it doesn't silently fail anymore. But forces Docker images to have some tools (python, make, g++, ...) installed, adding hundreds of MB, just to install an "optional" dependency that one doesn't uses. It's not a critic, just a recap.
I'll try to think about a solution that doesn't includes the dynamic import.

closing for now, I'm still open to suggestions for optional dependencies


Guest Users do not trigger Enter events

Hey guys,
Been hacking away with this hipchat adapter, and I have noticed that Guest users don't actually get picked up in the robot.enter.
Any idea why?
Easy fix?
Thanks!

We need this too - this is an issue for a bot we're making.


Drag and Drop not working for more than one drag and Animation is not working!

Thanks for awesome library. Till now I got swipe to dismiss working but have trouble with drag and drop. As same as title of this post, the drag and drop only works for row, either one row up or one row down. Moreover animations are not working well. I am really confused about what I am missing. Here is the preview of problem -

Here is the activity code - (Please look for comments)
    list = (DynamicListView) v.findViewById(R.id.YlistView1);
    adapter = new QueueCustomAdapter(getActivity(), CustomListViewValuesArr, res);

    AlphaInAnimationAdapter animationAdapter = new AlphaInAnimationAdapter(adapter);
    animationAdapter.setAbsListView(list);

    list.setAdapter(animationAdapter);

    list.enableDragAndDrop();
    list.setDraggableManager(new TouchViewDraggableManager(R.id.image));
    list.setOnItemLongClickListener(
            new AdapterView.OnItemLongClickListener() {
                @Override
                public boolean onItemLongClick(final AdapterView<?> parent, final View view,
                                               final int position, final long id) {
                    list.startDragging(position );
                    return true;
                }
            }
    );

    list.setOnItemMovedListener(new OnItemMovedListener() {
        @Override
        public void onItemMoved(int i, int i1) {
            Log.e("Value of i",i+"");    /////// GETTING NO LOGCAT REGARDING THIS - Maybe not working
            Log.e("Value of i1",i1+"");  // Same here I guess method is never called
            HashMap<String,String> hash2;
            hash2 = SongsManager.playlist.get(i);
            SongsManager.playlist.remove(i);
            SongsManager.playlist.add(i1,hash2);
            setListData();
        }
    });

And Custom Adapter where each item is object ListModel.java
 @Override
    public void swapItems(int positionOne, int positionTwo) {
        Log.i("SwapItems", "Called @ pos,pos1 " + positionOne + " " + positionTwo); // Called Alot
            ListModel temp;
            temp = (ListModel) data.get(positionOne);
            data.set(positionOne, data.get(positionTwo));
            data.set(positionTwo, temp);
            pos2 = positionTwo;

    }

 @Override
    public int getCount() {
        return data.size();
    }

@Override
public Object getItem(int position) {
    return data.get(position);
}

@Override
public long getItemId(int position) {
    return position; // have already tried with data.getItem(position).hashCode(), no use
}

@Override
public boolean hasStableIds() {
    return true;
}

@Override
public void add(int i, Object o) {
    data.add(i,o);
    notifyDataSetChanged();
}

I am constantly getting response from swapItems but positionTwo is always one more or one less :(
If you need further code, please let me know. Till now I have just used this much of your code I have posted.

Extending my CustomAdapter with nhaarman's ArrayAdapter is the solution!  Example here : https://github.com/nhaarman/ListViewAnimations/blob/master/example/src/main/java/com/haarman/listviewanimations/MyListAdapter.java


Improvements

add jumping probability to argparse
add option to omit recording the layer identifier (and jump with equal probability/bunch all nodes together)
add tests

output from conversion is the same as the input!
correct conversion of types

add logging
refactor code to compare timings of numba and python -> separate function?
rename users -> nodes?

put cropping of walks into function

this should be done ideally inside the function. but because the length of the generated walks depends on whether the edge types are recorded, this should best be dynamic depending on len(result[0][0])

make sure the order of the layers is the same -- use enumerate(sorted())?

or in some other way record the type of nodes?