Video hangs, freeze sometimes?

Hello
I love your work! Great.
But i have a big problem....
i use go2rtc to embed my rtsp/onvif cameras in my browser (fully kiosk).
How can i setup my coonfigs, to get the best reallife screen(it will be okay to loss some quality, when the video runs without freezing)
Thank you a lot!
I will get you tip, is there a way?

Hi,
did you try different browsers? I made some tests and benchmarks while my streams were hanging sometimes. I went from Firefox to MS Edge which is a lot faster for my configuration. No freezing anymore.

Open stream info (from WebUI) in the moment of freezing and past result here.

this is my info output
{
"producers": [
{
"type": "RTSP active producer",
"url": "rtsp://<IP_ADDRESS>:8554/Streaming/Channels/101",
"remote_addr": "<IP_ADDRESS>:8554",
"user_agent": "go2rtc/1.6.0",
"medias": [
"video, recvonly, H.264 Main 5.1",
"audio, recvonly, PCMU/8000"
],
"receivers": [
"96 H264, bytes=95778650, senders=1",
"0 PCMU/8000, bytes=12595520, senders=1"
],
"recv": 109742494
}
],
"consumers": [
{
"type": "WebRTC/WebSocket async passive consumer",
"remote_addr": "udp4 host <IP_ADDRESS>:60905",
"user_agent": "Mozilla/5.0 (Linux; Android 12; T10Pro Build/X900_EEA; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/114.0.5735.196 Safari/537.36",
"medias": [
"video, sendonly, VP8, RTX, VP9, AV1, H264, RED, ULPFEC, FLEXFEC-03",
"audio, sendonly, OPUS/48000/2, RED/48000/2, G722/8000, PCMU/8000, PCMA/8000, CN/8000, TELEPHONE-EVENT/48000, TELEPHONE-EVENT/8000, L16"
],
"senders": [
"102 H264, bytes=95778650, receivers=1",
"0 PCMU/8000, bytes=12595520, receivers=1"
],
"send": 109625500
}
]
}

Try to use mode: webrtc/tcp or mode: mse

unfortunately it still hangs.... by the way: how can i setup, that the audio not start automatically? can i set it in the url parameter?

ONVIF it's just an API for receive RTSP link

okay. i see.
sorry to ask you again, but if there any solution to mute the audio on the loading?
#backchannel=0 not work

WebRTC integration has mute option
how can i set this?

sorry to bother you again.
do you knwo, where i can ask my questions for your project? is there a community or something else?
i only want to know, where i set mode=webrtc/tcp ???
in the streaming url, or in the config file?
if i can set it in the config file,
do i need to set it behind the stream url?
streams:
    vorne:
        - rtsp://us:pw@<IP_ADDRESS>:8554/Streaming/Channels/101/mode=webrtc/tcp
    terrasse:
        - rtsp://us:pw@<IP_ADDRESS>:8554/Streaming/Channels/101?/
    katze1:
        - rtsp://<IP_ADDRESS>:554/onvif1/
    katze2:
        - rtsp://<IP_ADDRESS>:554/onvif1/
webrtc:
  listen: ":8554"

or should i set it in the webrtc section:
streams:
    vorne:
        - rtsp://us:pw@<IP_ADDRESS>:8554/Streaming/Channels/101/
    terrasse:
        - rtsp://us:pw@<IP_ADDRESS>:8554/Streaming/Channels/101?/
    katze1:
        - rtsp://<IP_ADDRESS>:554/onvif1/
    katze2:
        - rtsp://<IP_ADDRESS>:554/onvif1/
webrtc:
  listen: ":8554"
 mode: webrtc/tcp

do i need to set it in quotation marks?
thank you a lot!!!

okay. i tested it in the streaming url and i think thats the correct way.
my url http://<IP_ADDRESS>:1984/stream.html?src=vorne&mode=webrtc/tcp
not work..... but in my config i use 8554.....
when i try http://<IP_ADDRESS>:1984/stream.html?src=vorne&mode=webrtc/udp it works.
but if i change the port in the configs to 8555, it doesn't work.
in summary:
Variation 1:
streams:
    vorne:
        - rtsp://us:pw@<IP_ADDRESS>:8555/Streaming/Channels/101/

and the streaming url
http://<IP_ADDRESS>:1984/stream.html?src=vorne&mode=webrtc/udp
not work
Variation 2:
streams:
    vorne:
        - rtsp://us:pw@<IP_ADDRESS>:8554/Streaming/Channels/101/

and the streaming url
http://<IP_ADDRESS>:1984/stream.html?src=vorne&mode=webrtc/tcp
not work
Variation 3:
streams:
    vorne:
        - rtsp://us:pw@<IP_ADDRESS>:8554/Streaming/Channels/101/

and the streaming url
http://<IP_ADDRESS>:1984/stream.html?src=vorne&mode=webrtc/udp
works...
i need to combine 8554 as port and the mode udp in the url..
is this not so good?

8554 is rtsp by default. 8555 is webrtc by default. Your tests just broke the app.

I see....
First, can I spend you a tipp? Your work us great and I'm so happy that you spend your time for me.
I need to use 8554 in my configuration file. If I use 8555 I can't connect to my cam
Does webrtc need more cpu or is rtsp better?
Should I try to use rtsp when my camera can only connect via port 8554?
Thank you


Small variant annotation fix

Could you also add a note on the changes to the "Unreleased" section of CHANGELOG.md? That will help users see what changed between releases.


Can I have a fix for this warning? kthxbye

Numeric/Polynomial.hs:532:27: Warning:
Variable ‘r’ is implicitly quantified due to a context
Use explicit forall syntax instead.
This will become an error in GHC 7.12.
In the type ‘(Unbox r) => Poly7 r -> (r, r, Poly5 r)’
In a Template-Haskell quoted type

No code to fix here per se: the problem is between the monitor and the keyboard.


Update scaffold mimes to use the latest mime annotation

Description
Scicrunch is now reporting results with the updated values for scaffold mime types.  This change addresses that.
Type of change
Delete those that don't apply.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Using the unit tests already available.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas

Yes, it is going through the curation pipeline now.  So any day now ...


Is there an alternative to using domain-wide delegation? How is this secured?

Is your feature request related to a problem? Please describe.
Domain-Wide delegation in GSuite seems like too much power. Do we need this in order to act on behalf of a single delegated account. Is there a way we can scope it down?
Describe the solution you'd like
Is it possible to replace this with OAuth 2.0 consent from a single account?
Describe alternatives you've considered
Not sure if any other alternatives exist
Additional context
Would this work as as opposed to this?

