v5.2.1 doesnt' connect to other node

[x] Are you running the latest version?
v5.2.1

I'm submitting a bug report
Expected Behavior
Wallet should connect with other nodes.
Current Behavior
Wallet does not connect to other nodes.
Showing block number 0, connection 0
Can't get v5.2.1 to work. Previous v4.0.2a worked fine.
Screenshots
Possible Solution
Is there any DNS seed available?
Steps to Reproduce (for bugs)

Steps :

run verge v4.0.2a
stop old verge
Compile latest Verge
run Verge
block number showing 0, connection 0

Your Environment
Ubuntu

Verge Release: v5.2.1
CPU: intel 8core
GPU:
RAM: 16g
OS: I'm using Linux (ubuntu)

Any extra information that might be useful in the debugging process.
Maybe -reindex is needed for migrating from v4 to v5?
2019-07-12T04:14:55Z Verge Lumos version v<IP_ADDRESS> (release build)
2019-07-12T04:14:55Z InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1
2019-07-12T04:14:55Z Assuming ancestors of block c766387a2e0cd6af995ea432518614824fe313e988598ea8b26f58efb99ebcdc have valid signatures.
2019-07-12T04:14:55Z Setting nMinimumChainWork=000000000000000000000000000000000000000000000000000000222e000001
2019-07-12T04:14:55Z ParameterInteraction: Using algo: scrypt 0
2019-07-12T04:14:55Z Using the 'sse4(1way+4way),avx2(8way)' SHA256 implementation
2019-07-12T04:14:55Z Using RdRand as an additional entropy source
2019-07-12T04:14:55Z Default data directory /home/ubuntu/.VERGE
2019-07-12T04:14:55Z Using data directory /home/ubuntu/.VERGE
2019-07-12T04:14:55Z Using config file /home/ubuntu/.VERGE/VERGE.conf
2019-07-12T04:14:55Z Using at most 125 automatic connections (1048576 file descriptors available)
2019-07-12T04:14:55Z Using 16 MiB out of 32/2 requested for signature cache, able to store 524288 elements
2019-07-12T04:14:55Z Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements
2019-07-12T04:14:55Z Using 8 threads for script verification
2019-07-12T04:14:55Z scheduler thread start
2019-07-12T04:14:55Z HTTP: creating work queue of depth 16
2019-07-12T04:14:55Z No rpcpassword set - using random cookie authentication
2019-07-12T04:14:55Z Generated RPC authentication cookie /home/ubuntu/.VERGE/.cookie
2019-07-12T04:14:55Z HTTP: starting 4 worker threads
2019-07-12T04:14:55Z Using wallet directory /home/ubuntu/.VERGE
2019-07-12T04:14:55Z init message: Verifying wallet(s)...
2019-07-12T04:14:55Z Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2019-07-12T04:14:55Z Using wallet wallet.dat
2019-07-12T04:14:55Z BerkeleyEnvironment::Open: LogDir=/home/ubuntu/.VERGE/database ErrorFile=/home/ubuntu/.VERGE/db.log
2019-07-12T04:15:04Z Tor Successfully bound ...
2019-07-12T04:15:04Z torcontroller thread start
2019-07-12T04:15:04Z Cache configuration:
2019-07-12T04:15:05Z * Using 2.0MiB for block index database
2019-07-12T04:15:05Z * Using 8.0MiB for chain state database
2019-07-12T04:15:05Z * Using 440.0MiB for in-memory UTXO set (plus up to 286.1MiB of unused mempool space)
2019-07-12T04:15:05Z init message: Loading block index...
2019-07-12T04:15:05Z Opening LevelDB in /home/ubuntu/.VERGE/blocks/index
2019-07-12T04:15:05Z Opened LevelDB successfully
2019-07-12T04:15:05Z Using obfuscation key for /home/ubuntu/.VERGE/blocks/index:<PHONE_NUMBER>000000
2019-07-12T04:15:05Z LoadBlockIndexDB: last block file = 0
2019-07-12T04:15:05Z LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=0, size=0, heights=0...0, time=1970-01-01...1970-01-01)
2019-07-12T04:15:05Z Checking all blk files are present...
2019-07-12T04:15:05Z Initializing databases...
2019-07-12T04:15:05Z Pre-allocating up to position 0x1000000 in blk00000.dat
2019-07-12T04:15:05Z Opening LevelDB in /home/ubuntu/.VERGE/chainstate
2019-07-12T04:15:05Z Opened LevelDB successfully
2019-07-12T04:15:05Z Wrote new obfuscate key for /home/ubuntu/.VERGE/chainstate: 44789db77727801f
2019-07-12T04:15:05Z Using obfuscation key for /home/ubuntu/.VERGE/chainstate: 44789db77727801f
2019-07-12T04:15:05Z init message: Rewinding blocks...
2019-07-12T04:15:05Z  block index              22ms
2019-07-12T04:15:05Z init message: Loading wallet...
2019-07-12T04:15:48Z nFileVersion = 4000200
2019-07-12T04:15:48Z Keys: 202163 plaintext, 0 encrypted, 0 w/ metadata, 202163 total. Unknown wallet records: 3
2019-07-12T04:15:48Z  wallet                43400ms
2019-07-12T04:15:49Z keypool added 899 keys (0 internal), size=1000 (0 internal)
2019-07-12T04:15:49Z setKeyPool.size() = 1000
2019-07-12T04:15:49Z mapWallet.size() = 351027
2019-07-12T04:15:49Z mapAddressBook.size() = 2
2019-07-12T04:15:49Z UpdateTip: new best=00000fc63692467faeb20cdb3b53200dc601d75bdfa1001463304cc790d77278 height=0 version=0x00000001 log2_work=37.095067 tx=1 date='2014-10-09T18:22:44Z' progress=0.000000 cache=0.0MiB(0txo)
2019-07-12T04:15:49Z Failed to open mempool file from disk. Continuing anyway.
2019-07-12T04:15:49Z mapBlockIndex.size() = 1
2019-07-12T04:15:49Z nBestHeight = 0
2019-07-12T04:15:49Z torcontrol thread start
2019-07-12T04:15:49Z FindStealthTransactions() tx: 1c83275d9151711eec3aec37d829837cc3c2730b2bdfd00ec5e8e5dce675fd00
2019-07-12T04:15:49Z Bound to [::]:21102
2019-07-12T04:15:49Z Bound to <IP_ADDRESS>:21102
2019-07-12T04:15:49Z init message: Loading P2P addresses...
2019-07-12T04:15:49Z tor: Got service ID kikndssevch5rfd2r2lz77sv5umvkith2jellpzxbzaizuabr5kwzoyd, advertising service kikndssevch5rfd2r2lz77sv5umvkith2jellpzxbzaizuabr5kwzoyd.onion:21102
2019-07-12T04:15:49Z AddLocal(kikndssevch5rfd2r2lz77sv5umvkith2jellpzxbzaizuabr5kwzoyd.onion:21102,4)
2019-07-12T04:15:49Z ERROR: DeserializeDB: Deserialize or I/O error - CAutoFile::read: end of file: iostream error
2019-07-12T04:15:49Z Invalid or missing peers.dat; recreating
2019-07-12T04:15:49Z init message: Loading banlist...
2019-07-12T04:15:49Z ERROR: DeserializeFileDB: Failed to open file /home/ubuntu/.VERGE/banlist.dat
2019-07-12T04:15:49Z Invalid or missing banlist.dat; recreating
2019-07-12T04:15:49Z init message: Starting network threads...
2019-07-12T04:15:49Z net thread start
2019-07-12T04:15:49Z opencon thread start
2019-07-12T04:15:49Z init message: Done loading
2019-07-12T04:15:49Z dnsseed thread start
2019-07-12T04:15:49Z addcon thread start
2019-07-12T04:15:49Z Loading addresses from DNS seeds (could take a while)
2019-07-12T04:15:49Z msghand thread start
2019-07-12T04:15:49Z 0 addresses found from DNS seeds
2019-07-12T04:15:49Z dnsseed thread exit
2019-07-12T04:16:00Z Socks5() connect to lhvnwvqdlxxyotdmfej45jgphupxob5fci4hjxvw2ui75e24tjssl2id.onion:21102 failed: host unreachable
2019-07-12T04:16:09Z Socks5() connect to n7rk4xqurrvedhhghkkvz2pmxalgmoviokgjiwjgcvpcxa6piym5m2ad.onion:21102 failed: host unreachable
2019-07-12T04:16:18Z Socks5() connect to amafdqgkmtbkld45kaal5cwwfbrsgnimw77gawwltsaklgxxlubjvhid.onion:21102 failed: host unreachable
2019-07-12T04:16:59Z Adding fixed seed nodes as DNS doesn't seem to be available.
2019-07-12T04:20:17Z ERROR: Error while reading proxy response
2019-07-12T04:20:17Z RemoveLocal(kikndssevch5rfd2r2lz77sv5umvkith2jellpzxbzaizuabr5kwzoyd.onion:21102)
2019-07-12T04:20:17Z torcontroller thread exit
2019-07-12T04:20:17Z tor: Thread interrupt
2019-07-12T04:20:17Z Tor Controller thread exited.
2019-07-12T04:20:17Z torcontrol thread exit
2019-07-12T04:20:17Z addcon thread exit
2019-07-12T04:20:17Z Shutdown: In progress...
2019-07-12T04:20:17Z opencon thread exit
2019-07-12T04:20:17Z net thread exit
2019-07-12T04:20:17Z msghand thread exit
2019-07-12T04:20:20Z Tor Controller thread exited.
2019-07-12T04:20:20Z scheduler thread interrupt
2019-07-12T04:20:20Z Dumped mempool: 2e-06s to copy, 0.002039s to dump
2019-07-12T04:20:25Z Shutdown: done

