[REF] Organize related tests into modules and refactor setting of toy credentials

Closes #202

Changes proposed in this pull request:

Related tests refactored into different modules
Code to set username/password environment variables to random values for tests refactored into a new fixture

Reused in tests that require startup events to run

Checklist

[ ] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see https://neurobagel.org/contributing/pull_requests for more info)
[ ] PR links to GitHub issue with mention Closes #XXXX
[ ] Tests pass
[ ] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

199 of 200 (99.5%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 99.855%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tests/test_events.py
92
93
98.92%

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
687

Relevant Lines:
688

💛  - Coveralls


Emit absolute values for aggregation

This is a proposal/WIP to emit absolute line coverage numbers in addition to the current percentages. This information is useful for aggregating coverage data from multiple sources.
A corresponding diff in Uberalls would be responsible for consuming and persisting this data.
I haven't considered backwards compatibility issues. I imagine we would want to keep the legacy constructors around for anyone with custom reporter implementations.
I have no intention of landing this -- anyone is free to pick it up. This would certainly need some additional testing (in addition to fixing the couple of failures).

This is fixed as part of https://github.com/uber/phabricator-jenkins-plugin/commit/6cb7413d0c25dfb61d129fddbbb50da79432dfc9


chore: add warning about untrusted code

describe your changes...

[x] Read and sign the [CLA][1]. PRs that haven't signed it won't be accepted.
[x] Make sure your PR complies with the [writer's guide][2].
[x] Review the diff carefully as sometimes this can reveal issues.
[x] Do not abandon your Pull Request: [Stale Pull Requests][3].

Fixes #3838

Done @EugeneHlushko 👍

Thanks!


Standardize slashes in sqlproj

This PR fixes #10905. Slashes in sqlproj will now be backslashes regardless of which platform the project is being edited on for compatibility with SSDT. Mac can handle reading and building with backslashes, but SSDT had some trouble with forward slashes, which is why we're standardizing on backslashes.
Also updating tests to get rid of a couple platform specific baselines now that sqlproj files will be the same when created/edited on the different platforms.

Coverage remained the same at 35.984% when pulling 812fc4abd19c3b1dbeb7755c1e15629a9330922e on kisantia/slashes into a4539daa622ed4f1f3fa91632fa3f49f889d002d on main.


Storytelling apps on Try-It Live have incorrect urls for javascript resources

For some reason the Try It live version of almost all of our apps have the incorrect urls for the css resources.
These are incorrect for multiple reasons. They point to wrong location and they are not protocol neutral.
http://land-ops.maps.arcgis.com/home/js/dojo/dijit/themes/tundra/tundra.css
http://land-ops.maps.arcgis.com/home/js/esri/css/esri.css
//js.arcgis.com/3.8/js/dojo/dijit/themes/tundra/tundra.css
//js.arcgis.com/3.8/js/esri/css/esri.css

This was the reason:
http://blogs.esri.com/esri/arcgis/2014/10/06/arcgis-api-for-javascript-version-3-11-released/


windows: Fix rendering of some controls when inside uiTab pages

Initial "fix" for the rendering artifacts in controls with dropdown content such as comboboxes: Trigger a redraw of the tab page children on the next immediate frame draw after each window configure event of the tab control.
This introduces a small flicker on aggressive resizing of the window, but shouldn't notice any other performance issues like before. So that is an improvement over some controls just randomly missing from the tab page..
See the old issue with test case to reproduce: https://github.com/andlabs/ui/issues/380#issuecomment-786319626
Also controlgallery -> Numbers and Lists

Did you investigate whether it might be a Z-ordering issue? During my performance fix i stumbled across this post and it seemed a good fit. Unfortunately I didn't find the time to properly investigate this route.
My plan was to print the Z-order somehow (Spy++ couldn't tell me Z-order?) and see if this might indeed be the problem.

Did you investigate whether it might be a Z-ordering issue?

Just pushed a much simpler Z-order based fix with uiWindowsEnsureAssignControlIDZOrder() that seems to work!
(Tab pages also use uiWindowsControlAssignSoleControlIDZOrder(), which doesn't work..)

Very nice! I hope to try it today or tomorrow 👍

I can confirm that the combo boxes inside the tabs don't vanish anymore. Although now I believe the whole tab control is flickering.
Before, only the active tab occasionally flickered. On the grand scale it's a win though and the direction seems to be right.

Although now I believe the whole tab control is flickering.

This is with the very latest patch? First attempt did still have some flickering, but that should be gone now with the Z-order based fix.

Yes, the one with the Z-order fix. Tested on Win7 with the classic theme on.

I can't reproduce that on modern Windows. Curious then if my first fix is actually better for legacy Windows?
If needed.. we could actually incorporate both of these hacks, and pick the best one at runtime based on Windows version.

I'll test on my Win 10 machines too. Personally I'd prefer the z-order fix, even with the flicker. It might not be ideal or even the real solution but is an improvement nonetheless.

Tested on Win7 (mingw64 version):

current version - page content does'nt blink on resize, but area with tab labels blinks,
first vesrion - page content blinks on resize, area with tab labels doesn't.

Indeed no resize-flicker on Win10 anymore. Even if starting the applications in compatibility mode for Win7. Z-Order is also the same, so no silent fixes from the OS. I only see a flicker on first tab change in the control gallery.
Pretty sure its still not how it is supposed to be, but probably good enough for the time being.

Ok, i might have found our answer: The flickering tab is just how it works. I created a C# WinForms application with a tab control and it flickers out of the box! Meaning the engineers at MS couldn't even do better. And they don't even fully use the native tab control ("SysTabControl32") but made a good portion anew to handle the tab page creation better (no more dialog handling!).
Searching for tab control issues in the context of C# got me to this question on stackoverflow and confirmed my suspicion from the paragraph above.
I also tried setting WS_EX_COMPOSITED on the main window (as mentioned in the stackoverflow question) and it indeed removed the flickering. Now there are issues in the "tester" however. Some tab pages don't render on start but only after a resize. So there really is no solution to the tab flickering.

@cody271 Are you still working on the fix, require more tests, or happy with it and ready to merge?


Variable name underscores get replaced with spaces unexpectedly.

Splitting up bugs from #17  so each can be dealt with appropriately.
With Tenant_Petition_Form_ready_for_upload.pdf these variable name changes have been observed:

_Form_14 should stay _Form_14 but becomes 646 Form 14
Form_14_s_647 should stay Form_14_s_647 but becomes Form 14 s 647

The source was actually the label names themselves.


Add since filter to media

Not sure if this needs to query anime/manga tables. Cant test from phone.

Just remove the media. and it'll work


uploading Flutter app to playstore beta fails due to version code

I am trying to upload a my flutter app to playstoe in beta using fastlane.The Google play console already contains the app in beta with version code 2,With Version Code I understand what follows after + in pubspec.yaml if I am not wrong e.g  version: 1.0.0+2 version code is 2 and in the play console my apks have version code as these its little confusing for me.

This is the lane that I am using to deploy the app using  command
fastlane deploy
desc "Deploy a new version to the Google Play"
  lane :deploy do
    gradle(task: "clean assembleRelease")
    supply(
      apk:'../build/app/outputs/apk/release/app-release.apk',
      track: 'beta',
      json_key: "~/Documents/api.json",
      skip_upload_images: true,
      skip_upload_screenshots:true,
      version_code:4
      )
  end

This is the error that I get when deploying the app
[!] Google Api Error: releaseValidationErrorKeyApkNoUpgradePaths: You cannot rollout this release because it does not allow any existing users to upgrade to the newly added APKs. - You cannot rollout this release because it does not allow any existing users to upgrade to the newly added APKs

This is the faslane env output
[✔] 🚀
[11:45:56]: fastlane detected a Gemfile in the current directory
[11:45:56]: However, it seems like you didn't use `bundle exec`
[11:45:56]: To launch fastlane faster, please use
[11:45:56]:
[11:45:56]: $ bundle exec fastlane env
[11:45:56]:
[11:45:56]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[11:45:56]: Generating fastlane environment output, this might take a few seconds...
[11:45:57]: Installing Ruby gem 'fastlane-plugin-get_version_number'...
[11:46:20]: Found gem "fastlane-plugin-get_version_name" instead of the required name "fastlane-plugin-get_version_number"
[11:46:20]: Successfully installed 'fastlane-plugin-get_version_number'
[11:46:20]: Error loading plugin 'fastlane-plugin-get_version_number': cannot load such file -- fastlane/plugin/get_version_number
<details><summary>🚫 fastlane environment 🚫</summary>

### Stack

| Key                         | Value                                                                   |
| --------------------------- | ----------------------------------------------------------------------- |
| OS                          | debian_based buster/sid                                                 |
| Ruby                        | 2.5.5                                                                   |
| Bundler?                    | false                                                                   |
| Git                         | git version 2.17.1                                                      |
| Installation Source         | /home/linuxbrew/.linuxbrew/Cellar/fastlane/2.140.0/libexec/bin/fastlane |
| Host                        | Ubuntu 18.04.3 LTS debian_based buster/sid (4.15.0-74-generic)          |
| Ruby Lib Dir                |<EMAIL_ADDRESS>                |
| OpenSSL Version             | OpenSSL 1.1.1d  10 Sep 2019                                             |
| Is contained                | false                                                                   |
| Is homebrew                 | false                                                                   |
| Is installed via Fabric.app | false                                                                   |

### System Locale

| Variable | Value       |   |
| -------- | ----------- | - |
| LANG     | en_US.UTF-8 | ✅ |
| LC_ALL   | en_US.UTF-8 | ✅ |
| LANGUAGE | en_IN:en    | 🚫 |

### fastlane files:

<details><summary>`./fastlane/Fastfile`</summary>

```ruby
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:android)

platform :android do
  desc "Runs all the tests"
  lane :test do
    gradle(task: "test")
  end

  desc "Submit a new Beta Build to Crashlytics Beta"
  lane :beta do
    gradle(task: "clean assembleRelease")
    crashlytics

    # sh "your_script.sh"
    # You can also use other beta testing services here
  end

  desc "Deploy a new version to the Google Play"
  lane :deploy do
    gradle(task: "clean assembleRelease")
    supply(
      apk:'../build/app/outputs/apk/release/app-release.apk',
      track: 'beta',
      json_key: "~/Documents/api.json",
      skip_upload_images: true,
      skip_upload_screenshots:true,
      version_code:4
      )
  end
end

`./fastlane/Appfile`
json_key_file("~/Documents/api.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("com.thoughtframeworks.iborganic") # e.g. com.krausefx.app

fastlane gems

Gem
Version
Update-Status

fastlane
2.140.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-increment_version_code
0.4.3
✅ Up-To-Date

fastlane-plugin-get_version_number
undefined
💥 Check failed

Loaded gems

Gem
Version

slack-notifier
2.3.2

atomos
0.1.3

CFPropertyList
3.0.2

claide
1.0.3

colored2
3.1.2

nanaimo
0.2.6

xcodeproj
1.14.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.6.0

terminal-table
1.8.0

plist
3.5.0

public_suffix
2.0.5

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.7.0

tty-cursor
0.7.0

tty-spinner
0.9.2

babosa
1.0.3

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.71.1

faraday
0.17.3

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
0.13.1

fastimage
2.1.7

gh_inspector
1.1.3

json
2.3.0

mini_magick
4.10.1

multi_xml
0.6.0

rubyzip
1.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.7.5

bundler
2.1.4

naturally
2.2.0

simctl
1.6.7

jwt
2.1.0

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mini_mime
1.0.2

multi_json
1.14.1

signet
0.12.0

memoist
0.16.2

os
1.0.1

googleauth
0.10.0

httpclient
2.8.3

google-api-client
0.36.4

google-cloud-env
1.3.0

google-cloud-core
1.4.1

digest-crc
0.4.1

google-cloud-storage
1.25.1

emoji_regex
1.0.1

fastlane-plugin-increment_version_code
0.4.3

generated on: 2020-01-27

[11:46:21]: Take notice that this output may contain sensitive information, or simply information that you don't want to make public.
[11:46:21]: Open https://github.com/fastlane/fastlane/issues/new to submit a new issue ✅
```
Please let me know if you need some additional information

This seems to be a problem how you use Flutter, nothing related to fastlane. You have to change your project so your versionCode is increased as this is what is probably blocking your upload.
(In general the release number could/should be x.y.z while the version code should just be an integer 123)

@maheshmnj
I have been struggling with this 2 days ago so I wrote this: https://github.com/tianhaoz95/fastlane-plugin-flutter_version
Then I was able to do this:
https://github.com/tianhaoz95/photochat/blob/9b390db2b28279fb576ecec9e5a7862f62143a77/photochatapp/android/fastlane/Fastfile#L20-L33


Conflict with upterm action.

In my workflow l use the action upterm for debugging purposes.
If I use the ssh-agent action before the upterm action, the second action throws the error:
Creating a new session. Connecting to upterm server ssh://uptermd.upterm.dev:22
no server running on /tmp/tmux-1001/default
Error: 1

Any ideas what causes this error?

No, not really. My guess would be that that other action now suddenly tries to authenticate with a key from SSH agent and is not able to deal with a failure, but that’s just a guess.

same issue here


Debugger Get Stack Trace command ignores isolateID parameter

The debugger wire protocol defines the Get Stack Trace command as taking an isolateId parameter. However, in runtime/bin/dbg_message.cc, the message parameters aren't checked, so Isolate::Current() is always used.

The wire protocol has been removed. This is obsolete.


Update turf and mapbox.js library versions

Updates turf to 2.0.2
Updates Mapbox.js to 2.1.9

:+1:

Good catch! :baseball:

@lyzidiamond it looks like the CDN version you added isn't found for Turf.


Use CLN as routing node to test payment forwarding

Description
This PR removes the direct channels between lnd and sn_lnd and replaces them with a route through cln so we can test our code with fees, forward failures etc.
TODO:

[x] ~fix lnd can't find route to sn_lnd even though lnd is aware of channel between sn_lnd and cln according to describegraph~:

describegraph output
$ sndev cli lnd describegraph | jq ".edges | map({ channel_id, chan_point, capacity, node1_pub, node2_pub })"
[
  {
    "channel_id": "880708815683584",
    "chan_point": "d2b40650ccf68173ae92b22d898b825c396523e2f82f8a5757f6fc85e94bfe24:0",
    "capacity": "1000000000",
    "node1_pub": "02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490",
    "node2_pub": "03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90"
  },
  {
    "channel_id": "880708815749120",
    "chan_point": "6fda97e7d951fadaa3e41d4d1e65e6235e074de3dffe53147f13486a98c7db5f:0",
    "capacity": "1000000000",
    "node1_pub": "028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35",
    "node2_pub": "03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90"
  },
  {
    "channel_id": "886206373494784",
    "chan_point": "fc1c209e4f6208da79d660e87cdf903914e248c22d7ce4b81ca7e91e27453c32:0",
    "capacity": "1000000000",
    "node1_pub": "028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35",
    "node2_pub": "03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90"
  },
  {
    "channel_id": "886206373560320",
    "chan_point": "13ff14f5c3bd8940f0c6c7d231ae34ceab38937a9df61cd14bb93fb3729330b1:0",
    "capacity": "1000000000",
    "node1_pub": "02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490",
    "node2_pub": "03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90"
  },
  {
    "channel_id": "887305885122560",
    "chan_point": "c7c6065536ecff9cf5374c51dce8f6c475e2f9d11f5ce6388b28096afa7f2d14:0",
    "capacity": "1000000000",
    "node1_pub": "028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35",
    "node2_pub": "03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90"
  },
  {
    "channel_id": "887305885188096",
    "chan_point": "98a45d94e2a19568b455a023a78bc9f6321f241e85f54fcaaa19642d59800ba7:0",
    "capacity": "1000000000",
    "node1_pub": "02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490",
    "node2_pub": "03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90"
  }
]

~Ok nvm, works now without any changes. I believe it was related to channels requiring 6 confirmations before other nodes can route through them.~

sndev fund output
$ sndev fund lnbcrt10u1pn5lethpp59vlfczvecs2n70nnu0835684m540n3y0srj4da7lfp8ccq0tgr9qdp02d8r5gr5v4ehgvp3ypex2cm9d9mx2ueqxycrqvpqwdshguccqzzsxqzjcsp5wdpja2597try93dhnx59gm6uz44vvqa0hfzm5c2m6r722zs2690q9qxpqysgqfnu7knvkd7e6yfqj62m5htawfe75dm0ef94n8jh292wutv090xt5lyurmljec7lddcp6e05g755p2s0vsqvjx2zvgauz5rzjzxd9aesqk4tyda
Payment hash: 2b3e9c0999c4153f3e73e3cf1a68f5dd2af9c48f80e556f7df484f8c01eb40ca
Description: SN: test01 receives 1000 sats
Amount (in satoshis): 1000
Fee limit (in satoshis): 1000
Destination: 02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490
Confirm payment (yes/no): yes
+------------+--------------+--------------+--------------+-------+----------+------------------+-------------+
| HTLC_STATE | ATTEMPT_TIME | RESOLVE_TIME | RECEIVER_AMT | FEE   | TIMELOCK | CHAN_OUT         | ROUTE       |
+------------+--------------+--------------+--------------+-------+----------+------------------+-------------+
| SUCCEEDED  |        0.016 |        0.862 | 1000         | 0.011 |     1048 |<PHONE_NUMBER>551104 | cln->sn_lnd |
+------------+--------------+--------------+--------------+-------+----------+------------------+-------------+
Amount + fee:   1000 + 0.011 sat
Payment hash:   2b3e9c0999c4153f3e73e3cf1a68f5dd2af9c48f80e556f7df484f8c01eb40ca
Payment status: SUCCEEDED, preimage: 9c42f517510dd4a8c8ad5c68bb4361b070f635eca062435ee860ae441edb0b6b

~Aaand it stopped working again for no apparent reason.~

[x] bring routing back up in a reliable way after sndev delete

I didn't change any settings and after sndev delete && sndev start it sometimes works and sometimes doesn't.
I also learned the correct command to check routes is sndev cli lnd queryroutes <destination>.

queryroutes output
$ sndev cli lnd queryroutes 02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490 1000
{
    "routes":  [
        {
            "total_time_lock":  922,
            "total_fees":  "2",
            "total_amt":  "1002",
            "hops":  [
                {
                    "chan_id":  "887305884991488",
                    "chan_capacity":  "1000000000",
                    "amt_to_forward":  "1000",
                    "fee":  "2",
                    "expiry":  916,
                    "amt_to_forward_msat":  "1000000",
                    "fee_msat":  "2000",
                    "pub_key":  "03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90",
                    "tlv_payload":  true,
                    "mpp_record":  null,
                    "amp_record":  null,
                    "custom_records":  {},
                    "metadata":  "",
                    "blinding_point":  "",
                    "encrypted_data":  "",
                    "total_amt_msat":  "0"
                },
                {
                    "chan_id":  "887305885057024",
                    "chan_capacity":  "1000000000",
                    "amt_to_forward":  "1000",
                    "fee":  "0",
                    "expiry":  916,
                    "amt_to_forward_msat":  "1000000",
                    "fee_msat":  "0",
                    "pub_key":  "02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490",
                    "tlv_payload":  true,
                    "mpp_record":  null,
                    "amp_record":  null,
                    "custom_records":  {},
                    "metadata":  "",
                    "blinding_point":  "",
                    "encrypted_data":  "",
                    "total_amt_msat":  "0"
                }
            ],
            "total_fees_msat":  "2000",
            "total_amt_msat":  "1002000"
        }
    ],
    "success_prob":  1
}

I upgraded CLN to 24.08.1 in case that helps since routing still doesn't reliable work after a fresh start.

[x] set realistic default fees

configured them to 1 sat base fee and 1000ppm fee rate (= 1 sat per 1000 sats)

[x] assert that too high fees lead to withdrawal failures

Additional Context

see commit message of 0e0f9f0cd6d93c94d090022342fe729adcb3b2d4.

how to configure channel fees: https://docs.corelightning.org/reference/lightning-setchannel

Even though we use the same incoming and outgoing route for p2p zaps, we can still configure outbound fees separately from inbound fees. Inbound fees are determined by the channel between cln<>sn_lnd and outbound fees are determined by the channel between cln<>lnd.

~this might not be stable~ update: should be stable now after upgrade to CLN 24.08.1

I am not sure if this is stable since even with no code changes, payments didn't work (no route found), then it worked (after 6 confirmations?), then it didn't work again after some time (no restart I believe) and then it worked again after a restart. So I strongly recommend for a review to pull the code and run it yourself to check if routing actually does work for you. See commands below for how to test payments.
Checklist
Are your changes backwards compatible? Please answer below:
yes, this only affects local dev
On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
5. I tested funding from lnd and autowithdrawal to lnd through cln. Fees were applied.
How to test lnd paying invoice from sn_lnd with sndev:
sndev cli lnd payinvoice $(sndev cli sn_lnd addinvoice --amt 1000 | jq .payment_request | tr -d \")

and vice versa:
sndev cli sn_lnd payinvoice $(sndev cli lnd addinvoice --amt 1000 | jq .payment_request | tr -d \")

~However, this doesn't work reliably from a fresh start yet (sndev delete && sndev start).~ should work now since the upgrade.
For frontend changes: Tested on mobile, light and dark mode? Please answer below:
no
Did you introduce any new environment variables? If so, call them out explicitly here:
no

Seems to work reliably now after upgrading CLN to 24.08.1 and waiting for ~3:30 minutes after sndev start. This makes sense since 3 minutes are 3 confirmations + some buffer for channdler to start etc.
https://github.com/user-attachments/assets/7bcfa7bb-2e21-4b48-becb-81108c307f29
See

The funding transaction needs 3 confirmations in order for the channel to be usable, and 6 to be announced for others to use.
You can check the status of the channel using lightning-cli listpeers, which after 3 confirmations (1 on testnet) should say that state is CHANNELD_NORMAL; after 6 confirmations you can use lightning-cli listchannels to verify that the public field is now true.

-- CLN, Opening channels
and

Typically, our channel will take three confirmations to be considered open and usable.

-- First steps with LND, Open a channel
However, 6 confirmations would make more sense since that's when channels are announced for others to use but I guess that value is also different on regtest.
I will try to speed up this process by setting defaultchanconfs to 1:

; The default number of confirmations a channel must have before it's considered
; open. We'll require any incoming channel requests to wait this many
; confirmations before we consider the channel active. If this is not set, we
; will scale the value linear to the channel size between 3 and 6.
; The maximmum value of 6 confs is applied to all channels larger than
; wumbo size (16777215 sats). The minimum value of 3 is applied to all channels
; smaller than 8388607 sats (16777215 * 3 / 6).
; Default:
;   bitcoin.defaultchanconfs=[3; 6]
; Example:
;   bitcoin.defaultchanconfs=3

-- lnd.conf
I am not using zero-conf channels since that seems to change the channel flow open and I am not sure CLN supports them.

Putting this back into draft until I know what's going with CLN and fixed it or I added a new LND node for routing.

Some more investigation before I drop CLN as a routing node since we already use LND and I suppose LND works better with LND:
The error that LND reports is thrown when short channel ids are not received in a sorted order—apparently to detect malicious payloads—see here:
// We'll ensure that this short chan ID is greater than
// the last one. This is a requirement within the
// encoding, and if violated can aide us in detecting
// malicious payloads. This can only be true starting
// at the second chanID.
cid := shortChanIDs[i]
if i > 0 && cid.ToUint64() <= lastChanID.ToUint64() {
	return 0, nil, ErrUnsortedSIDs{lastChanID, cid}
}

This is code in the function decodeShortChanIDs. This function is called when LND receives a ReplyChannelRange message, see here:
// Decode deserializes a serialized ReplyChannelRange message stored in the
// passed io.Reader observing the specified protocol version.
//
// This is part of the lnwire.Message interface.
func (c *ReplyChannelRange) Decode(r io.Reader, pver uint32) error {
	err := ReadElements(r,
		c.ChainHash[:],
		&c.FirstBlockHeight,
		&c.NumBlocks,
		&c.Complete,
	)
	if err != nil {
		return err
	}

	c.EncodingType, c.ShortChanIDs, err = decodeShortChanIDs(r)
	if err != nil {
		return err
	}

This also explains the error in the CLN logs about "owning subdaemon channeld died" since according to the CLN tests, this is thrown when the peer hangs up, see here:
 # They hang up on *us*
 l1.daemon.wait_for_log('Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died')

That's a test for fee limits. This leads us closer to the source of this issue since the CLN logs also include "ignoring fee limits!" which is thrown here in a function named peer_start_channeld:
/* Warn once. */
if (channel->ignore_fee_limits || ld->config.ignore_fee_limits)
    log_unusual(channel->log, "Ignoring fee limits!");

So I guess LND and CLN aren't agreeing on which fees to commit to?

Did you try upgrading lnd? We are on the latest release in prod.

Did you try upgrading lnd? We are on the latest release in prod.

Oh, I thought we were running v0.18.0-beta. I'll try with v0.18.3-beta then.
I already upgraded CLN to v24.08.1 because I couldn't even get the routes to come up reliably on v23.08.

Still happening :/
$ sndev cli lnd --version
lncli version 0.18.3-beta commit=v0.18.3-beta
$ sndev cli cln --version
v24.08.1-modded

After about an hour of all nodes being up and successfully routing payments from lnd to sn_lnd through cln and vice versa every 5 seconds, I still got
unable to read message from peer: current sid: 806:26:0 isn't greater than last sid: 806:27:0

in the lnd logs:
2024-12-06 04:46:43.911 [INF] NTFN: New block: height=864, sha=00356597b80d42660fd7096e1bf63319db5f6d14613c1d3fc124358ec034368e                                                                                05:46:54 [835/4341]
2024-12-06 04:46:43.911 [INF] UTXN: Attempting to graduate height=864: num_kids=0, num_babies=0
2024-12-06 04:46:45.244 [INF] HSWC: ChannelLink(fc1c209e4f6208da79d660e87cdf903914e248c22d7ce4b81ca7e91e27453c32:0): settling htlc df984b765a1674cb710e4e726f978bf51162add25c61627aba31244313f99977 as exit hop
2024-12-06 04:46:45.264 [ERR] RRPC: TrackPayment got error for payment<PHONE_NUMBER>6238366435386161323734393666663463643237623137313537343433393166386466393238396433653165366431623032663438666563373039: <nil>
2024-12-06 04:46:45.542 [INF] SRVR: Adding preimage=3fbaa3dc3adfe57d0f3486226b997553a05333213f49a50ee0ef0c6a9485d3fc to witness cache for c3789b86d58aa27496ff4cd27b1715744391f8df9289d3e1e6d1b02f48fec709
2024-12-06 04:46:49.645 [INF] HSWC: ChannelLink(c7c6065536ecff9cf5374c51dce8f6c475e2f9d11f5ce6388b28096afa7f2d14:0): settling htlc 811302dd6f1e8703eaeb3fae664528cd470b9dd0e6267f03f4261e8b15b12463 as exit hop
2024-12-06 04:46:49.664 [ERR] RRPC: TrackPayment got error for payment<PHONE_NUMBER>3139646639353061363833383031663834646538306566366665343161363066353330656533353337333836623539653031356537366639663136: <nil>
2024-12-06 04:46:49.915 [INF] SRVR: Adding preimage=a6e1b705931b1a58f5436fc3bdd1df855bed99a9256d5ca8c428bc1065f93a4a to witness cache for a7bf619df950a683801f84de80ef6fe41a60f530ee3537386b59e015e76f9f16
2024-12-06 04:46:53.079 [INF] GRPH: Examining channel graph for zombie channels
2024-12-06 04:46:53.079 [INF] GRPH: Pruning 0 zombie channels
2024-12-06 04:46:54.041 [INF] HSWC: ChannelLink(6fda97e7d951fadaa3e41d4d1e65e6235e074de3dffe53147f13486a98c7db5f:0): settling htlc 5a11e7d2b52bc5b8e2b1f80b34352935db23aa6afb3a0be6b97dd52ce358609d as exit hop
2024-12-06 04:46:54.315 [INF] SRVR: Adding preimage=1367fae35692b8cfb08016de4ab1c1c276d4160ea0e9bcc1f542e7f551a13685 to witness cache for f3188938b5f001c5fa1e4d9a43bb70aab56b68a4a4d67aeae4d28302527d26df
2024-12-06 04:46:54.326 [ERR] RRPC: TrackPayment got error for payment<PHONE_NUMBER>3933386235663030316335666131653464396134336262373061616235366236386134613464363761656165346432383330323532376432366466: <nil>
2024-12-06 04:46:56.525 [INF] DISC: GossipSyncer(03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90): requesting new chans from height=0 and 864 blocks after
2024-12-06 04:46:56.525 [INF] PEER: Peer(03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90): unable to read message from peer: current sid: 806:26:0 isn't greater than last sid: 806:27:0
2024-12-06 04:46:56.526 [INF] PEER: Peer(03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90): disconnecting 03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90@<IP_ADDRESS>:39892, reason: read handler closed
2024-12-06 04:46:56.626 [INF] DISC: Removing GossipSyncer for peer=03ca7acec181dbf5e427c682c4261a46a0dd9ea5f35d97acb094e399f727835b90
2024-12-06 04:46:56.626 [INF] HSWC: ChannelLink(6fda97e7d951fadaa3e41d4d1e65e6235e074de3dffe53147f13486a98c7db5f:0): stopping
2024-12-06 04:46:56.627 [INF] HSWC: ChannelLink(6fda97e7d951fadaa3e41d4d1e65e6235e074de3dffe53147f13486a98c7db5f:0): exited

I think the TrackPayment got error logs are unrelated, since they happened for every payment.
cln logs:
2024-12-06T04:46:56.527Z INFO    028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35-channeld-chan#2: Peer connection lost
2024-12-06T04:46:56.527Z INFO    028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35-chan#2: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:56.527Z INFO    028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35-channeld-chan#4: Peer connection lost
2024-12-06T04:46:56.527Z INFO    028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35-chan#4: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:56.527Z INFO    028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35-channeld-chan#6: Peer connection lost
2024-12-06T04:46:56.527Z INFO    028093ae52e011d45b3e67f2e0f2cb6c3a1d7f88d2920d408f3ac6db3a56dc4b35-chan#6: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:56.528Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-channeld-chan#5: Peer connection lost
2024-12-06T04:46:56.528Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#5: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:56.529Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-channeld-chan#1: Peer connection lost
2024-12-06T04:46:56.529Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#1: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:56.529Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-channeld-chan#3: Peer connection lost
2024-12-06T04:46:56.529Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#3: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:57.698Z UNUSUAL 02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#1: Ignoring fee limits!
2024-12-06T04:46:57.700Z UNUSUAL 02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#3: Ignoring fee limits!
2024-12-06T04:46:57.701Z UNUSUAL 02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#5: Ignoring fee limits!
2024-12-06T04:46:57.702Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-channeld-chan#1: Peer connection lost
2024-12-06T04:46:57.702Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#1: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:57.703Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-channeld-chan#5: Peer connection lost
2024-12-06T04:46:57.703Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-chan#5: Peer transient failure in CHANNELD_NORMAL: channeld: Owning subdaemon channeld died (62208)
2024-12-06T04:46:57.703Z INFO    02cb2e2d5a6c5b17fa67b1a883e2973c82e328fb9bd08b2b156a9e23820c87a490-channeld-chan#3: Peer connection lost

I'll investigate this some more.

I wonder if the issue only happens when creating multiple channels between the same CLN<>LND peers. I don't imagine that happens much in practice.

I reverted the cln version change and made it so only one channel is created and it's been up and running for 20 minutes without issue.
diff --git a/docker-compose.yml b/docker-compose.yml
index f631e2f1..a30a9339 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -355,11 +355,11 @@ services:
       ofelia.job-exec.sn_channel_cron.schedule: "@every 1m"
       ofelia.job-exec.sn_channel_cron.command: >
         su lnd -c bash -c "
-          if [ $$(lncli getinfo | jq '.num_active_channels + .num_pending_channels') -ge 3 ]; then
+          if [ $$(lncli getinfo | jq '.num_active_channels + .num_pending_channels') -ge 1 ]; then
             exit 0
           else
             lncli openchannel --node_key=$STACKER_CLN_PUBKEY --connect cln:9735 --sat_per_vbyte 1 \\
-              --min_confs 0 --local_amt=1000000000 --push_amt=500000000
+              --min_confs 1 --local_amt=10000000000 --push_amt=5000000000
           fi
         "
     cpu_shares: "${CPU_SHARES_MODERATE}"
@@ -426,11 +426,11 @@ services:
       ofelia.job-exec.lnd_channel_cron.schedule: "@every 1m"
       ofelia.job-exec.lnd_channel_cron.command: >
         su lnd -c bash -c "
-          if [ $$(lncli getinfo | jq '.num_active_channels + .num_pending_channels') -ge 3 ]; then
+          if [ $$(lncli getinfo | jq '.num_active_channels + .num_pending_channels') -ge 1 ]; then
             exit 0
           else
             lncli openchannel --node_key=$STACKER_CLN_PUBKEY --connect cln:9735 --sat_per_vbyte 1 \\
-              --min_confs 0 --local_amt=1000000000 --push_amt=500000000
+              --min_confs 1 --local_amt=10000000000 --push_amt=5000000000
           fi
         "
     cpu_shares: "${CPU_SHARES_MODERATE}"
diff --git a/docker/cln/Dockerfile b/docker/cln/Dockerfile
index 394aac67..3fb6e93f 100644
--- a/docker/cln/Dockerfile
+++ b/docker/cln/Dockerfile
@@ -1,4 +1,4 @@
-FROM polarlightning/clightning:24.08.1
+FROM polarlightning/clightning:23.08

For me, both are nodes stay active, and are aware of each other according to describegraph but neither can route to the other through CLN. I get [lncli] rpc error: code = Unknown desc = unable to find a path to destination.

I think we've wasted enough time with this. I suspect there's some bug we are running into in regtest. If it works with an lnd routing node, let's just do that. We'll still keep core lightning as a direct peer for testing.

I wonder if the issue only happens when creating multiple channels between the same CLN<>LND peers. I don't imagine that happens much in practice.

Ohhh, this would make sense!

I can't even get core lightning to start with this dockerfile.
The docker image is for v24.08.1 but it's using clnrest from v23.08?

Interesting, will see why it works for me (just out of interest mostly).

For me, both are nodes stay active, and are aware of each other according to describegraph but neither can route to the other through CLN. I get [lncli] rpc error: code = Unknown desc = unable to find a path to destination.

queryroutes is a better command that will give you the same feedback as if you try to route a payment.

I think we've wasted enough time with this. I suspect there's some bug we are running into in regtest. If it works with an lnd routing node, let's just do that. We'll still keep core lightning as a direct peer for testing.

Okay, I'll switch to LND as a routing node

Closing because replaced by #1700


feat(frontend): roll chrome devtools frontend to 670533

Merged as part of https://github.com/GoogleChromeLabs/ndb/pull/263


♻ Update

npm install part may not go well with new username.

Shit seems like Github auto fixed package name, lets make this happen


Add support for chaining DocumentRouters.

This addresses a long-considered need in DocumentRouter: the ability to chain them.
Description
A common use case would be connecting a DocumentRouter that does some transformation (e.g. dark subtraction) to a DocumentRouter that does visualization or serialization. Currently, the only way to do this is:
def factory(name, doc):
    router3 = Router3(...)
    router2 = Router2(...)
    router1 = Router1(...)

    def cb(name, doc):
        name1, doc1 = router1(name, doc)
        name2, doc2 = router2(name1, doc1)
        router3(name2, doc2)
    return [cb], []

RunRouter([factory])

which is verbose and error-prone. This PR enables:
def factory(name, doc):
    router3 = Router3(...)
    router2 = Router2(..., emit=router3)
    router1 = Router1(..., emit=router2)
    return [router1], []

RunRouter([factory])

Design Considerations

The relationship between documents received and documents emitted does not have to be 1:1. Note that the base class does not call emit internally at all. It is up to subclasses to define whether and when to emit. For example, Serializer classes and classes that produce visualizations are generally "sinks" and have no need to incur the overhead of emitting the documents to a downstream node. Some applications (example) may one to emit multiple documents when they receive a single document.
This emits straightforwardly to at most one downstream node. For more complex behavior, like fanning out to multiple nodes, handling backpressure, and other considerations, the user should engage a more complex library like streamz by registering a Stream node with emit. By accepting this one additional layer of indirection, we keep these considerations separate from event-model.

Alternatives Considered
We could leave it up to subclasses to add emit but a standard emit method and __init__ parameter

Good suggestions. Addressed.


⚠ Bofrost.es has degraded performance

In bb46ba7, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1662 ms

Resolved: Bofrost.es performance has improved in db711b8 after 20 minutes.


Cleanup chunk size

Remove unused CHUNK_SIZE config
We previously stoppped chunking events to Rumbda in 4d87506befd11dd11adbcd86264eb27e374c92bf

Apologies, meant to open this against our forked branch.


Support reading variables from .env file

While developing it's a hassle to pass everytime the env vars, and it's a common practice to declare them on an .env file to make development easier.

I've had this requested before but I feel it's out of scope for this plugin. Reading from a file isn't related to actual environment variables - it's just a useful devtool. There are also shell helpers for bash and powershell for this too.
After sampctl dev is merged to master this will be possible via sampctl.


IndexError: The shape of the mask [1, 304] at index 1 does not match the shape of the indexed tensor [1, 624, 256] at index 1

Hi,  I run with the code ' CUDA_VISIBLE_DEVICES=0 python app.py --version=LISA-13B-llama2-v1 --load_in_4bit', but got this error, how can I fix them?
Traceback (most recent call last):
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/gradio/queueing.py", line 501, in call_prediction
output = await route_utils.call_process_api(
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/gradio/route_utils.py", line 258, in call_process_api
output = await app.get_blocks().process_api(
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/gradio/blocks.py", line 1684, in process_api
result = await self.call_function(
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/gradio/blocks.py", line 1250, in call_function
prediction = await anyio.to_thread.run_sync(
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 2144, in run_sync_in_worker_thread
return await future
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 851, in run
result = context.run(func, *args)
File "/home/xin/anaconda3/envs/lisa/lib/python3.8/site-packages/gradio/utils.py", line 750, in wrapper
response = f(*args, **kwargs)
File "app.py", line 274, in inference
output_ids, pred_masks = model.evaluate(
File "/home/xin/PycharmProjects/LISA/model/LISA.py", line 383, in evaluate
pred_embeddings = last_hidden_state[seg_token_mask]
IndexError: The shape of the mask [1, 304] at index 1 does not match the shape of the indexed tensor [1, 624, 256] at index 1

I met the same error when I trained on reasonseg dataset.

i met the same error . anybody fix it?

You should check a "" token in your prompt.

any suggestion for this problem?

In my case <image> token is not in prompt.
Make sure your prompt contain <image> token

@min99830
`        prompt = input("Please input your prompt: ")
prompt = DEFAULT_IMAGE_TOKEN + "\n" + prompt
if args.use_mm_start_end:
replace_token = (
DEFAULT_IM_START_TOKEN + DEFAULT_IMAGE_TOKEN + DEFAULT_IM_END_TOKEN
)
prompt = prompt.replace(DEFAULT_IMAGE_TOKEN, replace_token)
    conv.append_message(conv.roles[0], prompt)
    conv.append_message(conv.roles[1], "")
    prompt = conv.get_prompt() `

 Token will be added here.  right?
and final prompt seems as below,
"A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions. USER: <im_start><im_end>\nPlease segment Lisa in this figure. ASSISTANT:"

@min99830
            seg_token_mask = output_ids[:, 1:] == self.seg_token_idx             # hack for IMAGE_TOKEN_INDEX (we suppose that there is only one image, and it is in the front)             seg_token_mask = torch.cat(                 [                     torch.zeros((seg_token_mask.shape[0], 255)).bool().cuda(),                     seg_token_mask,                 ],                 dim=1,             )

I solve this error by replacing vision_tower model from openai/clip-vit-large-patch14-336 to openai/clip-vit-large-patch14

我通过将vision_tower模型从 openai/clip-vit-large-patch14-336 替换为 openai/clip-vit-large-patch14 来解决此错误

Have you finally solved the problem of the subject?

I solve this error by replacing vision_tower model from openai/clip-vit-large-patch14-336 to openai/clip-vit-large-patch14

Works for me, thanks!


Some fixes to tests, flakiness improvement and test ordering

Trying to reduce cluster state test flakiness and making sure death tests are in the correctly
named test suite.

Could probably fix up this little mistake with git rebase -i HEAD^^, and changing the pick on the second line to fixup (or just f, same thing).
Not requiring it, but it'd be neater. :wink:

LGTM

Oooh, those "merge branch" commits that were added, I'm not so sure about those... :wink:

It wouldn't let me push unless I merged. I couldn't see why this was
happening.
Martin
On 18 August 2015 at 14:08, Pierre Phaneuf<EMAIL_ADDRESS>wrote:

Oooh, those "merge branch" commits that were added, I'm not so sure about
those... [image: :wink:]
—
Reply to this email directly or view it on GitHub
https://github.com/google/certificate-transparency/pull/871#issuecomment-132200146
.

What's the best way to fix this up?

On Wed, 19 Aug 2015 at 09:31 Martin2112<EMAIL_ADDRESS>wrote:

What's the best way to fix this up?

git rebase -i master
git push -f

Except git rebase -i upstream/master, in his case. And might need a git fetch upstream.

Thanks Ben + Pierre. I think the branch is now correct.

Ah, the "files changed" got a lot neater! :smiley:
LGTM


youtube-dl hangs after downloading first video

[x ] I've verified and I assure that I'm running youtube-dl 2016.12.12
[ x] At least skimmed through README and most notably FAQ and BUGS sections
[ x] Searched the bugtracker for similar issues including closed ones
[x ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Dear all, I'm facing the following issue where the youtube-dl hangs after downloading only the first video file from a playlist.
Here is the command that I used:
youtube-dl -v -i --restrict-filenames -k -f "bestvideo[ext=mp4, height=480]" https://www.youtube.com/watch?v=2Op3QLzMgSY&list=PLE18841CABEA24090
[1] 47709
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'-i', u'--restrict-filenames', u'-k', u'-f', u'bestvideo[ext=mp4, height=480]', u'https://www.youtube.com/watch?v=2Op3QLzMgSY']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.12.12
[debug] Python version 2.7.12 - Darwin-16.1.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 3.1.4, ffprobe 3.1.4
[debug] Proxy map: {}
[youtube] wIq4CssPoO0: Downloading webpage
[youtube] wIq4CssPoO0: Downloading video info webpage
[youtube] wIq4CssPoO0: Extracting video information
[youtube] wIq4CssPoO0: Downloading MPD manifest
[debug] Invoking downloader on u'https://r6---sn-q0c7dn7l.googlevideo.com/videoplayback?id=c08ab80acb0fa0ed&itag=135&source=youtube&requiressl=yes&pl=16&ms=au&mm=31&mn=sn-q0c7dn7l&initcwndbps=698750&mv=m&ratebypass=yes&mime=video/mp4&gir=yes&clen=3066074&lmt=1474646862341616&dur=133.967&key=dg_yt0&upn=Zln8BQMfq94&mt=1481575923&signature=4A6C147DCC4D4B5E27B518B29EC558E387020A6D.01ACD723D74428CACB11826CF5DE5426146171AD&ip=<IP_ADDRESS>&ipbits=0&expire=1481597824&sparams=ip,ipbits,expire,id,itag,source,requiressl,pl,ms,mm,mn,initcwndbps,mv,ratebypass,mime,gir,clen,lmt,dur'
[download] 1.1.1_Welcome_to_6.042-wIq4CssPoO0.mp4 has already been downloaded
[download] 100% of 2.92MiB

You have to either put the URL into quotes or manually escape all the special shell characters. Read FAQ entry for details.


update for day4 progress

/lgtm @orrgato Thanks for putting the quiz link.
Also if you want to learn vim in the interactive way then you can just type vimtutor in your line.

Woah , didn't knew about it , Will definitely try it .
Thanks for your hard work. I saw you replying to every pr. It must be so engrossing.

It's fun @orrgato Always happy to help.


cue/format/printer: fix indentation for clauses

Signed-off-by: Fog Dong<EMAIL_ADDRESS>This PR reset the allow for clauses at the position 0.
Fixes #1544

PTAL😀  /cc @myitcv

what about adding a check in writeWhitespace to never allow starting a file with a whitespace character? that seems to never make sense.
an alternative is why allowed begins with blank being set when printing the first token; it seems like we should start with just ignore, the zero value.

That makes more sense, thanks for the review, I'll fix it as suggested.

PTAL 😄 /cc @mvdan

I had a hunch that we could instead investigate why f.allowed had blank set when we were printing the first clause token. I debugged that a bit with @Lyoness and we ended up with a different fix, which you can find at https://review.gerrithub.io/c/cue-lang/cue/+/538624.
What do you think, @FogDong?

LGTM, you guys know cue better than me after all. @mvdan
Still, I think it's better for the community if we can have some more discussion before another PR. Although it took some time to investigate this issue and made my first PR, it's time to close it.

Certainly - and the last thing I want to do is to discourage further contributions :)
I did try to nudge the discussion in another direction in an earlier comment:

an alternative is why allowed begins with blank being set when printing the first token; it seems like we should start with just ignore, the zero value.

However, it was hard for me to say whether that idea would turn out to be a good fix without trying it. It's far from ideal if I ask you to implement a solution without me knowing ahead of time whether it will work or not - I'm new to the cue/format codebase as well.
So I thought it would be best to just try and see what happens. I'm still not sure whether Paul or Marcel will say that the second solution is better - if not, perhaps we'll come back here.


Non-english language support

It would be nice to support non english languages with snips. Maybe it can be implemented by offering the option of using a custom "assistant.zip" file, as alterative to the default one.

This is why the application is open source.  You can compile the application with your own assistant.

You're right, thanks 👍

You will also have to add your own language to the some of the Snips apps used, or those that you want to use for your assistant.   You do that from the snips console and fork the app.  I think in the documentation I listed all the apps I used for the assistant, a few I created myself just for this app.   It's going to be some work, hence why its not easy to freely add multiple language support.  https://console.snips.ai/

Got it, thanks


eks cluster - InvalidParameterException: Cluster is already at the desired configuration with endpointPrivateAccess: true

Describe the bug
A concise description of what the bug is.
When Cluster is created with publicAccessCIDRs and endpointPublicAccess: true, it syncs successfully but shows terminal condition "InvalidParameterException: Cluster is already at the desired configuration with endpointPrivateAccess: true..."
Steps to reproduce
apiVersion: eks.services.k8s.aws/v1alpha1
kind: Cluster
metadata:
  annotations:
    services.k8s.aws/deletion-policy: delete
  creationTimestamp: "2023-07-24T15:51:28Z"
  finalizers:
  - finalizers.eks.services.k8s.aws/Cluster
  generation: 50
  name: rancher
  namespace: control
  resourceVersion: "49720210"
  uid: c77c4b8e-e4f9-4644-be02-86571a103238
spec:
  kubernetesNetworkConfig:
    ipFamily: ipv4
    serviceIPv4CIDR: <IP_ADDRESS>/16
  logging:
    clusterLogging:
    - enabled: true
      types:
      - api
      - audit
      - authenticator
      - controllerManager
      - scheduler
  name: rancher
  resourcesVPCConfig:
    endpointPrivateAccess: true
    endpointPublicAccess: true
    publicAccessCIDRs:
    - x.x.x.x/32
    - y.y.y.y/32
    securityGroupIDs:
    - sg-1234
    subnetIDs:
    - subnet-a
    - subnet-b
    - subnet-c
  roleARN: arn:aws:iam::12345:role/rancher-eks-cluster
  version: "1.25"
status:
  ackResourceMetadata:
    arn: arn:aws:eks:eu-central-1:12345:cluster/rancher
    ownerAccountID: "12345"
    region: eu-central-1
  certificateAuthority:
    data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFW********UVORCBDRVJUSUZJQ0FURS0tLS0tCg==
  conditions:
  - lastTransitionTime: "2023-07-25T07:35:35Z"
    status: "True"
    type: ACK.ResourceSynced
  - message: |-
      InvalidParameterException: Cluster is already at the desired configuration with endpointPrivateAccess: true , endpointPublicAccess: true, and Public Endpoint Restrictions: [x.x.x.x/32, y.y.y.y/32]
      {
        RespMetadata: {
          StatusCode: 400,
          RequestID: "5013d72e-cf58-4105-a9ea-783f3834126d"
        },
        ClusterName: "rancher",
        Message_: "Cluster is already at the desired configuration with endpointPrivateAccess: true , endpointPublicAccess: true, and Public Endpoint Restrictions: [x.x.x.x/32, y.y.y.y/32]"
      }
    status: "True"
    type: ACK.Terminal
  createdAt: "2023-07-24T12:43:22Z"
  endpoint: https://xxxxxxxxxxxxxx.yyy.eu-central-1.eks.amazonaws.com
  identity:
    oidc:
      issuer: https://oidc.eks.eu-central-1.amazonaws.com/id/xxxxxxxxxxxxxx
  platformVersion: eks.5
  status: ACTIVE

Expected outcome
A concise description of what you expected to happen.
it should not go in to terminal condition if there is no change. it should not throw InvalidParameterException if there is no change
Environment

Kubernetes version 1.25
Using EKS (yes/no), if so version?  1.25
AWS service targeted (S3, RDS, etc.) EKS

We are also seeing this on Cluster resources with above config. This prevents further updates to cluster resources like attaching an additional control plane.

Hi, I just bumped into the same issue. May it be related to the order of the CIDR in the list ?

@demikl @kpanic9 @tomitesh @vflaux Release v1.4.2 in on the way!
Thanks you @vflaux!


sign manifest when sending to providers

fixes: #206

Pull Request Test Coverage Report for Build 424

39 of 55 (70.91%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 65.055%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmd/akash/provider.go
0
1
0.0%

provider/manifest/handler.go
2
4
50.0%

manifest/verify.go
16
22
72.73%

manifest/client.go
11
18
61.11%

Totals

Change from base Build 420:
0.03%

Covered Lines:
4440

Relevant Lines:
6825

💛  - Coveralls


Extend the project controls

Hi,
We are thinking to extend the project and create new controls like combobox(for example). But we don´t know how to start or what we are doing wrong.
We followed the steps described here to set up the GranularTestApplication:
https://github.com/yuvaltz/Granular/wiki/Developers-guide
After that we add ComboBox.cs and ComboBoxItem.cs in
1.-  Granular.Presentation/Controls as Files
2.- Granular.Presentation.Web/Controls as Links
And ComboBox.xaml in:
1.- Granular.Presentation.Generic/Styles as file
2.- Granular.Presentation.Generic.Web/Styles as Link
Also we added the following line in Granular.Presentation.Generic/Themes.Generic.xaml
<ResourceDictionary Source="/Granular.Presentation.Generic;component/Styles/ComboBox.xaml"/>
But compiling Granular.Presentation.Generic.Web project the compiler throws the following error:
error MC6000: Project file must include the .NET Framework assembly 'WindowsBase, PresentationCore, PresentationFramework' in the reference list.
I attach the source code of ComboBox.cs, ComboBoxItem.cs and ComboBox.xaml if it helps.
Any help that you could bring us to point to the right direction would be helpful.
Your job is very interesting and we want to explore its possibilities.
Thanks in advance.
Source.zip

This looks great, I'll be happy to help.
Granular.Presentation.Generic.* are not compiled with the Granular build tasks, so you need to set the xaml files build action to EmbeddedResource instead of Page.


Tupek/checkpoint unification

An upcoming refactor is all about consolidating this stuff and much more.  May have to wait until after summer though.


updating description - clarify encryption enabled by default

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Change addresses https://github.com/MicrosoftDocs/azure-docs/issues/32632

Automation for azure-sdk-for-java

Can one of the admins verify this patch?

@stankovski @shahabhijeet - Could one of you please review and sign off? Thanks!


The callback for fbinstant.share() doesn't trigger "when the share dialog has been closed"

It triggers "success=true" when the share dialog has been opened. This means there is no way of knowing if the user shared or cancelled the share dialogue.

It doesn't look like the Javscript SDK for fbinstant.shareAsync() indicates success either:
https://developers.facebook.com/docs/games/instant-games/sdk/fbinstant6.3
The success = true simply indicates creation of the share dialog was successful or not (ie if the args were ok etc). Not if the user actually shared or cancelled.

Yeah, some strange documentation there. The Facebook docs are wrong:
"the returned promise will resolve when the dialog is closed"
It is resolved after it's been opened (or failed to open).
This one can probably be closed.

Ok, closing


Updated gsutil cp of worker_log_file to worker_log_bucket

Before the changes present in this PR the copy would return Operation completed over 1 objects/54.0 B. but nothing would be in the storage bucket. After adding scheme (gs://) and a trailing slash to the destination url fix the gsutil cp command.

After watching the demo I see my error also missed this comment: https://github.com/ACloudGuru/gcp-cloud-engineer/blob/master/compute-labs/worker-startup-script.sh#L42


Fix golint error only caught downstream. [phab:D2280]

Created by danielmoy-google at 2018-05-04 20:17:35:

zarko accepted this revision at 2018-05-04 20:19:39

danielmoy-google wrote at 2018-05-04 20:34:19:
woops looks like I forgot to refresh before manually adding, zarko too fast

zarko accepted this revision at 2018-05-04 20:34:31

danielmoy-google closed via commit 72bc2b065dfd942ecaf8263b40519cb219a15670 at 2018-05-04 20:35:07


edit docs for 0.2 release

Signed-off-by: JENNIFER RONDEAU<EMAIL_ADDRESS>Copyedits:

moving toward standardized/corrected capitalization for product names, consistency, matching upstream practice (WIP)
future tense -> present tense
reducing duplicate content. More work to be done here.
clarifying a few points.

LGTM!

Also looks good to me!


ViewStub must have a valid layoutResource

at android.support.v7.widget.RecyclerView$Adapter.notifyDataSetChanged(RecyclerView.java:5747)

不能刷新

must add a Empty view
like  mRecyclerView.setEmptyView(R.layout.empty_progressbar,0);
that error is for return null as empty view and get  ViewStub must have a valid layoutResource expection

Without showing more code,I can hardly help you solve the problem.


[Runtime][Object] expose runtime::String to Python

This PR exposes the runtime String object to Python. Here we only registered the constructor so that we can pass String objects to C++ for #5211 .
Other utilities and refactor of StringImm to String will be added as a follow-up PR.
cc @tqchen @wweic @icemelon9

NOTE: this suffice for now, however, we will need to followup to make String behave more like a py str later


Allow getLatest to be temporarily deactivated

We are working on a Lexical project where an editor state is analysed, important chunks of text are identified and then we wrap them in little boxes by putting custom nodes around them.  Exactly where the custom nodes need to be inserted is specified with this type:
export type AnalyserRange = {
  fromPoint: PointType;
  toPoint: PointType;
};

However, this means that we need to take care to update subsequent ranges based on what has already been inserted, as inserting nodes can cause text nodes to be split and keys to change.  Luckily we know that the text content of the editor state will never change during this phase, and therefore we have a simple algorithm to go through the content assigning an index to each point, which then allows us to remap a range from one editor state to another.
The function we use to do this has this signature:
function remapTextPoint(
  point: PointType,
  fromEditorState: EditorState,
  toEditorState: EditorState
): PointType | null;

In order to save rendering multiple times to the DOM we do all the work in a single update cycle.
However, this has thrown up a problem; no matter which editor state you retrieve a node from, the node's functions will always work on the pending state because everything calls this.getLatest() before doing anything.  Although 99% of the time this is the correct behaviour, we explicitly need access to nodes in a particular state (even if its not the latest) in order to remap our points.
Here is a test explicitly illustrating the situation:
it("lets us use nodes from the active state", () => {
    const editor = createEditor();

    let textNode!: TextNode;
    editor.update(
      () => {
        const p = $createParagraphNode();
        textNode = $createTextNode("hello");
        $insertNodes([p.append(textNode)]);
      },
      { discrete: true }
    );

    editor.update(() => {
      const helloNode = $getNodeByKey(textNode.getKey(), editor.getEditorState());
      expect(helloNode?.getTextContent()).toBe("hello");

      // Update the text in the text node
      textNode.setTextContent("goodbye");

      // Now, even though we `$getNodeByKey` specifically from the active editor state, we actually
      // get the node from the pending state (because everything calls `getLatest`).
      const goodbyeNode = $getNodeByKey(textNode.getKey(), editor.getEditorState());
      expect(goodbyeNode?.getTextContent()).toBe("goodbye");

      // Although this is usually the behaviour we want, sometimes we want to disable this.  Can we?

      // !! DO SOME MAGIC HERE !!

      const activeNode = $getNodeByKey(textNode.getKey(), editor.getEditorState());
      expect(activeNode?.getTextContent()).toBe("hello");
    });
  });

My initial idea was to temporarily monkeypatch getLatest() on the prototype of LexicalNode in our function, but LexicalNode is only exported as a type and so this doesn't seem to be possible.
So, my questions are:

are we being stupid and there is a much simpler way to go about all of this?
if not, is there any way to temporarily disable getLatest?
if not, would you accept a PR with functions to enable and disable getLatest?  I know its a bit of a strange one....

Cheers!

Now that I've written this all down, I realise that one way to do this would be to walk through all the nodes in the editor state monkey patching getLatest, and then doing the same to unmonkeypatch afterwards, but this seems a bit wasteful.

Here is a temporary solution:
export function $withActiveEditorState(fn: () => void) {
  const getLatestOriginals = new WeakMap<LexicalNode, () => LexicalNode>();

  const searchResults = $dfs();

  searchResults.forEach(({ node }) => {
    getLatestOriginals.set(node, node.getLatest);
    node.getLatest = function () {
      return this;
    };
  });

  fn();

  searchResults.forEach(({ node }) => {
    node.getLatest = getLatestOriginals.get(node)!;
  });
}

which can be used like this:
editor.getEditorState().read(() => {
  $withActiveEditorState(() => {
    const activeNode = $getNodeByKey(textNode.getKey());
    expect(activeNode?.getTextContent()).toBe("hello");
  });
});

Do you need to operate on nodes from both states, or just read one and operate on the other? If it's the latter, can you try using EditorState.read, and get the information from that editor state that way?
Another way to go at this might be to directly access the nodeMap property of the EditorState, rather than getNodeByKey.

Even using EditorState.read to get the active state will operate on the pending state once you start using any of the get* methods on nodes as they all call getLatest.
However, we have actually gone down a completely different path of temporarily inserting custom nodes just for the purposes of marking points that we are interested in during the update.  Then Lexical takes care of keeping the nodes in the correct place and we can retrieve and delete them as we go through the process.  This turns out to work excellently!
We also had a go with the @lexical/offset package which should do exactly what we were trying to do with the indexes, but we couldn't get it to work reliably.  Not sure if thats because of us or the package :)

I think the only reasonable solution to this is to nest an editor.getEditorState().read(…) in your update when you want to read the previous version of that node. There's no reason to do all of the stuff with keys and states directly, the editor.update or editorState.read context provides that.
it("lets us use nodes from the active state", () => {
    const editor = createEditor();

    let textNode!: TextNode;
    editor.update(
      () => {
        const p = $createParagraphNode();
        textNode = $createTextNode("hello");
        $insertNodes([p.append(textNode)]);
      },
      { discrete: true }
    );

    editor.update(() => {
      expect(textNode.getTextContent()).toBe("hello");

      // Update the text in the text node
      textNode.setTextContent("goodbye");

      expect(textNode.getTextContent()).toBe("goodbye");

      // Visit the past
      editor.getEditorState().read(() => {
        expect(textNode.getTextContent()).toBe("hello");
      });
    });
  });


More parsing

In this PR:

Changed name to db_sigma. I couldn't get it working properly named as sigma due to the naming conflict
Created a class called SigmaRule. This takes a Sigma rule, parses the SQL filter with DatabricksBackend, and grabs all available variables from it's from_yaml conversion and dynamically creates class variables from them
Extended the field_quote_pattern to support struct and map columns. Previously it would wrap columns containing periods with `` and throw an error

This will be used for the tickets https://databricks.atlassian.net/browse/DET-1081 and https://databricks.atlassian.net/browse/GTMSEC-246

I've merged the fix for maps/structs, but I would prefer to leave the rest of changes out of the backend...


Add support for dictionaries

Hello, I'm interested into a pull request for this feature into the main repo. Will be nice also if you can add some integrity tests like I did for another library : https://github.com/silviucpp/elocaltime/blob/master/test/integrity_test_SUITE.erl


Process existing ics files from URL

This PR adds functionality to process existing .ics files from a URL and create a compatible calendar. (The goal of this PR is to be able to show the result in scientific-python.org)
Addresses https://github.com/scientific-python/scientific-python.org/issues/246
Feedback is welcome!

Codecov Report

Merging #71 (e9b03d1) into main (2dd77b4) will decrease coverage by 3.23%.
The diff coverage is 75.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main      #71      +/-   ##
==========================================
- Coverage   95.19%   91.96%   -3.23%
==========================================
  Files           1        1
  Lines         104      112       +8
==========================================
+ Hits           99      103       +4
- Misses          5        9       +4

Files
Coverage Δ

yaml2ics.py
91.96% <75.00%> (-3.23%)
:arrow_down:

Exactly, just checking if this was reasonable. Thanks for the suggestions - I'll fix them up and add the tests 😁

Given that yaml2ics turns yaml into ICS, and these calendars are already in ICS format, I wonder if it wouldn't make sense to rather modify the process on the scientific-python.org site instead. I.e., have a small Python script that calls yaml2ics for files without, say, an external-ics: field, otherwise fetch the ICS and put it where it needs to go.
I suggest this, because I think this functionality is unlikely to be required by users of this library, but is obviously already required on scientific-python.org!

That makes sense too - I was wondering what the best approach would be given that we might want to keep track of these calendars in one place (right now this would mean the folder where all yaml files are in scientific-python.org).

I'm at least somewhat interested in this idea!
It's a good question if there should be something else that merges ICS feeds after yaml2ics does its job.  If someone makes template commands for that, please paste here!

Please see https://github.com/scientific-python/scientific-python.org/pull/519#issuecomment-2324747658
I think, unfortunately, we are not able to provide this functionality.


The page recommends WSL 2 and yet WSL 2 does not have WWW access by default

How exactly am I supposed to run curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash if there is no connection to the internet??

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

ID: 39f94295-ca73-b090-6347-21e123925177
Version Independent ID: 504dcc6c-fc86-bd6a-8944-2c0f2280dda7
Content: Set up Node.js on WSL 2
Content Source: hub/dev-environment/javascript/nodejs-on-wsl.md
Product: dev-environment
Technology: windows-javascript
GitHub Login: @mattwojo
Microsoft Alias: mattwoj

@zielot - Sorry, I'm not sure that I'm quite understanding the issue. WSL does have access to the internet. The exception may be if it's blocked by an internal firewall (?).

@mattwojo - No, WSL2 does not have access to the internet by default. As per Microsoft documentation (my own emphasis; backed by my own recent experience):

When using a WSL 1 distribution, if your computer was set up to be accessed by your LAN, then applications run in WSL could be accessed on your LAN as well.
This isn't the default case in WSL 2.
https://learn.microsoft.com/en-us/windows/wsl/networking
Unless I missed something, this default WSL 2 install that lacks any bridging nor NAT makes it virtually impossible to install applications from the internet without sophisticated configuration. The configuration mentioned in the above link, for example, only works if you know which port to forward - which may be the case if you are trying to expose your networked application running in WSL 2 to your local machine or network.

Hey @zielot - Maybe it would help to explain what you're trying to accomplish with WSL?
Perhaps there is a firewall issue blocking your Linux distributions running on WSL2 from accessing the internet? > https://learn.microsoft.com/windows/wsl/faq#why-do-i-not-have-internet-access-from-wsl-
Are you tring to connect to the internet or to a private LAN?
If you're just looking to install/download software on a Linux distribution (running via WSL2), you can use a package manager (like sudo apt install <x>) or you can install and use cURL if what you want to download something that isn't available in a package (sudo apt install curl and then curl -O https://<url>).
Does that help?

Hey there @mattwojo - I appreciate your persistence in getting this issue resolved.
I was trying to set up a node environment in my WSL2 instance on latest version of Windows 10 and I ran into issues when I tried to connect to any network web server outside of my company's internal network. I had had a similar prior experience using WSL2 but not WSL1 using the otherwise identical configuration - same PC, OS, company network - so I had assumed that the issue was with WSL2. In addition, I recall reading posts about earlier versions of WSL2 that did not use NAT out of the box.
After some trial and error or perhaps stumbling upon a StackOverflow post I learned that if I disconnected from my VPN I was able to reach the Internet web servers I needed. Since I did not need access to any resources on my company's network this turned out to be an acceptable work-around. We use Cisco's AnyConnect VPN client to connect to our internal network from outside of the network.
~ Justin

So glad to hear that you've found a resolution @zielot! Thank you for following up to let me know how it was resolved and closing the issue. I'll have to do some considering of whether there are ways I could better highlight this potential issue of being blocked by internal company VPNs in the docs for other who may run into the same thing.


How to modify and compile?

Hello !
Your software "aspiratv" is interesting me a lot, and I would like to personalize it a little bit.
But I need your help to have a look and to understand what you did (I am a newbie in Go programming :D):

I already installed go1.14.4, made the test "hello world", compiled it, and my installation works well.
Which software do you advise me (Windows user) to modify the code?
Which file is launched at first? Is it "cmd\aspiratv\main.go" ?
Which command do you type in order to compile your code?

Thank you very much for help!
Ju

Hi @julll190
Here are tools you can use for starting with Go on windows:

Go itself
Visual Studio Code as IDE. (https://code.visualstudio.com/download)
Go extension for VSCODE (https://code.visualstudio.com/docs/languages/go)

the command aspiratv is not placed at top level, but in cmd/aspiratv folder.  So move to this place, and type:
go buld

You will get an executable.
Have fun with this.
++ Simulot

Hello,
Congratulation for your great software!
Is there a way to compile your code from the command line (using GOlang on UBUNTU)?
Thanks, Ice

Hi @julll190
Here are tools you can use for starting with Go on windows:

Go itself
Visual Studio Code as IDE. (https://code.visualstudio.com/download)
Go extension for VSCODE (https://code.visualstudio.com/docs/languages/go)

the command aspiratv is not placed at top level, but in cmd/aspiratv folder. So move to this place, and type:
go buld

You will get an executable.
Have fun with this.
++ Simulot

Thank you for answer, I installed everything and it's OK now.
I just need to find some time to study your code ;), I didn't thought it would be so long and complicated.

Hello,
Congratulation for your great software!
Is there a way to compile your code from the command line (using GOlang on UBUNTU)?
Thanks, Ice

Compile fine under Linux too :) took me a while to see, one really must be in [cmd/aspiratv] before calling the [go build] command :) let's have a look


Sorting

Is it any opportunities sort data ?
Can you give example ?

DynamoDB is not designed to support complicated sorting. However, the indexes are sorted and whenever you query an index, the results are sorted by the indexed attribute(s). Primary Index, GSI and LSI are all sorted.
$im->getRepository(User::class)->query(...) will return sorted data, according to the index you chose. Moreover, sorting can be done in either ascending order or descending order. Please check the parameter for more information.


Certificate Import feature not available in 2017 and below.

On this page, it references an 'Import' function within the Certificates tab of SQL Server Network Configuration. This import function does not exist in SQL Server 2017 and below. This page should be updated to not include these steps for any version of SQL Server below 2019, as it is misleading.

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

ID: be811156-078f-e4d9-406a-7e63e06603b5
Version Independent ID: e7ab123c-1f76-14ac-2d55-296e7845a50c
Content: Certificate Management (SQL Server Configuration Manager) - SQL Server
Content Source: docs/database-engine/configure-windows/manage-certificates.md
Product: sql
Technology: configuration
GitHub Login: @markingmyname
Microsoft Alias: maghan

@Muxxx -- Stefano, thank you for your feedback.
@markingmyname -- Mark, please look into this issue.
cc @VanMSFT for related issue #5770

@Muxxx,
Thank you for your contribution.
The article will be updated by the end of the week.
Please review it then and let me know if this works.
thank you.

@Muxxx,
Thank you for your contribution.
The article will be updated by the end of the week.
Please review it then and let me know if this works.
thank you.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue. To see what the community is wanting, please visit the SQL Server User Feedback site.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue. To see what the community is wanting, please visit the SQL Server User Feedback site.


Design a new preloader

It should match the theme of the website.
Use website logo in preloader.

This seems interesting, I'd like to take this up

This seems interesting, I'd like to take this up

Under DCP or LGMSoC?

Under LGMSoC

Under DCP or LGMSoC?

Under LGMSoC

Any updates

@utkarsh-ub I don't think I can give this issue it's due attention due to my academic load... I apologise for the delay in conveying this, and thank you for letting me work on it till now

heyy ,
Can I give it a try ?

Please assign me this issue. I can give a elegant preloader for the website

Please assign me this issue. I can give an elegant preloader for the website

This issue is already assigned.
And first, resolve other issues that are assigned to you.

@Sarthakjain594 any updates?

Can , I work on it?

I would like to work on this issue . But first just want to confirm that for this issue we have to change the blue color preloader which pop up when we open the website wright?

I would like to work on this issue . But first just want to confirm that for this issue we have to change the blue color preloader which pop up when we open the website wright?

Yes remove that preloader and add some nice preloader.
That matches the theme colour(red/black) of the website and style related to cinema or movies.

I have designed a preloaded, but unable to fix its frame and size.
On Fri, 1 Oct 2021, 11:01 Qazi Maaz Arshad, @.***>
wrote:

I would like to work on this issue . But first just want to confirm that
for this issue we have to change the blue color preloader which pop up when
we open the website wright?
Yes remove that preloader and add some nice preloader.
That matches the theme colour(red/black) of the website and style related
to cinema or movies.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/QAZIMAAZARSHAD/Movie-Streaming-Website/issues/466#issuecomment-931911958,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APL5KDMLAWLS26ZGQHGD4HLUEVBUFANCNFSM5AVG24UA
.

I have designed a preloaded, but unable to fix its frame and size.
…
On Fri, 1 Oct 2021, 11:01 Qazi Maaz Arshad, @.***> wrote: I would like to work on this issue . But first just want to confirm that for this issue we have to change the blue color preloader which pop up when we open the website wright? Yes remove that preloader and add some nice preloader. That matches the theme colour(red/black) of the website and style related to cinema or movies. — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub <#466 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/APL5KDMLAWLS26ZGQHGD4HLUEVBUFANCNFSM5AVG24UA .

Look for a solution on youtube, StackOverflow, or any other site.
Or open an issue in your repo and ask people to help you in resolving the issue.


[WIP] experiment with parallelization

Hi @waltzofpearls , was just wondering if you have any preliminary findings in terms of performance?

Hey @jqnatividad, I ran benchmark against both approaches, the old one with sequential matches, and the new one with parallel matches. Surprisingly the parallel matches was overall slower, and not just slightly slower. I think there are cost in scheduling and synchronizing parallel works. Maybe I didn't find the right tool for the problem I want to solve.
The old approach is easy and much like brute force, and that leads to much faster time in a better scenario, and relatively slower in a worse case scenario. If someone is using a format that has "lower priority" in the list, they will get slower parsing speed. Still, we are only talking about nanoseconds to microseconds level speed comparison for each parsing operation.
I think overall, more experiment is needed if I want to keep going with the parallelization work. Another approach is completely rewrite the parsing, so it will parse character by character instead of making assumptions with regular expressions.


Support Oculus Touch Controllers

Vive and Touch controllers are similar, this PR is a small refactor of ViveController to turn it into ViveOrTouchController. A couple small semantic differences (e.g. oculus touch returns a pose in some cases where there's still no pose.position), but mostly it's just recognizing the Oculus Touch Controller's IDs.

OK, now this is just the "Add touch controller" support code

Any thoughts on this?


Updates to enable live testing in sovereign clouds for multiple services

We are running live Tests against other clouds like US Gov and Azure China Cloud. The goal is to check whether new azure sdk package work with other clouds or not.
Using this RR to trace and fix issues we encounter in the tests. Will close it once we finish all the tests and send PR per services.
Updated list:
Service Bus
Form Recognizer

API change check
API changes are not detected in this pull request.

Hi @AFengKK - Just wanted to update that live testing in the sovereign clouds has been enabled for servicebus. Thanks!

This PR has been stored for too long, we will close it and open a new draft PR for sovereign cloud testing.


docs: Privileged execution - use nginx instead of test-pod image

Fixes: https://github.com/cilium/tetragon/issues/705
Signed-off-by: janvi01<EMAIL_ADDRESS>

docs build had some issue with network connections retry fixed it.

Otherwise thanks for the patch lgtm.


Setting header with cookie value no longer overwrites a cookie value, it appends

Hey there, I've updated msw from ^2.4.2 to ^2.4.5 and thus @mswjs/interceptors from 0.29.1 to 0.35.1. This seems to have a changed behaviour when setting a cookie header.
I'm not too sure of the technical details, but this is the change I'm seeing.
//<EMAIL_ADDRESS>console.log(request.headers.get("cookie")); // foo=bar
request.headers.set("cookie", "foo=baz");
console.log(request.headers.get("cookie")); // foo=baz

//<EMAIL_ADDRESS>console.log(request.headers.get("cookie")); // foo=bar
request.headers.set("cookie", "foo=baz");
console.log(request.headers.get("cookie")); // foo=bar; foo=baz

Workaround
import { parse, serialize } from "cookie";

const cookies = cookies.parse(request.headers.get("cookie")!);
cookies.foo = "baz"
request.headers.set(serialize(cookies));

Root cause
The issue is caused by the interceptors pushing recorded headers into the internal array:
https://github.com/mswjs/interceptors/blob/bb9d798e03f79d0c36869c73f740edc80f3f7a5f/src/interceptors/ClientRequest/utils/recordRawHeaders.ts#L10
So, whenever you set a header on a response with that header name already present, the internal array will contain two values. The Headers class will then treat that as multi-value header, merging its values.
response.headers.set('foo', 'bar')
// internally: [ ['foo', 'bar'] ]

response.headers.get('foo', 'xyz')
// internally: [ ['foo', 'bar'], ['foo', 'xyz'] ]

Released: v0.35.6 🎉
This has been released in v0.35.6!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @mswjs/interceptors@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.

Awesome work, I can confirm the fix is working on my end 🙌

Yoo-hoo!


MD5 Passwords are not secure

Given that this website will eventually be used by many users at Purdue, I think it is irresponsible to be using MD5 over Laravel's built in bcrypt hashing (via Hash::make()). At the very least, a salt should be provided.

harrischristiansen/MembersPortal 22814fb
Passwords now hashed with Hash::make()


eth_sendRawTransaction

``
 let (r, s, v) = signer.values(transaction: transaction, signature: signature)
                let values: [Any] = [
                    transaction.nonce,
                    transaction.gasPrice,
                    transaction.gasLimit,
                    transaction.to?.data ?? Data(),
                    transaction.value,
                    transaction.data,
                    v, r, s,
                ]

This is the original sign parameter
I want to add a new parameter "maxPriorityFeePerGas" like this
                let signature = try EthereumSigner().sign(hash: hash, withPrivateKey: key)
                let (r, s, v) = signer.values(transaction: transaction, signature: signature)
                let values: [Any] = [
                    transaction.nonce,
                    transaction.gasPrice,
                    transaction.gasLimit,
                    transaction.to?.data ?? Data(),
                    transaction.value,
                    transaction.data,
                    transaction.maxPriorityFeePerGas,
                    v, r, s,
                ]

This will result in an error like the one below
responseError(JSONRPCKit.JSONRPCError.responseError(code: -32602, message: "transaction could not be decoded: unexpected EIP-155 V value", data: nil)) from: convertToUserFriendlyError(error:server:baseUrl:)
How can I add a new parameter "maxPriorityFeePerGas" to eth_sendRawTransaction?

Is this to support EIP1559? If so, best to wait for #5172

TransactionConfirmationViewController
    @objc func confirmButtonTapped(_ sender: UIButton) {
        guard viewModel.canBeConfirmed else { return }
        delegate?.controller(self, continueButtonTapped: sender)
    }

then to.  TransactionConfirmationCoordinator
    func controller(_ controller: TransactionConfirmationViewController, continueButtonTapped sender: UIButton) {
        sender.isEnabled = false
        canBeDismissed = false
        rootViewController.set(state: .pending)

        firstly { () -> Promise<ConfirmResult> in
            return sendTransaction()
        }.done { result in
            self.handleSendTransactionSuccessfully(result: result)
            self.logCompleteActionSheetForTransactionConfirmationSuccessfully()
        }.catch { error in
            self.logActionSheetForTransactionConfirmationFailed()
            //TODO remove delay which is currently needed because the starting animation may not have completed and internal state (whether animation is running) is in correct
            DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {
                self.rootViewController.set(state: .done(withError: true)) {
                    self.handleSendTransactionError(error)
                }
            }
        }.finally {
            sender.isEnabled = true
            self.canBeDismissed = true
        }
    }

Method is
sendTransaction()

返回错误

Is this to support EIP1559? If so, best to wait for #5172

Does this project support Moralis API to send transaction?

Is this to support EIP1559? If so, best to wait for #5172

Does this project support Moralis API to send transaction?

No, do you have a link to a doc so I can have a quick look? What's the advantage in doing it?


click event on notification

Is it possible to set click event on notification??

+1

Hey this what i have done to add the click event, i added onMessageClicked() method in the  TrayNotification Class in the tray folders:
public void onMessageClicked (EventHandler<? super MouseEvent> event){
        rootNode.setOnMouseClicked( event );

    }

How to use it :
TrayNotification tray = new TrayNotification();
                        tray.setTitle(title);
                        tray.setMessage(message);
                        tray.setNotificationType(notification);
                        //tray.showAndDismiss( Duration.millis( 5000 ) );
                        tray.showAndWait();
                        tray.onMessageClicked( v->
                            System.out.println( "|onMessageClicked|" )

                        );

try it out and see if it works for u, by the way, i am using this in  JDK 10, but i doubt if you will have issues , so i thought to mention this just in case ey, good luck .


don't try to mutate if there is only one gene

A small bug I found testing with a one-gene genome

Coverage decreased (-0.2%) to 99.814% when pulling dc51246d8aa0cb955c8078f1f07b8295caafecfb on FasterStronger:feature/one-gene into 064d6fdd0938f757f92e5dccd45c416cc321fa95 on MaxHalford:master.


added Contributing.md

Added an instruction for Bot usage and updated the contributor's list.

@all-contributors please add @samanyougarg for Code


Tokencache implementation - Initial draft

We've agreed to merge first and then refactor second here.
Thus, minor changes or code movement will need to be made in future commits/PRs


fix: Add ORDER BY to guarantee output order

Add ORDER BY SingerId DESC to the sample query to guarantee the order of the returned values. This will fix the failing SpannerSample.queryWithArrayOfStruct sample.

Does this affect the meaning of the docs that this sample is used in?

No, the meaning of the docs stays the same and is not affected by the additional ORDER BY statement. See https://cloud.google.com/spanner/docs/structs#querying_data_with_an_array_of_struct_objects
(The code was also already changed for Node.js as the same problem occurred there)


General Interface Improvements

Make the interface more user friendly for the initial release.

The main interface issues I was worried about have been addressed. Still a lot of design work to do, but I'm happy with this for the initial release.


Danbooru searches don't show feedback on failure

When there are not search matches Koa silently fails. Something should be said and, as a side feature, tell the user possible fixes to their tags (if the tag didn't exist).

SHA-dd45f9a3ff58de981edc27fed20f86163f4a6fc9


Validates email#1633

Fixes: Email validation. Checks for domain name after @ in email field when user signing up.
Describe the changes you have made in this PR:
added validation for email field, which checks if there is a domain name present after @, while user signs up.

Coverage increased (+0.04%) to 88.186% when pulling 099e513ac539f00563faacdad4a0a0cf5668d534 on bijoysijo:validates_name#1633 into 744271020f4813d2adbf0974d1f5febc48127214 on CircuitVerse:master.


Re-work [Java]

Summary

Zyod will be re-written to Java.
Detailed Info

Zyod is currently written in Python 3.10 as of this pr.
At the moment, in order to use Zyod, all project file must be downloaded. Although the project could utilize other tools to bundle the files into a single executable, I prefer to use more native options. Bundling an entire project into a .jar file is more appropriate in this manner. Moving forward, Zyod would benefit from the type safety features Java offers, providing a well-structured code base.
References

None
Screenshots (if appropriate):

Hi, I read about your project and I'm interested in helping you out. I'm have experience with Java and can resolve the rework if you are interested.
However, I might need a little bit more context on how this projects works and is implemented. If that's alright, do let me know.

Hi, I read about your project and I'm interested in helping you out. I'm have experience with Java and can resolve the rework if you are interested.
However, I might need a little bit more context on how this projects works and is implemented. If that's alright, do let me know.

Work In Progress
@blank-manash Thank you for the offer. Part of the reason why I wanted to rework this project is to provide an unclouded code structure as well as to learn Java myself. There are multiple components Zyod has in which I plan to add, subtract, and modify away from the previous Python edition. Essentially, this pr will establish a new base foundation for Zyod.
For now, I would like to take the time to unravel Zyod's potential going forward.
Until I create a guideline for contributors providing thorough context on Zyod and how it works, I will not be accepting prs at the moment.
Contributing
You can still contribute by finding Dynamic ODs (Open Directories) Zyod currently does not support. Specifically, ODs that will only load if JavaScript is enabled. Be sure to create an issue for it.
Here is an example of the GDIndex demo OD. Try disabling JavaScript, refresh the page, and you will see a blank website. It is as if it never existed.
Additionally, I created a CONTRIBUTING file, providing a bit more info about some key components of Zyod that will be added.


mTLS usability

Introduction

Turn mTLS on/off after cluster running.
Contents

Related work

https://github.com/vesoft-inc/nebula-operator/pull/449