We think that is overly scoped as well, historically this level of access was needed to create google groups.
Just recently (a few weeks ago) google has gone to GA with this: https://cloud.google.com/identity/docs/how-to/create-google-groups
We have an internal ticket open to tackle this change (I don't think it will be a lot of work) and then we can finally get rid of that terrible permission.
cc @mvilanova

Sounds good. Saw it on the blog no too long ago and was hoping this was in the works.
It's awesome to hear that you have a plans for this! You can close the issue as this is good enough for me for now or keep it open for others to know that this is coming. Your choice really.

Cool, will start work on this soon and link this issue to the PR when I have one.


[Docs] Add 'Contributing to Meshery Policies' Guide #11324

Fixes #11324
This PR adds a comprehensive guide on contributing to Meshery policies, addressing the need for clear instructions on modifying, creating, and testing Rego policies within the Meshery codebase.
Changes Included:

Created a new file, docs/contributing-policies.md, with detailed instructions on:

Understanding Meshery policies and their purpose
Locating and modifying existing Rego policy files
Creating new Rego policy files following Meshery's conventions
Testing Rego policies using Meshery's UI and MeshMap extension
Best practices for writing and maintaining policies

Updated the main CONTRIBUTING.md file to reference the new guide, ensuring discoverability for contributors interested in policy management

Additional Information:

The new guide provides a step-by-step approach to policy contributions, ensuring contributors understand the impact of their changes on existing systems and workflows.

Reviewers, please verify the changes to ensure the content aligns with the desired state and provides clear, actionable guidance for contributors working with Meshery policies.


logs (the ones generated by the LOG opcode) are no longer accessible in tests

Failing testcase https://github.com/jorisbontje/sleth/blob/master/test/test_log.py
Failures:
https://travis-ci.org/jorisbontje/sleth/builds/51372371#L603

Vitalik explains:
"I moved logs from the transaction to the block
the main reason for this being that the block object already has the machinery to do reverts, whereas the tx does not
and conceptually logs are like suicides and refunds so should be stored in a similar place"
You can get them with tester.block.get_receipt(0).logs
Testcase fixed in https://github.com/jorisbontje/sleth/blob/master/test/test_log.py


Add support of multi vector in jni

Description
Add support of multi vector in jni
Issues Resolved
N/A
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[X] New functionality has javadoc added

[X] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@heemin32 Can you give detailed summary on what is being changed in PR description?


Auto insert heatsinks/fans/cooler cells in machines

Pretty much the title.  Right now, it is hard to automate and optimize machines and factories, as you spend time running around checking the status of the heatsinks and have to resupply.  This will mess up some set ups, from an efficiency standpoint, when you get it optimized and then come back a half hour later after doing something else, only to find your system backing up due to the heatsink getting used up in one of the machines and then slowing down.
It would be much less tedious and more of an automation set up to allow the auto-insertion of heatsinks through item pipes and you could then pipe them to numerous machines from a single chest.
One additional thing would be to make heatsinks stackable as well in chests, even if only one can go in the machine.

Thanks for suggesting, this will be possible in the next update which will be available on CurseForge soon.


getdel is not a function

I followed redis setup on https://docs.adonisjs.com/guides/redis. I can get and set data from redis, but I'm not able to use getdel:
const value= await Redis.get('key'); // works

const value= await Redis.getdel('key'); // error

Error:
Redis_1.default.getdel is not a function

The getdel is offered by IDE autocomplete and also has a definition in RedisCommander.ts (ioredis):
/**
  * Get the value of a key and delete the key
  * - _group_: string
  * - _complexity_: O(1)
  * - _since_: 6.2.0
  */
 getdel(key: RedisKey, callback?: Callback<string | null>): Result<string | null, Context>;

Fixed in #49


You must provide a value for the attribute 'whatsNew' with this request

Discussed in https://github.com/fastlane/fastlane/discussions/20651

Originally posted by MuhammedRefaat September 13, 2022
I'm trying to submitting my TestFlight app version for review, I followed the docs to do that using 'deliver', but when running the pipeline and executing the lane I'm getting the following error:

appStoreVersions with id {#id} is not in valid state. - This resource cannot be reviewed, please check associated errors to see why.
The provided entity is missing a required attribute - You must provide a value for the attribute 'whatsNew' with this request

Despite I did follow all the possible ways mentioned in the docs to provide release notes or what is called what's new in AppStore, like:
platform :ios do
    lane :submitForReview do
      deliver(
        submit_for_review: true,
        automatic_release: false,
        app_version: @versionName,
        build_number: @versionCode,
        force: true,
        skip_metadata: true,
        skip_screenshots: true,
        skip_binary_upload: true,
        precheck_include_in_app_purchases: false,
        languages: (['en-US', 'ar-SA']),
        release_notes: ({
          'default' => "Bug fixes & performance enhancements",
          'en-US' => "Bug fixes & performance enhancements",
          'ar-SA' => "إصلاحات وتحسينات عامة"
        }),
        submission_information: {
            export_compliance_encryption_updated: false,
            export_compliance_uses_encryption: false,
            content_rights_contains_third_party_content: false,
            add_id_info_uses_idfa: false,
            add_id_info_serves_ads: false
        }
      )
    end
end

AND:

But still after all of that getting that error.
The full log part contains the issue:
[19:25:15]: Checking app for precheck rule violations
[19:25:32]: ✅  Passed: No negative  sentiment
[19:25:32]: ✅  Passed: No placeholder text
[19:25:32]: ✅  Passed: No mentioning  competitors
[19:25:32]: ✅  Passed: No future functionality promises
[19:25:32]: ✅  Passed: No words indicating test content
[19:25:32]: ✅  Passed: No curse words
[19:25:32]: ✅  Passed: No words indicating your IAP is free
[19:25:32]: 😵  Failed: Incorrect, or missing copyright date-> using a copyright date that is any different from this current year, or missing a date
[19:25:35]: ✅  Passed: No broken urls
+-----------+----------------+
|     Potential problems     |
+-----------+----------------+
| Field     | Failure reason |
+-----------+----------------+
| copyright | missing: 2022  |
+-----------+----------------+
[19:25:35]: precheck 👮♀ 👮  found one or more potential metadata problems, but this won't prevent fastlane from completing 👍
[19:25:36]: Selecting existing build-number: 477
[19:25:37]: Selecting build 10.3.3 (477)...
[19:25:39]: Successfully selected build
[19:25:40]: Successfully updated IDFA declarations on App Store Connect
[19:25:42]: Successfully updated contents rights declaration on App Store Connect
+------------------+---------------------+
|              Lane Context              |
+------------------+---------------------+
| DEFAULT_PLATFORM | ios                 |
| PLATFORM_NAME    | ios                 |
| LANE_NAME        | ios submitForReview |
+------------------+---------------------+
[19:25:49]: appStoreVersions with id '0b3d90ab-436f-4b18-a0bb-d05b0c320532' is not in valid state. - This resource cannot be reviewed, please check associated errors to see why.
The provided entity is missing a required attribute - You must provide a value for the attribute 'whatsNew' with this request
+------+----------------------------------+-------------+
|                   fastlane summary                    |
+------+----------------------------------+-------------+
| Step | Action                           | Time (in s) |
+------+----------------------------------+-------------+
| 1    | default_platform                 | 0           |
| 2    | Switch to ios getAppVersion lane | 0           |
| 3    | flutter_version                  | 0           |
| 4    | flutter_version                  | 0           |
| 💥   | deliver                          | 41          |
+------+----------------------------------+-------------+
[19:25:49]: fastlane finished with errors

Fastlane env output:
🚫 fastlane environment 🚫
Stack

Key
Value

OS
11.5.2

Ruby
3.1.2

Bundler?
false

Git
git version 2.33.0

Installation Source
/usr/local/Cellar/fastlane/2.209.1/libexec/bin/fastlane

Host
macOS 11.5.2 (20G95)

Ruby Lib Dir
/usr/local/Cellar/ruby/3.1.2_1/lib

OpenSSL Version
OpenSSL 1.1.1q  5 Jul 2022

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
~/Downloads/Xcode 2.app/Contents/Developer/

Xcode Version
13.1

Swift Version
5.5.1

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
default_platform(:ios)
.
.
.

`./fastlane/Appfile`

# For more information about the Appfile, see:
#     https://docs.fastlane.tools/advanced/#appfile

fastlane gems

Gem
Version
Update-Status

fastlane
2.209.1
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-flutter_version
1.1.15
✅ Up-To-Date

Loaded gems

Gem
Version

error_highlight
0.3.0

did_you_mean
1.6.1

atomos
0.1.3

rexml
3.2.5

CFPropertyList
3.0.5

claide
1.1.0

colored2
3.1.2

nanaimo
0.3.0

xcodeproj
1.22.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

plist
3.6.0

public_suffix
5.0.0

addressable
2.8.1

multipart-post
2.0.0

word_wrap
1.0.0

optparse
0.1.1

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

excon
0.92.4

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-httpclient
1.0.1

faraday-multipart
1.0.4

faraday-net_http
1.0.1

faraday-net_http_persistent
1.2.0

faraday-patron
1.0.0

faraday-rack
1.0.0

faraday-retry
1.0.3

ruby2_keywords
0.0.5

faraday
1.10.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.5

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

fastimage
2.2.6

gh_inspector
1.1.3

json
2.6.1

mini_magick
4.11.0

naturally
2.2.1

rubyzip
2.3.2

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.8.1

bundler
2.3.11

simctl
1.6.8

jwt
2.4.1

uber
0.1.0

declarative
0.0.20

trailblazer-option
0.1.2

representable
3.2.0

retriable
3.1.2

mini_mime
1.1.2

memoist
0.16.2

multi_json
1.15.0

os
1.1.4

signet
0.17.0

googleauth
1.2.0

httpclient
2.8.3

webrick
1.7.0

google-apis-core
0.7.0

google-apis-playcustomapp_v1
0.10.0

google-apis-androidpublisher_v3
0.25.0

google-cloud-env
1.6.0

google-cloud-errors
1.2.0

google-cloud-core
1.6.0

google-apis-iamcredentials_v1
0.13.0

google-apis-storage_v1
0.17.0

rake
13.0.6

digest-crc
0.6.4

google-cloud-storage
1.38.0

emoji_regex
3.2.3

jmespath
1.6.1

aws-partitions
1.620.0

aws-eventstream
1.2.0

aws-sigv4
1.5.1

aws-sdk-core
3.132.0

aws-sdk-kms
1.58.0

aws-sdk-s3
1.114.0

set
1.0.2

forwardable
1.3.2

logger
1.5.0

pathname
0.2.0

shellwords
0.1.0

cgi
0.3.1

date
3.2.2

timeout
0.2.0

stringio
3.0.1

securerandom
0.1.1

uri
0.11.0

openssl
3.0.0

digest
3.1.0

io-nonblock
0.1.0

ipaddr
1.2.4

io-wait
0.2.1

zlib
2.1.1

resolv
0.2.1

time
0.2.0

open-uri
0.2.0

mutex_m
0.1.1

net-protocol
0.1.2

net-http
0.2.0

ostruct
0.5.2

english
0.7.1

erb
2.2.3

strscan
3.0.1

abbrev
0.1.0

io-console
0.5.11

tempfile
0.1.2

delegate
0.2.0

fileutils
1.6.0

tmpdir
0.1.2

base64
0.1.1

singleton
0.1.1

open3
0.1.1

nkf
0.1.1

prettyprint
0.1.1

pp
0.3.0

find
0.1.1

yaml
0.2.0

psych
4.0.3

fastlane-plugin-flutter_version
1.1.15

generated on: 2022-09-14

Sooooooooooo, solution is, skipping metadata causes the release note updates to skip, very weird and I didn't see that mentioned anywhere, what's new is related to every single release, but metadata atts like app description, tags, and supportURL are generic and may not be changed during the whole app life cycle.
Anyway, the solution is to first set skip_metadata to false in deliver lane: skip_metadata: false
then to make sure to provide all the required metadata fields or files with the corresponding values so that the app can be submitted successfully:

I've also got it working without any metadata folders. As we wanted to manage the content through AppStore, storing the metadata in the repository was not optimal.
It seems that if the metadata folder is empty, it will only update the parameters that are set in deliver(). In the release notes, provide all supported languages:
deliver(
  submit_for_review: true,
  app_identifier: "com.x",
  app_version: "1",
  build_number: "1",
  automatic_release: false,
  phased_release: true,
  skip_metadata: false,
  skip_screenshots: true,
  skip_binary_upload: true,
  precheck_include_in_app_purchases: false,
  release_notes: {
    'en-GB' => "Fixes bugs"
  },
  force: true
)

if you don't wanna figure out how to download all the metadata first just to set release notes, you can use set_changelog
    set_changelog(
        app_identifier: app_identifier,
        api_key_path: api_key_path,
        version: latest_testflight_version,
    )


Implement several examples for swift-call

This PR will close #134.
In dbmgr.openCloseDatacalc(), there is no case when self.openCloseDatacalcResult.done is False because the GUI is freezing until the permission window closes, but to clarify, I checked it.

I applied the reviews!


Iterable List of String for Gen.frequency

I have :
val x : Iterable[List[String]]    // Something like List[2,"aaa"], List[3"xxx"]
I also have a method that deconstructs the List to create a tuple (frequency, string)
Is there a way that Gen.frequency could take this as input ?
something like -
val temp : Gen[String] = Gen.frequency (
while(x.hasNext) { deconstruc(x.next())
)
Using iterator raises issues as for or while loop by default to have Unit as return type while Gen.frequency requires (Int, String)

Since Gen.frequency is a varargs method, you can expand your sequence of values to the arguments with _: *:
val strFreqs = List(2 -> "aaa", 3 -> "xxx")
val genFreqs: Iterable[(Int, Gen[String])] =
  for {
    (i, str) <- strFreqs
  } yield {
    i -> Gen.const(str)
  }
property("genFreqs") = {
  Prop.forAll(Gen.frequency(genFreqs.toSeq: _*)) { s: String =>
    ...

Hello, it works well and Thanks a lot for the comment
But, just another question.
What if I want to have something like :
Gen.frequency((genFreqs.toSeq: _*), (2,"3")) ie. you have from list plus+ other tuple that need to be integrated. )
It seems not possible at the moment ;)

I'm not a varargs expert, but you can just append another tuple with :+.  For your example,
Prop.forAll(Gen.frequency(genFreqs.toSeq :+ 2 -> Gen.const("3"): _*)) { s: String =>

@ashawley  Yeah thanks :)


Include offenderEntropy in the JSON output

Description:
Include offenderEntropy in the JSON output to:

Make it easier to tune the rules
Provide more information to downstream systems that consume the json to reason about potential false positives.

Checklist:

[x] Does your PR pass tests? (make test runs clean locally)
[ ] Have you written new tests for your changes? (See "Notes" below)
[X] Have you lint your code locally prior to submission? (ran golint and go fmt as part of the tests)

Notes
Testing
I was having a little trouble getting the tests to fail messing around with the test data to confirm it failed before adding in my tests. Just wanted to confirm, what is your usual testing flow? I'd love to add more tests to make sure the cases are covered :)
My team maintains a leak-patterns repo internally and it did pass when running it through those tests. And I manually ran it through:

Entropy within range (returns the value in the JSON)
Entropy to high for range (no results)
Entropy to low for range (no results)
Entropy not checked but regex match (entropy comes back as -1)

(I have not done any heavy performance testing though)
Matching style & Semantic Go
I tried to match the style of the project because go's not my day-to-day language. If I'm off on anything or you'd like me to tweak anything about it, just let me know.
Example output runing it against my fake-leaks repo:
{
        "line": "SECRET_KEY = \"zbdcj20y@s%kvfhjc4#\u0026ira)g(isr-ee0wqr18wr)(s0k^3g%k\"",
        "lineNumber": 1,
        "offender": "SECRET_KEY = \"zbdcj20y@s%kvfhjc4#\u0026ira)g(isr-ee0wqr18wr)(s0k^3g%k\"",
        "offenderEntropy": 4.838562939644918,
        "commit": "acecd1ba2c37cba21aef8f96d5acc2dd9cb0bf85",
        "repo": "fake-leaks",
        "repoURL": "https://github.com/bplaxco/fake-leaks",
        "leakURL": "https://github.com/bplaxco/fake-leaks/blob/acecd1ba2c37cba21aef8f96d5acc2dd9cb0bf85/settings/django/settings.py#L1",
        "rule": "Django Secret Key",
        "commitMessage": "Add fake Django secret key\n\nThis is to test if my secrets scanner can pick up Django secret keys.\n\n~ B'ezrat Hashem ~\n",
        "author": "Braxton Plaxco",
        "email"<EMAIL_ADDRESS>        "file": "settings/django/settings.py",
        "date": "2021-03-17T08:13:59-04:00",
        "tags": "key, django"
}

@bplaxco thanks so much for this contribution. I definitely want to add this feature!

I was having a little trouble getting the tests to fail messing around with the test data to confirm it failed before adding in my tests. Just wanted to confirm, what is your usual testing flow? I'd love to add more tests to make sure the cases are covered :)

So typically my testing flow is whenever I add or change code that affects the report I'll add or update tests in scan_test.go. The test table is getting a little out of control... I plan on reorganizing the tests eventually.
Anyways, the reason why your tests were passing when they should be failing since you are adding an additional entry in the leak struct, is because of this code here. You'll need to add offenderEntropy to that function.
If you end up not being able to add a test, let me know. I can work on adding some tests but it might take a little while longer

Ah, cool cool. I'll to update the tests to handle the changes. Thank you for pointing out where to do that :ok_hand:

Summary of the changes:

Rebased on the latest changes
Updated same, got breaking tests, and then made changes to the test files and got them passing
Rounded the offenderEntropy to make the tests more stable (I was running into a case where it was changing each run)
Resolved some small things that the linter was complaining about that I didn't notice before.
Tweaked the error output of the tests to help me debug problems a bit faster

I think that should be good to go, I tried to make sure all of the entropy checks were reporting a non negative number. If there is anything you'd like me to tweak, just let me know :)

@bplaxco This looks great! The only blocking thing is you still have some .got files in the tests, could you remove those?

@zricethezav ah, my bad. Those should be removed now :+1:
Any reason to not throw *.got in the .gitignore?

@zricethezav ah, my bad. Those should be removed now 👍
Any reason to not throw *.got in the .gitignore?

@bplaxco Nope! Care to add that in this PR?

@zricethezav added :+1:

@bplaxco great addition! This will go into the next release 😄


Cannot install some packages without an SSH key

mysql-server
sendmail-base

https://www.digitalocean.com/community/questions/forcing-to-change-password-when-using-api
churchio/onebody#349

DigitalOcean doesn't seem to have a way to fix this, so I'm thinking the solution will be to:

check if the user has an ssh key, and if not:
ask the user to create an ssh key and paste the public key in a textbox
do-install-button will add the ssh public key to the user's account
carry on with installation

There is no workaround for this. An SSH key is absolutely required.
I modified the installer app so that it does a hard fail ahead-of-time if there are no SSH keys and points the user to help documentation for how to add one.


Use SQL methods to fetch object data

Changes

Replace DSPFD and DSPOBJD with new SQL to fix CCSID issues.

To do

[ ] Fix filter issue (only 3/4 tests are passing)
[x] Correct invalid columns in the new SQL

How to test this PR
Examples:

Run the test cases
Ensure Object Browser filters work

Checklist

[x] have tested my change
[ ] have created one or more test cases
[ ] updated relevant documentation
[ ] Remove any/all console.logs I added
[ ] have added myself to the contributors' list in CONTRIBUTING.md

@chrjorgensen @sebjulliand Any chance you can help me fix the new SQL?

@worksofliam I changed the SQL's for object lists - and they seem to work.
Can you verify on your test system?
I tested on PUB400 and noticed, that texts were returned in German (CCSID 273) even though my user has Danish (CCSID 277). I hope SQL_TO_CSV will fix that?

@worksofliam Already found an error - when multiple libraries are specified in the filter, nothing shows up in the list...
Will investigate this...

@chrjorgensen thanks for your commits!!
I think I need to create a test branch that merges this and our component branch to see if it solves the issue. I believe it will. I will let you know by Monday.

What about DSPFFD in getting record formats, is that being done in a different PR?

@edmundreinhardt i believe that is done in vscode-rpgle, not in vscode-ibmi.

i believe that is done in vscode-rpgle, not in vscode-ibmi.

@worksofliam Wouldn't it be better to have the DSPFFD function in vscode-ibmi, supporting all language extensions? vscode-clle could also use such a function to feed data to the outline view when DCLFis being used...

@chrjorgensen yep, that could be the long term strategy for sure. Nothing this PR will solve.

@chrjorgensen @sebjulliand I believe my work here is done. The tests are passing.
Please have one last sweep, and test as you please, and let's get this merged. Thanks!

@chrjorgensen @sebjulliand I believe my work here is done. The tests are passing.

Famous last words 🤣
One test fails and it's a bug related to this PR:

I'm looking into it; it should be an easy fix.

@worksofliam you're good to go. Code looks good too.

I tested it and it runs fine in all cases I had. Merge whenever you want.
A question, maybe for another PR: to speed up the *SRCPF loading a bit, shouldn't we skip the joins on SYSTABLESTAT and
SYSCOLUMNS views and only resolve the information they give (namely CCSID and source length) when the item tooltip is displayed? (using resolveTreeItem, like it's done in the debug view)?

@sebjulliand I don't know if we can because I believe we use the source length from the result elsewhere. But, I will take a look at that in another PR.


大神看看我

我是OpenMMLab的，看见这个repo觉得很有意思，想找你约稿，可以嘛！（加这个vx号联系: OpenMMLabwx）

Hi, @Echo-minn
Sorry, I don't speak Mandarin, so I'm not entirely sure what you mean, but according to Google translate and DeepL, it seems you are a member of OpenMMLab and found this repo interesting, right?
If so, thank you very much. Thanks to the OpenMMLab tools, it was really easy to try training models. Of course, annotating training data was very time-consuming and tough, though. But in other words, with the OpenMMLab tool, all we have to do is to create training data, so I really appreciate your work.


Bump up to 1.10 reporting service

Release notes:
https://github.com/zebrunner/reporting/releases/tag/1.10
Switch zebrunner submodule to use 1.10 reporting
Test migration flow
Precondition:
Start zebrunner 1.0 with valid reporting service
Steps:

./zebrunner.sh down
cd reporting
git checkout master
git pull
cd ../
./zebrunner.sh start
Verify reporting service logs for old and new test runs:
Check that logs before and after migrations are visible and available

Done. Fixed.

Verified with 6. ./zebrunner.sh setup 7../zebrunner.sh start


Upgrade to .Net 6

This PR Upgrades to .Net 6 and is essential for the upgrade of Unified API to .Net 6 as without this upgrade the Open API generation fails.

Let's get the code warnings removed - then will approve so we can ship this thing! 🚢💨


Run Keyword If Test Failed does not work correctly with --skiponfailure argument

Code snippet:
Skip on failure with run keyword if test failed
    [Tags]  skipMeWhenBroken
    [Teardown]  Run Keyword If Test Failed  Log  \n***You should always see this***  console=True
    Evaluate  x+1

When running it with --skiponfailure argument it will NOT run a Log KW.
Output:

I understand related fixes like https://github.com/robotframework/robotframework/issues/3913 and https://github.com/robotframework/robotframework/issues/3951 but here is a different case. This is an automatic skipping, not dynamic or before execution. So for this case Run Keyword If Test Failed should be run because for this moment test really failed and after failure was automatically marked as skipped. This is problematic because we can't perform some actions for failed TC when we want it to be skipped after failure for e.g. rerun.
Environment:
OS: Windows 10
RF: 4.1.3
Python: 3.7.4

Maybe we should consider to implement KW like run_keyword_if_test_skipped ?


bug

Hi, after a while i used again this extension and it doesn't work, after few moves (no more then 2-3 usually) it goes out of sync with unplayable moves. I've windows 7 64 bit, chrome version 56.0.2924.76

Hi, thanks for information, what's website isn't work?

at chess.com, at lichess after few moves they detect it and ban me, they write on screen "cheat detected"

I took some research and I found that this is my old problem. I wrote core of this extension few years ago when I was not so strong coder and made it as dirty and quick hack extension.
Chess.com update their engine and now it takes much more memory than few years later. And now my extension reach out-of-memory error more faster than earlier.
There is two solution of this situation:

I need more time to keep this extension updated and rewrite it in more memory-safe manner. But now I'm working 7 days a week and have no time to do this.
OR
Find a new maintainer who will update this extension often then I can.

That's only one way. I promise that when I will have time - I rewrite it by myself but now I can recommend you to play at old chess.com site - it's more compatible with this out-of-support extension.
Thanks,
Mike.

Hi, at old chess.com works like a charm, i noticed too a big use of memory
from chrome when using this extesions with the new layout of chess.com,
more then 3gb!
When u have time i'll appreciate a fix of this great extension, it really
helped me improving my chess giving me ideas when i don't know what to do:)
Bye
2017-01-28 17:49 GMT+01:00 Mike<EMAIL_ADDRESS>
I took some research and I found that this is my old problem. I wrote core
of this extension few years ago when I was not so strong coder and made it
as dirty and quick hack extension.
Chess.com update their engine and now it takes much more memory than few
years later. And now my extension reach out-of-memory error more faster
than earlier.
There is two solution of this situation:

I need more time to keep this extension updated and rewrite it in
more memory-safe manner. But now I'm working 7 days a week and have no time
to do this.
OR
Find a new maintainer who will update this extension often then I
can.

That's only one way. I promise that when I will have time - I rewrite it
by myself but now I can recommend you to play at old chess.com site -
it's more compatible with this out-of-support extension.
Thanks,
Mike.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/recoders/chessbot/issues/34#issuecomment-275859181,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVpKckG0kYiF6DPKoCtXjKRhKPqkJkFVks5rW3GwgaJpZM4LumkU
.

Ok, I will make it.


clipLine not working properly

The function clipLine, which can be found here: https://github.com/Itseez/opencv/blob/666de1b087b70e2ea463be89173ea15b5fcda057/modules/imgproc/src/drawing.cpp#L80, does not provide the proper output.
Test case
There exists a line in between [-3405, 0] and [0,205].
We want to clip that line to an image of 800x600.
Output
The result is that both points a and b become [0, 205], whereas this is not correctly.
Anyone has an idea what is going wrong?

Why is it not correct? The only part of the line inside the image is the point [0, 205], so the returned segment of the line is in fact just a point

Dammit... should have seen that one indeed. Ik forget this bug and lets work around our problem leading to rhis obvious error..


testing: Replace sleep() calls with random()

Avoids using a testing-only function in favor of one that has the same
properties (undeterministic) but is a production function.

@matriv please review

Current coverage is 80.99% (diff: 100%)

Merging #4252 into master will increase coverage by 0.02%

@@             master      #4252   diff @@
==========================================
  Files          1302       1302
  Lines         44310      44310
  Methods           0          0
  Messages          0          0
  Branches       7082       7082
==========================================
+ Hits          35878      35891    +13
+ Misses         5764       5756     -8
+ Partials       2668       2663     -5

Powered by Codecov. Last update 1ab91f1...d548330


Port to Python Requests

Could you reference the issue # ? Thanks
By the way, what is the advantage of Python Requests ?

https://github.com/mozilla/relman-auto-nag/issues/4

I meant in the commit message ;)

I will do that pull request again!
If you've used languages other than python, you're probably thinking urllib and urllib2 are easy to use, not much code, and highly capable, that's how I used to think. But the Requests package is so unbelievably useful and short that everyone should be using it.
First, it supports a fully restful API, and is as easy as:
import requests
...
resp = requests.get('http://www.mywebsite.com/user')
resp = requests.post('http://www.mywebsite.com/user')
resp = requests.put('http://www.mywebsite.com/user/put')
resp = requests.delete('http://www.mywebsite.com/user/delete')
Regardless of whether GET/POST you never have to encode parameters again, it simply takes a dictionary as an argument and is good to go.
userdata = {"firstname": "John", "lastname": "Doe", "password": "jdoe123"}
resp = requests.post('http://www.mywebsite.com/user', params=userdata)
Plus it even has a built in json decoder (again, i know json.loads() isn't a lot more to write, but this sure is convenient):
resp.json()
Or if your response data is just text, use:
resp.text
This is just the tip of the iceberg. This is the list of features from the requests site:
International Domains and URLs
Keep-Alive & Connection Pooling
Sessions with Cookie Persistence
Browser-style SSL Verification
Basic/Digest Authentication
Elegant Key/Value Cookies
Automatic Decompression
Unicode Response Bodies
Multipart File Uploads
Connection Timeouts
.netrc support
List item
Python 2.6—3.4
Thread-safe.

Le 19/10/2015 14:55, Anoop Valluthadam a écrit :

I will do that pull request again!

just do
git commit --amend
git push -f
and that is it :)
Thanks for the information


Feature/gradle.android.studio.2.x

Changes:

removed *.jar dependencies
support for Android Studio 2.x
added gradle build system
changed project structure
fixed: nullpointer when there was no avatar in user's profile

Since we've migrated the app to Gradle, some of the changes here aren't needed anymore. Could you submit a new PR with those broken out if they still apply?
Thanks!


how to predict model

Hi，when i predict model use this config：
python predict.py -model ./model/Weibo_s100_t10.copy.seed9527.emb150.vs50000.dec300.20191111-204118/e4.val_loss=1.432.model-0h-04m
error：
assert opt.model.count('/') == 2 and all([tag in opt.model for tag in ['vs', 'emb', 'dec', 'model']])
Should i add some configs？

Hi, it should be OK if you change the model file path into model/Weibo_s100_t10.copy.seed9527.emb150.vs50000.dec300.20191111-204118/e4.val_loss=1.432.model-0h-04m
I hard code some usage functions according to my personal habit. Please feel free to revise it as you like:)

ok！Thank you very much！


Add support for v0.2 CloudEvents "context attributes".

Fixes: #193
This PR introduces V02... versions of V01EventContext.
Additional changes:

Clean up secondary interfaces to better support support read/write of arbitrary CloudEvents versions.
Changes the return type of FromRequest to return a LoadContext, rather than a concrete EventContext. Callers should call AsV01() or AsV02() on the returned object.

/retest


while debugging variables are  in the inspector

Tested versions
Godot v4.3.stable.official [77dcf97d8]
System information
Linux Mint 21 (Vanessa) - X11 - GLES3 (Compatibility) - NVIDIA GeForce RTX 3060 (nvidia; 535.183.01) - AMD Ryzen 5 2600X Six-Core Processor (12 Threads)
Issue description
In some cases while debugging are variables  in the inspector while they're not in the code.

...by the way, the vf4_data variable is printed in the next debug step with many text. Just for interest, it's a 2,8 MB JSON file. The code works as expected just the debugger shows a null variable.
Steps to reproduce
In some cases I notice this in my project. It may depend in the size of assigned data to a variable, but I'm not sure.
Minimal reproduction project (MRP)
I've currently no mimimal reproduction project. If nobody known this problem or could reproduce it I may try to generate one.

Please provide just a minimal way to reproduce this, I'm not too familiar with this aspect of the engine but I'd like to help!

See: https://github.com/godotengine/godot/issues/39465#issuecomment-1962334703

Closing as a duplicate of #39465


Generate only one build target for main and test scope

I'm still unsure what these changes do precisely, but if the CI is green, I guess it's fine.

I want to generate a build hash based only on the main scope. Previously, in test scope hash was different, because scala-cli added mainClassPath to testBuildOptions. Therefore, I move building scopes to one method and count hash only once.

Moving postProcess method to build method - after building main scope, postProcess method move semanticdb files from:
$project-name/META-INF/semanticdb/.scala-build/project_4955484392-7cfa0b230b/src_generated/main/simple.scala.semanticdb,
to $project-name/META-INF/semanticdb/simple.sc.semanticdb.  And then, we run building test scope which is dependent from main scope, and in this cases, Bloop see that main target was changed, so it compile again. Therefore, I moved running post process method into build method.

I want to generate a build hash based only on the main scope. Previously, in test scope hash was different, because scala-cli added mainClassPath to testBuildOptions. Therefore, I move building scopes to one method and count hash only once.

This works only if no test-specific options are enabled, right? (like //> using options "-Xasync" added in a *.test.scala file) If not, that means if users change test-specific options manually, an already on-going build and a new one picking the new options might clash (because they'd use the same project directory, only based on the options from the main scope).

Ok, I saw the test options taken into account when computing the project hash… :)


New group- Text for the maximum number (8) of participants is repeated twice

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

Action Performed:

Log in any account
Click on the green plus button
Click on Create Group
Start the group creation flow and add 8 participants.
Verify you're showed a message that you reached the max participants.

Expected Result:
Text for the maximum number (8) of participants is repeated twice
Actual Result:
Text for the maximum number (8) of participants is displayed only once
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

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

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

I think this got broken in this PR - https://github.com/Expensify/App/pull/7702
More specifically here since there is already a header message im not sure why we're passing that prop. Investigating.

cc @roryabraham, i see you added the message on the bottom very recently. I couldn't find a GH issue where its specific to have it at the bottom. Do you know why you added it - here?
If not i was planning on updating this to remove the message from the bottom to keep it similar to whats on prod. Let me know.


Can't setup and not sure what's wrong.

Pls help.
C:\Users\Administrator\Documents\GitHub\whisper-diarization>pip install -r requirements.txt
Collecting git+https://github.com/m-bain/whisperX.git@4cb167a225c0ebaea127fd6049abfaa3af9f8bb4 (from -r requirements.txt (line 5))
  Cloning https://github.com/m-bain/whisperX.git (to revision 4cb167a225c0ebaea127fd6049abfaa3af9f8bb4) to c:\users\administrator\appdata\local\temp\pip-req-build-g_0nd3n1
  Running command git clone --filter=blob:none --quiet https://github.com/m-bain/whisperX.git 'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-g_0nd3n1'
  fatal: unable to access 'https://github.com/m-bain/whisperX.git/': Recv failure: Connection was reset
  error: subprocess-exited-with-error

  × git clone --filter=blob:none --quiet https://github.com/m-bain/whisperX.git 'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-g_0nd3n1' did not run successfully.
  │ exit code: 128
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet https://github.com/m-bain/whisperX.git 'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-g_0nd3n1' did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

I think this is an internet related problem, please try again and see if you can clone any other git repo

Yes,  I tried again and l lot of dependencies need to be installed. And finally I ran into the following error.  As it told I need to install Microsoft C++ Build Tools which is too big for my pc.
  building '_youtokentome_cython' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for youtokentome
Running setup.py clean for youtokentome
Failed to build youtokentome
Installing collected packages: youtokentome
Running setup.py install for youtokentome ... error
error: subprocess-exited-with-error
× Running setup.py install for youtokentome did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
running install
C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-310
creating build\lib.win-amd64-cpython-310\youtokentome
copying youtokentome\youtokentome.py -> build\lib.win-amd64-cpython-310\youtokentome
copying youtokentome\yttm_cli.py -> build\lib.win-amd64-cpython-310\youtokentome
copying youtokentome_init_.py -> build\lib.win-amd64-cpython-310\youtokentome
running build_ext
building '_youtokentome_cython' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> youtokentome
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
[notice] A new release of pip is available: 23.0.1 -> 23.1.1
[notice] To update, run: python.exe -m pip install --upgrade pip

if you don't want to install build tools, use WSL or linux

Pls help.
C:\Users\Administrator\Documents\GitHub\whisper-diarization>pip install -r requirements.txt
Collecting git+https://github.com/m-bain/whisperX.git@4cb167a225c0ebaea127fd6049abfaa3af9f8bb4 (from -r requirements.txt (line 5))
  Cloning https://github.com/m-bain/whisperX.git (to revision 4cb167a225c0ebaea127fd6049abfaa3af9f8bb4) to c:\users\administrator\appdata\local\temp\pip-req-build-g_0nd3n1
  Running command git clone --filter=blob:none --quiet https://github.com/m-bain/whisperX.git 'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-g_0nd3n1'
  fatal: unable to access 'https://github.com/m-bain/whisperX.git/': Recv failure: Connection was reset
  error: subprocess-exited-with-error

  × git clone --filter=blob:none --quiet https://github.com/m-bain/whisperX.git 'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-g_0nd3n1' did not run successfully.
  │ exit code: 128
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet https://github.com/m-bain/whisperX.git 'C:\Users\Administrator\AppData\Local\Temp\pip-req-build-g_0nd3n1' did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

I also meet such a problem, how did you solve it at that time？


Verified layer stuck (Release v0.2.0-rc4)

Description
Verified layer stuck on devnet Release v0.2.0-rc4
Steps To Reproduce

Start a node with devnet config file and sync - verified layer advances.
Stop it and start it again after ~20 minutes.
Let it run for ~1 hour.

Behavior
Verified layer doesn't advance.
$ status node
Node info:
Version: v0.2.0-rc4
Build: cc8e72c8959faf0afef3ea8b21bbefef6ae5c260
API server: localhost:9092 (GRPC API 1.1). >> Insecure Connection. Use only with a local trusted server <<
Synced: true
Synced layer: 50
Current layer: 50
Verified layer: 21
Peers: 8

Expected Behavior
Verified layer to advance to tip.
Resources
Full node logs attached.
logs.txt.zip

I haven't checked logs attached to the issue, but i can reproduce it locally everytime.
2021-08-18T16:24:58.833+0300	INFO	1d5eb.trtl         	rescoring all blocks in old layer using weak coin	{"node_id": "1d5eb2f0ce0f5b5fda2387b648cb2c92b3b50fb48b1aca8e7466dc6cc7ea6bce", "module": "trtl", "tortoise_rerun": "false", "layer_id": 12, "candidate_block_id": "080bf862a0", "count": 26, "coinflip": false, "coinflip_layer": 121, "name": "trtl"}
2021-08-18T16:24:58.840+0300	WARN	1d5eb.trtl         	global opinion on block differs from our vote, cannot verify layer	{"node_id": "1d5eb2f0ce0f5b5fda2387b648cb2c92b3b50fb48b1aca8e7466dc6cc7ea6bce", "module": "trtl", "tortoise_rerun": "false", "verification_target": 122, "old_verified": 11, "candidate_layer": 12, "block_id": "68cd1c9ee6", "global_opinion": "abstain (+0, -0)", "local_opinion": "against (+0, -1)", "name": "trtl"}
2021-08-18T16:24:58.840+0300	WARN	1d5eb.trtl         	global opinion on block is abstain, cannot verify layer	{"node_id": "1d5eb2f0ce0f5b5fda2387b648cb2c92b3b50fb48b1aca8e7466dc6cc7ea6bce", "module": "trtl", "tortoise_rerun": "false", "verification_target": 122, "old_verified": 11, "candidate_layer": 12, "block_id": "68cd1c9ee6", "global_opinion": "abstain (+0, -0)", "local_opinion": "against (+0, -1)", "name": "trtl"}
2021-08-18T16:24:58.840+0300	INFO	1d5eb.trtl         	self healing attempting to verify candidate layer	{"node_id": "1d5eb2f0ce0f5b5fda2387b648cb2c92b3b50fb48b1aca8e7466dc6cc7ea6bce", "module": "trtl", "tortoise_rerun": "false", "old_verified_layer": 11, "last_verified_layer": 11, "target_layer": 112, "candidate_layer": 12, "last_layer_received": 122, "hdist": 10}
2021-08-18T16:24:58.847+0300	INFO	1d5eb.trtl         	self healing failed to verify candidate layer, will reattempt later	{"node_id": "1d5eb2f0ce0f5b5fda2387b648cb2c92b3b50fb48b1aca8e7466dc6cc7ea6bce", "module": "trtl", "tortoise_rerun": "false", "old_verified_layer": 11, "last_verified_layer": 11, "target_layer": 112, "candidate_layer": 12, "last_layer_received": 122, "hdist": 10, "candidate_block_id": "080bf862a0", "name": "trtl"}

This is the result after everything is synced.

In my case, verified layer was advancing up to 21 on first node session but got stuck only after a node restart.


Adding import documentation

Adding brief documentation on what to do if one needs to add a class/term to CL that has not yet been imported from another ontology

Thank you very much for the feedback so far, @shawntanzk!

Looks good.  @shawntanzk - does this method no longer work?  https://obophenotype.github.io/cell-ontology/odk-workflows/UpdateImports/#using-term-files
Addition in Protege has a couple of minor drawbacks:

it adds to declarations in the editor's file (occasionally a cause or problems, e.g. declarations may need to be deleted if terms are no longer used.
prior to import it causes failure of the SPARQL label and def checks (or at least it used to) - I think this is connected to the presence of declarations.

I don't think this is a blocker though.  Maybe worth discussion in a future tech call.

does this method no longer work? https://obophenotype.github.io/cell-ontology/odk-workflows/UpdateImports/#using-term-files

unfortunately not for merged/base file import, from my understanding, it does not use the separate import files anymore.
I will add the concerns for the tech call and get back to you on them.
@gouttegd I can't remember exactly what it is, but do we need to index the docs somewhere? also do we need to run a make the docs or something? I vaguely remember something about that but its been awhile since I've edited the docs. Thanks!

I can't remember exactly what it is, but do we need to index the docs somewhere?

Not that I am aware of. Please note, however, that the entire obophenotype.github.io website hosting the documentation has been set up long before I joined the party, and I was never involved with it. So I may not be aware of everything. :)

also do we need to run a make the docs or something?

There’s a GitHub Action in place to do that automatically. It doesn’t work in the ODK repository (I am testing a workaround for that right now), but in CL it should work as expected.

There’s a GitHub Action in place to do that automatically.

omg the quality of life improvement on this is amazing! think you were the one who implemented this right? if so thanks so much!

think you were the one who implemented this right?

Nope. :) I implemented the actions to automatically build, test, and release the ODK.
I believe the actions to automatically build the docs were added by Nico.