For some special conditions tor didn't start for you. That's not that handy.
Well could you also upload the tor.log file in addition? It's under ~/.VERGE/tor/tor.log
Workaround: start verge with -without-tor

all of sudden yesterday all my v5 daemons lost connections
now debug.log full of
2019-08-02T04:03:21Z socket recv error Connection reset by peer (104)
2019-08-02T04:03:22Z socket recv error Connection reset by peer (104)
2019-08-02T04:03:25Z socket recv error Connection reset by peer (104)
2019-08-02T04:03:25Z socket recv error Connection reset by peer (104)
2019-08-02T04:03:28Z socket recv error Connection reset by peer (104)
2019-08-02T04:03:28Z socket recv error Connection reset by peer (104)
2019-08-02T04:03:33Z socket recv error Connection reset by peer (104)
2019-08-02T04:03:33Z socket recv error Connection reset by peer (104)
which means network is refusing v5 nodes

@miningpoolhub ?


Dolphin release candidate testing - EXO Product Assessment Sanity Testing

💡 Summary
In preparation of releasing the Dolphin or v0.3.0 of ScubaGear code, conduct sanity testing of the EXO product. Objective and Scope of the task are provided below.
Objectives:

There are no regression issues in the EXO product assessments with Dolphin Release
Additional sanity testing to ensure that: each policy assessment result is shown in the report, assessment works against all available tenants (G5/E5, G3/E3)
EXO product assessment works both in interactive and non-interactive (service principal) modes.

Scope:

Detailed functional testing of each policy statement result is out of scope
Consistent results between interactive/non-interactive modes and no operational issues in running the test against all tenant types are within the scope.

Motivation and context
This would be useful to ensure that Dolphin release is stable
Implementation notes
Before the test, ensure that test user has minimum user role on a given tenant to assess EXO (look into README). Then, execute the EXO product assessment on all available tenants – first in interactive mode and then in non-interactive mode. After the test verify the following:

Verify that all tests run without errors and results reports are generated. Each policy has a result (no empty results)
Ensure that there are no regressions from Coral release – for the tested tenant compare the result report from current assessment against saved Coral release results - ensure that any different result is consistent with code change (provide a detailed explanation on any observed diff in results)

Acceptance criteria

EXO product assessment works in both interactive and non-interactive mode against G5, E5, G3 and E3 tenants.
There are no crashes and/or empty results
Results are consistent with Coral release assessment results - any diff is consistent with code changes (viz. support for conditional access policies)

Testing performed:

Tested against a G5 tenant. All products run (Invoke-Scuba)
Tested against a E5 tenant. All products run (Invoke-Scuba)
Tested against a G3 tenant. All products run (Invoke-Scuba)
Tested EXO in isolation (Invoke-SCuBA -ProductNames exo)
Tested as a non-admin user
Tested with a service principal

Issues found:

https://github.com/cisagov/ScubaGear/issues/214


feat(CdkSort): Creation of a module

Feature Description
A CdkSort module as an unopinionated version of MatSort.
Use Case
Possibility of customize the icons (like requested in https://github.com/angular/components/issues/16560) and others.
PS: As answered by @jelbourn, you already have plans to do this, but as I couldn't find any issue for this feature, I decided to create it to make sure it’s on you feature track :)

Yeah, this is in our backlog (which we have in a jira, but can keep this open on here for comments)


implement the nuv docker setup

Implmenent within olaris the tasks to install nuv in docker with kind.
It should work with a series of task invoked as nuv docker setup that will:

deploy a kind cluster with the appropriate configuration (check the init.sh in github.com/nuvolaris/nuvolaris)
setup nuvolaris (check the tasks permission operator instance test in nuvolaris-operator)

PS we will add later a compatibilty layer with nuv 0.2 if needed , for now I expect a nuv docker setup
also note that I expect to generate configuration files using ytt

implementes


[$250] Payment for Bug Report:  #18891

#18891

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d23d5c6de6cb52a7
Upwork Job ID:<PHONE_NUMBER>547250688
Last Price Increase: 2024-03-25

@ayazhussain79 pls apply to job in Upwork thanks

@laurenreidexpensify Applied, Thank you

Offer sent, once that's accepted will issue payment 👍

Offer accepted, Thank you

Payment Summary:
Bug Reporter Paid $250 in upwork @ayazhussain79 - issue predates closure of bug reporting bonus scheme


Update Developer Guide

Update Developer Guide under Appendix: Requirements.
Refer to AB3 Developer Guide for skeleton details.
Close #22

Nice work! :)


Template Support

Hi Alex,
You may be doing this for learning reasons of your own, but I wanted to make sure you were aware that the html-webpack-plugin supports custom templates, so you can just give it the exact markup you prefer:
https://github.com/ampedandwired/html-webpack-plugin#writing-your-own-templates
-Sean

Hi Sean,
the reason I made this was to exclude the style.js file, generated by the extract-text-webpack-plugin plugin for some reason, since it serves absolutely no function.
I simply wanted to prevent an extra / unnecessary http request.
It looks like I'm not the only one with this issue: issue.
Greetings,
Alex


Set the org.gradle.dependency.bundling attribute to external

This fixes the failures on the PR https://github.com/detekt/detekt/pull/3727/ such as:
    > Could not resolve all files for configuration ':child1:detekt'.
       > Could not resolve io.gitlab.arturbosch.detekt:detekt-cli:1.17.0-RC2.
         Required by:
             project :child1
          > Cannot choose between the following variants of io.gitlab.arturbosch.detekt:detekt-cli:1.17.0-RC2:
              - runtimeElements
              - shadowRuntimeElements
            All of them match the consumer attributes:
              - Variant 'runtimeElements' capability io.gitlab.arturbosch.detekt:detekt-cli:1.17.0-RC2:
                  - Unmatched attributes:
                      - Provides org.gradle.category 'library' but the consumer didn't ask for it
                      - Provides org.gradle.dependency.bundling 'external' but the consumer didn't ask for it
                      - Provides org.gradle.jvm.version '8' but the consumer didn't ask for it
                      - Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
                      - Provides org.gradle.status 'release' but the consumer didn't ask for it
                      - Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
                      - Provides org.jetbrains.kotlin.localToProject 'public' but the consumer didn't ask for it
                      - Provides org.jetbrains.kotlin.platform.type 'jvm' but the consumer didn't ask for it
              - Variant 'shadowRuntimeElements' capability io.gitlab.arturbosch.detekt:detekt-cli:1.17.0-RC2:
                  - Unmatched attributes:
                      - Provides org.gradle.category 'library' but the consumer didn't ask for it
                      - Provides org.gradle.dependency.bundling 'shadowed' but the consumer didn't ask for it
                      - Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
                      - Provides org.gradle.status 'release' but the consumer didn't ask for it
                      - Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
                      -

Do you know why this issue came up?
It seems like something to fix on the publishing side, by only publishing the shadow variant (or non-shadow which I believe is what is resolved in current versions).

I opened #3743 so my comment will be addressed.


Morning-session peer to peer code

Suggested changes to consider by the team:
Use responsive values as porcentaje or vw to make the page responsive to diferent mobile screen sizes.

Use responsive values as porcentaje to make the page responsive to different mobile screen sizes.


Concise way to depend on scripts in child and dependency workspaces

[1] Run <script> in all of my workspaces (parent → child).
With Wireit, you can already just do npm run build -ws to run a given script in all workspaces, which is the standard npm workspaces approach. However it's not fully optimal, because npm doesn't parallelize. So we will also support a syntax like this:
{
  "name": "root",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        {
          "script": "build",
          "packages": "workspaces"
        }
      ]
    }
  },
  "workspaces": [
    "packages/foo",
    "packages/bar"
  ]
}

Which is equivalent to:
{
  "name": "root",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": {
        [
          "./packages/foo:build",
          "./packages/bar:build"
        ]
      }
    }
  }
}

[2] Run <script> in all of my dependencies (child → siblings).
Related, it is often useful to run some script in all of the current packages dependencies (where those dependencies are workspaces contained by the same workspace root).
{
  "name": "foo",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        {
          "script": "build",
          "packages": "dependencies"
        }
      ]
    }
  },
  "dependencies": {
    "bar",
    "baz"
  }
}

Which is equivalent to:
{
  "name": "foo",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        "../bar:build",
        "../baz:build"
      ]
    }
  }
}

I'm faking this in the interim by adding this to the root package.json
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        "./packages/core:build",
        "./packages/preact:build"
      ]
    }
  },

where core and preact are the folder names of my local packages.  Now I can, e.g. yarn run build watch and have all my packages transitively watched without running into serial blocking issues.

IMO, I hope it can be set like turborepo's dependsOn.

What would "^build" in a dependency mean?

It's a topological dependency.
The explanation is well described in turborepo link.

Just to clarify, there are two related operations related to this space (originally this issue was just discussing [1], but I think it's helpful to discuss both together).
[1] Run <script> in all of my workspaces (parent → child).
In Turborepo, I believe [1] just happens automatically, so if you run turbo run build from your root, it will run build in all workspaces.
With Wireit, you can already just do npm run build -ws to achieve this, which is the standard npm workspaces approach. However it's not fully optimal, because npm doesn't parallelize. So we will also support a syntax like this:
{
  "name": "root",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        {
          "script": "build",
          "packages": "workspaces"
        }
      ]
    }
  },
  "workspaces": [
    "packages/foo",
    "packages/bar"
  ]
}

Which is equivalent to:
{
  "name": "root",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": {
        [
          "packages/foo:build",
          "packages/bar:build"
        ]
      }
    }
  }
}

