text:
chore(deps): update common-dev-assets digest to 1d3b343

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
23a510d -> 1d3b343

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This PR is included in version 1.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


text:
chore(deps): update terraform-ibm-modules/common-pipeline-assets action to v1.22.2

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/common-pipeline-assets
action
patch
v1.22.1 -> v1.22.2

Release Notes

terraform-ibm-modules/common-pipeline-assets (terraform-ibm-modules/common-pipeline-assets)
v1.22.2
Compare Source
Bug Fixes

replace ORG_READER_GH_TOKEN with GITHUB_TOKEN (#693)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

source: gharchive/pull-request

license_type: permissive

license_source: github-api


text:
chore(deps): update module github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper to v1.23.12

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.23.9 -> v1.23.12

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.23.12
Compare Source
Bug Fixes

deps: update module github.com/ibm-cloud/power-go-client to v1.5.2 (#684) (c45f020)

v1.23.11
Compare Source
Bug Fixes

deps: update module github.com/ibm-cloud/power-go-client to v1.5.1 (#683) (49afea4)

v1.23.10
Compare Source
Bug Fixes

deps: update module github.com/gruntwork-io/terratest to v0.46.1 (#682) (dec9602)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 1.10.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


text:
chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
55c4c41 -> c785f20

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.23.0 -> v1.23.4

terraform-ibm-modules/common-pipeline-assets
action
minor
v1.17.9 -> v1.18.1

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.23.4
Compare Source
Bug Fixes

add unauthenticated clone if authentication fails (#653) (f575f65)

v1.23.3
Compare Source
Bug Fixes

deps: update github.com/ibm-cloud/bluemix-go digest to dfb1429 (#671) (fcd05c4)

v1.23.2
Compare Source
Bug Fixes

deps: update packages to latest (#669) (6eab475)

v1.23.1
Compare Source
Bug Fixes

deps: update gomod (#654) (59b80d3)

terraform-ibm-modules/common-pipeline-assets (terraform-ibm-modules/common-pipeline-assets)
v1.18.1
Compare Source
Bug Fixes

install dependencies before running pre-commit stage (#566) (97afd7d)

v1.18.0
Compare Source
Features

added the ability pass tfswitchDir (#565) (d492025)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

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

GitHub release
v1.2.0

Your semantic-release bot :package::rocket:


text:
Terraform deletes all networks and associated vpcs if you add one new or delete one

CloudStack Version
4.9.2.0-1.el7.centos
Terraform Version
Terraform v0.10.0
Affected Resource(s)

cloudstack_vpc
cloudstack_network

Terraform Configuration Files
# creating the vpc
resource "cloudstack_vpc" "myvpc" {
  name          = "myvpc"
  cidr          = "10.99.0.0/16"
  vpc_offering  = "Default VPC Offering"
  zone          = "${var.zone}"
  network_domain = "myvpc.awesome"
  project       = "${var.project}"
}

resource "cloudstack_network" "Public" {
  name              = "Public"
  cidr              = "10.99.1.0/24"
  gateway           = "10.99.1.1"
  network_offering  = "Default VPC Network with LB"
  zone              = "${var.zone}"
  vpc_id            = "${cloudstack_vpc.myvpc.id}"
  project           = "${var.project}"
  acl_id            = "ebefcc96-75f5-11e7-adb3-e2bd27d4977e" # default static id of cloudstack
}

resource "cloudstack_network" "network1" {
  name              = "network1"
  cidr              = "10.99.2.0/24"
  gateway           = "10.99.2.1"
  network_offering  = "${var.network_offering_internalwithrouter}"
  zone              = "${var.zone}"
  vpc_id            = "${cloudstack_vpc.myvpc.id}"
  project           = "${var.project}"
  acl_id            = "ebefcc96-75f5-11e7-adb3-e2bd27d4977e" # default static id of cloudstack
}

# add this after you have created public and network1
resource "cloudstack_network" "newnetwork" {
  name              = "newnetwork"
  cidr              = "10.99.3.0/24"
  gateway           = "10.99.3.1"
  network_offering  = "${var.network_offering_internalwithrouter}"
  zone              = "${var.zone}"
  vpc_id            = "${cloudstack_vpc.myvpc.id}"
  project           = "${var.project}"
  acl_id            = "ebefcc96-75f5-11e7-adb3-e2bd27d4977e" # default static id of cloudstack
}

Expected Behavior
newnetwork should be created without destroying public and network1.
Actual Behavior
if you apply this, you get a vpc called myvpc and two networks: public and network1. after the apply add another network into your main.tf called newnetwork and apply this again. Now you see in terraform and at the cloudstack gui that all networks are going to be destroyed and new created.

@snooops I cannot reproduce this. Would it be possible that you add the output of terraform show after creating the vpc, public and network1 networks and before adding the newnetwork?
And then please also add the output of terraform plan, just after adding the newnetwork config to your main.tf (so before running terraform apply).
Hopefully that will give me some insights to work with...

Here is the output of terraform plan
-/+ cloudstack_network.network1 (new resource required)
      acl_id:           "ebefcc96-75f5-11e7-adb3-e2bd27d4977e" => "ebefcc96-75f5-11e7-adb3-e2bd27d4977e"
      cidr:             "10.230.1.0/24" => "10.230.1.0/24"
      display_text:     "network1" => "<computed>"
      endip:            "" => "<computed>"
      gateway:          "10.230.1.1" => "10.230.1.1"
      name:             "network1" => "network1"
      network_domain:   "cs1ecloud.internal" => "<computed>"
      network_offering: "VPC Default Network" => "VPC Default Network"
      project:          "Meyer_TF" => "Meyer_TF"
      startip:          "" => "<computed>"
      tags.%:           "0" => "<computed>"
      vpc_id:           "3aca8fdf-147f-4d41-ac3b-ed92b2641531" => "${cloudstack_vpc.myvpc.id}" (forces new resource)
      zone:             "Germany" => "Germany"

  + cloudstack_network.newnetwork
      acl_id:           "ebefcc96-75f5-11e7-adb3-e2bd27d4977e"
      cidr:             "10.230.1.0/24"
      display_text:     "<computed>"
      endip:            "<computed>"
      gateway:          "10.230.1.1"
      name:             "network1"
      network_domain:   "<computed>"
      network_offering: "VPC Default Network"
      project:          "Meyer_TF"
      startip:          "<computed>"
      tags.%:           "<computed>"
      vpc_id:           "${cloudstack_vpc.myvpc.id}"
      zone:             "Germany"

-/+ cloudstack_network.public (new resource required)
      acl_id:           "ebefcc96-75f5-11e7-adb3-e2bd27d4977e" => "ebefcc96-75f5-11e7-adb3-e2bd27d4977e"
      cidr:             "10.230.200.0/24" => "10.230.200.0/24"
      display_text:     "public" => "<computed>"
      endip:            "" => "<computed>"
      gateway:          "10.230.200.1" => "<computed>"
      name:             "public" => "public"
      network_domain:   "cs1ecloud.internal" => "<computed>"
      network_offering: "Default VPC Network with LB" => "Default VPC Network with LB"
      project:          "Meyer_TF" => "Meyer_TF"
      startip:          "" => "<computed>"
      tags.%:           "0" => "<computed>"
      vpc_id:           "3aca8fdf-147f-4d41-ac3b-ed92b2641531" => "${cloudstack_vpc.myvpc.id}" (forces new resource)
      zone:             "Germany" => "Germany"

-/+ cloudstack_vpc.myvpc (new resource required)
      cidr:           "10.230.0.0/16" => "10.230.0.0/16"
      display_text:   "myvpc" => "<computed>"
      name:           "myvpc" => "myvpc"
      network_domain: "cs1ecloud.internal" => "<computed>"
      project:        "Meyer_TF" => "Meyer_TF"
      source_nat_ip:  "81.17.104.23" => "<computed>"
      vpc_offering:   "Default VPC offering" => "Default VPC Offering" (forces new resource)
      zone:           "Germany" => "Germany"

If you look closely you see that vpc_offering of myvpc is causing the VPC to be recreated. You would also get this without changing your config (so without adding newnetwork), and just running another apply after your initial deployment.
The problem is that CloudStack accepts the name Default VPC Offering, but the actual name of the offering is Default VPC offering (notice that offering starts with a small caps o). So every next time you compare the actual state against your config, Terraform will see this as a diff (as they are actually different strings) of a field that you cannot update so it will recreate the resource.
If you change the o in your config, your problem should be gone...

Wow, thanks a lot :D now its going to be great ;)

Cool :+1:

source: gharchive/issue

authors: snooops svanharmelen


text:
Panic when PostGIS query fails

Fat-fingered a SQL query in my config.toml and ended up referencing a column name that doesn't exist.  I tried throwing a few more bad queries at it (bogus table, syntax errors, etc) and it looks like any time a query fails for one reason or another, it will panic.
Environment
Tegola Version: 0.3.2
System: Debian Stretch (Docker)
Stacktrace:
2017/10/24 00:47:20 http: panic serving 172.17.0.1:57474: runtime error: invalid memory address or nil pointer dereference
goroutine 281 [running]:
net/http.(*conn).serve.func1(0xc420ef6180)
	/home/travis/.gimme/versions/go1.7.5.linux.amd64/src/net/http/server.go:1491 +0x12a
panic(0x7cb260, 0xc42000c090)
	/home/travis/.gimme/versions/go1.7.5.linux.amd64/src/runtime/panic.go:458 +0x243
github.com/terranodo/tegola/mvt.(*Tile).AddLayers(0xc420171950, 0xc4201ca380, 0x3, 0x3, 0x9f6fe0, 0xc4210684e0)
	/home/travis/gopath/src/github.com/terranodo/tegola/mvt/tile.go:21 +0xf8
github.com/terranodo/tegola/server.HandleMapZXY.ServeHTTP(0xc42012433a, 0x5, 0x8, 0x45, 0x64, 0xc420124349, 0x3, 0x0, 0x9f6fe0, 0xc4210684e0, ...)
	/home/travis/gopath/src/github.com/terranodo/tegola/server/handle_map_zxy.go:164 +0x4a2
github.com/terranodo/tegola/server.(*HandleMapZXY).ServeHTTP(0xc420051080, 0x9f6fe0, 0xc4210684e0, 0xc4221f0960)
	<autogenerated>:4 +0x84
github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*ContextGroup).Handler.func1(0x9f6fe0, 0xc4210684e0, 0xc4221f0960, 0xc420124450)
	/home/travis/gopath/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/context.go:62 +0x14f
github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux.(*TreeMux).ServeHTTP(0xc420052d90, 0x9f6fe0, 0xc4210684e0, 0xc4221f0870)
	/home/travis/gopath/src/github.com/terranodo/tegola/vendor/github.com/dimfeld/httptreemux/router.go:252 +0x2e5
net/http.serverHandler.ServeHTTP(0xc420091000, 0x9f6fe0, 0xc4210684e0, 0xc4221f0870)
	/home/travis/.gimme/versions/go1.7.5.linux.amd64/src/net/http/server.go:2202 +0x7d
net/http.(*conn).serve(0xc420ef6180, 0x9f7820, 0xc4201446c0)
	/home/travis/.gimme/versions/go1.7.5.linux.amd64/src/net/http/server.go:1579 +0x4b7
created by net/http.(*Server).Serve
	/home/travis/.gimme/versions/go1.7.5.linux.amd64/src/net/http/server.go:2293 +0x44d

@dbazile I'm pretty sure this has been fixed in the v0.4.0-beta version. You can download it from the releases page. Lots of new features in v0.4.0 including a built in viewer when you hit the server root (i.e. localhost:8080).

@ARolek: confirmed fixed; 0.4.0-beta fails fast on invalid queries at startup.  Thanks!

authors: ARolek dbazile

repo: terranodo/tegola

license: mit

license_source: bigquery


text:
DNS entries for traits and sensors.terraref.org

From issue #290.
DNS for terraref.org is now managed by NCSA.  David has requested that we setup two additional entries:

traits.terraref.org > bety (currently https://terraref.ncsa.illinois.edu/bety)
sensors.terraref.org > clowder (currently https://terraref.ncsa.illinois.edu/clowder)

In discussions with @robkooper, there are a few issues.  First, both bety and clowder are currently configured to respond to a specific path (as in the above URLs).   Second, much of our documentation, tutorials, etc are currently using the original URLs (particularly API calls).  If we do this, we'll want to make sure we don't break existing functionality.   It's not clear to me whether we can support both name and path based access to the services.

To be clear this would be nice but isn't essential. And I think there is
value in keeping these at default paths like /bety because that might be
easier in the long run. Would terraref.org/bety be easier to implement?
Would it help to do the change alongside the beta release? Then use sed to
find/replace everything in docs and code?
On Thu, May 25, 2017 at 8:48 AM Craig Willis notifications@github.com
wrote:

From issue #290
https://github.com/terraref/computing-pipeline/issues/290.
DNS for terraref.org is now managed by NCSA. David has requested that we
setup two additional entries:

traits.terraref.org > bety (currently
https://terraref.ncsa.illinois.edu/bety)
sensors.terraref.org > clowder (currently
https://terraref.ncsa.illinois.edu/clowder)

In discussions with @robkooper https://github.com/robkooper, there are
a few issues. First, both bety and clowder are currently configured to
respond to a specific path (as in the above URLs). Second, much of our
documentation, tutorials, etc are currently using the original URLs
(particularly API calls). If we do this, we'll want to make sure we don't
break existing functionality. It's not clear to me whether we can support
both name and path based access to the services.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/terraref/computing-pipeline/issues/322, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAcX53sErYB0yPgRSYDuqvV_9YU8Uz50ks5r9YaugaJpZM4NmZzM
.

We're not going to do this for now. Re-open if a priority.

authors: craig-willis dlebauer

repo: terraref/computing-pipeline


text:
Tilegrid - Set inheritance type to JOINED

Title says it all.

:top: Please merge at will.

authors: ahennr hwbllmnn


text:
Multiple Canvas in Android producing the same results

I have 3 canvas in one screen and have each ref saved in an array of canvas variable.
After drawing and clicking the "Done"  button, the result of each base64 result turns out to be the same, or in my case, the last canvas that was mounted.
Example:
class CanvasExample extends Component {
    constructor(props) {
        super();
        this.state = {
            ...props,
            canvas: []
        }
    }

    HandleDone = () => {
        this.state.canvas.map(canvas => {
            canvas.getBase64('jpg', false, (err, result) => {
                if (err) {
                    return console.log(err);
                }

                return console.log(result);
            })
        });

        let canvas1 = this.getSignatureRender(this.state.canvas[0]);
        let canvas2 = this.getSignatureRender(this.state.canvas[1]);
        let canvas3 = this.getSignatureRender(this.state.canvas[2]);

        Promise.all([canvas1, canvas2, canvas3]).then(values => {
            console.log(values);
        }).catch(error => console.log(error));
    };

    getSignatureRender(canvas) {
        return new Promise((resolve, reject) => {
            canvas.getBase64('jpg', false, (err, result) => {
                if (err) {
                    return reject(err);
                }

                return resolve(result);
            })
        })
    }

    render() {
        return (
            <Container>
                <SketchCanvas
                    ref={ref => this.state.canvas[0] = ref}
                    style={{ alignItems: 'center', justifyContent: 'center', width: '100%', height: 220, backgroundColor: '#e9e9e9' }}
                    strokeColor={'black'}
                    strokeWidth={2}
                />

                <SketchCanvas
                    ref={ref => this.state.canvas[1] = ref}
                    style={{ alignItems: 'center', justifyContent: 'center', width: '100%', height: 220, backgroundColor: '#e9e9e9' }}
                    strokeColor={'black'}
                    strokeWidth={2}
                />

                <SketchCanvas
                    ref={ref => this.state.canvas[2] = ref}
                    style={{ alignItems: 'center', justifyContent: 'center', width: '100%', height: 220, backgroundColor: '#e9e9e9' }}
                    strokeColor={'black'}
                    strokeWidth={2}
                />
                <Button onPress={() => this.HandleDone()} block style={{ borderRadius: 0, backgroundColor: '#2babe2' }} />
            </Container>
        );
    }
};

Thank you!
Edit:
getPaths() returns the correct results but not getBase64

Thank you so much! Will have a go at it 🥇

I've published to NPM~ You can try it!

Tested and working well in latest version. Thank you so much!

authors: ShaunLWM terrylinla

repo: terrylinla/react-native-sketch-canvas


text:
chore(main): release siyuan-blog 2.4.0

:robot: A new release will be created
2.4.0 (2024-11-13)
Features

support doctree (4767264)
support doctree and outline (d66a7af)

Miscellaneous

suppress warning for sass (8e41bec)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/terwer/siyuan-plugin-blog/releases/tag/siyuan-blog-v2.4.0 :sunflower:

repo: terwer/siyuan-plugin-blog

license: MIT


text:
kitchen create with systemd as run_command affects OS session

On ubuntu having run_command: /lib/systemd/systemd in kitchen.yml and calling kitchen test or kitchen create will spawn a new systemd "session".
At first I thought I was being logged out and on some runs graphics got messed up completely. But then I found out that switching through Linux' different tty terminals (Ctrl+Alt+F1-F7) I could actually get back to my graphical session with everything still running.
Currently this setup is not usable I would say:
kubuntu 18.04
systemd 237 with /lib/systemd/systemd as run_command
kitchen-docker 2.9.0
kitchen-salt 0.6.0
kitchen-sync 2.2.1
test-kitchen 2.0.1
I was thinking maybe those are recent incompatibilities between the kitchen-* gems and switched to the versions that were recent when the article I was following was published (Jan 7). But these didn't help either:
gem 'kitchen-salt', '0.4.0'
gem 'kitchen-docker', '2.7.0'
gem 'kitchen-sync', '2.2.1'

I'm running into this as well trying to run an Ubuntu container on Arch.
My kitchen.yml:
platforms:
  - name: ubuntu-18.04
    # Special config since we need to start systemd
    driver_config:
      run_command: /sbin/init
      privileged: true
      provision_command:
        - sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
        - systemctl enable ssh.service
      forward: 443

kitchen-docker (2.8.0)
test-kitchen (1.24.0)

In my case, I can't even get back to my x11 session; it disconnects and the system becomes unusable. I'm thinking this might be an issue with docker specifically, but I don't know how to dig further. Is there a way to see exactly what dockerfile and docker command docker-kitchen is generating?

I found a solution! This behavior was also reported upstream on Docker: https://github.com/docker/for-linux/issues/106#issuecomment-330518243
The TL;DR is: don't use privileged: true, which is what a ton of guides on the internet say to do. Use cap_add: - SYS_ADMIN. Taking the info I linked above, my working kitchen.yml looks like this:
platforms:
  - name: ubuntu-18.04
    # Special config since we need to start systemd
    driver_config:
      run_command: /sbin/init
      cap_add:
        - SYS_ADMIN
      run_options:
        env: container=docker
      volume:
        - /sys/fs/cgroup:/sys/fs/cgroup
      provision_command:
        - sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
        - systemctl enable ssh.service

I don't know if that env: container=docker part is necessary, but the other person brought it up and it works.

Im following exactly the Saltstack Formula test platforms and I get this issue too, tried the options above and no luck so far.

repo: test-kitchen/kitchen-docker


text:
Unique name for newly provisioned VM

Description
This change helps in getting unique name for newly provisioned VM.
Issues Resolved
This will help in getting a unique name of a deployed VM via test-kitchen
Type of Change
Our release process assumes you are using Conventional Commit messages.
The most important prefixes you should have in mind are:

_fix_: which represents bug fixes, and correlates to a SemVer patch.
_feat_: which represents a new feature, and correlates to a SemVer minor.
_feat!_:, or fix!:, refactor!:, etc., which represent a breaking change (indicated by the !) and will result in a major version change.

If you have not included a conventional commit message this can be fixed on merge.
Check List

[ ] New functionality includes tests
[ ] All tests pass
[ ] Commit message includes a Conventional Commit Message

Hi @Rupesh0688 ,
Sorry, this PR got closed accidentally while pushing a small update to your branch. I've created #66 with your changes and used that PR.

NO problem. I happy that PR is going to merge.
Thanks
Rupesh Kumar Patel
On Wed, 5 Jul 2023 at 12:53, Ashique P S @.***> wrote:

Hi @Rupesh0688 https://github.com/Rupesh0688 ,
Sorry, this PR got closed accidentally while pushing a small update to
your branch. I've created #66
https://github.com/test-kitchen/kitchen-vra/pull/66 with your changes
and used that PR.
—
Reply to this email directly, view it on GitHub
https://github.com/test-kitchen/kitchen-vra/pull/65#issuecomment-1621179450,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAAPQ2V4V4FT3J6MLB2UDM3XOUI73ANCNFSM6AAAAAAZFNNEUU
.
You are receiving this because you were mentioned.Message ID:
@.***>

repo: test-kitchen/kitchen-vra


text:
Not able to build in VS 2017

Hi,
I am trying to build this project on my VS 201 to debug the tests and understand implementation and not able to build it. It has no nuget config file to pull dependencies down? Can you please help me with that?
Thanks !

Hello!
Can you share what your build log is and maybe we can take a look and see what the problem is!

authors: swissarmykirpan zeethegenius

repo: testcontainers/testcontainers-dotnet


text:
BrowserWebDriverContainer fails to determine Selenium version for Selenium v3.9.1

When starting a BrowserWebDriverContainer it tries to determine Selenium version from classpath, looking for the Manifest file from selenium-api.jar.
Using Selenium 3.9.1, the detection fails and it uses the default 2.45.0 version, thus pulling a selenium/standalone-chrome-debug:2.45.0 for Chrome.
Looking at the code of SeleniumUtils class, we can see that it reads Selenium-Version value of the Build-Info section in the Manifest file to infere the version to use.
That is ok in selenium-api-2.45.0.jar:
Manifest-Version: 1.0
Built-By: linman
Build-Jdk: 1.7.0_65
Created-By: Apache Maven 3.1.1
Archiver-Version: Plexus Archiver

Name: Build-Info
Selenium-Revision: 5017cb8e7ca8e37638dc3091b2440b90a1d8686f
Selenium-Version: 2.45.0
Selenium-Build-Time: 2015-02-27 09:10:26

But in selenium-api-3.9.1.jar, the format is not the same:
Manifest-Version: 1.0

Name: Build-Info
Build-Revision: 63f7b50
Build-Time: 2018-02-07T22:25:02.294Z
Build-User: shs

Name: Selenium
Selenium-Version: 3.9.1

Thus, reading Build-Info section, the Selenium-Version attribute can't be found.
However, looking at selenium-api-3.10.0 & selenium-api-3.11.0, the Selenium-Version is back in the Build-Info section... I didn't check all selenium-api version, but it looks like the format of the Manifest file is not really a standard.
To be more adaptable to format change, I think the code should check for the Selenium-Version entry in all the sections of the Manifest file and not only the Build-Info section, hoping we can at least rely on the fact the Selenium-Version will be present somewhere...

Fixed in #632

authors: jvalloire kiview

repo: testcontainers/testcontainers-java


text:
Add checkerframework and errorprone

Try checkerframework and errorprone

@vlsi Any feedback about the 2 tools and how I added them in the build (even if I was inspired by what you did on pg-driver)?
@krmahadevan WDYT? They highlight a lot of minor issues but some potential problems too.

@juherr - This is definitely a good addition. I am yet to explore both these tools. I have already seen error prone being used by jhipster when it scaffolds a new project based on my inputs.
Couple of questions:

These highlight the problems in our code, but would it prevent TestNG from being used incorrectly by its consumers (especially the ones that use the TestNG apis to provide customised runners etc., ?)
The CI has failed, mainly because of the discrepancies in our code, which you also highlighted. So for us to adopt these two tools, I believe we would need to iterate on all the failures and then fix them right ?

Thanks.

These highlight the problems in our code, but would it prevent TestNG from being used incorrectly by its consumers (especially the ones that use the TestNG apis to provide customised runners etc., ?)

As I understand, yes. It provides extra data in bytecode thanks to the annotations.
The drawback is it is adding a new runtime dependency (because the annotations are stored in the bytecode).

The CI has failed, mainly because of the discrepancies in our code, which you also highlighted. So for us to adopt these two tools, I believe we would need to iterate on all the failures and then fix them right ?

To be honest, I hoped there were a bit less. That's why I sent the draft before fixing them all.

"nullability" is not trivial, so it might take some time to properly annotate and identify nullable types.
The general advice is assume "everything is not nullable by default" (==almost never put @NotNull), and annotate @Nullable where null values are allowed.

In my experience, checkerframework nullability verification takes time, so I tend to activate it only when -PenableCheckerframework parameter is specified. Then checkerframework executes in a single CI job only.
See https://github.com/apache/jmeter/blob/c94db9741f0547235f9a67b1ece40389add6b742/build-logic/build-parameters/build.gradle.kts#L77 , and https://github.com/apache/jmeter/blob/c94db9741f0547235f9a67b1ece40389add6b742/build-logic/verification/src/main/kotlin/build-logic.style.gradle.kts#L42-L43 (conditional activation of .checkerframework.gradle.kts)

Updated according to reviews.
All issues are not fixed yet.
Still 2 gradle issues: not succeeding in using the parameters plugin + not finding the way to merge package-info

I would suggest merging errorprone first as it would require much fewer changes.

authors: juherr krmahadevan vlsi

repo: testng-team/testng


text:
Adds a "Copy ID" button to context menu

What's this PR do?
texastribune PR: https://github.com/texastribune/texastribune/pull/4652
tt-docker-base PR: https://github.com/texastribune/tt-docker-base/pull/587

Updates development scripts in package.json

Previously, we had used webpack to compile our TypeScript source code. Webpack was removed at some point but the scripts in package.json were not updated. We can use the tsc CLI instead to compile our code. I updated the build and watch command. I should note that I only tested the watch command a few times because I didn't really have a use for it.
Makes note of these scripts in README.

Updates package-lock.json to use lockfile version 2.

This was a byproduct of me using an npm version after v7. Most of our Docker-ized repositories still use version 1 lockfiles. I can downgrade my npm version to get a version 1 lockfile if that's preferred.

Creates a createCopyIdButton function.

This function creates a div in the context menu that says "Copy ID". It has an onclick event listener that will write the ID of the media file to the clipboard.
navigator.clipboard.writeText has good browser support.
However, note that it only works in HTTPS or localhost environments. When outside of these environments, navigator.clipboard is undefined.
The only case the clipboard is undefined is when we are developing on local.texastribune.org. Apparently, local.texastribune.org is not considered a localhost environment. See the manual testing for information about how to circumvent this.
I haven't been able to come up with a good document.execCommand fallback for this.

Changes function name createCopyButton to createCopyUrlButton.

Given that we have a new createCopyIdButton function, createCopyButton might've been confusing as a name.

Update createCopyUrlButton to use navigator.clipboard

I have a document.execCommand fallback for this.
Note that we don't have to select anything for the document.execCommand fallback because in order to get to the context menu, we have selected the media file already (and this selection defaults to the correct URL).
The production implementation without navigator.clipboard works on Chrome and Firefox but does not work on Safari.
This navigator.clipboard implementation works on Chrome, Firefox, and Safari (in viable environments).

Why are we doing this? How does it help us?
This allows the photo team to more easily copy a photo ID.
How should this be manually tested?

In the docs folder

Clone this repository
Run npm install
Run npm run doc
Spin up a local server for the doc directory (python -m http.server --directory=docs)
Go to http://127.0.0.1:8000/UserInterfaceTutorial.html
Select the memory folder and then right click
Click on the "Copy ID" button
Paste somewhere. The ID should be 3
Try the same with the local folder or try uploading your own files.

In the texastribune app

Pull the ttfiles-copy-id branch
On Chrome, we can go to chrome://flags to add http://local.texastribune.org to the "Insecure origins treated as secure" flag. Enable the flag too.

navigator.clipboard doesn't work on http://local.texastribune.org without this flag. We can't navigate to localhost instead because we can't authenticate through Auth0 on localhost. We can put this on staging if we want to test it out without having to enable this flag.

Then we can follow similar steps as to testing in the docs folder.

How should this change be communicated to end users?
Tell the photo team
Are there any smells or added technical debt to note?
No
What are the relevant tickets?
https://airtable.com/appyo1zuQd8f4hBVx/tbloNZu8GkM52NKFR/viwPxWENGdckjxRrP/recporrDL4PmEL3aT?blocks=hide
Have you done the following, if applicable:
(optional: add explanation between parentheses)

[ ] Added automated tests? ( )
[ ] Tested manually on mobile? (I don't think its possible to right click on an iPhone)
[ ] Checked BrowserStack? ( )
[ ] Checked for performance implications? ( )
[ ] Checked accessibility? ( )
[ ] Checked for security implications? ( )
[ ] Updated the documentation/wiki? (TODO separately from this PR)

TODOs / next steps:

[ ] Update docs (I reverted the doc update here so as to not clutter the PR)
[ ] Bump the version

@erxclau -Consider this a take it or leave it suggestion, but I was thinking about the mobile limitation...
Would something like this work?

Where the currently selected item displays above the table in plain text that they could highlight/copy/paste?
I def. don't think it's a hold up bc it's way outside of the scope of what we proposed to Pu and I'm not even sure if it's a good UI pattern/ a heavy lift. BUT I just wanted to throw that out there while you're versioning all the things. I know with it all broken a part like this, incremental changes are tedious.

@erxclau -Consider this a take it or leave it suggestion, but I was thinking about the mobile limitation...
Would something like this work?  Where the currently selected item displays above the table in plain text that they could highlight/copy/paste?
I def. don't think it's a hold up bc it's way outside of the scope of what we proposed to Pu and I'm not even sure if it's a good UI pattern/ a heavy lift. BUT I just wanted to throw that out there while you're versioning all the things. I know with it all broken apart like this, incremental changes are tedious.

@ashley-hebler I can look into something like this for next sprint. I think it could be more involved than the context menu button.

authors: ashley-hebler erxclau

repo: texastribune/files


text:
WindowsとLinuxのインストール手順をTL2020に更新

いまさらTL2019もないかとも思いましたが、Windowsのミラーサイト選択画面を追加してみました。

ありがとうございます。ここのところ余裕がなく，完全に停滞してしまっています。今ならもう TL2020 ですし，最新に即したドキュメントを整備したいとは思っています。

Windowsなら環境ありますし、やったこともあるので、今と同じような内容でTL2020版に更新するのはできるとおもいます。Linuxは環境は作れますが、やったことがないもので時間かかるかもしれません。
残念ながらMacは環境がないので…。

Windowsインストール手順をTL2020に更新してみました。

Windowsに続き、Linuxのインストール手順をTL2020に更新していました。
あわせてAUTHORS.mdを更新しています。
@aminophen さん、私はmac環境を持っていないのでTL2020への更新ができるのはここまでです。問題なさそうであればマージしていただければと思います。
@kmaed さん、お書きいただいていたLinuxインストール手順をTL2020へ更新させていただいております。問題ないかご確認いただければ幸いです。また、勝手ながらAUTHORS.mdにお名前を追加させていただいております。余計な事でしたら削除いたしますので、そのようにお申し付けいただければと思います。
よろしくお願いいたします。

反応が遅くなりました．わざわざすみません．最近ようやく余裕が少し出てきたところだったのですが，こちらは DM いただくまで自分が言及されていることに気づけずにいました．
このドキュメントも，作ってはみたものの結局インストール情報ぐらいしかないのは反省なのですが，今後はどういう方向性がいいのだかなあ．昨年は環境が変わってずっと忙しくて，今年は少しは楽になるかと思ったら COVID-19 でわけわからん感じに……．毎日が辛いというのが正直なところです．

ありがとうございます。
お二人に👍をいただいたので、本pull requestをマージしていただけますでしょうか。
今後ということですが、私に書けるところがあればどんどん書いていこうと思います。ただ、残念ながら私はmac環境を持っていないので、そちらのインストール手順を書くことはできません。残るは「texjporg（日本語 TeX 開発コミュニティ）の活動内容」なんだと思いますが、私自身「texjporg（日本語 TeX 開発コミュニティ）」とは何ぞや、というところがわかってないので、どうしたものかと。適当に書いてpull request投げ、おかしなところをご指摘いただくとかですかね。

ありがとうございます。マージしました。
実は「コミュニティとはなんぞや」は https://texwiki.texjp.org/?コメント%2Fご意見はこちらへ に先週少し書き込んでいたりします。これを整形して加筆しようかと思ってはいますが…。 私も kmaed さんと同じく毎日が辛い感じで，なかなか。

インタビュー記事の内容からあるていど拾ってくれば書けるかな？と思っていたのですが、そんなところにお書きいただいていたんですね。おつかれさまです。お書きになったきっかけはともかく、この内容をベースにして書いてみようかと思っています。ある程度書けたら新しいpull requestを投げますね。お忙しいところでご確認いただくのは大変心苦しいところではありますが、その際には見ていただけると幸いです。
私の方は、とりあえず今現在、多少は時間を割くことが可能な状態です。ただ、忙しさには波があるのでいつまでもというわけにはいきませんし、予想外に急に忙しくなってしまうこともあるので、どこまでできるかなんともいえないところではあります。

たしかに，そのインタビュー記事は使えますね。すっかり忘れてました。「貢献者」の私の名前からその記事にリンクを貼ろうかな。
もしお書きいただけるなら，確認は喜んでします。むしろ書くのをサボっていて申し訳なく，ありがたい限りです。気が向いたらで構いませんので，よろしくお願いします。

authors: aminophen kmaed trueroad


text:
I have a problem with text-mask-addons (emal)

Hello!

systemjs.config
(function (global) {
    System.config({
        paths: {
          'npm:': 'node_modules/'
        },
        // modules
        map: {
          // our app in folder app
            app: 'app',
          // angular packs
            '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
            '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
            '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
            '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
            '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
            '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
            '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
            '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
            'rxjs': 'npm:rxjs',
            'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api',
            'ng2-filter-pipe': 'node_modules/ng2-filter-pipe',
            'ng2-auto-complete': 'node_modules/ng2-auto-complete/dist',
            'lodash': 'node_modules/lodash',
            'moment': 'node_modules/moment/moment.js',
            'ng2-bootstrap/ng2-bootstrap': 'node_modules/ng2-bootstrap/bundles/ng2-bootstrap.umd.js',
            '@ng-bootstrap/ng-bootstrap': 'node_modules/@ng-bootstrap/ng-bootstrap/bundles/ng-bootstrap.js',
            'angular2-text-mask': 'node_modules/angular2-text-mask',
            'text-mask-core': 'node_modules/text-mask-core',
            'text-mask-addons ': 'node_modules/text-mask-addons',
        },
        packages: {
          app: {
            main: './main.js',
            defaultExtension: 'js'
          },
          rxjs: {
            defaultExtension: 'js'
          },
          'angular2-in-memory-web-api': {
            main: './index.js',
            defaultExtension: 'js'
          },
            'ng2-filter-pipe': {
                main: 'ng2-filter.pipe.min.js',
                defaultExtension: 'js'
            },
            'ng2-auto-complete' : {
                main: 'ng2-auto-complete.umd.js',
                defaultExtension: 'js'
            },
            'lodash': {
                main: 'index.js',
                defaultExtension: 'js'
            },
            'angular2-text-mask': {
                defaultExtension: 'js'
            },
	    'text-mask-core':{
		defaultExtension: 'js'
	   },
    	    'text-mask-addons':{
                defaultExtension: 'js'
          },
        }
      });
})(this);

clients.component.ts
import { Component, OnInit } from '@angular/core';
import { ClientService } from './client.service';
import { Client } from './client';
import { Ng2FilterPipe } from 'ng2-filter-pipe';
import { Router } from '@angular/router';
import  emailMask  from 'text-mask-addons/dist/emailMask.js'

@Component({
    selector: "client-app",
    templateUrl: "app/clients.component.html",
})
export class ClientsComponent implements OnInit{
//
public phoneMask = ['+', '3', '7', '5', ' ', '(', /[1-9]/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/];
//
}

clients.component.html
<input type="text" [textMask]="{mask: phoneMask}" keepCharPositions="true" class="btn btn-secondary btn-sm" [(ngModel)]="client.phone" />
<input type="text" [textMask]="{mask: emailMask}" keepCharPositions="true" class="btn btn-secondary btn-sm" [(ngModel)]="client.email" />

PhoneMask works, but emailMask doesn't.

@Nikolay-Uvarov What happens if you import the emailMask as such:
import  emailMask  from 'text-mask-addons/dist/emailMask' // without the `.js` in the end

@msafi The same promlem

@Nikolay-Uvarov I'm not sure what's going on here. I can try it during the weekend to see if I encounter a similar issue. And if you can create a minimal project that reproduces this problem, that would help too.

@msafi https://github.com/Nikolay-Uvarov/email-text-mask

This works, however, it does not feel right:
import { Component, OnInit } from '@angular/core';
const emailMask = require('node_modules/text-mask-addons/dist/emailMask.js').default;

@Component({
  selector: 'my-app',
  template: `

Test email text-mask

            <input  class="form-control" [(ngModel)]="email"
             [textMask]="{mask: emailMask}" style="width : 200px;">

`
})
export class AppComponent implements OnInit {
    public email= 'user@github.com';
    public emailMask = emailMask;
}

@Nikolay-Uvarov With your given example, I made the following changes to make it work:
system.config.js:
(function (global) {
  System.config({
    paths: {

      'npm:': 'node_modules/'
    },
    map: {

      app: 'app',
      '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
      '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
      '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
      '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
      '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
      '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
      '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
      '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
      'rxjs': 'npm:rxjs',
      'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api',
      'angular2-text-mask': 'node_modules/angular2-text-mask',
      'text-mask-core': 'node_modules/text-mask-core',
-     'text-mask-addons ': 'node_modules/text-mask-addons',
+     'text-mask-addons/dist/emailMask': 'node_modules/text-mask-addons/dist/emailMask.js',
    },

    packages: {
      app: {
        main: './main.js',
        defaultExtension: 'js'
      },
      rxjs: {
        defaultExtension: 'js'
      },
      'angular2-in-memory-web-api': {
        main: './index.js',
        defaultExtension: 'js'
      },
      'angular2-text-mask': {
        defaultExtension: 'js'
      },
      'text-mask-core': {
        defaultExtension: 'js'
      },
      'text-mask-addons': {
        defaultExtension: 'js'
      },
    }
  });
})(this);

app.component.ts:
 import { Component } from '@angular/core';
-import emailMask from 'text-mask-addons/dist/emailMask.js'
+import emailMask from 'text-mask-addons/dist/emailMask'

 @Component({
   selector: 'my-app',
@@ -7,10 +7,10 @@ import emailMask from 'text-mask-addons/dist/emailMask.js'

Test email text-mask

             <input  class="form-control" [(ngModel)]="email"
-             [textMask]="{mask: emailMask}" style="width : 200px;">
+             [textMask]="{mask: mask}" style="width : 200px;">

`
 })
 export class AppComponent {
     public email= 'user@github.com';
+    public mask = emailMask
}

@PerfectPixel This should feel right.
I am having the similar error using the email addon with vanilla JS / ES5.
main.js?ver=4.9.2:916 Uncaught TypeError: e.indexOf is not a function
at n (main.js?ver=4.9.2:916)
at n (main.js?ver=4.9.2:916)
at Object.update (main.js?ver=4.9.2:916)
at new o (main.js?ver=4.9.2:916)
at universalForm (main.js?ver=4.9.2:568)
at _init (main.js?ver=4.9.2:554)
at HTMLDocument.vueReady (main.js?ver=4.9.2:151)
at main.js?ver=4.9.2:130
at i (main.js?ver=4.9.2:242)
at main.js?ver=4.9.2:242

The issue I see is with using CommonJS require which does not translate ES6 emaiMask.js's export default {mask: emailMask, pipe: emailPipe} line the same way ES6 import does.
As a result of the require we just get the anonumous Object object with default object inside.
The solution is:

either use ES6 import (which is preffered as you already use the transpiler looking at the import one line above)
or (in case of using webpack/CommonJS require with ES5) care to assign the correct {mask: emailMask, pipe: emailPipe} object to the variable we create with require. Just like you did:
const emailMask = require('node_modules/text-mask-addons/dist/emailMask.js').default;

authors: Nikolay-Uvarov PerfectPixel WhereJuly msafi

repo: text-mask/text-mask

license: Unlicense


text:
Better paper broker

on order_limit and order_options_limit set status to open and set status to filled on fetch_stock_order_status. Checks if the user can preform the purchase or sale before setting status to filled.

👍

repo: tfukaza/harvest


text:
Reload/Refresh model from database.

I would like to be able to call
modelInstance.reload()
To build a select query using the instance's ID and reload the data from the database into the model.  I am aware of fetch but it forms a query from all of the attributes, meaning that if some attributes were changed in memory, the query will not find the model.
For now I have been manually passing the ID of the instance into a new query, but this feels kind of silly.

Hi @light24bulbs. You'll be happy to know that I actually wrote this change yesterday.
I can't see any problem with changing the behaviour of fetch for this. As was pointed out in a couple of other issues, having fetch match on columns other than idAttribute has unexpected behaviour such as using non-indexed columns and sometimes attempting to fetch with JSON attributes (which have no equality operator).
I just haven't merged the changes in because of the problems with the new JSON tests in Travis CI.
Semantically I like the idea of refresh,reload or renew, but since fetch currently updates the model on which it's called, it makes sense to just change its behaviour.
Ultimately I think it would be nice to have a distinction between fetch and refresh. refresh would update the model itself, and fetch gets a nice model. I think it's too soon for such a dramatic API break though.

Hi, @rhys-vdw
Updating fetch to use only the ID seems far more breaking to me.  For instance, my code frequently does
Model.forge(anAttribute: 'aValue').fetch()
as a way to query by parameters.  I think fetch works well and that it's behavior isn't so unexpected.  I would rather have a separate method refresh or reload to handle this.  I don't consider it to be API breaking to introduce a new method.  I think it is more breaking to change the behavior of an existing method.

Oh, sorry, I probably wasn't clear enough. It checks for the presence of idAttribute and fetches by that. If not it uses its current behaviour.

Oh.
Hmm, well, In my opinion, that is a more unexpected behavior than it was before, because before it was constant.  You've taken two logically separate functions and combined them into one method which magically switches between them.
And believe it or not, it actually does break some of my code and possibly other's code as well.  Some of my code does:
Model.forge(id: 21, anAttribute: 'aValue').fetch()
Though this could obviously be rewritten, I would still argue for introducing a new method refresh as it is more clear and gives the user a choice of which functionality they want. Could you explain how a new method would be API breaking where changing an existing method is not?
If you're tied to this functionality, maybe checking isNew when deciding to use the id or not would work well.
But hey, I love the lib otherwise.  You guys are doing something right :)
Thank you for all the hard work which makes my life easier!

Okay, good to hear feedback on this. I wasn't sure whether to go ahead with it. Personally I was surprised by the behaviour of fetch (as were others #550, #778). It is inconsistent with the behaviour of save which assumes that an object exists if it has an idAttribute.
But you've raised a valid point. Perhaps refresh would be more appropriate. Ultimately I think this API would be cleaner:
// deprecated
Model.forge({id: 4}).fetch()

// preferred
Model.where({id: 4, other: 'value'}).fetch();
Model.forge({id: 4}).refresh();

Yeah sometimes I also use the ability to fetch by a given attribute but never when combined with an id attribute as well. @light24bulbs Why would you want to fetch with non-id attributes and the id attribute at the same time? It doesn't make sense to me since the id attribute is already specifying a single row, so you can't be more specific than that, and considering that the result would be the same in both cases. Is it some kind of security concern? That is, you want the possibility of returning nothing if the id and the otherAttribute don't match a row that exists?
That said, the Model.where({ ... }).fetch() form does look like the preferred way to fetch by random attributes.
If we were to change this behaviour it should be preceded by deprecation messages first to give users time to migrate to the preferred way of fetching. Seems like the only change would be to replace forge with where right?

Well, at the moment I think just adding refresh is enough. I agree that the current behaviour of fetch on a Model instance doesn't make sense. You'd expect it to update the model, but it doesn't, in fact it will fail if the row has changed.

@light24bulbs Hey mate, this is now in master. I took your advice and left fetch as it is. refresh will default to fetch's behaviour if no idAttribute is present. If you're keen you can point your project dependency the current head commit to get the change. Thanks for the feedback.

Awesome!  Just what I needed.  Thank you!

This is super useful, thanks!

authors: bsiddiqui light24bulbs rhys-vdw ricardograca

repo: tgriesser/bookshelf


text:
Add assignment operator on line 291 of Bookshelf documentation

Edit to 'Installation' section of documentation. Added missing assignment operator.
Before:
// In a file named something like bookshelf.js
var knex = require('knex')(dbConfig);
module.exports require('bookshelf')(knex);
After:
// In a file named something like bookshelf.js
var knex = require('knex')(dbConfig);
module.exports = require('bookshelf')(knex);

Thanks!

authors: danielleknudson rhys-vdw


text:
Breaking change in 0.16.6 (when used with typescript)

Environment
Knex version: 0.16.5
Database + version: sqlite3@
OS: macos
Bug

After moving to v0.16.6 when compiling my application with typescript I get the following error

Generic type 'Knex<TRecord, TResult>' requires 2 type argument(s)

// client.ts
import knex from 'knex';

export default class Client {
  db: knex;
  constructor(db: knex) {
    this.db = db;
  }
}

I understand that the typescript definitions might not be your primary API. But  https://github.com/tgriesser/knex/pull/3168 is probably causing ts-errors in any project that uses typescript and knex. And I therefore would consider it to be a breaking change.
I would really like to either see this change become optional or to have a migration guideline so that I can continue to use the lastest version of knex.
Thanks a lot for your work, also on #3168. Really appreciated!

I will also reference my comment on the pull request itself: https://github.com/tgriesser/knex/pull/3168#issuecomment-491749022

and mine :]
https://github.com/tgriesser/knex/pull/3168#issuecomment-491756537

Can you try 0.16.7?

Hey @kibertoad
Thanks for the fast response.
In my case using v0.16.7 does not compile in TS without problems.
[...]/KnexContent.ts (560,37): Property 'id' does not exist on type 'any[]'.
[...]/KnexContent.ts (560,71): Property 'data' does not exist on type 'any[]'.
[...]/KnexContent.ts (563,9): Property 'listVersions' in type 'KnexContent' is not assignable to the same property in base type 'ContentAdapter'.
  Type '(model: Model, id: string) => Promise<any[] | null>' is not assignable to type '(model: Model, id: string) => Promise<(Item & { rev: number; latest: boolean; published_rev: boolean; latest_rev: number; author_name: string; date: string; } & { published: boolean; })[]>'.
    Type 'Promise<any[] | null>' is not assignable to type 'Promise<(Item & { rev: number; latest: boolean; published_rev: boolean; latest_rev: number; author_name: string; date: string; } & { published: boolean; })[]>'.
      Type 'any[] | null' is not assignable to type '(Item & { rev: number; latest: boolean; published_rev: boolean; latest_rev: number; author_name: string; date: string; } & { published: boolean; })[]'.
        Type 'null' is not assignable to type '(Item & { rev: number; latest: boolean; published_rev: boolean; latest_rev: number; author_name: string; date: string; } & { published: boolean; })[]'.

This is not the same error as in v0.16.6 but still does not allow "just installing the new version"

I suspect that the idea behind #3168 is pretty cool in regards of type-safety. And would really like to understand how to use it but was not able to wrap my head around it.

@Xiphe I think you are trying to use array as a non-array, hence the problem. Are you on gitter? We could try grilling into problem together. And yeah, looks like it should be 0.17 instead, will republish.

Can you try 0.16.7?

I used this version, and all of Knex related stuff were broken.

@felixmosh Will unpublish ASAP.

0.16.6 and 0.16.7 were unpublished. I will rerelease current master as 0.17.0-next so that we could investigate incompatibilities and prepare migration guide.

I am also willing to experiment with @next when I have some time.

@felixmosh Will unpublish ASAP.

Thank you!

0.17.0-next

npm i knex@next installs knex@0.16.4-next2, this version not includes this PR.

It wasn't released yet, give me an hour or so :)

0.17.0-next is now out. Suggestions, problem reproductions and PRs most welcome!

0.17.0-next* releases seem to have solved the problem.

Final version of 0.17.0 is out.

@kibertoad , @Xiphe Thank you for this feature, this is awesome and it works perfectly !! 🙏🏼

@lorefnon is the hero here :)

Thanks a lot for your patience and helping out with your feedback. :)

I only wrote the issue and then stopped being involved. Thanks everyone for the awesome work, can't wait to try it out!

With knex v-0.17.5 there is an issue with .first operator.
const prettyUrl = await db('seo')
  .columns('contentId', 'type', 'url', 'prevUrl')
  .where({ url })
  .orWhere({ prevUrl: url });
  .first();

prettyUrl.shouldRedirect = url === prettyUrl.prevUrl;
delete prettyUrl.prevUrl;

@felixmosh Is it any better in 0.18.0-next1?

@kibertoad yes it still happens but now with different error,

@lorefnon Any ideas?

I am unable to reproduce this. Can you please post your tsconfig.json and the full error that tsc gives you ?

Actually knex@0.18.0-next2 do solves the issue.
Did you removed blueBird promises from knex? at this version all .map/ .reduce statements are red
Error:(118, 6) TS2339: Property 'map' does not exist on type 'QueryBuilder<any, any>'.

Yeah, there is a parallel ongoing effort to remove bluebird.

@felixmosh Can't you just call map on result array after awaiting the results?

Yeah I can, but this will be breaking changes :]

@felixmosh  Where is the discussion about this ongoing effort? I'd like to at least help with testing (and ensure my systems don't fail). Please keep me in the loop if possible.

authors: Xiphe felixmosh kibertoad lorefnon loxs

repo: tgriesser/knex


text:
Add SQL Anywhere dialect support.

We have had a request from our users to be able to use knex with SQL Anywhere in Node.  I have written the dialect and the tests are all passing using SQL Anywhere 17.0.0 and the SQL Anywhere Node driver (npm install sqlanywhere).
To test:

install SQL Anywhere 17 (developer edition download here: http://scn.sap.com/community/developer-center/sql-anywhere)
source /opt/sqlanywhere17/bin64/sa_config.sh
cd test
dbinit -dba knex_test,knex_test knex_test.db
cd ..
DB='sqlanywhere' npm test

@phil-mitchell could this be implemented as separate client package which is bound to certain kenx version. Since this cannot be easily CI tested by travis and there are not many users using the database, there is big change of this code being broken all the time.
While ago there was feature implemented, which allows to use external custom dialects #1428
@rhys-vdw what do you think about this?

@elhigu external custom dialect should suit my needs.  Although, it will be more maintenance for me to keep up with your versions, even when there are no breaking changes involved.  Deployment would also be more work for end-users.  I do recognize that other non-free servers (Oracle, mssql, ...) which are included in knex directly are more heavily used, so bugs would be more quickly reported.
The custom dialect option was not available when I started looking at this.  I will look at that feature and see if it works for me.

@phil-mitchell We are about to get CI tests working with oracle 👍 If you are able to setup sqlanywhere to run in travis environment the same way that oracle will be setup I wouldn't hesitate to take this dialect in.

It should be possible to set up sqlanywhere in your CI environment.  The development license is free, so it would just be a matter of knowing your requirements.  If you can provide details, I will do the work.
FWIW, I am one of the sqlanywhere core developers, so it should be no trouble for me to resolve any issues we encounter.

@phil-mitchell here is the pull request how support is being added for oracle https://github.com/tgriesser/knex/pull/1503 it uses some helper scripts from https://github.com/cbandy/travis-oracle to install the oracle server instance to CI server.
I suppose that similar workflow should do for sqlanywhere too.
If you are one of the core developers you may consider releasing own travis-sqlanywhere package to give helpers and instructions for other travis users how to run CI against your database.

@phil-mitchell if you need help i stay here to help you.
@elhigu i think you are right, in the next version is good idea, putting all dialect external knext.
see that example https://github.com/elixir-ecto/ecto
all databases are a dependency and have maintainer, to developer new features.
Monolithic knext i don't think is a good ideia, for example i don't using mysql,MSSQL and install dialect to that.

@phil-mitchell Also if this is completed I would need someone who is willing to maintain the dialect and answer to issues about it. Closing for now due to inactivity.
Can be reopened if CI stuff is added to travis configuration, docuementation added and there is someone who is willing to be maintainer for the dialect.

authors: elhigu phil-mitchell williamgueiros


text:
Handle null bytes in Postgres strings

Older versions of knex handled null bytes in strings reasonably, but
newer versions do not. This commit fixes this regression by converting
any string with a null byte in it into a Postgres escape string with
an escaped hex value.

Why was it closed?

authors: kibertoad twooster


text:
Middle Class Padding

I've been going through my cards and adding some gaps to the middle cards, since these are the only classes where there are no gaps between the solid border bars and the content. I thought it might be cool to add that to the overall theme for everyone.
I'm not sure where exactly these lines would go in the .yaml, so I am posting here instead of a pull request.
#Middle
    ha-card {
      padding-left: 6px !important;
    }

#Middle Right
    ha-card {
      padding-right: 6px !important;
    }

I think it looks so much better than stock.

These gaps could also be useful when using the header or footer classes on a normal card instead of a markdown card.
I went through and looked at the footers, specifically, and found that adding these lines cleaned up the footer:
ha-card.footer {
  background: var(--ha-card-background) !important;
}
ha-card {
  padding: 0px 0px 6px 6px !important;
}
element.style {
  border-radius: 40px;
}

I still couldn't figure out how to control the inner radius though.

That element.style gives the 40px radius to the corners of the picutre, but that element must have reset while I was messing with the console before I took the screenshot.

Shipping in 2.0


text:
Remove eetfestijn url

We do not need to add this to the url if we're going to run it on a subdomain.

Pull Request Test Coverage Report for Build 3

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.041%

Totals

Change from base Build 1:
0.0%

Covered Lines:
346

Relevant Lines:
393

💛  - Coveralls

authors: coveralls se-bastiaan

repo: thaliawww/eetFestijn


text:
Class VoyagerAuth does not exist (View: **/vendor/tcg/voyager/resources/views/master.blade.php)

Laravel: v5.6.*
Voyager: v1.3.*
PHP: 7.2.11
Database: MySQL 5.0.12

Description

After updating voyager from 1.2 to 1.3 I am getting getting an error. Here is exception
Class VoyagerAuth does not exist (View: /var/www/html/****/vendor/tcg/voyager/resources/views/master.blade.php
Steps To Reproduce
Steps to reproduce the behavior:

Update voyager 1.2 to 1.3
Create Admin through command
Go To /admin/login
Put email and password
See errors

Expected behavior
You will get an exception as following
Class VoyagerAuth does not exist (View: /var/www/html/****/vendor/tcg/voyager/resources/views/master.blade.php)
Screenshots
Here is screenshot
https://imgur.com/RbX48ER

There is no VoyagerAuth in master.blade.php for v1.3.0:
https://github.com/the-control-group/voyager/blob/v1.3.0/resources/views/master.blade.php
It looks like some of your files are not updated.
Can you try to remove vendor/tcg folder and run composer install?

@MrCrayon I solved it by using below command
php artisan view:clear

oh yes, I forgot about cache!
Good, we can close here.

authors: MrCrayon ayazdev

repo: the-control-group/voyager


text:
Route to home page from custom action

Version information

Laravel: v8.21.0
Voyager: v1.4
PHP: 7.4.11
Database: MySQL 5.7.26

Description:
Create your own action button: https://voyager-docs.devdojo.com/customization/action-buttons
How to translate to another page (not voyager)?
Gives an error message: https://flareapp.io/share/pPv4vn65
    public function getDefaultRoute()     {         return route('/welcome');     }

As the issue template suggest, please ask questions in our Slack group.
Also, /welcome is a URL, not a route.

As the issue template suggest, please ask questions in our Slack group.
Also, /welcome is a URL, not a route.

Okay, I'll duplicate it. And how can I do it?

Okay, I'll duplicate it. And how can I do it?


text:
Add new features

B.E.N.J.I. can have more features! Add them and push a PR!

I have an idea of showing user the lyrics by using "lyrics song_name". If there are songs with similar names, user can use more specific string which includes singer too, as the result would be about the famous song only. This feature will directly lead to the website. @the-ethan-hunt @sara-02

This seems good @abhimanyuthakre . We can also use a music recognizer (like Shazam!) incorporated with this functionality.
P.S. @sara-02 , @abhimanyuthakre is the other maintainer of the project. 😄

Sorry , @sara-02 @the-ethan-hunt @abhimanyuthakre .
I was not aware from this and direct implemented the feature.
Please review this. :)


text:
Web Assembly

@the-ethan-hunt I would like to write about this based on the following topics!

What is it?
What does it bring to the table?
Does it mean the death of JavaScript?
Supporting Languages
What does it mean for the future?

I think this should go to guides/web_development folder.. so please label & assign it so that I can start writing about it!

The first two points are alright. I don't feel the need to include "what does it mean for the future"(your call to include this) and "does it mean the death of javascript?"( no opinions will be entertained)
Assigning this issue to @pbiswas101

Thanks @the-ethan-hunt
Sure won't be including those!

repo: the-ethan-hunt/first-timers-guide


text:
Diffbot knowledge graph url is updated to new url from deprecated url

Hi, diffbot knowledge graph url is deprecated and not working now, you should use new one.

@theRealPadster i want to ask, is this changes uploaded to npm? maybe yo should update the version maybe

@mustafa-colakoglu I didn't publish a new version yet. I was planning on finishing adding GitHub action workflows first. Hoping to get that added in tomorrow and then publish a new version

@mustafa-colakoglu I didn't publish a new version yet. I was planning on finishing adding GitHub action workflows first. Hoping to get that added in tomorrow and then publish a new version

Okay, I am waiting for new version, because we are using this library on our project

@mustafa-colakoglu I've published 0.9.4 on npm, so you should be good to go now :)

authors: mustafa-colakoglu theRealPadster

repo: theRealPadster/diffbot-api-node


text:
output of the finetune

Hello. At line 111 of the main.py script, the output of the finetune() function is not returned. Is this the intended behavior?

Hi,
Yes. The finetune function doesn't return anything, but modifies the model object inplace and saves the finetuned weights.
Let me know if you any other questions.

authors: theabrusch zeydabadi


text:
Features  & bugs

I want to run git pull from my private git server  but i can't .Even i configure my private git server auth
Please add remote workspace (vs code remote)
codeapp crashed when i using git or terminal
There is nothing in terminal when i open terminal(I can see a few character in termianl)

1: Git in cli is an experimental port, many features don't work. You'll need to use the GUI to run git pull.
2: FTP / SSH access is something I'm working on
3. Resolved in the latest release, please update from the App Store
4. See (3)

Alright thanks for your answer
One more thing , why don't make a Linux virtual container in code app , just like Alpine in ish.

That's a great suggestion! The main concern is performance. For example, a hello world Python script might take a few seconds to run in iSH. I will definitely be experimenting with integrating iSH in the future.

Thanks for your answer
codeapp will be a great code editor on ipad
I wating for that day

authors: DaiYuAng bummoblizard

repo: thebaselab/codeapp


text:
InputType Factory and Security

Hello there,
thank you for this library!
Just a quick question:
I got a controller for which I created an InputType and relative Factory.
In the factory I pass all the mutation data and return the well formed constructed InputType.
class Controller
{
    /**
     * @GQL\Mutation
     * @GQL\Logged
     * @GQL\Security("is_granted('IS_AUTHENTICATED_FULLY')")
     * @GQL\InjectUser(for="$user")
     * @GQL\UseInputType(for="something", inputType="Something!")
     */
    public function createSomething(User $user, Something $something)
    {
        $something->setUser($user);
        // do stuff
    }
}

I would like to move the user injection into directly the factory, so I used @GQL\InjectUser annotation into my factory like this:
class AccountFactory
{
    /**
     * @GQL\InjectUser(for="$user")
     * @GQL\Factory(name="Something", default=true)
     */
    public static function createSomething(
        string $field1,
        string $field2,
        User $user
    ): Something {
        return new Something($field1, $field2);
    }
}

This works well while I got a logged in user. If not, I got a PHP failure because the createSomething method does not accept null for $user parameter.
I tried using @Logged, @Right and @Security annotations but seems not working.
Am I missing something?

Is it a valid situation for this mutation to be called without a User?  If yes, maybe it makes more sense to create another mutation for that.  If no, why isn't your auth throwing a 401 before this factory is initialized?

Is it a valid situation for this mutation to be called without a User? If yes, maybe it makes more sense to create another mutation for that. If no, why isn't your auth throwing a 401 before this factory is initialized?

Why should it be mandatory to have always a user logged in? It can be useful to inject null whether the user is not logged.
In this example in particular, it the mutation have the user param as mandatory. The problem is not my auth that doesn't throw a 401, the problem is that @Logged annotation in factory context does not throw it 😅

I'm not familiar with the internals of the user injection annotation.  Personally, I'm not a huge fan of this functionality at all.  Regardless, I did notice that your User $user argument isn't nullable.  Did you test it with a nullable argument as well?

Maybe I missed that I'm using this one with symfony and GraphQLite official bundle. Anyway, I did not try without because it should be thrown a 401 before accessing this method by design. I am not calling the factory method by myself, it's the bundle that is calling it

Well, if you want a null value there, it can't throw a 401 prior.  So, it should either support a null value or not.  I'm uncertain of what's the case, or the overall intent since I haven't and never would use something like this.  IMO, auth should be handled on every request.  It's not a flag to be turned on or off at some annotation level.
Maybe someone else can chime in on this one.  I'd love nothing more than to remove this annotation, personally.  Auth shouldn't be part of this library as I see it.

Well, if you want a null value there, it can't throw a 401 prior.

I don't want a null value there. It's GraphQLite that prior to anything tries to set that value (in the case of anon. users) to null.

Auth should be handled on every request.

Auth is handled on every request.

It's not a flag to be turned on or off at some annotation level. If you wished to have operations that don't require auth, you simply organize them so that auth checks are bypassed for those operations. It's not difficult.

Very kind way to support users, thank you

Very kind way to support users, thank you. My code is just ok. I'm just asking why this is happening and whether this is the expected behaviour or not.

This is simply my opinion.  I think if you're relying on @Logged you've designed your application incorrectly.  That's the purpose of my comment and maybe that can provide you with a solution to your issue.
As for the @Logged annotation, maybe @moufmouf can chime in on it.  I don't know.  I opened #196 quite a while back around this annotation.  My current opinion is that it should be deprecated.

Closing this issue as there hasn't been any further discussion.

authors: massimilianobraglia oojacoboo

repo: thecodingmachine/graphqlite


text:
Federation support

Do yo have any plans to support apollo federation?

I haven't used Apollo federation.  Can you outline the specific requirements that'd be needed from this lib?

Apollo Federation allows you to implement a single data graph across multiple services. Libraries like pascaldevink/php-graphql-federation extends the current schema and enables federation, but it does not work well with graphqlite.
To make a GraphQL service federation capable, we need:

Implementation of the federation schema specification.
Support for fetching service capabilities.
Implementation of stub type generation for references.
Implementation of request resolving for entities.

Hope this helps. You need help implementing any of those features? Would be great to contribute to graphlite.

Thanks for the outlining that.  I'm familiar with federation, just wasn't sure exactly what would be needed.
I'm not aware of any current initiatives or motivation to get federation added, at the moment.  However, assuming this could be easily configured and doesn't cause performance implications, I don't see why there would be any objections to a PR raised with federation support.  So yea, if you'd like to take a go at it, that'd be great.

@oojacoboo This discussion is a bit hold but do you have any plans to support the federation? 🙂 We would like to use graphqlite in combination with apollo-federation-php but it doesn't seem a simple task.
The framework needs to be adapted to support instantiating EntityObjectType or EntityRefObjectType (for example by creating a new attribute #[ExternalType] ). However, the MutableObjectType is extending the ObjectType and we have multiple places checking if the object is instance of MutableObjectType. Maybe we could have an interface (e.g ObjectTypeInterface) where MutableObjectType would extend from? And also provide a way to add custom types?
I believe that wrapping the schema into a federated schema is already supported by doing something like this:
$config = $this->factory->createSchema()->getConfig();
$schema = new FederatedSchema(
	[
		'query' => $config->getQuery(),
		'mutation' => $config->getMutation(),
		'types' => $types,
		'assumeValid' => true,
	]
);

But we still need to find a way to create the external types :)
Thank you!

@gtavares I still haven't looked into federation too much.  But, wouldn't the goal be for GraphQLite to deliver it's schema into a federation server that combines with the rest of the federated graph?
I came across this related lib and docs as well: https://github.com/pascaldevink/php-graphql-federation/blob/master/README.md.
Also, see this discussion here around SDL output and caching and https://github.com/thecodingmachine/graphqlite/issues/569.  It's possible we could also make use of this output for feeding to a federation server.
As for the changes you've mentioned in GraphQLite, why are these needed?  Why can't GraphQLite deliver something like an SDL to a federation server and that server proxy the requests back to GraphQLite?  I don't understand why the mentioned changes are necessary.

authors: alejo-lapix gtavares oojacoboo


text:
Can't install this package on symfony 6

Please adapt this package for Symfony 6 ASAP or explain how to install it on new version of Symfony.
Thank you 😀

Please see this bundle:
https://github.com/thecodingmachine/graphqlite-bundle

authors: Makapashev oojacoboo


text:
✨ race()

Motivation
Ports race from v2

I actually prefer this object-based API, but my tendency is to keep strictly to parity with the Promise.race() API and let enhanced APIs be built on top of that. This is something that we can always add later if we decide that there are no drawbacks.

repo: thefrontside/effection


text:
Added auto deployment to CircleCI

This resolves #166.
This PR:

Added small deployment scripts for CircleCI to call
Changed CircleCI config to auto deploy

What you cannot see was also done:

Emil's user ssh key was deleted on the Scaleway server as this was insecure and incorrect. Two read-only deploy keys have instead been added to the server, one for this repository and one for the database-and-ghost-blog-server repository so they can pull changes. All repo editing should happen outside the server.
I may add a bit of code to the server deployment scripts that calls the Slack API so deployments can be tracked, I'll see what's the best way to do it after checking that this indeed works. Maybe I can put it in the repo but it may be inconvenient because of API keys.
This PR on one hand fixes this issue but is also a test, it should hopefully work but extra fixes may have to be pushed as this is the only way I see of testing whether it works.

Update: It didn't work, I need to either disable StrictHostKeyChecking on ssh to workaround the initial prompt ssh gives on first connection with an unknown host or add it to the known hosts of the build VM. I will add it to the known_hosts file in the next commit.
I also forgot to mention, I wanted to add this link which is how I setup the two deploy keys simultaneously on the server if anyone is interested or will need to do ssh stuff for the server again.

repo: thegazelle-ad/gazelle-server


text:
WIP - get the API under CI too

We have the greencheck library under CI now, but we'd need to check that the the API works as expected as we're changing the flow for fetching data to get a result from redis first, then running our check now.

[ ] Get docker compose set up for Mysql, Redis, PHP and RabbitMQ
[x] Work out minimal test to check this works end to end
[ ] Get cloudbuild running this like we have with the greencheck library

Sigh, this is turning out to be a pain. Neither the RedisClient, nor PredisClient seem to write json how I would expect them to, which is making pulling it out in the API a pain.
Using Predis instead of Redis
We're assuming use of the whole DoctrineCache  interface in other parts of the code base, anf making various caching calls to use it, but annoyingly while RedisCache gives you access to the underlying Redis client, Predis doesn't:
It looks like Redis gives you access to the client:
https://github.com/doctrine/cache/blob/master/lib/Doctrine/Common/Cache/RedisCache.php#L37
But PredisCache doesn't:
https://github.com/doctrine/cache/blob/master/lib/Doctrine/Common/Cache/PredisCache.php#L21
So, I've tried to take the approach of using the API offered by PredisCache instead, using save, and fetch, as we're not doing using much else, and presumably this would honour the calls to namespacing too, which I assume is important:
Here's the Redis session:
127.0.0.1:6379> keys *domains*
1) "tgwf_greencheck[domains:www.nu.nl][4963]"

// a load more more keys matching left out

When we look at the key returned, we see that:
there's still all this cruft before we get to the actual JSON encoded content, - he have this key listing before the json O:28:\"TGWF\\Greencheck\\LatestResult\":6 , in addition to that extra [4963] appended to the key name itself, as well as a load what seems to be type information for each property of the datastructure:
"O:28:\"TGWF\\Greencheck\\LatestResult\":6:{s:4:\"date\";s:25:\"2019-05-10T09:15:31+00:00\";s:3:\"url\";s:13:\"www.xs4all.nl\";s:17:\"hostingProviderId\";i:42002;s:18:\"hostingProviderUrl\";s:20:\"http://www.xs4all.nl\";s:19:\"hostingProviderName\";s:6:\"Xs4all\";s:5:\"green\";b:1;}"

In this case here, I'd be much happier just getting this back as just the JSON, and just using a key without any automatic prefixing. So having a key like this:
domains:www.thegreenwebfoundation.org

And JSON like this (linebreaks added for readbility):
{
  "green": true,
  "url": "www.thegreenwebfoundation.org",
  "data": true,
  "hostedby": "LeaseWeb",
  "hostedbyid": 156,
  "hostedbywebsite": "www.leaseweb.com",
}

Deciding the trade-off
I can rewrite this to only use the Predis Client, so on the front end we don't have this weird key, suffix, and serialisation behaviour but we'd then need to check elsewhere in the codebase, to make sure we're making direct calls to redis rather than going through these interfaces.
I'm not familiar enough with Symfomy or Doctrine to make a call here - if we just want to write JSON to a redis key, then pull it out in another process, so we can rehydrate that JSON without needing everyone know the internals of Symfony or Doctrine, what's the simplest approach we can take?
My current thinking is to literally write the strings, and do without  all this cruft, as the API isn't using Doctrine either, but I don't know what we lose by doing this.
@arendjantetteroo we're pretty settled on Redis - are you okay with me using the client direct, and skipping all this extra DoctrineCache stuff ?
I can't see where we're using it in the API section, and not being so coupled to Doctrine gives us more options later too.

Okay after a quick chat, here's the resolution.
Recognise we have two kinds of caching really:

internal use, where there's no need to worry about other libraries or frameworks needing to access the underlying data
external use where more than one system might use it

In our case here, while we have a load of caching libraries already, the act of building this longer lasting hash, to we can take fast CSV dumps, and likely from inside other languages or frameworks lends itself to us using the Predis Client directly in the logger, rather than relying on all the existing Doctrine Caching code we have in place.
So, we'll rely on the DoctrineCache interfaces for all 'internal' use, and use the PredisClient for 'external; use.

okay, I think I've found and cause for this to be breaking:
Here's the error I get in the app when consuming this the greencheck library
[Symfony\Component\Debug\Exception\FatalThrowableError]
  Argument 1 passed to TGWF\Greencheck\Sitecheck\Aschecker::__construct() must implement interface Symfony\Contracts\Cache\CacheInterface, instance of TGWF\Greencheck\Sitecheck\C
  ache given, called in /Users/chrisadams/Code/tgwf/thegreenwebfoundation/packages/greencheck/src/Sitecheck.php on line 504

No, that bug was user error on my end. Two different branches running. Disregard…

@mrchrisadams still relevant. will close for now. Feel free to reopen when it's becoming relevant again.

authors: arendjantetteroo mrchrisadams


text:
Fix chart width on resize and cleanup related code

Calculate AbstractOutputComponent's main area width based on props
instead of client width that isn't updated yet during a resize.
Remove unnecessary paddingRight in ResponsiveGridLayout's style.
Add marginRight to TimeAxisComponent and TimeNavigatorComponent to
account for scroll bar padding.
Remove arbitrary initial width in TraceContextComponent constructor.
Move handle width constant to AbstractOutputComponent. Remove
handleWidth from OutputComponentStyle.
Move sash width constant to AbstractTreeOutputComponent. Remove
sashWidth from OutputComponentStyle.
Make sash offset include the sash width, which makes the sash width
irrelevant to components that don't need it.
Rename widthWPBugWorkaround to outputWidth. This needs to be stored in
props because the ResponsiveGridLayout overrides the output component's
style width before render.
Calculate TimeNavigatorComponent and TimeAxisComponent width and pass it
directly in their props so that they do not need to know about handle
width, sash width and sash offset.
Reduce TimeNavigatorProps and TimeAxisProps's style to only the
necessary attributes.
Signed-off-by: Patrick Tasse patrick.tasse@ericsson.com

Fixes https://github.com/theia-ide/theia-trace-extension/issues/669

repo: theia-ide/theia-trace-extension


text:
Modify the SpatialMapping problem to enable solving a LinearProblem

This just checks whether alpha=0 and in that case sets the quadratic attributes to None.
Let me know what you think, I'm happy to add tests for this.

So prepare we leave as it is? i.e. we always have to provide the spatial key?

mmh good point, it should be possible to allow for None there in that case I believe, could you also update the prepare method @Marius1311 thanks!

So prepare we leave as it is? i.e. we always have to provide the spatial key?

mmh good point, it should be possible to allow for None there in that case I believe, could you also update the prepare method @Marius1311 thanks!

I think I also have to make the sc_attribute optional in that case. Otherwise, when not providing a spatial_key, I get
File ~/Projects/moscot-fork/src/moscot/base/problems/problem.py:376, in OTProblem.prepare(self, xy, x, y, a, b, marginal_kwargs)
    [374](https://file+.vscode-resource.vscode-cdn.net/Users/mlange/Projects/spatial_analysis/analysis/experiments_and_tutorials/~/Projects/moscot-fork/src/moscot/base/problems/problem.py:374)     self._problem_kind = "quadratic"
    [375](https://file+.vscode-resource.vscode-cdn.net/Users/mlange/Projects/spatial_analysis/analysis/experiments_and_tutorials/~/Projects/moscot-fork/src/moscot/base/problems/problem.py:375) else:
--> [376](https://file+.vscode-resource.vscode-cdn.net/Users/mlange/Projects/spatial_analysis/analysis/experiments_and_tutorials/~/Projects/moscot-fork/src/moscot/base/problems/problem.py:376)     raise ValueError("Unable to prepare the data. Either only supply `xy=...`, or `x=..., y=...`, or all.")
    [377](https://file+.vscode-resource.vscode-cdn.net/Users/mlange/Projects/spatial_analysis/analysis/experiments_and_tutorials/~/Projects/moscot-fork/src/moscot/base/problems/problem.py:377) # fmt: on
    [378](https://file+.vscode-resource.vscode-cdn.net/Users/mlange/Projects/spatial_analysis/analysis/experiments_and_tutorials/~/Projects/moscot-fork/src/moscot/base/problems/problem.py:378) self._a = self._create_marginals(self.adata_src, data=a, source=True, marginal_kwargs=marginal_kwargs)

ValueError: Unable to prepare the data. Either only supply `xy=...`, or `x=..., y=...`, or all.

@Marius1311  why can't we just pass solver args until we solve https://github.com/theislab/moscot/issues/720? If incompatible x and y are given shouldn't the parent class already give an error itself?

Some notes besides the specific comments I made:

I wouldn't use or set _problem_kind or other private attributes of parent class. It's also not necessary (see my comments on code snippets please)
I am not sure about not setting a default for Optional arguments. It feels like setting sc_attr=None would make sense since it's annotated Optional.
Creating tests when it should fail and asserting the exceptions would be very useful imo

Agree, but not on default for default with Optional. I think the most standard setting is that you do use the quadratic attributes, hence would keep the defaults

Some notes besides the specific comments I made:

I wouldn't use or set _problem_kind or other private attributes of parent class. It's also not necessary (see my comments on code snippets please)
I am not sure about not setting a default for Optional arguments. It feels like setting sc_attr=None would make sense since it's annotated Optional.
Creating tests when it should fail and asserting the exceptions would be very useful imo

Agree, but not on default for default with Optional. I think the most standard setting is that you do use the quadratic attributes, hence would keep the defaults

So should we set a default for sc_attr or do you want to leave it as sc_attr: Optional[Union[str, Mapping[str, Any]]],?

Some notes besides the specific comments I made:

I wouldn't use or set _problem_kind or other private attributes of parent class. It's also not necessary (see my comments on code snippets please)
I am not sure about not setting a default for Optional arguments. It feels like setting sc_attr=None would make sense since it's annotated Optional.
Creating tests when it should fail and asserting the exceptions would be very useful imo

Makes sense, thank you! I agree we should provide some default for sc_attr if we want to annotate it as Optional. I'll add additional tests once we converge on a rationale for determining the problem type, see my comments above.

Late on the discussion, I think it makes sense that sc_attr can be None, but then if that's the case and alpha!=0 then this raises an error. Instead, if sc_attr is None, but alpha=0 then it solves correctly.
On the other way, if sc_attr is not None, but alpha=0 then the solve method should also raise an error. I believe this is the current implementation correct?

Hi all, I included all of your suggestions. In particular, @giovp, I the code now handles both cases as you expected in your last comment, and I added a test for both cases which checks for the correct exception to be raised.
Let me know if anything else is required from your sides @selmanozleyen @MUCDK.

Besides one minor comment it looks good. Thanks! I think testing the corner cases is very useful

Amazing, thanks for your review @selmanozleyen !

Plotting tests are failing unrelated to this, so I'm merging.

@Marius1311 the tests were related to the plotting, but the docs linting was not. The docs are failing due to this, do you know what could it be

sorry about that - would have fixed it now, but just saw https://github.com/theislab/moscot/pull/737

yeah np we are fixing it there. Btw there are docs errors also in the correlate method, but we'll also just fix everything there np!

authors: MUCDK Marius1311 giovp selmanozleyen

repo: theislab/moscot


text:
Automate figure generation for docs

Right now, figures for tutorials and documentation have to be manually generated when we make a release. This often leads to out of date figures, and a fair amount of pain for otherwise small style changes. It would be good if this could be part of an automatic build process.
For the sphinx docs, we could probably do this on the readthedocs servers since we have extra capacity.
For notebooks, this could take some consideration. Some notebooks deal with large data that we don't want to reprocess frequently. A good step could just be some simple scripting around automatically running the notebooks.

On the point of the notebooks... some of the tutorials should probably be updated. The analysis steps that are performed in those are quite old and would not be considered as good practice anymore. Might be worth combining this effort... (see e.g., #1338 )

@LuckyMD, I definitely agree.
I personally find it kinda hard to work with version management and updating of notebooks, as well as keeping them clean with useful prose. This makes updating tutorials a pain. A lot of this just has to do with the interface, as I find this much easier with .Rmd.
I'm thinking this could be alleviated a bit with better automation around tutorials. Namely:

Running + rendering notebooks through CI
Save tutorials in a more git friendly format, maybe through something like jupytext

It looks to me like @michalk8 has set up some more extensive CI for tutorials with notebooks. @michalk8 do you have any recommendations here? How are you finding running CI against notebooks?

You could run notebooks from Travis by just executing them with the execute API (https://nbconvert.readthedocs.io/en/latest/execute_api.html). That might take a while though of course... and not really help with the speed up you were looking for above.
On another note, updating the tutorials would be a great hackathon topic for Scanpy. We could also link my single-cell-tutorial repo on the scanpy page as it's mostly based on scanpy functionality and functionality that is being added atm.

We can probably call stuff from https://sphinx-gallery.github.io/stable/index.html

@ivirshup I find it useful, since we're still changing our API a lot, so I don't forget to update the tutorials. Our main issue is just runtime of some functions.
I'm using https://github.com/chrisjsewell/pytest-notebook, which can compare expected output of certain cells (or completely) ignore them, but it's still a very small library. I haven't gotten around pushing the updates, since I figured if the notebooks run, it's fine if there are some small discrepencies in output (like images/printed stuff) - though maybe I will update this soon.

authors: LuckyMD flying-sheep ivirshup michalk8

repo: theislab/scanpy


text:
UserWarning: Found an util with public name

Hi,
I'm using the version from the main branch scanpy==1.4.5.dev104+g1a5defb,  and got some warnings at start up:
import numpy as np
import pandas as pd
import matplotlib.pyplot as pl
from matplotlib import rcParams
import scanpy as sc
sc.settings.verbosity = 3  # verbosity: errors (0), warnings (1), info (2), hints (3)
sc.logging.print_versions()

/home/gzhang/packages/anaconda3/envs/monocle3/lib/python3.7/site-packages/scanpy/_utils.py:132: UserWarning: Found an util with public name: <function annotate_doc_types at 0x2ac365a5f200>
  warnings.warn(f"Found an util with public name: {obj}")
/home/gzhang/packages/anaconda3/envs/monocle3/lib/python3.7/site-packages/scanpy/_utils.py:132: UserWarning: Found an util with public name: <function matrix at 0x2ac36c882950>
  warnings.warn(f"Found an util with public name: {obj}")
/home/gzhang/packages/anaconda3/envs/monocle3/lib/python3.7/site-packages/scanpy/_utils.py:132: UserWarning: Found an util with public name: <function timeseries at 0x2ac36c897830>
  warnings.warn(f"Found an util with public name: {obj}")
/home/gzhang/packages/anaconda3/envs/monocle3/lib/python3.7/site-packages/scanpy/_utils.py:132: UserWarning: Found an util with public name: <function timeseries_subplot at 0x2ac36c8977a0>
  warnings.warn(f"Found an util with public name: {obj}")
/home/gzhang/packages/anaconda3/envs/monocle3/lib/python3.7/site-packages/scanpy/_utils.py:132: UserWarning: Found an util with public name: <function timeseries_as_heatmap at 0x2ac36c8978c0>
  warnings.warn(f"Found an util with public name: {obj}")

scanpy==1.4.5.dev104+g1a5defb anndata==0.6.22.post1 umap==0.3.10 numpy==1.16.4 scipy==1.3.1 pandas==0.25.0 scikit-learn==0.21.2 statsmodels==0.10.1 python-igraph==0.7.1 louvain==0.6.1

Thank you for the info, but I can’t reproduce this.

authors: flying-sheep zhangguy


text:
no version under scarches.version

Hi! It would be nice if you guys would store the scarches version under scarches.__version__ so that I can check the version from within python.

Hi @Koncopd  could you please add this?

@Koncopd  can you also fix this?

@M0hammadL yes, i forgot about this, i will fix.

fixed

authors: Koncopd LisaSikkema M0hammadL

repo: theislab/scarches


text:
Provide AssertFooN()

Right now, each assertion has two variants.  They each assert at least one message passes the relevant test, but one removes all such matches from the 'to be tested' messages and the other only removes the first.
This leaves us unable to make an assertion that we need frequently in our code: that a particular log message was not logged.
I propose adding a third variant to each assertion, called AssertFooN (e.g. AssertMessageN).  It takes an extra arg which is how many matches are expected.  If some other number of matches is found, the matcher fails.  AssertMessageN("message", 0) would then let us assert that a message was never logged.
Conceivably, the uses of AssertSomeFoo and AssertFooN overlap enough that the first one could go away, and we'd have just AssertFoo and AssertFooN.  One possible API that could help with that would be to allow AssertFooN to take -1 as the N value, meaning "all" (as in several go stdlib functions).  And AssertFooN would return how many matches it found, and you could make further assertions on that return value if you wanted to.  In particular, the assertion "retval is at least 1" would match the behavior of AssertSomeFoo.

Yeah, I was noticing that in some of my own code too.
Another one I recently hit was wanting to assert a log message as maybe being present; in my case, I have a log message that is normal in some testing environments but won't appear in all of them, and I'd like to note that it's normal and handled if present but that it's not mandatory.
I think I will opt for removing the current AssertSome mechanism, probably for one that specifies the exact number as you specify here, and another one that permits a range.

authors: csilvers thejerf

repo: thejerf/slogassert


text:
🛑 [Azure] API (registration, password resets, etc) is down

In 129276e, [Azure] API (registration, password resets, etc) (https://api.themanaworld.org/api/tmwa/server) was down:

HTTP code: 502
Response time: 534 ms

Resolved: [Azure] API (registration, password resets, etc) is back up in 26ae775.

repo: themanaworld/upptime


text:
Incorrect calculation on article revision

https://matters.canny.io/bug-reports/p/4adb39

Close it, and we'll do some tests for this issue.

repo: thematters/matters-web


text:
v0.7.0-beta.5 accidently include sharp as dependency.

[x] I have searched the Issues to see if this bug has already been reported
[x] I have tested the latest version

Steps to reproduce

install 0.7.0-beta.5

Current behavior
sharp is not working in termux without using proot or root privileges.
Expected behavior
install flowbite-react just fine.
Context
this is the context.

The suggestion here is to remove it as a dependency and add it during the vercel deployment since it is only used to optimize the documentation.

The suggestion here is to remove it as a dependency and add it during the vercel deployment since it is only used to optimize the documentation.

I agree that we need to fix this, but could be a bit tedious to do and maintain, I think we should consider splitting the website and the library into separate packages

found a temporary solution, only work using pnpm, i dont know if other package manager support this settings in package.json.
"pnpm": {
 "neverBuiltDependencies": ["sharp"]
},

this will ignore running postinstall and build for sharp, because sharp is not needed in the dependency itself.
i will not close this issue yet because the temporary solution is not a full fix for this.

Fixed in #1264

authors: BanDroid SutuSebastian rluders

repo: themesberg/flowbite-react


text:
🛑 API Website is down

In 9722371, API Website (https://api.therealzzy.xyz) was down:

HTTP code: 0
Response time: 0 ms

Resolved: API Website is back up in edcb947.


text:
Migrate Toast Component

As stated in #11
We want to migrate QR code from website into ui-js.
This aims to consolidate components in thenewboston applications (Website/Account-manager).

also try to make tests & storybook component for it. That will be part of the requirement

HI there - this issue and respective PR https://github.com/thenewboston-developers/ui-js/issues/12 has been open for the past 19 days. Following up to close and be remitted for the work done here.

repo: thenewboston-developers/ui-js


text:
Update NavigationLink.tsx reference

PR Summary
Small PR - Commit 925e28188f7ee6b39d4b133ca3e35d8f5d131f21 moved the types NavigationLink.tsx file. This PR adjusts sources to changes.

@emmanuel-ferdman
Thanks!

authors: emmanuel-ferdman theninthsky

repo: theninthsky/client-side-rendering


text:
need to be updated for day1 to day4

https://github.com/theonesp/cap_leak_index/blob/462e1bcbc23fa057aa222e9e5732d3f305d1d8ee/analysis/01_dataset_creation_comments.Rmd#L245
new created subsofa queries need to be addressed

I can't find the new sofa queries (day1 to day4), have you pushed them?

@jaychandra3 uploaded the files