File "/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/tensorrt/python/trt_convert.py", line 153, in create_inference_graph     int(msg[0]))

'tensorrt_dir', ['L2Loss'])
File "demo.py", line 88, in get_trt_graph
precision_mode=precision_mode)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/tensorrt/python/trt_convert.py", line 153, in create_inference_graph
int(msg[0]))
tensorflow.python.framework.errors_impl.NotFoundError: No attr named 'index_type' in NodeDef:
[[Node: BatchMultiClassNonMaxSuppression/ones = Fill[T=DT_INT32](BatchMultiClassNonMaxSuppression/ones/shape, BatchMultiClassNonMaxSuppression/ones/Const)]]
List of Pakages
TensorRT:<IP_ADDRESS>
Cuda:9.0
Linux:16.0.4
Python :3.5
Tensorflow:1.10

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 29 days with no activity and the awaiting response label was assigned. Is this still an issue?


Set WSK_CONFIG_FILE for every nuv wsk command.

After deployment nuv wsk action list fails.
Looks like the WSK_CONFIG_FILE is set only when doing the setup.

I raised a PR for this


wiki: Improve GerritBot GitHub PR workflow instructions

@dmitshur better to track this in it's own issue, than in a random CL review.
I created some noise last night about my first code CL and my struggles with Gerrit -- I spent an hour trying to do a small edit of the commit message, only to see it overwritten by the GerritBot. #24887 talks about this issue.
So, the workaround for me was eventually to edit the first comment in the original GitHub PR.
If you read closely on the wki you may grasp this information in the FAQ (if you understand the difference between a PR and a CL), but I was looking for a reason why my commit message edits in Gerrit didn't stick (some StackOverflow thread suggested I needed to push a commit button). This was what I looked for in the documentation.
I suggest 2 changes to the Wiki page above to make this more in the face:

How does GerritBot determine the final commit message?
It uses the title and description of the PR to construct the commit message for the Gerrit Change.

To something like:

How does GerritBot determine the final commit message?
It uses the title and description (first comment) of the GitHub PR to construct the commit message for the Gerrit Change. Also note that any edits to the commit message must be done in the GitHub PR and not on Gerrit.

And in the workflow, add a bullet saying something like this:

Any change of the commit message must be done in the title and description (first comment) of the GitHub PR and not on Gerrit.

Hi @bep, thanks for the detailed issue here.
FWIW, I updated the wiki in an attempt to incorporate your feedback:
https://github.com/golang/go/wiki/GerritBot/_compare/80daba480c8570e7e09695efbf760da3d157d25d...6b1fd1ae2491c172056f8a7d45900e72b5574e0a
A couple of minor notes:

I also mentioned people should avoid trying to edit the commit message in git, which I think is another point of confusion for people.
I tried to avoid saying "first comment" for the PR description to avoid the small ambiguity around whether the "first comment" is the first thing after the description vs. the description itself.

Does that look like something that would have helped you when you were initially reading it, or perhaps it is unclear after my attempt?


Feature/multiarch

Enable building of multiarch images.
Moves to a multi target docker file and using buildx.
Updates image to centos 8.
Draft, for review and comment