[2] Run <script> in all of my dependencies (child → siblings).
This is what the ^build syntax in Turborepo does.
In Wireit I think we should support it with a similar explicit syntax to [1]:
{
  "name": "foo",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        {
          "script": "build",
          "packages": "dependencies"
        }
      ]
    }
  },
  "dependencies": {
    "bar",
    "baz"
  }
}

Which is equivalent to:
{
  "name": "foo",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        "../bar:build",
        "../baz:build"
      ]
    }
  }
}

Mild bikeshedding, but dependencies can have both modules in your control (my-other-package, perhaps populated with a symlink by yarn link my-other-package) and ones downloaded from npm (e.g. tslib).  Curious to see how you handle that.
Would "packages": "dependencies" only follow symlinks?

Mild bikeshedding, but dependencies can have both modules in your control (my-other-package, perhaps populated with a symlink by yarn link my-other-package) and ones downloaded from npm (e.g. tslib). Curious to see how you handle that.
Would "packages": "dependencies" only follow symlinks?

Great question! I think there is indeed an important distinction between workspace sibling dependencies, and npm link'd packages. I think we only want to include the former.
I think the right solution is probably to find your workspace root, grab the set of all workspaces, and then filter them by the dependencies of the starting package. Or in other words, it's the intersection of your dependencies and your workspace siblings.

My first suggestion was that I would like to be implicit syntax at workspace level.
{
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        {
          "script": "build",
          "workspaces": true
        }
      ]
    }
  },
  "workspaces": [
    "packages/foo",
    "packages/bar"
  ]
}

to
{
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
    }
  },
  "workspaces": [
    "packages/foo",
    "packages/bar"
  ]
}

The explicit syntax is easy to implement and may have advantages in the performance, but it becomes too complicated.
For example, if you convert the first proposal to an explicit syntax,
{
  "scripts": {
    "build": "wireit",
    "lint": "wireit",
    "test": "wiret",
    "test:all": "wiret"
  },
  "wireit": {
    "build": {
      "dependencies": ["^build"]
    },
    "lint": {
     },
    "test": {
     "dependencies": ["build"]
    },
    "test:all": {
      "dependencies": ["lint", "test"]
    }
  },
  "workspaces": [
    "packages/foo",
    "packages/bar"
  ]
}

It is inconvenient because it is too long and needs to set various files.
I think it is good to dependencies build at the top level in terms of cohesion.
{
  "scripts": {
    "build": "wireit",
    "lint": "wireit",
    "test": "wiret",
    "test:all": "wiret"
  },
  "wireit": {
    "build":  {
      "dependencies": [
        {
          "script": "build",
          "packages": "workspaces"
        }
      ]
    },
    "lint": {
      "dependencies": [
        {
          "script": "lint",
          "packages": "workspaces"
        }
      ]
     },
    "test": {
      "dependencies": [
        "build",
        {
          "script": "test",
          "packages": "workspaces"
        }
      ]
    },
    "test:all": {
      "dependencies": ["lint", "test"]
    }
  },
  "workspaces": [
    "packages/foo",
    "packages/bar"
  ]
}

{
  "name": "foo",
  "scripts": {
    "build": "wireit"
  },
  "wireit": {
    "build": {
      "dependencies": [
        {
          "script": "build",
          "packages": "dependencies"
        }
      ]
    }
  },
  "dependencies": {
    "bar",
    "baz"
  }
}

Maybe I misunderstood the scope of this feature, but I'd be expecting globs in the workspaces and dependencies fields, as I would value e.g. having different tasks for my apps vs packages, or maybe different text matches in package names. For example my current need is something like this...
{
  "wireit":{
    "test":{
      "dependencies":[
        "test:*"
      ],
    },
    "test:apps":{
       "dependencies":[
         {
           "script:"test",
           "workspaces":"apps/*"
         }
       ]
    },
    "test:packages":{
       "dependencies":[
         "test:packages:store",
         "test:packages:queue",
       ]
    },
    "test:packages:store":{
       "dependencies":[
         {
           "script:"test",
           "workspaces":"packages/store*"
         }
       ]
    },
    "test:packages:queue":{
       "dependencies":[
         {
           "script:"test",
           "workspaces":"packages/queue*"
         }
       ]
    },
  }
}

Currently I'm having to automate the composition of an array like this which is pretty unpleasant compared to being able to glob it based on an assumed-consistent structure...
{
  "wireit": {
    "test": {
      "dependencies": [
        "./apps/counter-react-ts:test",
        "./packages/queue:test",
        "./packages/store:test",
        "./packages/store-edit:test",
        "./packages/store-follow:test",
        "./packages/store-react:test"
      ]
    }
  }
}

is it possible to have glob on dependencies
for example
...