@ax3ghazy I'm having problems rebasing this on master due to the addition on cugr. It's including statically built libraries for x86 that are in the rsyn project that is included..

@ax3ghazy I'm having problems rebasing this on master due to the addition on cugr. It's including statically built libraries for x86 that are in the rsyn project that is included..

@robtaylor: Yes, I have noticed this issue. Boost doesn't have to be statically built though, so the following modification on top of your commits works:
 ################# Boost and SWIG ###################
@@ -73,7 +73,7 @@ RUN wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.
 RUN tar -xf /boost_1_72_0.tar.bz2 && \
     cd boost_1_72_0 && \
     ./bootstrap.sh && \
-    ./b2 install --with-iostreams --with-test link=shared -j $(nproc) && \
+    ./b2 install --with-system --with-filesystem --with-program_options --with-iostreams --with-test link=shared -j $(nproc) && \
     cd .. && \
     rm -rf boost_1_72.0

@@ -113,7 +113,10 @@ RUN git clone https://github.com/ax3ghazy/cu-gr cugr_12012021 \

 WORKDIR cugr_12012021

-RUN python scripts/build.py -o release
+RUN sed -i 's/set(Boost_USE_STATIC_LIBS ON)/# set(Boost_USE_STATIC_LIBS ON)/g' src/CMakeLists.txt
+
+RUN python3 scripts/build.py -o release
+

@robtaylor: Yes, I have noticed this issue. Boost doesn't have to be statically built though, so the following modification on top of your commits works:
 ################# Boost and SWIG ###################
@@ -73,7 +73,7 @@ RUN wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.
 RUN tar -xf /boost_1_72_0.tar.bz2 && \
     cd boost_1_72_0 && \
     ./bootstrap.sh && \
-    ./b2 install --with-iostreams --with-test link=shared -j $(nproc) && \
+    ./b2 install --with-system --with-filesystem --with-program_options --with-iostreams --with-test link=shared -j $(nproc) && \
     cd .. && \
     rm -rf boost_1_72.0

@@ -113,7 +113,10 @@ RUN git clone https://github.com/ax3ghazy/cu-gr cugr_12012021 \

 WORKDIR cugr_12012021

-RUN python scripts/build.py -o release
+RUN sed -i 's/set(Boost_USE_STATIC_LIBS ON)/# set(Boost_USE_STATIC_LIBS ON)/g' src/CMakeLists.txt
+
+RUN python3 scripts/build.py -o release
+