Maybe this could be complicated, if not all packages from packages/* are dependencies for the script.
E.g. package lib2 depends on lib3, lib4 and lib5
"workspaces": [
    "packages\\libs\\lib1",
    "packages\\libs\\lib2",
    "packages\\libs\\lib3",
    "packages\\libs\\lib4",
    "packages\\libs\\lib5",
   ...
  ]

{
  "name": "lib2",
  "dependencies": {
    "lib3": "*",
    "lib4": "*",
    "lib5": "*"
  },
  ...
  "wireit": {
    "test": {
      "dependencies": [
        "./packages/libs/*:build"
      ]
    }
  }
}

then we would have something like
"wireit": {
    "test": {
      "dependencies": [
        "./packages/libs/*(lib3|lib4|lib5):build"

        or

        "./packages/libs/!(lib1|lib2):build"
      ]
    }
  }

If all dependencies should be listed implicitly, I like the suggestion of #491

#491 Maybe we could introduce a "command" like wireit detect-dependencies...

is it possible to have glob on dependencies for example
{
  "wireit": {
    "test": {
      "dependencies": [
        "./packages/*:test"
      ]
    }
  }
}

I think this will make it less magic and easier to understand

I think this would be really nice. I was just looking through the docs to see if you could do this. I was just looking to see if this is something I could do quickly. It avoids a lot of API design and sticks with the original syntax.

@aomarks I'd be interested in implementing this! Any advice or concerns before make an attempt?


Air native extension

Hi
Would you please develop an air native extension for in-app billing applications which are made by air 26+ .

Sorry but this is out of scope of this project.


[AutoPR security/resource-manager] Assessment metadata API (Azure Security Center)

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

(message created by the CI based on PR content)


Drop the "PHONY" target for website in makefile

List all the inputs (and at least one of the outputs) in the makefile for the website so that part gets skipped when no inputs have changed.

#128 Closes


Implement profile page for the settings dialog

Already implemented

But the avatar components should still be merged into main or are there some new plans?

But the avatar components should still be merged into main or are there some new plans?

Of course :D


Raspberry Pi3

Can i use a "Raspberry Pi3B+" with your Pi3 Image in the hypharos_minibot project,I'm a beginner so I dont konw the exact difference between Pi3 and Pi3B+.thx for your help.

Hi
Based on my understanding, the kernel drivers of Pi3 B+ is a bit different to Pi3 B.
So I am afraid that you can not use our image on Pi3 B+ directly.


Convert argument of SpreadElement correctly to assignable

Q
A

Bug fix?
yes

Breaking change?
no

New feature?
n

Deprecations?
n

Spec compliancy?
y

Tests added/pass?
yes

Fixed tickets
Fixes #512

License
MIT

CI should have failed with flow errors (#517), not sure why it is working on CI. Need to investigate.


Problems with dnsmasq and dnscrypt-proxy, request times out

Hello,
I have tried to setup dnscrypt-proxy with dnsmasq as dns cache. But I don't get a reply for a DNS request. It seems like the forwarding does from dnscrypt to dnsmasq does not work and sometimes dnscrypt does not work. With tcpdump I can see requests to the dnscrypt server, but I just get 'reset' packages back?! And I can see that dnsmasq gets the dns requests but there is no forward from dnscrypt to dnsmasq.
Here is my configuration:
/etc/dnsmasq.conf
proxy-dnssec
no-resolv
server=<IP_ADDRESS>#40
listen-address=<IP_ADDRESS>

/etc/systemd/system/dnscrypt-proxy.service
# /usr/lib/systemd/system/dnscrypt-proxy.service
[Unit]
Description=DNSCrypt client proxy
Documentation=man:dnscrypt-proxy(8)
Requires=dnscrypt-proxy.socket
After=network.target
Before=nss-lookup.target

[Install]
Also=dnscrypt-proxy.socket
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true

# Fill in the resolver name with one from dnscrypt-resolvers.csv file
# It is also recommended to create a dedicated system user, for example _dnscrypt
# Additional features, such as ephemeral keys and plugins, can be enabled here as well
ExecStart=/usr/bin/dnscrypt-proxy \
          --resolver-name=<resolver name> \
          --user=<user name to run the service as>

# /etc/systemd/system/dnscrypt-proxy.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dnscrypt-proxy \
          --resolver-name=dnscrypt.eu-nl\
          --user=chris

/etc/systemd/systemd/dnscrypt-proxy.socket

# /usr/lib/systemd/system/dnscrypt-proxy.socket
[Unit]
Description=dnscrypt-proxy listening socket

[Socket]
ListenStream=<IP_ADDRESS>:53
ListenDatagram=<IP_ADDRESS>:53

[Install]
WantedBy=sockets.target

# /etc/systemd/system/dnscrypt-proxy.socket.d/override.conf
[Socket]
ListenStream=
ListenDatagram=
ListenStream=<IP_ADDRESS>:40
ListenDatagram=<IP_ADDRESS>:40

systemctl status dnscrypt-proxy:
● dnscrypt-proxy.service - DNSCrypt client proxy
   Loaded: loaded (/usr/lib/systemd/system/dnscrypt-proxy.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/dnscrypt-proxy.service.d
           └─override.conf
   Active: active (running) since Sun 2016-09-25 17:28:34 CEST; 7h ago
     Docs: man:dnscrypt-proxy(8)
 Main PID: 509 (dnscrypt-proxy)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/dnscrypt-proxy.service
           └─509 /usr/bin/dnscrypt-proxy --resolver-name=dnscrypt.eu-nl --user=chris

Sep 25 23:33:45 motoko dnscrypt-proxy[509]: [INFO] Refetching server certificates
Sep 25 23:33:45 motoko dnscrypt-proxy[509]: [INFO] Server certificate with serial '0001' received
Sep 25 23:33:45 motoko dnscrypt-proxy[509]: [INFO] This certificate is valid
Sep 25 23:33:45 motoko dnscrypt-proxy[509]: [INFO] Chosen certificate #808464433 is valid from [2016-09-08] to [2017-09-08]
Sep 25 23:33:45 motoko dnscrypt-proxy[509]: [INFO] Server key fingerprint is 72DF:BE14:531F:F2AD:FD0F:BC8B:F711:B93D:799F:E4D0:34EC:D26B:8BF9:FFA9:32E7:2B79
Sep 26 00:34:36 motoko dnscrypt-proxy[509]: [INFO] Refetching server certificates
Sep 26 00:34:36 motoko dnscrypt-proxy[509]: [INFO] Server certificate with serial '0001' received
Sep 26 00:34:36 motoko dnscrypt-proxy[509]: [INFO] This certificate is valid
Sep 26 00:34:36 motoko dnscrypt-proxy[509]: [INFO] Chosen certificate #808464433 is valid from [2016-09-08] to [2017-09-08]
Sep 26 00:34:36 motoko dnscrypt-proxy[509]: [INFO] Server key fingerprint is 72DF:BE14:531F:F2AD:FD0F:BC8B:F711:B93D:799F:E4D0:34EC:D26B:8BF9:FFA9:32E7:2B79

systemctl status dnsmasq.service
● dnsmasq.service - A lightweight DHCP and caching DNS server
   Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2016-09-26 00:51:26 CEST; 15min ago
     Docs: man:dnsmasq(8)
 Main PID: 20595 (dnsmasq)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/dnsmasq.service
           └─20595 /usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file

Sep 26 00:51:26 motoko systemd[1]: Starting A lightweight DHCP and caching DNS server...
Sep 26 00:51:26 motoko dnsmasq[20593]: dnsmasq: syntax check OK.
Sep 26 00:51:26 motoko dnsmasq[20595]: started, version 2.76 cachesize 150
Sep 26 00:51:26 motoko dnsmasq[20595]: compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify
Sep 26 00:51:26 motoko dnsmasq[20595]: DBus support enabled: connected to system bus
Sep 26 00:51:26 motoko dnsmasq[20595]: using nameserver <IP_ADDRESS>#40
Sep 26 00:51:26 motoko systemd[1]: Started A lightweight DHCP and caching DNS server.
Sep 26 00:51:26 motoko dnsmasq[20595]: read /etc/hosts - 11843 addresses

Does it work if you directly send the queries to the dnscrypt proxy?
$ hostip -r <IP_ADDRESS>:40 example.com

I'm not familiar with dnsmasq, but it looks like the following is required in dnsmasq.conf to properly forward signed responses:
conf-file=/usr/share/dnsmasq/trust-anchors.conf
dnssec

Hello @jedisct1
I have tried it today again. And I don't know why but it seems like it's working now. I haven't changed anything..
How can I check if dnscrypt is really working? I did a dnsleak and that gave me the right dns-server back.
I think this looks fine now..
04:17:32.792678 IP motoko.38731 > resolver2.dnscrypt.eu.https: UDP, length 512
04:17:32.848068 IP motoko.38731 > resolver2.dnscrypt.eu.https: UDP, length 512
04:17:32.848849 IP motoko.38731 > resolver2.dnscrypt.eu.https: UDP, length 512
04:17:32.904585 IP motoko.38731 > resolver2.dnscrypt.eu.https: UDP, length 512
04:17:32.907033 IP motoko.38731 > resolver2.dnscrypt.eu.https: UDP, length 512

But I have one strange thing. When i try to capture traffic with wireshark and capture filter dns I get nothing. Is this normal? As far as I can see it should be, because dnscrypt seems to speak with the dns-server over port 443...  But normally I should see at least the traffic on the loopback device or am I wrong?

Looks good!
You can resolve resolver.dnscrypt.org to confirm the IP address of the resolver being used:
hostip resolver.dnscrypt.org

Or you can stop the proxy, and if you can't resolve anything any more, it means that you were using it :)
You should certainly see outgoing traffic. Try different host names (so they are not cached by dnsmasq) and make sure that you are looking at the external interface.

Thanks. hostip gives me the right IP-Adress. But I still don't see any DNS traffic with wireshark. Even when I try absolutly new hostnames that can't be in the cache.. But when I check the traffic to the resolver I can see 'malformed packets' so this should work now. But still weird that I can't see any DNS traffic...
I guess it's because dnscrypt uses port 433 not 53.

Hello,
OK. Sorry. I didn't check the IP that I got from hostip. Why do I get <IP_ADDRESS> as answer for resolver.dnscrypt.org? The IP refers to Google. seems like hostip uses the google DNS server as default oO. It's the only tool where I can log dns requests with wireshark. When I do for example: dig resolver.dnscrypt.org everything is fine. Or when I try something like: ping domain-that-is-definitly-not-in-cache.com I also don't get dns request/replies in wireshark.

My bad, hostip uses Google resolvers by default. You need to add -r <IP_ADDRESS> in order to send the query to localhost :)

Yeah, I know. It's everything fine now.
I did it totally different. I am using systemd-resolved as DNS stub resolver now. It's working fine! No need for dnsmasq anymore. In Case you are interested in my setup: https://wiki.archlinux.org/index.php/DNSCrypt#Example:_configuration_for_systemd-resolved

Glad to hear that everything's working now!

I think this is still an issue, I am using dnscrypt-proxy 1.9.4 and dnsmasq 2.76.
dnscrypt-proxy alone works OK
dnscrypt-proxy with systemd-resolved works OK
But with dnsmasq, dnsmasq times out.
dnsmasq log show something like this:

server <IP_ADDRESS>#53: queries sent 9, retried or failed 2

If I put a remote resolver like <IP_ADDRESS> in dnsmasq config, dnsmasq resolves but using <IP_ADDRESS> not the dnscrypt-proxy one.
I've tried the tcp only switch on dnscrypt-proxy, it didn't help.
Is this related to the issue #587 ?


Linking tags

This patch implements support for importing and exporting tags in the virtual machine. As a consequence tags are now unique to their origin instance, meaning that two different instantiations of the same module yields distinct tags.
The runtime representation of a tag has changed from an u32 to a usize (or native pointer). The identity of a tag is given by its address in the vmcontext.
Resolves https://github.com/wasmfx/wasmfxtime/issues/25.

I haven't implemented the proper runtime representation of tags in the baseline implementation yet. I am planning to defer that to a separate patch.


GRPC failure: "message": "codespace sdk code 18: invalid request: failed to load state at height 153

What is happening?

Section description
Provide as much context as you can. Give as much context as you can to make it easier for the developers to figure what is happening.

grpc query error on Cosmos SDK v.047.71 upgrade from Cosmos SDK v0.45.13 when running the test script: https://hackmd.io/@aleem/r1N5FILf3
"message": "codespace sdk code 18: invalid request: failed to load state at height 153; version does not exist (latest height: 153)",
How to reproduce?

Section description
Please write detailed steps of what you were doing for this bug to appear.

Run grpc query:
palomad q staking validators
or
curl http://<IP_ADDRESS>/cosmos/staking/v1beta1/validators
What is the expected behaviour?

Section description
If you know, please write down what is the expected behaviour. If you don't know, that's ok. We can have a discussion in comments.

Grpc queries return results.

Confirmed all queries fail except palomad query blocks

https://github.com/palomachain/paloma/blob/7df1e6a7abe43d775e435c1a7ad98e4acb02a72b/app/upgrades.go#L161
Is this correct?
Cause the cosmos-sdk/x/consensus module still uses the "consensus" store key. Do we have to add it to the added keys?

https://github.com/palomachain/paloma/blob/7df1e6a7abe43d775e435c1a7ad98e4acb02a72b/app/upgrades.go#L161
Is this correct?
Cause the cosmos-sdk/x/consensus module still uses the "consensus" store key. Do we have to add it to the added keys?

I'm not sure. Given that we've restarted a fresh network without upgrades, we think the UpgradeHandler is NOT the issue as we are unable to successfully query state without an upgrade. However, to your question, I am not sure it's correct given the premise that the consensus module uses the "consensus" store key.

@0xmuralik & @aleem1314 What's next for us here?

@0xmuralik & @aleem1314 What's next for us here?

I'll get started on https://github.com/palomachain/paloma/issues/795


HdrHistogram  using too much memory

My Appliaction services use CircuitBreaker to communicate with background services. But I found that every time I Instantiate a different HystrixCommand, it consumed tens of mb of memory.I have hundreds of  HystrixCommand in my Appliaction. I think it will cause the "out of memory" problem. How can't I Avoid this situation?

@Lightgogogo : Thanks for reporting .. we fixed this in 2.2 of Steeltoe


Bug: In No Bare URLs, Percent-Encoding in URLs to be formatted incorrectly.

[X] I have verified that I am on the latest version of the Linter

Version: 1.23.1
Describe the Bug
The percent sign is a legal charater in URI, but after formatting, the percent sign is placed outside of the Angle brackets.

A percent-encoding mechanism is used to represent a data octet in a
component when that octet's corresponding character is outside the
allowed set or is being used as a delimiter of, or within, the
component. [^1]

[^1]: RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax: https://datatracker.ietf.org/doc/html/rfc3986#section-2.1
How to Reproduce
Enable No Bare URLs.
Original sentence
https://zh.wikipedia.org/wiki/%E5%85%AC%E5%8E%86
https://baike.baidu.com/item/%E7%99%BE%E7%A7%91
https://www.google.com/search?q=%E7%A9%BA%E6%A0%BC
https://cn.bing.com/search?pglt=163&q=%E6%A0%BC%E5%BC%8F%E5%8C%96
https://www.google.com/search?q=%E3%81%A1%E3%82%85%E3%81%86%E3%81%94%E3%81%8F%E3%81%94

After formatting
<https://zh.wikipedia.org/wiki/>%E5%85%AC%E5%8E%86
<https://baike.baidu.com/item/>%E7%99%BE%E7%A7%91
# Here the equal sign is also excluded.
<https://www.google.com/search?q>=%E7%A9%BA%E6%A0%BC
<https://cn.bing.com/search?pglt=163&q>=%E6%A0%BC%E5%BC%8F%E5%8C%96
<https://www.google.com/search?q>=%E3%81%A1%E3%82%85%E3%81%86%E3%81%94%E3%81%8F%E3%81%94

But the correct result should be
<https://zh.wikipedia.org/wiki/%E5%85%AC%E5%8E%86>
<https://baike.baidu.com/item/%E7%99%BE%E7%A7%91>
<https://www.google.com/search?q=%E7%A9%BA%E6%A0%BC>
<https://cn.bing.com/search?pglt=163&q=%E6%A0%BC%E5%BC%8F%E5%8C%96>
<https://www.google.com/search?q=%E3%81%A1%E3%82%85%E3%81%86%E3%81%94%E3%81%8F%E3%81%94>

Screenshots

Device

[X] Desktop
[ ] Mobile

Additional Context
May be related to: #900

The changes for this have been merged into master and should go out in the next release. Please let us know if this is not working in either of those.


useSubscription keeps getting re-called every render - breaking component

When using:
const { status } = useSubscription(supabase.channel("any"), { event: "*", table: "coupons", schema: "public" }, ["id"]);
In my React component, I am getting an error about this being called multiple times? It locks up the app.
'subscribe' can only be called a single time per channel instance
Any ideas?
Thanks!

Hey, thanks for reporting the issue! Could you provide a bit more context? Are you using the hook in other places in your app, too? Maybe even a reproduction, if you have time for it.

Used in one place - maybe it's because I'm using the same channel? I use it alongside a useQuery. hmm

That would be my guess. If that's true, it's something I would like to add to the documentation. Could you provide a repro, or more code snippets?

can replicate! This is an issue of useSubscription, because we pass the channel as parameter, and use the same over and over again. I will refactor this to the same API as useSubscriptionQuery, so that we pass the client as first arg, and the channel name as the second arg.


Add option to meili:import command to override default timeout

Pull Request
What does this PR do?
Fixes #131
PR checklist

[x] Does this PR fix an existing issue?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Only the Code style faliure comes from your PR, not the one regarding PHP 8.0. We have to fix this in another PR

bors try

@curquiza
bin/console meili:import --response-timeout=<timeout in ms>
For example:
bin/console meili:import --response-timeout=10000 for 10 seconds as timeout

Thank you so much @revenkroz!
bors merge


What library to use for Android voip notifications and background calling?

I can set this up for IOS but I cannot find out how to allow background calling for android. Do you mind pointing me in the right direction?
Cheers 🍻

Android does not have the concept of voip push, it's just use the regular push FCM (Firebase Cloud Messaging), and pass priority to determine the priority.
There are bunch of info there on the internet, you might want to check https://github.com/react-native-webrtc/react-native-callkeep first and may be https://github.com/zo0r/react-native-push-notification or https://github.com/invertase/react-native-firebase/tree/master/packages/messaging


DEV: make specs regarding assign button more lenient

in preparation of https://github.com/discourse/discourse/pull/30242 which might make the assign button appear immediately (when it's the only available option) or behind the "..." dropdown.

Needs a linting fix
Is it just in case core adds more buttons and then that turns into a dropdown? 🤔

Needs a linting fix

Done 👍

2. Is it just in case core adds more buttons and then that turns into a dropdown? 🤔

Yes, or that the specs are run with another plugins installed

Is there actual cross-contamination between plugin tests? are things enabled from other plugins/themes when running d-assign tests?

Is there actual cross-contamination between plugin tests? are things enabled from other plugins/themes when running d-assign tests?

Not in CI (AFAIK), but locally it might.

Locally shouldn't be an issue either - unless a test explicitly enables another plugin, its functionality should not be initialized.


Booting Sequoia on AMD Ryzen 9 7900X3D

Hello, I have been trying for a while to get Sequoia booting in Hyper-V, here are my steps:

Clone OSX-Hyper-V and ProperTree
Edit config.yml to include extra AMD patches
Use ProperTree to add the rest of the AMD patches and set core count
Create VM using powershell script
Try and run it in Hyper-V Manager

Output: It just restarts seconds after typing 1. Same this as here: https://github.com/Qonfused/OSX-Hyper-V/issues/12#issuecomment-2213498727
https://github.com/user-attachments/assets/00d6c267-a549-4178-a3fe-a65edc1de7bd

I also tried fixing critial issues in https://sanitychecker.ocutils.me/ expect WhateverGreen

Is this with DummyPowerManagement enabled? From what I recall in #12, they tried additional booter quirks in https://github.com/Qonfused/OSX-Hyper-V/issues/12#issuecomment-2223541598 which shouldn't be necessary. Unfortunately I haven't been able to reproduce their issue on the 3950X.

Yes it is

I see. What you've done already should be all that you need to do for that CPU. I can't see the video uploaded but I figure as this is happening so quickly after the boot picker that this is probably propping up during the initial boot.efi handoff.
Just to see how it's being detected, could you upload your OpenCore log? It gets created on your EFI partition (next to your EFI folder), either from a DEBUG build or from enabling these options:
https://github.com/Qonfused/OSX-Hyper-V/blob/31fd2fe6dcf131435a17375dc8dd7aa61eeb8407/src/config.yml#L80-L101

Enabling those debug options should prevent an immediate reboot and show a kernel panic, which will help narrow down the issue.

OK

Are they supposed to be readable, Notepad++ shows a bunch of gibberish
opencore-2024-09-22-161311.txt
opencore-2024-09-22-161321.txt
Also here's the video on mediafire: https://www.mediafire.com/file/lkzuvglo2cxw7fg/Compressed_Desktop_2024.09.22_-_<IP_ADDRESS>.mp4/file

NVM using NanaZip broke it, mounted it using explorer instead:
opencore-2024-09-22-161321.txt
opencore-2024-09-22-161311.txt

I've noticed that some of your patches under ACPI > Patch and Kernel > Patch are missing some schema entries (or are probably mislocated):

Unfortunately this output (same as what ocvalidate would output) doesn't show the full plist path to tell where these entries are.
Patches from the config.yml file should have the correct schema filled automatically, though any additional patches you've added to your config.plist (after build) will only contain fields you've added (e.g. 'find' and 'replace' fields).
I can try and find where these are if you upload your config.plist, though I'd start by verifying that your ACPI and Kernel patches are located under ACPI > Patch and Kernel > Patch in your config.plist (in case they were accidentally dragged in ProperTree).

Here's the plist:
config.plist.txt

Ah I see. You've added your AMD kernel patches under the ACPI > Patch entries.

I've moved them back under the Kernel > Patch section:
config.plist.zip

oh, sorry, I just fixed it myself

No change, here's the new logs:
opencore-2024-09-22-171748.txt
opencore-2024-09-22-171736.txt
opencore-2024-09-22-171744.txt

Also if it helps, here's my current setup:
dist.zip

I don't see any more issues in your OpenCore log (during boot.efi handoff), but anything that happens now after booting into the installer (XNU/kernel handoff) won't show up in the OpenCore log.
Does your VM display a kernel panic on screen or does it still immediately reboot? You can also enable serial debugging to stream the same output (as was also done in https://github.com/Qonfused/OSX-Hyper-V/issues/12#issuecomment-2213498727).

I don't think it showed a kernel panic, I'll try serial

What I got from com1:
#[EB|LOG:EXITBS:END] _
#[EB.BST.FBS|-]
#[EB|B:BOOT]
#[EB|LOG:HANDOFF TO XNU] _
======== End of efiboot serial output. ========

You'll need to enable Misc > Serial > Init and add the serial=3 boot arg to capture logs from XNU. Even if the system immediately reboots, it should capture any panics in the serial output.

OK

How can I set boot args

nvm I figured it out

No change in Serial Output:
#[EB|LOG:EXITBS:END] _
#[EB.BST.FBS|-]
#[EB|B:BOOT]
#[EB|LOG:HANDOFF TO XNU] _
======== End of efiboot serial output. ========

Closing this as I have managed to get linux installed and I will just use qemu.


[Bug][Gitlab Plugin] Missing X-Total and X-Total-Pages headers cause data losing in gitlab plugin

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Gitlab(14.9.5+) api will Omit X-Total and X-Total-Pages headers when items count is more than 10,000 (https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23931), which will make data losing in gitlab plugin.
What do you expect to happen
Gitlab data syncing will success without data losing with new Gitlab(14.9.5+)  server
How to reproduce
Try gitlab(14.9.5+) api:  /api/v4/projects/4/merge_requests?page=1&per_page=100&sort=asc&with_stats=true  with more than 10K +  merge_requests, you will find no X-Total and X-Total-Pages headers in response.
And the table _raw_gitlab_api_merge_requests only has 100 records.

Anything else
No response
Version
v0.14.2
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

@lshmouse Thank you for finding this bug!


Maintainer wanted

I think a lot of people already noticed that this project is not that maintained, thats the reason why I'am calling you, if you're using this project and want to update / maintain this just write in this chat.
I give you:

Rights to merge pull requests
Rights to npm to publish new versions
A note in the README that you're the maintainer of this project

Hope we find someone who has more time than me to improve this project!
Thanks
Michael

I'm happy to maintain this project. I use it regularly and I have a few babel plugins of my own.

Hey, could you go ahead and add me as a collaborator? It's much easier to work on this when I can close issues as they're resolved.


Add vamp

This adds VAMP estimator/model and the infrastructure for lagged model validation (cktests).
During the path of getting the stuff to work, I noticed that calling fit on an estimator has unexpected side effects. That is why we need to take a copy of it in LaggedModelValidator. The factory pattern however should make the need for this copy unnecessary, but because we encapsulate the current model instance, we can not work around this.
@clonker do you think it would be sane to call _create_model upon fit() to avoid this kind of hassle? How would we enforce this behavior without interfering with overridden fit methods?

well it is a randomized test :man_shrugging:  and it just checks whether the callback was invoked twice.. couldve converged after one iteration?

Would it help to always yield a copy when calling fetch_model?

On 14.09.19 20:47, Moritz Hoffmann wrote:

Would it help to always yield a copy when calling fetch_model?

It would cure the symptoms, but I thought we decided against it in the
beginning, since copying is a heavy (memory) operation and unexpected at
this point.

It would cure the symptoms, but I thought we decided against it in the beginning, since copying is a heavy (memory) operation and unexpected at this point.

Symptoms implying there is a deeper underlying issue? To be fair I don't think it is very heavy in terms of memory since there is no data attached to models, just statistics. Also isn't it rather unexpected that a factory returns references?

I'll add the default copy then, but it also involves enforcing implementations of fetch_model to do the copy. I think it would be much clearer, that a fit() should produce a new instance.

Creating the instance prior invocations of fit is rather easy to do, minimal invasive, because people should derive from Estimator in any case. There is a note in the doc string quoting this behavior and we can also put it in the developer docs at some point.

Sounds good to me in principle, but is that compatible with partial fit? I just suggested fetch_model because of that.

The default Estimator constructor checks for this case and creates the model if partial_fit is implemented.

@clonker figured it out by myself. Thanks for the rigorous review, it was very helpful!

sweet! what was it in the end?

On 24.09.19 22:24, Moritz Hoffmann wrote:

sweet! what was it in the end?

an indexing issue (mlag0 offset+1) and a too high precision for testing
(just adopted to the pyemma rtol and atol).

yeah indexing issues are nasty.. nice!


add sample ext_authz server

This PR adds a sample ext_authz server, will be used in e2e tests for https://github.com/istio/istio/pull/28451 and also in a new task on istio.io.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[x] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[x] Does not have any changes that may affect Istio users.

@yangminzhu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
9c0f51e0eb3ef70aa30b933ceddf438a0d72d222
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn could you also help take a look? Not sure who has the permission to push images to docker.io/istio.

@yangminzhu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
55f0df9e1af510544f626018b73f41109c4af6e0
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
55f0df9e1af510544f626018b73f41109c4af6e0
link
/test integ-pilot-k8s-tests_istio

integ-security-k8s-tests_istio
55f0df9e1af510544f626018b73f41109c4af6e0
link
/test integ-security-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@yangminzhu: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-k8s-tests_istio
55f0df9e1af510544f626018b73f41109c4af6e0
link
/test integ-security-k8s-tests_istio

integ-pilot-k8s-tests_istio
55f0df9e1af510544f626018b73f41109c4af6e0
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-pilot-k8s-tests_istio

@howardjohn Added a Makefile to make it a bit easier to push, also updated the yaml to the docker.io/istio/ext-authz:0.5 so that we don't need a separate PR to update it.

@istio/wg-docs-maintainers can anyone approve the PR? thanks.

@yangminzhu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio
35713678a2483671be17bede393becf58bd2ff74
link
/test integ-pilot-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-pilot-k8s-tests_istio


Fixed some markdown display issues.

Fix markdown display.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks for these fixes!


US 06.02.01 My Highest QR Code Score Ranking

As a player, I want an estimate of my ranking for the highest scoring unique QR code, so that I can know which place I can take and compete with other players.
Priority: Low
Story Point: 2
Risk Level: Low

Acceptance Criteria:

The player logs into the game on their device.
The player is taken to their profile, which displays their username, contact information, and game statistics.
The player can navigate to a leaderboard feature within the game.
The leaderboard displays the game-wide high scores of all players, ranked by their highest scoring unique QR code.
The player can view the details of each player's profile, including their username, contact information, and a list of the QR codes they have scanned.
The player can use the leaderboard to estimate their ranking based on their highest scoring unique QR code and strive to improve their score.
The leaderboard updates in real-time as players scan new QR codes and increase their scores.
The player can use the leaderboard to find and connect with other players, either by searching for players by username or by clicking on a player's profile to view their information.

Priority: Low
Story Point: 2
Risk Level: Low


Allow proxy setting to be different for each profile

I have to use local proxy to make one of extensions working. I've created another profile for SSH connection (as proxy isn't needed for extension to work on remote server), but remote server tries to use my local proxy, which is unavaliable for it, so needed extension won't work. Currently the only workaroung is to use 2 VSCode's (like common one for local job and insiders for remote connection), but that isn't a good way.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This is a very annoying issue. While the local development uses a proxy, it is not required for remote connections. However, VSCode lacks a method to disable the remote server proxy, forcing either the use of the local proxy configuration or setting up a separate proxy on the remote side. This lack of functionality is not a feature, but rather a bug.


add seal fn back to ServerStyleSheet for backward compat

@kitten any comments on this one?

@kitten ok I refactored ServerStyleSheet a tad to allow what we need while still enforcing the error scenarios against the public API


fix query parameters with question marks

According to RFC 3986:

The query component is indicated by the first question mark ("?") character.

Therefore, following question marks should be disregarded when parsing the query string.
Previously, this would cause an exception because there was no fitting pattern. Fixed this and also added a test.

Thank you!


Test IS 7.0.0 with AWS Aurora Serverless databases  (MySQL and Prostgress

Describe the issue:
AWS Aurora  Serverless databases are popular among the cloud deployments.
IS 7.0.0 needs to be tested on Aurora Serverless databases (MySQL and Prostgress).

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


filter items at contract level

we only want to fetch either letters / words on different APIs
since we're getting extra info on each one, filtering at contract level would seem to make sense
can you add a param for type somehow (enum? string?)
currently we just use the balance and keep going through all an owners tokens.
so maybe tokenOfOwnerByIndex(address, tokenIndex); needs to take a type param?
  useEffect(() => {
    const updateYourCollectibles = async () => {
      const collectibleUpdate = [];
      for (let tokenIndex = 0; tokenIndex < balance; tokenIndex++) {
        const graphemeContract = readContracts.YourCollectible  // inside or it will run b4 we have contract
        console.group('updateYourCollectibles: ', tokenIndex)
        try {
          // console.log("toeknIndex:", tokenIndex);
          const ownerToken = await graphemeContract.tokenOfOwnerByIndex(address, tokenIndex);
          // console.log("ownerToken:", ownerToken);

#50

We can keep seperate mappings, but its all too memory intensive and hacky. Deperating the contracts is better for this case.


[docs] 2.1 DB1

@hideki here some stubs for the 2.1 docs, could you add the java examples?
iOS PR: https://github.com/couchbase/couchbase-lite-ios/pull/2154


Postgresql CSV upload with Boolean field generates error

When doing a deploy which includes CSV with data, we are getting the following error back:
CDS output
error: in cds.deploy(): column "active" is of type boolean but expression is of type text
Query {
  UPSERT: {
    into: 'xxx.xxxTypes',
    columns: [
      'ID',
      'Active',
      'Title',
      'Description',
      'businessObject_ID',
      'implementationClassID',
      'externalProcessing'
    ],
    rows: [
      [Array], [Array],
      [Array], [Array],
      [Array], [Array],
      [Array], [Array],
      [Array]
    ]
  }
}
    at /home/xxxx/node_modules/pg/lib/client.js:526:17

DB output:
db_1       | 2023-09-08 13:05:23.317 UTC [753] ERROR:  column "active" is of type boolean but expression is of type text at character 157
db_1       | 2023-09-08 13:05:23.317 UTC [753] HINT:  You will need to rewrite or cast the expression.
db_1       | 2023-09-08 14:15:18.538 UTC [188] STATEMENT:  INSERT INTO xxxxTypes (ID,Active,Title,Description,businessObject_ID,implementationClassID,externalProcessing) SELECT value->>0,value->>1,value->>2,value->>3,value->>4,value->>5,CASE value->>6 WHEN 'true' THEN true WHEN 'false' THEN false END FROM json_array_elements($1::JSON) WHERE true ON CONFLICT(ID) DO UPDATE SET Active = excluded.Active,Title = excluded.Title,Description = excluded.Description,businessObject_ID = excluded.businessObject_ID,implementationClassID = excluded.implementationClassID,externalProcessing = excluded.externalProcessing

The CSV data file deploys fine on HANA and has not changed:
ID;Active;Title;Description;businessObject_ID;implementationClassID;externalProcessing
PROFILE_INIT;True;Profile Initialization;Initialize new profiles;PROFILES;;True

I tried changing into lower case values for the boolean but that doesn't make a difference.

Could you please provide your cds --versions? It would be great if you'd provide a sample project and detailed steps to reproduce as well.

Hi, Sorry for the belated response .. RL got in the way.
I altered the beershop to include an active flag and updated to the latest versions of packages.
https://github.com/sedacrivity/pg-beershop/tree/SDS-Active
To my surprise this deploys 'fine' - the boolean column is added and the adjusted CSV data is uploaded without issues.
@cap-js/postgres: 1.2.1
@sap/cds: 7.2.1
@sap/cds-compiler: 4.0.2
@sap/cds-dk: 7.2.0
@sap/cds-dk (global): 7.2.0
@sap/cds-fiori: 1.1.0
@sap/cds-foss: 4.0.2
@sap/cds-mtxs: 1.11.0
@sap/eslint-plugin-cds: 2.6.3
Node.js: v18.16.1
So will recheck my project.
Thanks,
Steven

After updating my project to the latest versions, I still had the same issue.
So comparing the CSV file again I could not see any differences within the actual data - compared with the brewery project.
Then I did notice a difference - the header !  My boolean field name 'active' was spelled with an uppercase.
ID;Active;Title
When I change it to lower case, the deploy works fine and data is uploaded !
So somehow the boolean header field is affected by 'lower/upper case' differences while for other fields -like 'Title' -  it does not seem to make a difference ?
Second 'issue' I noticed is that the actual value 'True' is now accepted but not converted into a boolean value. It needs to be lower case apparently.
Kind Regards,
Steven

Hi @sedacrivity
w.r.t. your first issue, this is a known limitation at the moment, see #92. As of now, the csv headers must match the column names in case. We are discussing this and will track the progress in the other issue.
@BobdenOs could you say something to the second inquiry:

Second 'issue' I noticed is that the actual value 'True' is now accepted but not converted into a boolean value. It needs to be lower case apparently.


multicolor calculator

Zero To Mastery - Webblocks 2022 📦📦
PR contains:

best ui calculator

Breaking changes
none
Screenshots

Duplicate of #285 ?
If this is a new pull request, please branch from master/main.
It is hard to review if your PR contains several pull requests/duplicates.

Duplicate of #285 ?
If this is a new pull request, please branch from master/main.
It is hard to review if your PR contains several pull requests/duplicates.

Duplicate of #285 ?
If this is a new pull request, please branch from master/main.
It is hard to review if your PR contains several pull requests/duplicates.
its a new pull request from master

it is my new project and new pull request from master
pls review @sophiabrandt

Both https://github.com/zero-to-mastery/webblocks-2022/pull/294 and https://github.com/zero-to-mastery/webblocks-2022/pull/295 contain (partly) the same files, e.g., account.html. Please don't resubmit doubles, that makes it hard to review.

I can try to diff this differently. Nevermind.
But I need the licenses for the images, so that we can be sure that we don't violate copyright.

Maybe that's a problem with my browser, but I can only see 40 changed files with more than 1,700 changes. Maybe someone else can take a look.

@gauravrattan I'm not sure we can approve this PR.
Can you give us some context as to the images and the submodules folder you have added to the directory?

I also think the best approach forward here would be to close these PRs, and then create each of them one at a time, with their own dedicated branch.
There is a lot of confusion here, and even more so...there is so much involved in your branch here that spans multiple features here, and not to mention the issue of the sub-modules folder and then the copyright licenses for the images. 😄 We would then be able to lend each PR the review they deserve, without having to worry about the other PRs that have all the same historical commits.
The PRs in question are: #294 #295 #296 <-- if each of these were closed without merging, and then recreating within their own branches with their own dedicated Commit history we should be good to review appropriately.


Make SMP client connection and read timeout customizable in the properties file

And don't forget to document at https://github.com/phax/peppol-commons#configuration

Part of the 7.0.4 release


Headers fix

Resolves #195

We found that Firefox has a slightly different behavior around empty string headers.
I fixed xhrHttpClient to handle it and added a few tests to exercise headers parsing.


impaired fertilization MP:0000242 - axiom review

EQ for impaired fertilization MP:0000242 currently uses:
has part some (
decreased rate and
inheres in some fertilization and
has modifier some abnormal)
Replace decreased rate with PATO term decreased process quality PATO:0002302

Fixed EQ; now uses decreased process quality (PATO:0002302)


DOCS-140 - Clean up Cloud SOAR (Kanso prep)

Purpose of this pull request
As part of Kanso prep, this pull request moves the content of the following articles into other Cloud SOAR articles:

https://help.sumologic.com/docs/cloud-soar/global-functions-menu/
https://help.sumologic.com/docs/cloud-soar/main-menu/

Select the type of change

[ ] Minor Changes - Typos, formatting, slight revisions
[x] Update Content - Revisions, updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - .clabot, version updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

Ticket (if applicable)
DOCS-140

Thanks, @kimsauce!


Added support for EXP35U538CW

Added support for Electrolux EXP35U538CW, called it 1705 as a continuation of the existing electrolux .json!

I have NO idea if I did this right or not. If not, please just take a minute and tell me what I did wrong or, preferably, how to do it right!


Select of indexes with wrong names

When i try to Select a Person with .find() it does a select as it should. But the Select has several fields in it i did not declare like like this. Example:
Field:
...
@Index("mail_blog_yn",["mail_blog_yn",])
...
export class person {
...
    @ManyToOne(type=>lov_jn_kz, mail_blog_yn=>mail_blog_yn.persons4)
    @JoinColumn()
    mail_blog_yn:lov_jn_kz;
...
}

The Select looks like this in the log:
...
`person`.`mailBlogYnKeyTypKz` AS `person_mailBlogYnKeyTypKz`
...

Here the code and the Connection setup:
typeorm.createConnection({
  type: "mysql",
  host: "localhost",
  port: 3306,
  username: Configuration.Database.user,
  password: Configuration.Database.password,
  database: Configuration.Database.database,
  entities: [
   ...
    person,
   ....
  ],
  synchronize: false,
  logging: true
}).then(connection => {
  const modelRepository: typeorm.Repository<person> = connection.getRepository(person);
  modelRepository.find({
    "username" : 'x'
  }).then(( persons: person[]) => {
    console.log(JSON.stringify(persons[0]));

  });
}).catch(error => console.log(error));

Here is the Person.ts and the complete sql statement and some data about my table persons.
Select-Problem.zip

I have a Workaround for now:
Using the QueryBuilder from TypeORM allows me to only select the values i really need and prevents the orm from selecting all values.
Still waiting for a real solution.
Im actually not sure if this is a Problem with the generation of models or with typeorm itself.

Yes, its a Issue of the generator.


Update font-ocra to 0.9

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Merged as 44627000ef5c3d5e8697145a59634c5b70bb32d2.


Need to use platform-specific path separator in ignore_templates

CloudFormation Lint Version
0.77.4
What operating system are you using?
Windows
Describe the bug
On my Windows dev PC, I cannot use / as path separator for the ignore_templates entries in .cfnlintrc. Using the OS-specific \ works, however it then breaks when running cfn-lint on our Ubuntu build machine.
This is different from behavior of templates section where I can use / as path separator and it works fine on both operating systems.
Expected behavior
I expect ignore_templates to accept paths with / as separator on both Windows and Linux-based OSes. The .cfnlintrc file shown below should work and correctly ignore excluded.yml file:
templates:
- resources/**/*.yml
ignore_templates:
- resources/excluded.yml