@robtaylor: Can we rebase this on master, because develop is now obsolete.


Fix broken full-width when disable_widgets and disable_profile are both true

This resolves #112 and I just noticed is similar to #95 which fixes #94, but I also did some additional whitespace cleanup.

Bump.


NTR: Long-chain Base Transport

Hi,
I need to request a generic term for long-chain base transport, as described in the following paper:
Narita T, Naganuma T, Sase Y, Kihara A. Long-chain bases of sphingolipids are
transported into cells via the acyl-CoA synthetases. Sci Rep. 2016 May 3;6:25469.
doi: 10.1038/srep25469. PubMed PMID: 27136724; PubMed Central PMCID: PMC4853782.
Term: long-chain base transport
Definition: The directed movement of long-chain bases, also known as sphingoid bases, into, out of or within a cell, or between cells, by means of some agent such as a transporter or pore. A long-chain bases are long-chain aliphatic amines that are the fundamental building blocks of sphingolipids.The main mammalian sphingoid bases are dihydrosphingosine and sphingosine, while dihydrosphingosine and phytosphingosine are the main sphingoid bases in yeast
Synonyms: sphingoid base transport, sphingoid transport, dihydrosphingosine transport, sphingosine transport, phytosphingosine transport
Possible instance of: GO:0015837 amine transport
Definition reference: PMID: 27136724
Cheers,
Rob

Sorry I just saw a grammerical error in my defintion so I corrected it here:
Definition: The directed movement of long-chain bases, also known as sphingoid bases, into, out of or within a cell, or between cells, by means of some agent such as a transporter or pore. Long-chain bases are long-chain aliphatic amines that are the fundamental building blocks of sphingolipids.The main mammalian sphingoid bases are dihydrosphingosine and sphingosine, while dihydrosphingosine and phytosphingosine are the main sphingoid bases in yeast
Cheers,
Rob

Hi Rob,
Sorry for the delay.  Could the long-chain base/sphingoid base you are referring to be the same as this sphingoid base (1+) in ChEBI?
http://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:84410
If yes, the term can be added using TermGenie and the chemical_transport template and it will be placed properly in the GO structure using the ChEBI hierarchy.  If not, do you think that creating the more specific terms for dihydrosphingosine (CHEBI:46968) and phytosphingosine (CHEBI:46961) transport would be more appropriate?
http://www.sigmaaldrich.com/catalog/product/sigma/d6783?lang=en&region=US
http://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:46968
http://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:46961
Thanks,
Tanya

Hi Tanya,
No worries about the delay :) I took a look and it appears that "long-chain bases" are synonomous with "sphingoids" at least based on looking at these sites:
http://lipidlibrary.aocs.org/Primer/content.cfm?ItemNumber=39337
https://en.wikipedia.org/wiki/Sphingolipid
I was worried that this might include short chain bases as well but it looks like they refer to long-chain bases and sphingoids interchangeably.
In addition, from what I can tell, the paper is not differentiating between the transport of the specific sphingoids other than to say that the main yeast and mammalian bases are subtly different. So in answer to your question I think at least for now one term should be sufficient using the chemical transport template and the CheBI entry you listed, until someone desribes differences in how these enter.
That being said, I have had a history of no luck using Term Genie even when Rama was here. Just leaves me frustrated. Not intuitive and think I would need a proper primer to guide me. So if it's not asking too much I wonder if you would consider adding this for me?
Cheers,
Rob

Hi Rob,
No problem.  I'm happy to add the term for you.  Can you please confirm which CHEBI id you'd like to use?
Thanks,
Tanya

Hi Tanya,
I decided to consult with our resident lipid expert and here is what he shared including a proposed change to the actual string for the term name, as well as confirmation of the CheBI term to use:
"The actual term for all these compounds is "sphingoid long-chain bases". This includes sphingosine, dihydrosphingosine, phytosphingosine (only in yeast, and perhaps other fungi), as well as multiple other derivatives. When I was in the lab, the term was usually truncated to just "long-chain bases" and everybody in the lab knew what it was. But since then, the truncated form has somehow escaped into the wild and it now must sound terribly generic to anybody who is not familiar with biochemistry of sphingolipids (which means most of the people). That's why I would prefer "sphingoid long-chain base transport" as a GO term, or "sphingoid base transport" to be in agreement with ChEBI (see below). The term definition sounds good, but I would include the terminology I mentioned above, by substituting "long-chain bases" with "sphingoid long-chain bases".
As for the CHEBI terms, it all seems pretty confusing there, but the most suitable term seems to be "sphingoid base(1+)" CHEBI:84410, since it covers the entire range of derivatives, including the ones with different length of their aliphatic chains. CHEBI:16566 ("sphinganine") is another name for dihydrosphingosine (even though ChEBI doesn't say that) and, biochemically, it is a precursor for sphingosine or phytosphingosine (besides having a life of its own), but that's different from "a parent" in the ontology sense. So, yes, CHEBI:84410 seems to be the best."
If we incorporate these ideas then the modified information would be as follows:
GO Term name: sphingoid long-chain base transport
Definition: The directed movement of sphingoid long-chain bases, sometimes referred to as long-chain bases, or sphingoid bases, into, out of or within a cell, or between cells, by means of some agent such as a transporter or pore. Sphingoid long-chain bases are long-chain aliphatic amines that are the fundamental building blocks of sphingolipids. The main mammalian sphingoid long-chain bases are dihydrosphingosine and sphingosine, while dihydrosphingosine and phytosphingosine are the main sphingoid long-chain bases in yeast
Synonyms: sphingoid long-chain base transport, sphingoid transport, long-chain base transport, dihydrosphingosine transport, sphingosine transport, phytosphingosine transport
Cheers,
Rob

Added:
[Term]
id: GO:1905329
name: sphingoid long-chain base transport
namespace: biological_process
def: "The directed movement of a sphingoid long-chain base, sometimes referred to as long-chain base, or sphingoid base, into, out of or within a cell, or between cells, by means of some agent such as a transporter or pore. Sphingoid long-chain bases are long-chain aliphatic amines that are the fundamental building blocks of sphingolipids. The main mammalian sphingoid long-chain bases are dihydrosphingosine and sphingosine, while dihydrosphingosine and phytosphingosine are the main sphingoid long-chain bases in yeast." [GO_REF:0000065, GOC:rn, GOC:TermGenie, PMID:27136724]
synonym: "dihydrosphingosine transport" NARROW []
synonym: "long-chain base transport" RELATED []
synonym: "phytosphingosine transport" NARROW []
synonym: "sphingoid base(1+) transport" EXACT []
synonym: "sphingoid transport" RELATED []
synonym: "sphingosine transport" NARROW []
intersection_of: GO:0006810 ! transport
intersection_of: transports_or_maintains_localization_of CHEBI:84410 ! sphingoid base(1+)
created_by: tb
creation_date: 2016-07-22T01:40:59Z


Add about us page (Issue #45)

Kindly solve merge conflict

kindly solve merge conflict

Can I see your changes?

I have added the about_us.html and about_us.css. You can view the code in those files

Thank you for your contribution :)

maybe due to some connection issues with the main file, the about us page is still not showing up. However, the forked project is working well

they are searching for index.html i see

Thanks for merging the PR. If you wish, you can show some support to this 13 yo kid by buying me just one coffee - Buy me a coffee
You can also follow me on twitter - twitter and Instagram . I'll follow back


Initial Draft

Mainly copy/pasta from whitepaper.fission.codes

@matheus23 this is the current state of the paper, if you're interested. Any and all feedback welcome. It definitely needs some polish still.
Also worth noting that I'm playing with renaming it a Skip Ratchet, both because of the skips but also the structural analogy in the paper is pretty close IMO

but also the structural analogy in the paper is pretty close IMO

I assume you wanted to say "structural analogy to skip lists", right? If so, yeah I agree. I've never been a big fan of the spiral analogy unfortunately, even though I find the name itself ... nice? It sounds cool :smile: But yeah I think skip ratchet is a better name overall.
Now, about the paper itself:

Figures: I really like figure 6 and 10. I think they give the best overview quickly.
I'd like it better if they both had more context in their captions. They're the binary skip ratchets. Maybe connect it to the text via saying it's a skip ratchet with (3,2,h) parameters?
Also, I think it would also be good if you'd write S'=h(~M) or just replace S' with h(~M) (where ~ is binary complement).
I feel like with the abstract + figure 6 with these changes, a reader will get 90% of the idea.
I didn't quite get figure 11. Maybe I'm just not familiar with zero cascades? A quick google search didn't help me out there.

I feel conflicted about the definition of the unary ratchet using church-encoded peano numbers. On the one hand I love this stuff, and folding peano numbers using a hash function and a random seed is exactly how the ratchet connects to numbers in my mind.
But this introduces a "depenency" on lambda calculus + church encoding knowledge in a way. And while this could theoretically set up nicely for introducing another FP structure that is the basis for skip ratchets, that's not done in the paper.
So all in all I think I'd prefer if instead unary ratchets were just explained as being initialised with a random seed, and to "increment" it, you'd hash the current state.

In the Motivation section (and I think more places) you mention mention that unary ratchets are O(n), but skip ratchets are more "efficient". When reading it seemed weird to me that you didn't just mention it's O(log(n)) "for skip amounts it was tuned for", similar to what you write in the conclusion.

You write "The zero cascade works similarly for Skip Ratchets, but never repeats a value (i.e. the spiral property).": Maybe there should be a word about cycles in hash functions somewhere. I.e. in practice no one has ever found a cycle in SHA3 and we expect repititions only after ~2^128 recursive hashes IIRC.

In Section 5.2.3 Arbitrary Jumps you write that to jump an interval of delta, this computation runs in O(log_b(delta)). I assume you know that the b is irrelevant. I'd opt for either leaving it out, or saying that the algorithm uses a maximum of X (I don't have the exact number off the top of my head) hash operations to increment by delta.
Also, you write that the normal operating interval is b^(b*(n+1)), which I find weird. For a (3, 256, SHA3) ratchet, that would be 256^1025. That's... way too high I think. Shouldn't it be something like 256^3? I.e. generally just b^n?

Hey! I got a mention in the Acknowledgements! Thanks :)
Take my feedback with a grain of salt. I don't feel strongly about any of these points and I'm generally excited for the paper anyway!

Thanks for the feedback @matheus23!

Take my feedback with a grain of salt. I don't feel strongly about any of these points and I'm generally excited for the paper anyway!

Yay! 🙌

Also, I think it would also be good if you'd write S'=h(~M) or just replace S' with h(~M) (where ~ is binary complement).

You mean in this figure?

My intention is to not completely overload people with all of the detail up front (hence "simplified"). The threading of S'=h(~M) is explained in more detail here:

But maybe I'm being too cautious? Several people have reacted to the basic concept as something very alien, so I'm trying to approach it in steps to bootstrap the reader's understanding. Quinn found the diagram helpful, but was also very confused about why we were suddenly talking about unary (in a previous version, I went back and added a few connecting lines that I hope help!)
There's 3 figures explaining the concept, at different levels of abstraction. The last one is:

When reading it seemed weird to me that you didn't just mention it's O(log(n)) "for skip amounts it was tuned for", similar to what you write in the conclusion.

It's not "just" O(log_b n), though. I guess I could generalize it to "logorithmic time in the expected operational range"? Seems wordy, but maybe worth being more accurate with?

I assume you know that the b is technically irrelevant

Sure. Since we're not going to infinity the parameter can have real impact. We use base-256 because it's way way faster than binary, for example. I should probably be using little-o notation instead. Will fix!

Shouldn't it be something like 256^3

The math absolutely needs to be double checked, and this is extremely WIP.
We're juggling several levels here, so it's entirely possible that the following reasoning is wrong: it's not 256^3 is that this is not a tree and the steps are of different length. You need the more steps at 256^3 than steps at 256^2. Each level "maxes out" at b*n^i steps, where roughly b*n^i ~ n^i+1 (e.g. 256 individual incs are the same as one step in the next position).  So, each step of the highest positional digit is 256^ns, and 256 feels like a very low number of steps for the unary digit's linear scale to take over at (my intuition here could be completely broken!)
I initially calculated the crossing point of the two big-O curves, but it's missing a bunch of constant factors, so wasn't super accurate. Maybe I should just go back and do that and trust the math more 😛

generally just b^n

n is the number of positional digits, so the unary digit is n+1. We can change that if it's confusing, but it moves the math to the algorithms where we treat unary as a special digit.
Thanks again for giving this a read!

I initially calculated the crossing point of the two big-O curves, but it's missing a bunch of constant factors, so wasn't super accurate. Maybe I should just go back and do that and trust the math more 😛

Right, which was actually essentially a log n against a n. The most important factor for the largest positional digit is that we can count exponentially faster than that digit's factor because we have access to the unary digit, and then the unary one switches us back to (a small) linear time, so in fact while my initial calculation on the crossing point wasn't perfectly accurate (because of some residuals in smaller digits), it's probably good enough for the purposes of this paper. i.e. something like log_(b^n+1)(n) = n/b^(n+1)

🤔 Hmm I wonder if since Figure 6 has been popular, if I can just reuse the boxes and draw over it as needed? Mockup:

Which is essentially the same information as Figure 11, but with a familiar setup

Neither did Quinn, so that's good feedback! Zero cascade is a totally made up term. This is trying to show the threading of the previous higher value as the seed for the next "zero" when you max a digit out, which then cascades down to the next digit, and so on. I drew a diagram like this for Brendan on a call, which is what helped it "click" for him, but maybe less useful with all of the extra detail / too overwhelming? Essentially the horizontal axis is time, so it's showing what the value of each digit is as we move forward, and where each of those values comes from.

Aah. Yeah for some reason I didn't think "Zero cascade" was meant in the "zero digits cascading/carrying" sense. Actually seems weird that I got confused now that I think of it :smile:

thinking Hmm I wonder if since Figure 6 has been popular, if I can just reuse the boxes and draw over it as needed? Mockup:

Yes! I like the mockup. (And then just briefly explain somewhere that the arrow is doing hash-of-complement would be my preference)

n is the number of positional digits, so the unary digit is n+1.

Oh! Yeah that makes sense.

About the crossing point: Yeah, b^(n+1) makes lots of sense to me: Let's say you have 2 positional base-256 digits, then skipping the ratchet with multiples of 256^2 will mean you'll mostly increment the large digit. Once you're at 256^3, to "keep the logarithmic time" you'd "need another digit".
Which is me saying, yeah, b^(n+1) seems right to me!


[$250] Skip onboarding screen with company size if signupQualifier is VSB

When signing up as a company between 1-9 employees, the user is redirected to New Expensify and is welcomed by the onboarding flow. However the first thing we ask them after they open new expensify, is how big a company they want to set up. This is redundant and makes for a bad first impression.
Let's select 1-10 employees by default for signups with the 'vsb' signnpQualifier NVP and start the onboarding flow in the accounting software section. Let's also make sure that whatever logic is triggered by selecting 1-10 also occurs (before displaying the onboarding modal) for these signups.
Select this:

Skip this screen (but keep the choice logic):

This should be the first screen they see in the modal:

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021851663004588841867
Upwork Job ID:<PHONE_NUMBER>588841867
Last Price Increase: 2024-10-30

Issue OwnerCurrent Issue Owner: @jayeshmangwani