Reproduction template
No template necessary, this is a config issue

i can confirm this behavior as well. running win11 0.77.5.
I have to add both variations to my ignore_templates section to get it to properly ignore while the templates section only has the forward slash

I took some time to look into this today.  So here is what I think... when sending in a /**/ on Windows to the glob it will return the windows normalized names. However, if you have a fully hardcoded name it will just send it back.  I think the best solution here is to normalize all the paths to windows based structure.  That's what the PR above does.


can we have some docs?

I want to test it can I have some documentation?

Yes, the documentation is very important, but it will take some time.
If you have specific needs, let us know and we can provide the documentation and examples for this section.

for example I want to use it for my test slot project bit idk how to do it? can I contact you somewhere?


Can't able to use Select list

Please read documentation carefully,
You are importing the component incorrectly.
import { SelectList } from 'react-native-dropdown-select-list';


 flow

case:
select a record on pageview
use ui-router to transition to a new state
the page contains a entry in amend mode
entry will not call setDefaultValue() because it is not in create mode
but the record key need to assign to the entry and call FindData() to get the record details after GetTableStructure()
Current flow for entry in create mode:
GetTableStructure
TryToCallSetDefaultValue

solution:
redeisgn the flow for entry
draft idea:
DirectiveInitialize - directive being render
DomInitialize - on element ready after GetTableStructure()
SetDefaultValue - set default value for create record
StatusChange - if any column values changed, call on each changes
TupleChange - if any column values changed, call once after called StatusChange
ValidateBuffer - validate record on submit
MassageHTTPRequest - massage the data before send request
MassageHTTPResponse - massage the data after receive response