Proposal
Please re-state the problem that we are trying to solve in this issue.
if user selected company size in the OD, we are still showing the company size selecting modal in the onboarding flow
What is the root cause of that problem?
improvement
What changes do you think we should make in order to solve the problem?
change this:
https://github.com/Expensify/App/blob/084b1047e8f090a63eb4eb99ab89d13f267bbe8b/src/libs/actions/Welcome/OnboardingFlow.ts#L58C4-L61C6
to this:
if (isVsb) {
      Onyx.set(ONYXKEYS.ONBOARDING_PURPOSE_SELECTED, CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
      Welcome.setOnboardingCompanySize(onboardingCompanySize.MICRO);

      return `/${ONBOARDING_ACCOUNTING.route}`;
  }

Proposal
Please re-state the problem that we are trying to solve in this issue.
Skip onboarding screen with company size if signupQualifier is VSB
What is the root cause of that problem?
This is an improvement
What changes do you think we should make in order to solve the problem?
If it's vsb, we should return the onboarding accounting route and set the companySizeas 1-10 and we also need to create a new WS if the onboardingPolicyID doesn't exist
if (isVsb) {
    Onyx.set(ONYXKEYS.ONBOARDING_PURPOSE_SELECTED, CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
    Onyx.set(ONYXKEYS.ONBOARDING_COMPANY_SIZE, CONST.ONBOARDING_COMPANY_SIZE.MICRO);
    if (!onboardingPolicyID) {
          const {adminsChatReportID, policyID} = Policy.createWorkspace(undefined, true, '', Policy.generatePolicyID(), CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
          Welcome.setOnboardingAdminsChatReportID(adminsChatReportID);
          Welcome.setOnboardingPolicyID(policyID);
      }
    return `/${ROUTES.ONBOARDING_ACCOUNTING.route}`;
}

https://github.com/Expensify/App/blob/1adb6c661cfd71f0d7bac082c4a372793083c704/src/libs/actions/Welcome/OnboardingFlow.ts#L58
OPTIONAL: We can move the logic creating the WS to the accounting page if onboardingPolicyID doesn't exist.
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Skip onboarding screen with company size if signupQualifier is VSB
What is the root cause of that problem?
improvement
What changes do you think we should make in order to solve the problem?

we need to change the code here:
https://github.com/Expensify/App/blob/1adb6c661cfd71f0d7bac082c4a372793083c704/src/libs/actions/Welcome/OnboardingFlow.ts#L54-L61
if (isVsb) {
    Onyx.set(ONYXKEYS.ONBOARDING_PURPOSE_SELECTED, CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
    Onyx.set(ONYXKEYS.ONBOARDING_COMPANY_SIZE, CONST.ONBOARDING_COMPANY_SIZE.MICRO);
    if (!onboardingPolicyID) {
          const {adminsChatReportID, policyID} = Policy.createWorkspace(undefined, true, '', Policy.generatePolicyID(), CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
          Welcome.setOnboardingAdminsChatReportID(adminsChatReportID);
          Welcome.setOnboardingPolicyID(policyID);
      }
    return `/${ROUTES.ONBOARDING_ACCOUNTING.route}`;
}

and then remove the employee selection from here:
https://github.com/Expensify/App/blob/47b8525756602b794e88d1e9fc5e3aef04689c1d/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx#L55-L58
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
The current onboarding flow for users with signupQualifier set to VSB includes a screen to select company size, which we want to skip.
What is the root cause of that problem?
The onboarding flow does not bypass the company size selection screen for VSB users, which creates an unnecessary step.
What changes do you think we should make in order to solve the problem?
If isVsb is true, we should:

Set the OnboardingPurposeSelected to Manage Team.
Set the OnboardingCompanySize to Micro.
Create a new Workspace if onboardingPolicyID is not set.

The updated code block from lines 58 to 61 should look like this:
if (isVsb) {
    Onyx.set(ONYXKEYS.ONBOARDING_PURPOSE_SELECTED, CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
    Welcome.setOnboardingCompanySize(CONST.ONBOARDING_COMPANY_SIZE.MICRO);
    if (!onboardingPolicyID) {
        const {adminsChatReportID, policyID} = Policy.createWorkspace(
            undefined,
            true,
            '',
            Policy.generatePolicyID(),
            CONST.ONBOARDING_CHOICES.MANAGE_TEAM
        );
        Welcome.setOnboardingAdminsChatReportID(adminsChatReportID);
        Welcome.setOnboardingPolicyID(policyID);
    }
    return `/${ROUTES.ONBOARDING_ACCOUNTING.route}`;
}

What alternative solutions did you explore? (Optional)

@carlosmiceli 'Help Wanted' label was removed here—I assume this was a mistake and that we want this issue fixed by an external contributor?

@D-01576 How does your proposal differ from the ones above https://github.com/Expensify/App/issues/51750#issuecomment-2447954731 and https://github.com/Expensify/App/issues/51750#issuecomment-2447974007?

We cannot remove the page entirely, as we still need it for users who aren’t coming from OD

@mzdev0 We cannot remove the page entirely, as we still need it for users who aren’t coming from OD

Note that this change is not enough, we should also hide the back button on the accounting page if we have already selected this as the user shouldn't be able to change the employee count if she is the VSB

@twilight2294  I feel that this is a thing that can be done in the PR and would have been caught when testing, so I feel that @nkdengineer Proposal is sufficient here

We can go with @nkdengineer’s proposal here.
🎀 👀 🎀 C+ reviewed

Whatever! I don’t think this needs to be in the proposal

Ok, scratch that Matt, we've decided not to hide the back button so there won't be any extra work/value there.

@nkdengineer @carlosmiceli - I want to confirm that we're actually auto selecting 1-10 in the How many employees do you have step and going directly to the accounting step. In other words, we're still storing introSelected.companySize : "1-10" right?

Yup! We're setting that value as well.

Review is ongoing for linked PR

BugZero Checklist:

[x] [Contributor] Classify the bug:

Bug classification

Source of bug:

[ ] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[x] 1z. Other: Improvement on Ongoing Onboarding Designs

Where bug was reported:

[x] 2a. Reported on production
[ ] 2b. Reported on staging (deploy blocker)
[ ] 2c. Reported on both staging and production
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[x] 3b. Expensify employee
[ ] 3c. Contributor
[ ] 3d. QA
[ ] 3z. Other:

[x] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: N/A - New Feature

[x] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A

[x] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

Regression Test Proposal

Navigate to https://staging.expensify.com/.
Choose Manage expenses for a small team and enter a new email or phone number.
Log in with that new user.
Verify that the How many employees screen is skipped on New Dot.
Press the Back button and confirm that 1-10 employees is preselected.

Do we agree 👍 or 👎

Payment summary:
Contributor: @nkdengineer - Upwork
C+: @jayeshmangwani - $250 - Manual request via ND

Regression test filed: https://github.com/Expensify/Expensify/issues/446445

$250 approved for @jayeshmangwani


Can't selectMulti nonvisible nodes

Hello There. Using the tree api I can .select and .deselect a nonvisible node, but I'm not able to .selectMulti a node that is not in the view.
Inspecting the tree-api code, I found out that .selectMulti uses this.get() method, which cannot access nonvisible nodes.
I modified the .selectMulti method to retrieve the node id with identify(identity);, similar to what .select and .deselect do, and it worked, this way I can multi select nonvisible nodes.
  select(node: Identity, opts: { align?: Align } = {}) {
    if (!node) return;
    const id = identify(node);
    this.dispatch(focus(id));
    this.dispatch(selection.only(id));
    this.dispatch(selection.anchor(id));
    this.dispatch(selection.mostRecent(id));
    this.scrollTo(id, opts.align);
    if (this.focusedNode) safeRun(this.props.onFocus, this.focusedNode);
    safeRun(this.props.onSelect, this.selectedNodes);
  }

  deselect(node: Identity) {
    if (!node) return;
    const id = identify(node);
    this.dispatch(selection.remove(id));
  }

  selectMulti(identity: Identity) {
    // const node = this.get(identifyNull(identity));
    if (!identity) return;
    const id = identify(identity); // new line
    this.dispatch(focus(id)); // previous node.id
    this.dispatch(selection.add(id)); // previous node.id
    this.dispatch(selection.anchor(id)); // previous node.id
    this.dispatch(selection.mostRecent(id)); // previous node.id
    this.scrollTo(identity);
    if (this.focusedNode) safeRun(this.props.onFocus, this.focusedNode);
    safeRun(this.props.onSelect, this.selectedNodes);
  }

My question is. What's the reason for using this.get() instead of directly calling identify() for getting the id?
And, is there any workaround for selecting multiple nonvisible nodes, other than modifying the lib?

Nope, this should be possible. It looks like there is a PR up that will fix this. I'll review that now.

@jameskerr any update on the fix here? My use case requires initializing the tree with multiple nodes selected so I am in need of this feature as well.

I'll get this fix in this week.


CLOUD-878 fix dependency between cf resources

@schfeca75

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1524/


UTF-8 support

Our MicroPython build does not currently support UTF-8.

[x] check if supported upstream
[ ] enable it if it is
[ ] find workaround if not

MICROPY_PY_BUILTINS_STR_UNICODE might be what we need


Integrity constraint violation when try to create a user that already exists (email)

If you want to replicate:

Login as admin
Delete a user
Try create a new user with the same email (of the deleted user) and got an error SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

https://flareapp.io/share/LPdlKDbP#F71

Ow sorry for that, I reproduced the issue, I will make sure to resolve this ASAP and let you know.

Hello @denistorresan
Just added a PR resolving this issue, please make a pull in your local project, execute migrations php artisan migrate and then retry.
You can reopen this issue if needed.

Hello @denistorresan
Just added a PR resolving this issue, please make a pull in your local project, execute migrations php artisan migrate and then retry.
You can reopen this issue if needed.


#467 Zero Inflated Poisson Distribution

#467
Added Zero Inflated Poisson Distribution
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@kaijennissen you can use my zero inflated class and port that over, then this general class will allow for ZIP as well as ZINB and other distributions. What do you think? https://github.com/zalandoresearch/pytorch-ts/blob/master/pts/distributions/zero_inflated.py

Hey @kaijennissen, thanks for looking into this! I think we could also implement the ZIP it like this in the poisson.py:
class ZeroInflatedPoissonOutput(MixtureDistributionOutput):
    def __init__(self):
        super().__init__([PoissonOutput(), DeterministicOutput(0)])

I would say defining the distribution explicitly is not necessarily needed as it can be accessed with ZeroInflatedPoissonOutput().distribution(). Keeping the test you wrote would still be great. What do you think of this approach?

@PascalIversen I'll move the code to poisson.py and and also inherit from MixtureDistributionOutput.
But I have a question regarding the use of ZeroInflatedPoissonOutput().distribution(). Does that mean we do not need a ZeroInflatedPoisson class? Or just wrap the class around ZeroInflatedPoissonOutput().distribution()?

Thanks @kaijennissen. Yes I think we would not need it. The main purpose of the Distribution classes is to define how sampling and the   log likelihood works, and that's implicitly defined trough the MixtureDistribution. So I'd say it is fine to just define the Output class.

But it looks like @kaijennissen explicitly redefined the log_prob method, apart from extending MixtureDistribution: my understanding is that this is needed for the same reasons for which we have this in the case of inflated beta? If so, then the DistributionOutput should use ZeroInflatedPoisson, right @PascalIversen?
I think what @kashif is proposing is to tackle all zero inflated cases at once, given that there's so much in common. Then it probably makes sense to consolidate Poisson, Beta, NB.

The inflated beta distribution is special because the beta is not defined on {0,1}. I don't think the zero inflated poisson will result in any nan gradients, since the poisson distribution supports zeros. (I think I checked that once, I guess it makes sense to also add a test for the gradient at the edge case x=0)

No nan gradients:
from gluonts.mx.distribution.mixture import MixtureDistributionOutput
from gluonts.mx.distribution.deterministic import DeterministicOutput
from gluonts.mx.distribution.poisson import PoissonOutput
import mxnet as mx

class ZeroInflatedPoissonOutput(MixtureDistributionOutput):
    def __init__(self):
        super().__init__([PoissonOutput(), DeterministicOutput(0)])

zip_distr = ZeroInflatedPoissonOutput().distribution(distr_args=[mx.nd.array([[0.4, 0.6]]), mx.nd.array([3.]), mx.nd.array([0.])])

inputs = mx.nd.array([0., 1.])
inputs.attach_grad()
with mx.autograd.record():
    result = zip_distr.log_prob(inputs)
result.backward()

print(result)
inputs.grad

[-0.4781732 -2.8176785]
<NDArray 2 @cpu(0)>

[0.05383615 0.675828  ]
<NDArray 2 @cpu(0)>

Maybe instead of making a superclass for inflated distributions we could think about changing the MixtureDistribution's log_prob to account for mixtures of distributions with non-overlapping support, like the inflated beta. The problem boils down to:
import mxnet as mx
inputs = mx.nd.array([0., 0.5])
inputs.attach_grad()
with mx.autograd.record():
    result = mx.nd.log(inputs)
    result = mx.nd.where(inputs != 0., result, result.zeros_like())
result.backward()
inputs.grad

[nan  2.]
<NDArray 2 @cpu(0)>

I wondered if that is a bug, but torch exhibits the same behaviour:
import torch
inputs = torch.tensor([0., 0.5], requires_grad=True)
result = torch.log(inputs)
result =torch.where(inputs != 0., result, torch.tensor([0., 0.]))
result = result.mean()
result.backward()
inputs.grad

tensor([nan, 1.])

but in torch one could use an if else statement to circumvent this.

Then I'll also add the inflated NB using the solution suggested by @PascalIversen. For the InflatedGamma I would also expect inf's / nan's and therefore use the solution of the ÌnflatedBeta.

@PascalIversen Wouldn't we expect the gradient of the ZIP to be zero for x=0? Since x is not part of the pmf for the zero case.
https://en.wikipedia.org/wiki/Zero-inflated_model

x is part of the PMF, it just simplifies since 0!=1.
Thats the gradient we are searching:

which is
.

Of couse your're right. I just looked at the simplified equation. Than it's good that we talked about this, since the gradient produced by my method is zero (Possibly due to the use of  Deterministic(0) inside the mixture?).

Interesting, I think it is not because of the Deterministic(0) (I am using that too), but in your implementation changing:
# log_prob of zeros
        zero_log_like = self.zero_probability + (
            1 - self.zero_probability
        ) * F.exp(-self.rate)

to
# log_prob of zeros
        zero_log_like = self.zero_probability + (
            1 - self.zero_probability
        ) * self.poisson_distribution.log_prob(inputs)

would yield the same log_prob but the correct gradient :-D.
I am wondering why the maximum likelihood parameter inference test you implemented worked anyway....

The test_inflated_neg_binomial_likelihood seems to fail on windows. I actually experienced before that maximum likelihood inference with an inflated negative binomial is quite delicate. Could be that the optimization gets stuck in some local minimum.
@kaijennissen, could you try using more epochs for the maximum likelihood inference test of the inflated negative binomial?
If this does not help we could think about explicitly testing the log_prob() and its gradients instead.

@PascalIversen indeed the ZIB and ZINB type distributions when parametrised by probs are a bit unstable in my experience... on the pytorch side i did it via logits (apart from the gate) but there is fully logit based parametrization now in pyro which could be used but my current version using logits for Poisson or NB is working without issue...

Thanks @kashif, interesting point. We could think about basing the NB and maybe Poisson, Binomial on logits. This could stabelize the ZINB inference. (Out of scope of this PR though I think)

The tests seem stable now. If that changes or the distributions do not perform well with time series models, we should implement the suggested changes by @kashif for the negative binomial.
Thank you a lot for contributing this @kaijennissen!


Photo Widget update: Airplane crashes

ensure Reusable photo widget is implemented properly in the Airplane Crash Module.

Receive error when try to upload photo- A problem has occurred please check your internet connection. Once error received a number of field go blank and turn to red error state


Update CNI Table - 2.7.11

Updating CNI table with current stats as part of the maintenance check list for 2.7.11.

Don't forget to sync changes to versioned_docs/version-2.7

Don't forget to sync changes to versioned_docs/version-2.7

The CNI table gets shared to all versions so 2.7 will get the updated stats as well.


Added BME680 support

Added support libraries for Adafruit BME680. Included Gas values (in kOhm) to sensor readings.
Tried to extend the index.js file for WebInterface, however, seems the other .js files need some work as well.

Thank you for your contribution to this project, I will probably get to see your pull this weekend and complete the web ui integration.

How can the gas value be translated to something meaningful? I think it drifts over time and also depends on humidity or/and temperature?

I can not answer this, do not know myself with it.

Hi,
I don't know either :) I have to admit: I bought the BME680 because it was available, while the BME280 wasn't.
My first experiments this week showed that in the first 20mins after booting, the value raised, then becomes stagnant. When I exhale into the sensor, it drops significantly. When I open a window, it drops significantly. So, for home purposes, it might become an indicator of how well aired the room is.
But, nevertheless: even if it turns out to be meaningless, I still want to read temp/humidity from the sensor, so supporting it in the software would be great.