Record video for Milestone 1 in Spanish

Introduction

[x] Record Introduction

A brief introduction to Milestone 1, reminding what was described on the Grant
Diagrams

Repos

[x] Record Important Repos

Market UI
Pallets
Private Client
Private server

Set profile

[x] Set Profile part 1

Demo page to ensure the private data

[x] Set Profile part 2

Create Marketplace
Apply for marketplace (Apply Form)
Show custodian input

[x] Set Profile part 3
Show Custody Page

KYC Admin

[x] Record KYC admin section

Shows the Administrator panel
Approve an user
Reject an user

[x] Deliverable Video

Introduction Video

Introduction Spanish

Set Profile

Important Repos Spanish

Set Profile
Part 1. Private service
Private Service

KYC Admin
[Panel] (https://drive.google.com/file/d/1H8tJWjAeb7jAxg6TD2uqeLQFHRb_GiXy/view?usp=sharing)

Video
Youtube


Domain and range in OWL output swapped

In the OWL output from the conceptual model editor, the domain and range of the output properties are swapped. The source class (for attributes and relationships) is in the rdfs:range, the target (for relationships) is in the rdfs:domain.

Can you provide more detail? Cannot replicate.

Whoops, should be fixed by #475


Dell XPS 9700 (17) Support

Audio does not currently work, and would seem to require some specialized configuration.
See https://github.com/NixOS/nixpkgs/issues/130882
Would be nice to have some working config for this machien as well.

Just make a PR if you get something running. It is unlikely that someone has the hardware and just makes the PR based on the fact that this issue exists.

I did see #291


grassworm, allograph

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[a,g]

/trunk merge


Integrate Python via IronPython

Using IronPython 2.
We will move to IronPython 3 when it will be stable.

Basic scripting done.
For now, IronPython and DLR packages fires warning 1701, but they are fully supported by .NET Standard 2.0.
Reopen this issue when advanced script support will be needed.


main page link broken.

check this out, please.
https://github.com/tudarmstadt-lt/sensegram/blob/master/corpora/preprocessing.py
from 'training a model' section.

You are right @papower1. It should link to https://github.com/tudarmstadt-lt/sensegram/blob/master/corpora/preprocess.py , I think


move resolver and janitor to agent

LGTM

Current coverage is 45.13% (diff: 0.00%)

Merging #243 into master will increase coverage by 1.14%

@@             master       #243   diff @@
==========================================
  Files            11         11
  Lines          8990       9000    +10
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3955       4062   +107
+ Misses         3996       3892   -104
- Partials       1039       1046     +7

Powered by Codecov. Last update e904b6e...19467d5

LGTM


Simple Python client for Google Fonts

I've noticed recurring patterns across our tooling. A lot of them involve downloading families from Google Fonts. It would be fab to have a simple Python api for this stuff.
googlefonts = GoogleFonts()

googlefonts.has_family('Roboto')
family = googlefonts.download('Roboto')

It would be nice to have this code in one place and have it polished.

This repo is pretty wooly. That sounds good to me but should be balanced
against the other important stuff on our roadmap.
On Thu, Apr 19, 2018, 5:27 PM Marc Foley<EMAIL_ADDRESS>wrote:

I've noticed recurring patterns across our tooling. A lot of them involve
downloading families from Google Fonts. It would be fab to have a simple
Python api for this stuff.
googlefonts = GoogleFonts()
googlefonts.has_family('Roboto')
family = googlefonts.download('Roboto')
It would be nice to have this code in one place and have it polished.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/googlefonts/tools/issues/50, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP9y3XdoJ-ak1rdRJT6K-Y7-vtPjzaIks5tqJ69gaJpZM4Tb5iO
.

We now have this!


Update with an ECR-based pipeline + an Aurora cluster and a static S3/CloudFront website

Update with an ECR-based pipeline + an Aurora cluster and a static S3/CloudFront website


Weird text overwriting in WPF control in VS2019

Here's Visual Studio 2019:

Originally posted by @SetTrend in https://github.com/microsoft/terminal/issues/10332#issuecomment-868693082

Hmmm.. a missing resize event parhaps?


Hide "whats happening" also hides trends tab.

Noticed that after clicking Hide "Whats happening." "You might like." option under Remove algorithmic content also hides the trends tab. This started happning recently.

Do you mean the tabs on the Explore page? They're hidden by Remove algorithmic content > Hide Explore page contents and use it only for searching

Nope, worldwide trends on the right
Turned on:

Turned off

Yep, it was following that support ticket https://github.com/insin/control-panel-for-twitter/issues/319#event-9561497207 , but it didn't fix anything lol we still can't hide the blue subscription without hiding the trends :(

An update:
To hide the trends tab in the current version, make sure you have

enabled.


feat: create upload picker component

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/50894
PROPOSAL:
Tests

[x] Verify that the avatar with the image picker works correctly

Open settings
Press on profile settings
Click on an avatar to change it
Pick the picture
Submit and verify that the picture has changed

[x] Verify that the Attachment picker with the menu item works well

Open any report
Press on the "+" and choose "Add attachment"
Pick the picture and press the "Send" button
Verify that picture upload

[x] Verify that the Attachment picker works well

Open any report
Press on the "+" and choose "Submit expense"
Choose the scan
Press on choose file and pick the picture
Submit and observe that picture upload

[x] Verify the upload component

Modify the src/settings/pages/Profile/PersonalDetails/LegalNamePage.tsx with next code:

import type {FileObject} from '@components/AttachmentModal';
import UploadFile from '@components/UploadFile';
import * as FormActions from '@userActions/FormActions';

const [uploadedIDs, setUploadedID] = useState<FileObject[]>([]);

const handleSelectIDFile = (files: FileObject[]) => {
  FormActions.setDraftValues(ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM, {UPLOADED: [...uploadedIDs, ...files]});
  setUploadedID((prev) => [...prev, ...files]); };

const handleRemoveIDFile = (fileUri: string) => {
    const newUploadedIDs = uploadedIDs.filter((file) => file.uri !== fileUri);
    FormActions.setDraftValues(ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM, {UPLOADED: newUploadedIDs});
    setUploadedID(newUploadedIDs);
};

    ...

             <FormProvider
                formID={ONYXKEYS.FORMS.ADD_PAYMENT_CARD_FORM}
                validate={validate}
                onSubmit={addPaymentCard}
                submitButtonText={submitButtonText}
                scrollContextEnabled
                style={[styles.mh5, styles.flexGrow1]}
            >

             ...

              <InputWrapper
                    InputComponent={UploadFile}
                    buttonText="choose file"
                    uploadedFiles={uploadedIDs}
                    onUpload={handleSelectIDFile}
                    onRemove={handleRemoveIDFile}
                    acceptedFileTypes={[...CONST.NON_USD_BANK_ACCOUNT.ALLOWED_FILE_TYPES]}
                    value={uploadedIDs}
                    inputID="INPUT_ID"
                />

Open the settings/profile and press  on legal name
Press on Choose File button
Pick and submit
Verify that file attached and appeared
Remove the file by pressing the cross button

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
android-native-converted.webm

Android: mWeb Chrome
android-web-converted.webm

iOS: Native
https://github.com/user-attachments/assets/300a572e-ce3e-45ec-b524-2ac94afec9aa

iOS: mWeb Safari
https://github.com/user-attachments/assets/bee1de2a-03f5-40f6-bcaa-88d1b169e7c3

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/246aea6a-f3f2-4ce7-8eb7-8de643c647a7

MacOS: Desktop
https://github.com/user-attachments/assets/e344d295-ea79-431b-9456-06027d56edcc

Can we make sure these styles for this here:

Look identical to the styles we use in chat for attachments with no previews?

@shawnborton, I've updated the styles to match the attachments for chats

Reviewing shortly

The changes look good to me.
I think there are 2 things we need to improve here:

We shouldn't show duplicate images if user selects one image twice.
With long file name, the text is cut off.

Let us know when you have updated screenshots to review.

updated with new videos
@shawnborton @hungvu193

@hungvu193 code updated to cover points that you've mentioned

@shawnborton Do we have limit lines for the attachment name?

I'll let the other @Expensify/design'ers give thoughts, but I kinda think we should limit it to two lines.
And I wonder if we can do the clever thing that MacOS does which is to make sure the file extension still shows even when we use ellipsis. And to avoid having weirdness with too many dots with the extension (long_file_name....pdf), we could show the last 5 letters of the string + the extension:

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

// running issue

Android: mWeb Chrome

https://github.com/user-attachments/assets/c3a53d16-bae8-4f99-89f3-208460ee7d5f

iOS: Native

https://github.com/user-attachments/assets/07da36cb-858e-4786-af51-5a8917b57d9f

iOS: mWeb Safari

https://github.com/user-attachments/assets/02af6914-ecee-4ab1-8c36-1af30978c179

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/adaec443-8213-4446-91f1-c06871a2744d

MacOS: Desktop

https://github.com/user-attachments/assets/8b3f2243-6ad9-4a76-aebc-ca2800fd5442

Nevermind, I can repro on Staging as well, BE returned wrong iouReportID.

Updated with translations and basic text cropping
I will focus on the middle crop now.  It is a bit complicated, I will divide the implementation for web and native

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

Since it was merged can we move this improvement with middle truncation to the separate task?
It is quite easy to implement it for the ios, but for the rest platform, we need to calculate the container size and inner text without the truncation, which can be very heavy.

Let's create a follow-up PR for that

@pasyukevich FYI, QA was not run on this PR due to the QA test section being empty. I'm not sure if that was intended or not.
In the future, please add specific QA tests to your PRs or be more clear about why there are no QA tests. If you desire to have QA run the same tests as the "Tests" section, then please indicate so by adding "Same as tests" in the QA section.
Thank you!

@tgolen It was intended since the component wasn't used before at the other places - QA steps will be in the next PR with the component usage

OK, got it. Thanks! When that happens, please just add that context to the QA testing section.