Upgrade Onfido native sdk to 7.4.0 + fix allowed documents

Details

Fixed Issues
Part of https://github.com/Expensify/Expensify/issues/233363
Tests
Test on all platforms adding a verifying business bank account to a workspace on newDot, using random data.
Onfido flow should:

Not show any country selector
Allow you to select between passport or driver license

Make sure you can proceed until the bank account has been created (no matter the state)
Offline tests
N/A
QA Steps
Test on all platforms adding a verifying business bank account to a workspace on newDot, using random data.
Onfido flow should:

Not show any country selector
Allow you to select between passport or driver license

Make sure you can proceed until the bank account has been created (no matter the state)
PR Author Checklist

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

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

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

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@gonals Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

Adding screenshots for all platforms in the OP since @nkuoch is OOO.
I'm running into an error on Android mWeb, I always seem to get this error even though I'm on the latest version of Chrome (110.0.5481.65):

Also, Onfido on native Android does not allow selecting the document type, is that expected?
https://user-images.githubusercontent.com/12268372/220090248-30c4670e-c57c-47aa-b328-1f31f8d89d64.mov

Got an error when running pod install:
[!] CocoaPods could not find compatible versions for pod "Onfido":
  In snapshot (Podfile.lock):
    Onfido (= 27.4.0)

  In Podfile:
    onfido-react-native-sdk (from `../node_modules/@onfido/react-native-sdk`) was resolved to 7.4.0, which depends on
      Onfido (= 27.4.0)

None of your spec sources contain a spec satisfying the dependencies: `Onfido (= 27.4.0), Onfido (= 27.4.0)`.

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or version.
 * not added the source repo that hosts the Podspec to your Podfile.

Running pod update repo and then pod install fixed it

Also, Onfido on native Android does not allow selecting the document type, is that expected?

Yes, native sdk doesn't allow to specify a list. You can upload any id, and Onfido will just guess what it is.

Updated

Reviewer Checklist

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

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

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Seems to work for me!

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

🚀 Deployed to staging by https://github.com/nkuoch in version: 1.2.78-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This performance regression looks like it's consistent with what we were seeing on all PRs since last week, removing the DeployBlockerCash label
https://expensify.slack.com/archives/C07J32337/p1677708239351139?thread_ts=1677703372.513129&cid=C07J32337

🚀 Deployed to production by https://github.com/mountiny in version: 1.2.78-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add support for systemd nspawn backend

already done by:  https://github.com/fedora-modularity/conu/pull/169


getStopsOnRoute bug fix

Was going into else block with a valid parameter. this was causing both direction_id's to be returned if only one was specified.

Good catch.
I pushed an update that should handle when direction_id = 0 - https://github.com/brendannee/node-gtfs/commit/b68aa4d8b346629ee3254147aa689dc224c7a68c
This happened in a few places in gtfs.js so I updated them all.

Closing this as I think I solved the issue here: https://github.com/brendannee/node-gtfs/commit/b68aa4d8b346629ee3254147aa689dc224c7a68c
Feel free to reopen if you still have this issue.


Selection is not revealed when DnD the resource with selection when the resource is already open

Testing https://github.com/microsoft/vscode/issues/143608
From @weinand

Open a file in the editor (make sure the file has content with more than one page), place the cursor at the top.
Search for some content that is at the bottom of the file
From the search view, DnD the match into the editor area where the file is opened
🐛  Match position is not revealed.

I suspect that even though selection parameters are properly passed, the editor is not respecting them

Fun one, ITextEditorOptions allows to set both viewState and selection but we always preferred viewState over an explicit selection. Fix is to apply both if present but remove the selection portion of viewState when a selection is present to avoid a redundant selection event.


fix: change additional messages to debug only

Proposed change

Changes more messages from warning to debug.
Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (which adds functionality)
[ ] Breaking change (fix/feature causing existing functionality to break)
[x] Code quality improvements to existing code or addition of tests
[ ] Documentation update
[ ] Adds a new shipper
[ ] Update existing shipper

Additional information

This PR is related to issue: n/a

Codecov Report

Merging #795 (2d53cf2) into dev (71cfed5) will not change coverage.
The diff coverage is 50.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files

@@           Coverage Diff           @@
##              dev     #795   +/-   ##
=======================================
  Coverage   97.08%   97.08%
=======================================
  Files           8        8
  Lines        1512     1512
=======================================
  Hits         1468     1468
  Misses         44       44

Impacted Files
Coverage Δ

custom_components/mail_and_packages/camera.py
94.39% <0.00%> (ø)

custom_components/mail_and_packages/helpers.py
96.14% <66.66%> (ø)

custom_components/mail_and_packages/sensor.py
98.30% <100.00%> (ø)


CSV exporter: chunk document into smaller documents

Running just importer-offline --export-csv might generate a CSV that takes terabytes of storage.
To avoid that, we could change the exporter to create smaller chunks of CSV for each table, and then, create a script that loads them into the database.

@arthurmm-cloudwalk @renancloudwalk all logs in the exporter go to the STDERR, so I think it could emit filenames in the STDOUT for a simple shell script that does a while and run \copy queries to load the files.
Consider load_csv to be a hypothetical command that loads the csv file:
load_csv DATABASE_URL FILE_PATH TABLE_NAME

Then, with filenames and table names outputted to STDOUT, here's what such shell script would look like:
just importer-offline --export-csv | xargs -n 2 load_csv DATABASE_URL

Thoughts on this?

@marcospb19-cw
A few considerations:

Generating the CSV and importing the CSV are separate steps. Generation happens in some powerful machine, but importing usually involves uploading the generated CSV files to the same machine where PostgreSQL is running.

Do not confuse \copy with COPY. \copy is a client side command that emulates the COPY from SQL, but it is not what will be used when really importing data to the database. When importing, we should make the files available at the server and emit COPY statements.

To rotate CSV files, just override the CSV writer with a new file when flush is called and it reached some threshold (it can be number of lines, bytes or number of blocks, etc.)

Thanks for the clarification! I didn't know those were separated steps.
With that in mind, can we still benefit from chunking? Instead of loading the CSV, we could have a script that uploads each generated chunk and then deletes it from the local disk.

Update: we discussed and decided to move forward with this.


Emoticons

Added emoticon support and /emotes command that lists emoticons.

I added buttons on the side of the textarea that can be clicked to add emotes to the text being typed.

I fixed styling issues, so it looks better now

Here's a picture of the third button in action

The combined buttons save space. My primary concern with the buttons on the UI is that they would leave too little space for the textarea on the smaller chat interface. This saves a lot of space and, in my opinion, looks better.

I would now call this feature completed. It is easy to use. I have fixed all the bugs I've found. It works well on small screen sizes and large ones. Most importantly, it reliably works. Pending any bugs I've missed or features anyone wants me to implement, this is ready to be reviewed.


plugins/cmp-async-path: init

Add support for cmp-async-path.

Thanks for the contribution ! Have you been able to test it locally ?

It works locally, but I forgot to check whether the auto enabling of the sources was working, which was indeed not working, because the plugin uses an underscore instead of a hyphen.
Now it is fixed and the plugin works, as well as the auto enabling.
And quick question, because I wanted to double check and haven't been able to figure it out, how do I obtain the store path of the currently used init.lua?
Btw. great project, I have really enjoyed using it so far, keep up the great work.

how do I obtain the store path of the currently used init.lua

You can inspect the NixVim build in nix repl and print out config.initPath.
E.g.
$ nix repl
>> :lf .
>> packages.x86_64-linux.nvim.config.initPath

how do I obtain the store path of the currently used init.lua

One method is to inspect the build using nix repl, in particular you want config.initPath.
E.g.
$ nix repl
>> :lf .
>> nvim = packages.x86_64-linux.nvim
>> nvim.config.initPath

Thanks for the answer, sadly this doesn't work for me as packages.x86_64-linux is an empty attribute set for me.
I would suspect that flake-parts is causing the issue, and the path to nvim probably has to be different but I'm not sure.

packages.x86_64-linux is an empty attribute set for me.
I would suspect that flake-parts is causing the issue.

Nothing to do with flake-parts, I'm also using that. It'll either be

You forgot to load your flake into the repl (:lf <path>)
You're not using standalone nixvim (hence no nvim package)
You're using legacyPackages instead of packages

you can run nix flake show to see what you should be printing, or use tab-completion in the repl

packages.x86_64-linux is an empty attribute set for me.
I would suspect that flake-parts is causing the issue.

Nothing to do with flake-parts, I'm also using that. It'll either be
* You forgot to load your flake into the repl (`:lf <path>`)

* You're not using standalone nixvim (hence no nvim package)

* You're using `legacyPackages` or some other output attr instead of `packages`

  * you can run `nix flake show` to see your outputs, or use tab-completion in the repl

Sorry, I accidentally edited your comment instead of posting this reply. Mobile GitHub can be fun sometimes... Should be fixed now.

Finally found it, as you said it was because I'm not using the standalone version. Don't know how I didn't find it yesterday when searching for it but now I got it.
Thanks again for your help and patience, really appreciate it.

Could you please add some test case somewhere ?

Hope this simple test is what you were looking for, let me know if anything else comes up.

@FelixBoehme we have made the necessary changes to the cmp plugin.
Please, rebase on main and address the conflicts.


DOC: mention inefficency of brute

#8252 wonders why brute is limited to 40 variables, along with a confusing error message if the system runs out of memory if the problem is too large.
This PR improves the docstring to say that brute is inefficient and can run into memory/processing time even for moderately sized problems.

One more thing -- what's the easiest way to find the CircleCI scipy docs artifact for a given commit? I think another core dev linked this in a recent PR & it is not immediately obvious to me looking at the details linked here from github to CircleCI. That can help for checking docs modifications quickly.

@tylerjereddy If you login to CI and then follow the link to CircleCI check on the PR you should be able to see the artifacts tab

There you can navigate around the page you wish.

@ilayn Thanks -- I hadn't linked the CI account to my github.
The compiled docs for the changes here look reasonable -- just would be good to confirm that we don't want this info in the Notes section & maybe that @antonior92 is happy with the changes.

Hi all! The modification sounds good to me!
The issue #8252 is mostly related to lack of explanation on when not to use brute force.
If the user try to use brute_force on too big of a problem he will get one of the following.
MemoryError
ValueError: Brute Force not possible with more than 40 variables.
ValueError: array is too big.
ValueError: sequence too large; cannot be greater than 32

And if he have read the documentation he will have some notion that he have chosen the wrong solver.
Besides that I think this comment to be important enough to be on the function description and not on the Notes section (where it might go unnoticed).


Ref counting MFiles

WHAT is this pull request doing?
Keep track of usage of MFiles, and only mmap when needed
HOW can this pull request be tested?
Specs

I tested and it crashed:

mmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/msgs.0000000001
unmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/msgs.0000000001
mmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/msgs.0000000001
unmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/msgs.0000000001
2024-12-17T07:52:37.467231Z  INFO lmq.message_store[queue: "perf-test", vhost: "/"] Loaded 1 segments, 0 messages
mmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/msgs.0000000001
mmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/acks.0000000001
mmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/msgs.0000000002
unmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/acks.0000000001
mmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/acks.0000000002
unmap /tmp/lavinmq-cluster/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8/96e488d035f3c5aec50b494f6a7973ff287b6bdd/msgs.0000000001
[1]    70930 segmentation fault  ./bin/lavinmq-ref-counting-mfiles -c clustering.ini

Thoughts:

May there be a case when a MFile has been closed and borrow is called?
Shouldn't ByteMessage borrow? Or, what about we pass a "lease" with Envelope?


Release Google.Cloud.Billing.Budgets.V1 version 2.1.0

Changes in this release:
New features

Enable REST transport in C# (commit 31e55cd)

Created release for Google.Cloud.Billing.Budgets.V1-2.1.0


Doesn't seem to work at all for me

Tried the example:
:Spotify yeezus
and got
No tracks could be found
Then I tried
:Spotify everlong
and again got
No tracks could be found
It seems no matter what I try it doesn't work

I reckon the API is now turned off. It has been derprecated for a while and there is a new one to consume. It will be a lot of work to update.

By

new one to consume

I presume you mean this one that you mentioned in #18?

Yes. Maybe when I have a spare couple weeks I'll have a go :)

Okay, I might have a look into it and help you out if I get time (although I have no past experience with spotify APIs so idk how much use I would be)

I've pushed a fix which used 'spotipy'. You will need to pip install spotipy and have vim compile with python support (which is a typical default).

Thanks. For some reason (probably something on my end) this still isn't working however...
I tried installing spotipy with the command pip install spotipy and first got a permission error and so ran it with sudo.
After installing spotipy, I updated my version of this plugin with :BundleUpdate (I'm using vundle), closed and reopened vim and tried: :Spotify everlong
This gave me an error (likely due to spotipy not being installed or vim not compiling with python support as you mentioned):

Error detected while processing function SpotifyTrackSearch:
line   14:
Traceback (most recent call last):
File "", line 7, in
AttributeError: 'module' object has no attribute 'Dictionary'
line   15:
E121: Undefined variable: g:tracks
E15: Invalid expression: g:tracks
line   17:
E716: Key not present in Dictionary: everlong
E15: Invalid expression: s:cache.track_search[a:track]
line   18:
E121: Undefined variable: tracks
E116: Invalid arguments for function len(tracks['tracks']['items']) == 0
E15: Invalid expression: len(tracks['tracks']['items']) == 0
line   24:
E121: Undefined variable: tracks
E116: Invalid arguments for function 43_PrintTracks

I pressed return and got 'spotify_list[-]' but empty: https://i.gyazo.com/a7328aa4172f38383e5ef477d694eb48.png

What version of Vim are you running? module' object has no attribute 'Dictionary' is refering to the vim module which should have a dictionary object.

I'm running version 7.3:
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul  9 2015 23:58:42)                            │        modified:   app/views/devise/registrations/new.html.erb Compiled by<EMAIL_ADDRESS>                                                                  │        modified:   app/views/devise/sessions/new.html.erb Normal version without GUI.  Features included (+) or not (-):                                │        modified:   app/views/layouts/application.html.haml -arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent                   │        modified:   config/initializers/devise.rb -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments                 │        modified:   db/schema.rb -conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs                 │ -dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path                   │Untracked files: +find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv                   │  (use "git add <file>..." to include in what will be committed) +insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent                     │ +listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape                    │        db/migrate/20160526202314_add_subject_id_to_student.rb -mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse                           │        db/migrate/20160526202611_add_student_id_to_subject.rb +mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype                     │        db/migrate/20160527193518_add_username_to_students.rb +path_extra -perl +persistent_undo +postscript +printer -profile +python/dyn                  │        db/migrate/20160527193941_remove_subject_id_from_student.rb -python3 +quickfix +reltime -rightleft +ruby/dyn +scrollbind +signs                           │ +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary                │no changes added to commit (use "git add" and/or "git commit -a") +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title               │➜  revisionHub git:(master) ✗   -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo                │ +vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp               │  -xterm_clipboard -xterm_save                                                                 │    system vimrc file: "$VIM/vimrc"                                                            │      user vimrc file: "$HOME/.vimrc"                                                          │       user exrc file: "$HOME/.exrc"                                                           │   fall-back for $VIM: "/usr/share/vim"                                                        │ Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g│  -Os -pipe                                                                                │ Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses

Just updated to version 7.4 and it's working now


minecraft:durability documentation #example does not match #parameters

The example code gives minecraft:durability.damage_chance as a float, and the table labels it as float, but the table shows "Defined as an int range with min and max value."

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

ID: 4f5e6749-eda6-8475-3493-2b0fbaf2d13b
Version Independent ID: 5959dcb4-f342-b02a-3168-46195001a203
Content: Item Documentation - minecraft:durability
Content Source: creator/Reference/Content/ItemReference/Examples/ItemComponents/minecraft_durability.md
Product: gaming
GitHub Login: @v-josjones
Microsoft Alias: v-josjones

Good catch! Fixed and should be out with the next release :)


这个不支持iOS吧？

用真机测试，报没有插件，说明上不是写了支持iOS的吗？
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: MissingPluginException(No implementation found for method scan on channel qr_scan)
#0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:314:7)
<asynchronous suspension>
#1      scan (package:qrscan/qrscan.dart:13:47)
<asynchronous suspension>
#2      _HomePageState.testScanner (package:flutter_etracking/pages/home.dart:64:37)
<asynchronous suspension>
#3      _HomePageState.build.<anonymous closure> (package:flutter_etracking/pages/home.dart:52:15)
#4      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:654:14)
#5      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:729:32)
#6      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
#7      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
#8      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275:7)
#9      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455:9)
#10     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75:13)
#11     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102:11)
#12     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
#13     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
#14     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
#15     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
#16     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
#17     _rootRunUnary (dart:async/zone.dart:1136:13)
#18     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#19     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
#20     _invoke1 (dart:ui/hooks.dart:263:10)
#21     _dispatchPointerDataPacket (dart:ui/hooks.dart:172:5)

See https://github.com/leyan95/qrcode_scanner/pull/38


Please support signing of ssh keys

I can't find back the original description of this, but how to set it up for RHEL is specified here:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-creating_ssh_ca_certificate_signing-keys

Related article: Scalable and secure access with SSH


ci: inject date into canary preid

Prevents the github action from failing when there have been no commits made between runs (avoids tag collisions between nightly builds, even when they run on the same commit).
Fixes #3190
Shortcomings: long version numbers getting longer. Does nothing to address existing shortcoming (generation and release of at least 1 new version per day / hundreds per year).
Alternatives considered:

reduce frequency of this github action to weekly (very likely a commit has been made; side effect of reducing number of published versions; we only learn about breaking changes relatively slowly)
ignore the failed github actions (nothing bad really happened)
"catch" the error and report success from the GH action.

[Optional] How Has This Been Tested?
By manually running echo next.$(git rev-parse --short HEAD).$(date +%Y-%m-%d).
In terms of version numbers, this means that:
1.14.2-next.2522b345b will become 1.14.2-next.2522b345b.2021-01-25
Code quality

[x] I have written clear commit messages
[x] I have performed a self-review of my own code
[x] I have scoped this change as narrowly as possible
[x] I have separated logic changes from refactor changes (formatting, renames, etc.)
[ ] I have commented my code wherever necessary
[x] I have added tests that prove my fix is effective or that my feature works

Project management

[x] I have applied the appropriate labels
[x] I have linked to relevant issues
[ ] I have added dependent tickets
[x] I have assigned myself to this PR
[ ] I have chosen the appropriate pipeline

"catch" the error and report success from the GH action.

Why is this, or some variation, not preferred?
If there's no difference between the current HEAD of master and yesterday's HEAD of master, doing nothing seems like the straightforward thing to do.

"catch" the error and report success from the GH action.

Why is this, or some variation, not preferred?
If there's no difference between the current HEAD of master and yesterday's HEAD of master, doing nothing seems like the straightforward thing to do.

I agree that is a better solution. I think it would take me longer to engineer, that's why I started with this option.

I agree that is a better solution. I think it would take me longer to engineer, that's why I started with this option.

then I'm happy with this!

then I'm happy with this!

Taking aim at the better solution #3221

Taking aim at the better solution #3221


Move .Net to .Net 6.0

Community support for .NET 5 will end on 8 May 2022, effecting the Azure app service hosted application
The project needs to be moved to .Net 6.0 before this date

Completed in #13


MDX and MDXAST spec discussion

Use this to add any thoughts/criticisms/etc. to the MDX and MDXAST specs <3.

This looks freaking amazing.
A few thoughts:

I love that you've taken escaping into account.

Have you done any testing on the performance of factories vs components for configuring how elements are rendered? I'm using factories in @mdxc, and I've noticed page loads can take a perceivable amount of time in larger documents on reactarmory.com, so performance is probably worth considering.

Is there any way to embed markdown within JSX? This is a pattern I've found useful, as it lets me define things like a <Caution> or <Spoiler> block, and put markdown inside it.

Hello! 👋 😄
Thanks for all your work with MDXC, that project is next level and served as a huge inspiration/foundation. I'm hoping with MDX and MDXAST we can formalize the syntax and parsing so we can bring in formatters, highlighting, etc.

Have you done any testing on the performance of factories vs components

I haven't, but that's definitely something to look into. I'll create an issue to do some investigating there.

Is there any way to embed markdown within JSX?

Yep, that's definitely in the works. We're thinking how you've implemented it in MDXC, with the special <markdown> tag. I'm now realizing that I haven't put that in the spec yet. Will do so now.

Is it a good idea to mix Markdown and JSX at all? Because JSX variable placeholder is {...} and you may have quite a lot of curly brackets in your normal casual text. I actually think JSX is not that good as a template language when you have a lot of text along with it.


Redefine stub behavior

I sometimes like to enforce that at the suite level that included test must stub a behavior, like $.ajax.  With jasmine, I can
spyOn($, 'ajax').andCallFake(function() {throw new Error('...')})

then per spec
$.ajax.andReturn($.Deferred(...))

I'd like to do the same with sinon:
before(function() {
    sinon.stub($, 'ajax').throws(new Error('...'))
});

beforeEach(function() {
    $.ajax.returns($.Deferred(...))
})

But the returns can't clobber the original throws.  Would you take a pull request to make this work?
});

I'm skeptical of this approach, as I've seen it create illegible and unstable tests too many times, but I'm a little torn on adding this feature. I'm leaning towards "nah", but maybe @mantoni or @mroderick want to have an opinion as well?

Hm. There is resetBehavior(), a hidden "feature" of sorts. Would it make sense to use it in this case?

It's strange to me that I can redefine what a spy returns, but I can't switch from throwing to returning. For example:
before(function() {
    sinon.stub($, 'ajax').returns(new Error('...'))
});

beforeEach(function() {
    $.ajax.returns($.Deferred(...))
})

works today.  If instead we want to discourage this approach, should we prevent redefining returns too?

You're right. I'll take a pull request for your original suggestion ;)

Hrm, @cjohansen looks like this was reverted in https://github.com/cjohansen/Sinon.JS/commit/378eea5dcfff9d8ff27ef92af9e11f0252564733 along with the intended #653.  Intentional?  Was hoping to use this feature...

Also, if you have an example of an illegible or unstable mess this approach leads to, I'd love to learn from it before I get there myself.  So far, only joy when I've used it :)


iOS impl for URLTile & WMSTile opacity property

Does any other open PR do the same thing?

No.
What issue is this PR fixing?
#3936
How did you test this PR?

Updated example code and tested with iOS simulator.

Amazing! This works perfectly. Tested on iOS simulator and on device.

Ran into a bug. Opacity works fine when using Metro on an iOS device. When I ran my build through expo build:ios opacity doesn't seem to be working. Not sure why it would work when running on the metro server but not the actual build...

Disregard my last comment. After ejecting from Expo transparency works fine. Maybe that's something to add to the docs. I've only been working with Expo for a couple of weeks and still trying to figure it all out.


Uncaught Error: Cannot call function 'getPosition' on missing remote object 103

[Enter steps to reproduce:]

...
...

Atom: 1.41.0 x64
Electron: 4.2.7
OS: Mac OS X 10.15.1
Thrown From: Atom Core
Stack Trace
Uncaught Error: Cannot call function 'getPosition' on missing remote object 103
At /Applications/Atom.app/Contents/Resources/electron.asar/renderer/api/remote.js:222

Error: Cannot call function 'getPosition' on missing remote object 103
    at throwRPCError (/Applications/Atom.app/Contents/Resources/electron.asar/browser/rpc-server.js:148:17)
    at /Applications/Atom.app/Contents/Resources/electron.asar/browser/rpc-server.js:406:5
    at EventEmitter.ipcMain.on.args (/Applications/Atom.app/Contents/Resources/electron.asar/browser/rpc-server.js:273:21)
    at EventEmitter.emit (events.js:182:13)
    at WebContents.<anonymous> (/Applications/Atom.app/Contents/Resources/electron.asar/browser/api/web-contents.js:368:21)
    at WebContents.emit (events.js:182:13)

Commands
     -8:11.3.0 tree-view:remove (span.name.icon.icon-file-directory)
     -7:56.5.0 tree-view:copy-project-path (span.name.icon.icon-file-directory)
     -7:46.9.0 core:paste (input.hidden-input)
     -7:31.4.0 tree-view:copy-project-path (span.name.icon.icon-file-text)
     -6:57.1.0 core:paste (input.hidden-input)
 26x -6:52.7.0 core:backspace (input.hidden-input)
     -6:46.1.0 core:save (input.hidden-input)

Non-Core Packages
atom-runner 2.7.1
busy-signal 2.0.1
intentions 1.1.5
language-restructuredtext 1.1.2
linter 2.3.1
linter-ui-default 1.8.0
pandoc-convert 1.1.1
platformio-ide-terminal 2.10.0
rst-preview-pandoc 0.1.12
rubocop-auto-correct 1.5.1
ruby-block 0.3.6

Thank you for opening this issue. This was issue present in electron versions 4 and below. The latest atom version v1.51.0 uses electron version 5.0.3. The issue was fixed on this commit https://github.com/electron/electron/commit/a8f2646ba682d65f94ea628ac11b1a5521bcedcd. The fix has been available from electron version 5.0.0. I would advice you to upgrade to the latest atom version. I am closing this for now but happy to reopen if you still experience the issue.


feat: allow eks addons to use pod identity associations

what

feat: allow eks addons to use pod identity associations

why

Option to use a pod identity association instead of an IRSA

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eks_addon#pod_identity_association
https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.75.0

Summary by CodeRabbit

New Features

Introduced support for pod identity associations in EKS addons, allowing IAM roles to be linked with Kubernetes service accounts.
Added a new optional field for specifying pod identity associations in the configuration.

Updates

Updated the required version for the AWS provider to ">= 5.75".

Deprecation

Marked the region variable as obsolete, indicating it is no longer needed for future configurations.

https://github.com/hashicorp/terraform-provider-aws/issues/30645
This can block migration of existing addons from IRSA to Pod Identity. I support this PR, but migration path, that it opens, might not be usable by end users as of now. Either documentation is needed or wait for until mentioned issue is resolved.

I changed it to a draft for now.
I figured if the new optional argument defaulted to null then it wouldn't cause issues with existing addons, so new addons would be able to take advantage.


Add a "Delete" command for Files

To match the Cloud Explorer behavior:

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.
Happy Coding!

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


Make DenrimScript More Swifty

I'm very interested in having a solid scripting language for Swift. DenrimScript looks like a great start. I think making it a bit more Swifty would increase its appeal to Swift developers. I would lose the semicolons and unnecessary parenthesis in places like if and for statements.

Thanks for the good feedback. Yes, the semicolons could be made optional.
I will think about the parenthesis, I mean the issue is how close to Swift should Denrim get, maybe if it's too close people will get confused what todo where (because there will always be differences). Whereas a clear different syntax could be easier to remember ? (Just my thinking atm)


param handling in  unreleased.

Version
4.2.0
React-router doesn't currently handle url parameters in  as is asserted in documentation for <Redirect />.
This was fixed back in September but hasn't been released in any way.
I have tried to install from the Git repo but wasn't able to with yarn.
Would it be possible for a @next release to go out where the Redirect handles url params?

Not yet.

@timdorr Is it possible to remove this from the docs until has been released? I just spent an hour wondering why my code wasn't behaving according to the docs. Only when I went digging through issues did I find this.

We'll release something soon.

For anyone looking to achieve parameterized redirects while we await a new release:
<Switch>
  <Route path="/users/:id" render={({ match }) => <Redirect to={`/users/profile/${match.params.id}`} />} />
</Switch>


Data encryption

Is your feature request related to a problem?
As far as I know memos are stored in an unencrypted format. Adding it would give some peace of mind, especially if you're not hosting it on your own server.
Describe the solution you'd like
Could support for encrypting memos be added?
Additional context
No response

+1 for end-to-end encryption. This would be a great feature if it ever becomes available because I plan to use memos as my personal journaling solution.

+1.
Memos is a great application, thanks to the contributors for their selfless dedication.
I also use memos as a solution for personal diaries, but plaintext SQLite databases do still have security risks, such as being stolen by cloud service providers, or being read by someone who steals a NAS hard drive.
I think memos can use sqlcipher to encrypt the database, or use end-to-end encryption to store the ciphertext in the database.
Thanks again to the contributors of memos, memos is a very important application to me.

+1 for this feature.
As someone who's considering memos for my personal journaling needs, the aspect of data security is paramount. The nature of journal entries often being personal and sensitive makes encryption not just a nice-to-have, but a necessity.
Thanks for taking this feedback into account!

+1 to this.

+1

+1


Change base image for Dockerfile.flower

Issues this PR resolves

#1504

Checklist

[x] Code review by me
[x] Hand tested by me
[x] I'm proud of my work
[ ] Code review by reviewer
[ ] Hand tested by reviewer
[ ] CircleCi tests are passing
[ ] Ready to merge

With the new dockerfile for flower, installation finishes without any error
collectstatic and migrate works
cannot access the platform using localhost

OK, I guess we need to test this on the test server before merging it.

Test server is fixed. Now testing this PR there.


finding other conference software than Mumble

 Issue by Erkan-Yilmaz
Friday Jan 20, 2017 at 20:50 GMT
Originally opened as https://github.com/Erkan-Yilmaz/Gridcoin-tasks/issues/11

e.g. with more protection
mentioned in hangout 1: 1:25:28

mentioned there: xmpp, teamspeak, skype, Google hangouts, trillo (unsure about name?)
others: tox, ...

 Comment by grctest
Sunday Jan 22, 2017 at 15:43 GMT

A certain advantage of mumble is that it has inbuilt recording functionality.

 Comment by Peppernrino
Saturday Feb 04, 2017 at 21:14 GMT

i went to the #mumble IRC on Freenode, and they said that the IPs shouldn't be publicly viewable. apparently, the murmur server is set up in such a way that we are probably all "admins". :\

 Comment by denravonska
Thursday Feb 16, 2017 at 16:57 GMT

As I mentioned on IRC, if we're going to be on YouTube it would be neat with a platform which supports webcams. It doesn't matter if nobody is using webcams from the start, just that the UI makes it easier to follow when listening post-broadcast.

 Comment by grctest
Thursday Feb 16, 2017 at 17:31 GMT

@Peppernrino Could you discuss this with Fuzzy please? Thanks :)

 Comment by Peppernrino
Saturday Feb 18, 2017 at 09:10 GMT

sure. i'll email him and see what's up.
@Erkan-Yilmaz: i think the app you were talking about was ventrilo. Tahvok(?) suggested Jitsi in the IRC yesterday, and it seems pretty awesome:
https://jitsi.org/
we were also throwing around the idea of twitch, which automatically records and uploads to youtube.
also, i created a bot for the mumble and i currently upload to a site called talkshoe:
http://www.talkshoe.com/talkshoe/web/talkCast.jsp?masterId=142176
if i could find away to bridge the mumble voice chat to the talkshoe account and simulcast, people could follow the live audio and ask IP-anonymized questions from the IRC channel (provided their IRC connection was protected with a bnc or cloak).

 Comment by gustav1976
Monday Feb 20, 2017 at 07:53 GMT

please switch to foss software like VNC or web-application

 Comment by Peppernrino
Monday Feb 20, 2017 at 16:30 GMT

speaking of web, something pretty cool that i found this morning: http://meetfranz.com/
also, what do you mean "switch"? mumble IS FOSS.

 Comment by Peppernrino
Monday Feb 20, 2017 at 17:06 GMT

also relevant: https://github.com/nylira/prism-break/issues/1653
good conversation to keep an eye on regarding this, instead of guessing what is the most secure. :)

 Comment by grcjamezz
Monday Feb 20, 2017 at 19:44 GMT

If there are any ideas and hardware/hosting is needed I am willing to provide it... I have been running an alt murmur server " chitchat.dopeshit.net on the default port with password " dopeshit " . Just because I host it doesn't mean i have to run/admin it and I am fine with giving access and donate it to Gridcoin and whom ever admin it..  So if there is someone out there who wants to try or test linux or windows based alt to a murmur server for mumble clients , if not this one is 100% dedicated right now as an alt if on a bi-saturday week the main was down this one would be around BUT it also could be configured completely around gridcoin and dedicated... Also , I have like a 20 slot vent server running the past 8 years we are also welcome to use...   win / lin I can provide a sandbox , just don't leave a log in it!  Also you CANNOT what so ever hide the ip without a total recode of the server , there is no setting in an .ini or anything I have spent a few weeks searching and trying things its written to be there and as their support says " if you don't want your real ip shown murmer allows connections from tor or another proxy. Thus , there is no way around it the IP is there....
added: also I have a long running IRCd " currently running Unreal IRCD 3.2 and Anope for services " irc.dopeshit.net that I would be willing to revamp as an irc.gridcoin.us dedicated irc network.
I have hosted many networks overtime , my own with 2 hubs with 3 leafs each along with links to other networks in the past 15 years doing lots in irc host services. Right now a single ircd would be fine , willing to link 2 leafs and grow as our network does if the community likes the idea of their own gridcoin ircd with it configured as we want ie: services and registration and masked ip's etc along with SSL and securing our own chat along with providing a dedicated means of support and yes you can use web clients too.

 Comment by grctest
Saturday Feb 25, 2017 at 13:51 GMT

Discord was affected by cloudbleed: https://blog.discordapp.com/safety-jim-psa-cloudflare-security-issue-77a4ecc48298#.t0yd8cjce

 Comment by Peppernrino
Thursday Mar 16, 2017 at 14:22 GMT

a new one i stumbled onto: https://riot.im/

 Comment by LokiToki
Friday Mar 17, 2017 at 08:14 GMT

I had a quick look at riot.im. Looks simple and nice. There are IRC bridges too, so you receive PMs from IRC directly in your bridge-channel and so on... i like it (just a quick first view).

 Comment by Peppernrino
Tuesday Apr 11, 2017 at 05:37 GMT

another one i found today: https://www.pgi.com/imeet/ :)
and a list of alternatives: https://www.g2crowd.com/products/imeet/competitors/alternatives

 Comment by tomasbrod
Tuesday Apr 11, 2017 at 07:46 GMT

I like mumble because it is open source and works well and has really lightweight server which I am running too (for friends). IRC is open too and has a long tradition. I personally use xmpp and have irc bridge to #gridcoin channels. You can switch to xmpp chatroom, but I see no benefits. It has the same functionality as IRC.
Only thing missing from Mumble+IRC combo is whiteboard support. Maybe Etherpad (lite) can supply the need.
My two cents, please dont take as hate.

 Comment by grctest
Sunday Apr 30, 2017 at 21:43 GMT

During the 29th hangout, we had issues with the mumble server being laggy and cutting users out. If the issue persists in the future we may need to consider alternative platforms again.

https://openmeetings.apache.org/
As much as I like Mumble (foss, very light on resources), it lacks Whiteboard support. The video component of other videoconferencing tools is not of much use for us, but whiteboard, impress or screen sharing would be useful for the Classroom sessions.
For interactive VoIP support, Team-Viewer is usually used, but it does not fit here.


Fix: Rename $req to $request

This PR

[x] renames parameters and variables from $req to $request

💁♂ There's no benefit in abbreviating.

Thank you, @mdwheele!


Use a single Java session for tests

The current test runner validates Java output by starting a fresh VM for every test. However, JVM warmup is time-expensive operation.
Ideally, we'd be able to use a single JVM instance, and run each test in that instance, rather than restarting the JVM each time.
If necessary, this could be done on a per-TestCase or per test Module level.

I tried tweaking the TieredCompilation and TieredStopAtLevel options on the Java HotSpot VM but a rough test showed it was at best equal, and usually worse than without those options.
I was also looking at Drip as well, which looks very interesting, but I'm not sure if it's feasible to keep a sufficiently large pool of JVMs running such that we can use and dispose of one every 0.x seconds without ever having to wait for the pool to replenish.
On the other hand, after a bunch more work, I do have a very, very rough proof of concept working using nailgun. Nailgun works by keeping a JVM running a server that listens to a socket for commands, and accompanying C client that issues commands to run a particular class. However, it doesn't seem to be able to run the transpiled classes directly, maybe because the classes in tests/temp/* don't exist when Nailgun is started, or because it keeps being replaced.
(There is a python port of the client, but I haven't tried that yet.)
Classpath-manager tries to address this by having a class that reads a list of configurable classpaths, creates a new URLClassLoader and loads them, then spawns a new Thread, attaches the ClassLoader to it, then invokes the main() method of the desired class within the Thread. In other words, this acts as a layer of indirection so that the ever-changing freshly transpiled classes in tests/temp/* can get freshly loaded for each test. I did have to monkey-patch it to avoid using the smart ClassLoaderCache, as reusing the ClassLoader doesn't work.
The good news:
python3 setup.py test -s tests.datatypes.test_int.UnaryIntOperationTests
unchanged: 7.62s
nailgun: 1.761

python3 setup.py test -s tests.datatypes.test_int
unchanged: 723.179s
nailgun: 94.342s

python3 setup.py test
unchanged: <no result, never ran this on my machine>
nailgun: 610.148s

The bad news:

Lots and lots of failures, even after I do a quick patch of the JAVA_EXCEPTION regex. Some of these, like test_argv, are failing due to the different runtime environment, but the causes of many others aren't immediately obvious (to me).
Nailgun seems unmaintained, and both issues and pull requests may be going unaddressed.
No official binaries for nailgun available, apart from homebrew. I haven't tried building nailgun; classpath-manager doesn't build successfully due to some maven issue, but that's still quite doable with a short shell script.

Moving forward, I guess we need to figure out why the tests fail, of course.
Distributing/referencing Nailgun seems tricky too: using the Python client instead of C client should help with this, but I'm not sure what's the best way to integrate that into this repository. That probably needs to be dealt with before the test suite can be wired up to start/stop the nailgun server, etc.

Very interesting results - I certainly wouldn't complain about an order of magnitude speedup!
The test failures you're seeing definitely look interesting - from a quick inspection, it looks like something odd is happening to the class hierarchy, because some classes are being identified as "native module" when they should just be "class". That suggests to me that something is happening to the classes on import that is causing them to be misidentified. If it helps, the code that does the identification is all in org.python.types.Type.pythonType().
If there's an existing turnkey solution for this, then we should absolutely use it - however, it hadn't occurred to me to look to the class loader for the solution here. Essentially, all we need here is a Java program that starts the VM, displays a text prompt, and when you type the name of a java class, uses a custom, non-caching class loader to load the named class, runs the main method, and flushes the class cache afterwards. There's no need to be multi-threaded, or controlled by a socket through a C client - a simple single threaded process is fine - as long as it only has one VM instance.

I'm still working on getting the classloader to reliably reload/unload the classes without spawning a new thread, but there's something interesting I observed about the transpiled classes - they don't seem to be runnable twice. Is it also an issue that needs to be fixed on the Java end, or is it expected?
00:14:27 ~/Desktop/voc-dev $ java -cp voc/dist/python-java.jar:. CLTest
Enter class name > Test
Hello world! Wed Mar 16 00:14:31 SGT 2016
Enter class name > python.test.__init__
8
Enter class name > Test
Hello world! Wed Mar 16 00:14:36 SGT 2016
Enter class name > python.test.__init__
Enter class name >

Test is the standard println-hello-world Java class. I observed this earlier with nailgun but thought it was just nailgun being weird.

Oops, that's actually just the default classloader finding the python.test.__init__ class before the custom classloader gets to have a go! You're absolutely right, it works with embarrassingly few lines of code.
Now to figure out how to link this into utils.py.

Okay, so now there is a small program that instantiates a ClassLoader to load a class from the tests/temp/ directory, and invoke its main() method, based on the class name supplied from stdin.
Compared against the earlier figures:
python3 setup.py test -s tests.datatypes.test_int.UnaryIntOperationTests
unchanged: 7.62s
nailgun: 1.761s
testdaemon: 2.134s

python3 setup.py test -s tests.datatypes.test_int
unchanged: 723.179s
nailgun: 94.342s
testdaemon: 107.140s

python3 setup.py test
unchanged: <no result, never ran this on my machine>
nailgun: 610.148s
testdaemon: 527.412s

It's still 68 failures, probably the same tests. I did have to skip the tests.stdlib.test_sys.test_exit as it was causing the test runner to hang, haven't looked into if it was actually exiting or anything like that.
Here is the Travis build which ran in 9 min 37 sec. (I've finally figured out that I can enable Travis CI on my own fork, so I can test it there without creating a pull request! This, and the python setup.py test -s [testcase] chunk in the docs might be good additions to the first contributions wiki article.)
1 - Is there a better place to hook in so that we reuse it once per test run? Or is it safe to just start without tearing it down? This is relatively negligible though, since there aren't that many test classes so far.
python3 setup.py test -s tests.datatypes.test_int
testdaemon (start jvm per class): 107.140s
testdaemon (start jvm globally): 104.359s

2 - Is there some alternative to creating and deleting the tests/temp/ directory for every single test run? It seems like it has some small impact on the test duration as well. If it's not absolutely necessary, maybe the shutil.rmtree(test_dir) can occur after the end of the entire test run.
python3 setup.py test -s tests.datatypes.test_int
testdaemon (creating and deleting temp): 107.140s
testdaemon (not touching temp): 101.968s

Awesome - great work.
I've taken a look at the test failures - it looks like it might be a problem loading related classes. Most of the simple tests only need a single main test class; however, the more complex tests generate more than one class, and they all need to be present for the test to run. Many of the test failures you're seeing would be consistent with not being able to find those support classes - either because they're not being compiled, or they're not being loaded successfully, or they're being flushed from the class loader cache too soon, or they're being loaded by a different class loader and not being replaced correctly when a new test class starts.
Regarding your two questions:

The easiest option I can think of is to use class level or module level fixtures:

https://docs.python.org/3.4/library/unittest.html#class-and-module-fixtures
It would also be possible to write a custom test runner that has a "whole test run" setUp and tearDown. This would mean some tweaks to how the test suite is invoked, but it shouldn't be too hard to manage.

It hadn't occurred to me that creating the test directory would be a performance issue. There's no fundamental reason the directory needs to be created and destroyed on every test; the directly obviously needs to exist, and you need to make sure that there's nothing stray in there that might get picked up as a class file that shouldn't exist in a particular test - but other than that, there's no reason I can think of that the "whole test run" setUp and tearDown couldn't take control of the process of creating and destroying the temp directory.

It seems that Type.pythonType() needs to have access to the runtime/transpiled classes as well, but it wasn't able to find them. This is because the org.python.types.Type class was loaded by the default app classloader from java -classpath, but the other classes are loaded by the separate classloader.
Loading the jar at runtime for each test works, but it's is too slow. Keeping another URLClassLoader around just for the jar, chained as the parent classloader, goes back to the original problem - the classes in the jar can't see the runtime classes. Doing a CompositeClassLoader to sequentially try the two classloaders fails.
Finally, I found an 'JoinClassLoader' implementation that queries all the delegated classloaders at a lower level (using ClassLoader.getResource() instead of ClassLoader.loadClass()). This works, and cuts down the failures to 18, but the duration required goes back up to 35 min. This is likely because the classes from the python-java.jar are being repeatedly loaded, so only the actual JVM overhead is eliminated, while the python-java.jar overhead is still there.
Implementing a static synchronized Map to cache classes from python-java.jar brings the runtime back down to 10-11 min on Travis, but with more (33) errors. :disappointed:
Is the JoinClassLoader's LGPL compatible with this project's BSD license? I could remove it and re-derive it from the ClassLoader abstract class but it would take a little while.
(Also, for some reason, the Python part of the tests running on Travis produce TypeError: tuple indices must be integers, not float while they produce TypeError: tuple indices must be integers or slices, not float on my machine.)

Okay, it's down to 2 failures, running in 10-11 min on Travis. Part of it was getting ImportLib to use the "current" classloader instead of the previous-test-run one, and clearing the static cache of classes that ImportLib was holding onto. Those two items were causing very strange errors where tests only worked the first time, if their underlying classes were updated later.
Also, as I was only working on runAsJava earlier, I did not include the tests/java/ output folder that assertJavaExecution uses - that solved another stack of issues where org.python.java.Module was present instead of org.python.types.Module, and thus failing to be cast to org.python.Callable.
The final test_argv test seems a bit tricky. It's parsing System.getProperty("sun.java.command") which is correctly picking up the testdaemon JVM's command line args, instead of what is passed to main(). I'm not sure if there is a reliable proxy for that.
The other test, which fails locally but not on Travis, is test_implement_interface. I'm still looking into this.

I think there are two ways to deal with the argv issue. We can fallback to the individual JVM invocation when there are args passed in. Otherwise, we can find a way to get the value from the main method's String[] args instead of System.getProperty("sun.java.command"), but that seems decidedly non-trivial. I guess it depends on how often the tests will have command line args.


Fix besu_node command array in docker-compose

While trying to run the docker-compose up command I noticed that the commands for the besu_node doesn't have the correct syntax - the array was closing before the last command.
This small fix moved the array closing bracket after the last command.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[BUG] Swap failed to execute

https://celoscan.io/tx/0x9e11d82ee3146448b0f08ab2cba6c89ab850e8fb3ca19908a6ec0b01b0044d2d

Could you tell me what the revert reason was? The Celo explorer doesn't tell me what the error is and i cannot view the images you shared on GitHub.

@sirpy I have noticed that sometimes transactions fail for a couple of reasons:

estimateGas sometimes fails
unknown on-chain exceptions

These failures can occur with any of the support functions, not just swaps.
For example, I attempted to use supportFlow with the following parameters I got an uninformative on-chain exception:
flowRate:<PHONE_NUMBER>40740 // 10 G$ for duration of 1 day
collective:  0xe31eb27dc0ec9207b7f114faff46bbb5c962ae0b
```
<img width="558" alt="Screenshot 2024-01-13 at 8 24 14 PM" src="https://github.com/GoodDollar/GoodCollective/assets/39842820/c5b394a1-40c8-4ecc-b8d4-434aa9592ce0">

As far as I'm aware, those parameters are perfectly valid. It seems there may be an issue in the smart contracts, or maybe there are some validation rules I'm not aware of.

fixed


Manual Bootstrapped apps won't load dependencies

When using the addin on a manually bootstrapped Angular app like so:
angular.element(document).ready(function () {
angular.bootstrap(document, ['myApplication']);
});
The addin can't seem to find the root of the app so it tries to load 'app' as a module which doesn't exist in my app.  This results in an error being thrown from trying to load a module that doesn't exist.
Hopefully you can support this scenario, I was looking forward to using it.

+1
I'd also like to note there doesn't seem to be a way to turn the plugin off so an error is raised on my page now forever. I unfortunately have to disable the plugin because of it. Perhaps I should create a feature request issue about this.

Also +1, but it seems like the only thing needed to stop the error is to remove the else part.

+1

+1

+1
Uncaught Error: [$injector:nomod] Module 'app' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.4.3/$injector/nomod?p0=app
REGEX_STRING_REGEXP
@ vendor.min.js:68(anonymous function)
@ vendor.min.js:1958ensure
@ vendor.min.js:1882module
@ vendor.min.js:1956createModule
@ VM10901:174bootstrap
@ VM10901:162(anonymous function)
@ VM10901:270

Yep, true story :)
Working on it
Thank you for feedback!

0.2.5 with the fix is just being published in web store.
I found it impossible to patch angular.bootstrap asynchronously, so you'll have to enter the name of the app if you don't use ng-app tag

you'll have to enter the name of the app if you don't use ng-app

@filso .. that's problematic, the app doesn't strictly need to have a name. ...(crickets)... However, looking at angular code, it seems that angular.bootstrap gives the bootstrapped app the name "ng". It may be worth exploring if this is consistent across versions and maybe the name could default to ng if so.
Also, don't get me wrong, I love that it doesn't crash anymore, but still.. :).

@himdel I'm well aware of that, but there's nothing I can do about it. The problem is that your app might be bootstrapped with arbitrary long delay. I use a bunch of hacks to get the module data, but getting an actual app name is trickier.
The only way to determine app name automatically is by patching angular.bootstrap before your code invokes it. So it would have to do something like:
<!-- patch angular.bootstrap -->
<script src="your_app_with_angular_bootstrap.js"></script>```

But there's no way to do it with Chrome extension. And that would only work if you don't concatenate these scripts together.

Right you are. Well, it's nifty either way.
But actually, is there any way to not trigger a reload when you enter the app name? This may not be a typical use case I guess, but when you have an large app with only parts using angular... Well I load the angular part of the app, open the dependency graph, type in ng ... and it reloads the whole page leaving me in the non-angular part. And when I click to get to the angular part again, it's already loaded and I can only see ng, with no dependencies.

@himdel so why don't you type your app name instead of 'ng'? then it will poll your page until it finds app with your name


stop working

hi
until 10 days the script don't working.
Attempts stay to 0
cheers

Thank you very much for reporting this. Will fix briefly.
On Fri, Mar 31, 2023, 3:40 PM Oraclis @.***> wrote:

hi
until 10 days the script don't working.
Attempts stay to 0
cheers
—
Reply to this email directly, view it on GitHub
https://github.com/Leth4lity/instacrack/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOPYDKQF4GSVOBDBSNVCFTLW646NVANCNFSM6AAAAAAWPDMPEI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Did you find why your script is stuck now ?

ok i think too. I've tried with InstagramPY and results are the same with tor...


Error on Kali Linux WSL 2  XRDP

Windows 10 V. 2004 (CSO 19041.867)
https://github.com/robisonweb/public/blob/master/kali_error_03_09-04-21.png
WSL 2
Distributor ID: Kali
Description:    Kali GNU/Linux Rolling
Release:        2021.1
Codename:       kali-rolling
I installed Kali Linux on Windows10 WSL 2, but for me wifi0 appears as a connection on Kali not eth0.
eth4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::353a:bdf4:2e95:7b70  prefixlen 64  scopeid 0xfd<compat,link,site,host>
        ether 00:15:5d:b1:69:4a  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>
        inet6 ::1  prefixlen 128  scopeid 0xfe<compat,link,site,host>
        loop  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wifi0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::c07d:f566:febf:41d  prefixlen 64  scopeid 0xfd<compat,link,site,host>
        ether 34:7d:f6:4d:d1:86  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

On Windows 10 Network Conections Show
vEhernet (WSL)[Hyper-V Virtual Ethernet Adapter
IP <IP_ADDRESS>
Mask <IP_ADDRESS>
https://github.com/robisonweb/public/blob/master/kali_error_02_09-04-21.png
Win10 image
When I connect oo: XRDP via Remote Desktop connection, Kali shows Network Disable: Network Manager is Not Runnig, and does not allow to open the Terminal.
I tried to install it on Kali but was unsuccessful.
https://github.com/robisonweb/public/blob/master/kali_error_01_09-04-21.png
error image
Can anybody help me?

WSL 2

That ifconfig output looks like WSL1. You can verify with cat /proc/version (from the deleted issue template) or wsl.exe -l -v.
The links to the .png files do not resolve. If you have installed Win-KeX you may get better eyeballs in the Kali Forums.

I fixed the image link

The image links do not resolve. Have you installed Win-KeX.


Make resolve work without hooking into Roda's route matches

@AMHOL it seems possible to make r.resolve work without using Roda's route matches, e.g.
def resolve(*keys)
  yield keys.map { |key| roda_class.resolve(key) }
end

Doing this would mean that descending into an r.resolve(...) do block wouldn't modify Roda's current match block, which means that plugins like Pass remain useful inside these blocks.
Would you OK for me to go ahead and make this change? AFAICT there's no reason to hook into the matches for "resolve", while it's clear there is reason for the other parts of roda-flow, like the "to", "inject", "call_with" matches.

Sounds good to me @timriley, nice one :smile:

Thanks @AMHOL, I'll put it together tomorrow and probably ship a dot release too.

Awesome


Subscription can not get response problem

I have some problem during using Subscription.
When I use Subscription, I success onConnected with cline.
But after that, I didn't get any response  from server side....
Does someone have any ideas what is going on?
    private void initApolloClient() {
        loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .connectionSpecs(Collections.singletonList(spec))
                //.addNetworkInterceptor(loggingInterceptor)
                .addInterceptor(new RequestInterceptor())
                .build();
        Map<String, Object> connectionParams = new HashMap<>();
        connectionParams.put("Authorization", LoginManager.getToken(getApplicationContext()));
        WebSocketSubscriptionTransport.Factory factory
                = new WebSocketSubscriptionTransport.Factory(Constant.SERVER_SUBSCRIPTION_URL, okHttpClient);
        apolloClient = ApolloClient.builder()
                .serverUrl(Constant.SERVER_DEFAULT)
                .okHttpClient(okHttpClient)
                .subscriptionConnectionParams(connectionParams)
                .subscriptionTransportFactory(factory)
                .build();
    }

    private ApolloSubscriptionCall<MessageSubscription.Data> msgSubscribe;
    public void subscribeMessage(String threadId) {
        msgSubscribe = getApp().apolloClient.subscribe(MessageSubscription.builder().thread(threadId).build());
        msgSubscribe.execute(new ApolloSubscriptionCall.Callback() {
            @Override
            public void onResponse(@NotNull Response response) {
                Logger.e("subscribe="+response.data());
                Logger.e("response="+ConvertObjectToJson(response));
            }

            @Override
            public void onFailure(@NotNull ApolloException e) {
                e.printStackTrace();
                Logger.e("subscribe onError ="+e.toString());
            }

            @Override
            public void onCompleted() {
                Logger.e("subscribe onComplete");
            }

            @Override
            public void onTerminated() {
                Logger.e("subscribe onTerminated");
            }

            @Override
            public void onConnected() {
                Logger.e("subscribe onConnected");
            }
        });
    }

@andy85048 were you able to solve this issue? I am having this exact same problem.

@sav007 this look like same issue as #1864
@andy85048 if you can add state listener on subscription manager you will probably see that your connection is immediately disconnected after getting connected that is why it is not receiving any updates.

Hi 👋 !
There are multiple things that could go wrong. Maybe your backend requires authentication or uses a protocol that's not the default subscriptions-transport-ws.
In these cases, I'd recommend logging the network traffic with a proxy like Charles and compare to a working setup.
Also, you can try the latest Apollo Android 3 release candidate that supports multiple WsProtocols and other improvements to the websocket code.
I'm closing this issue. Feel free to leave a message if you want me to reopen.


Reconfigure video2dataset swiss_ai settings for the todi cluster

Summary
To download videos onto the todi cluster with video2dataset using slurm, we need to configure some specific settings.
This PR includes:

the download_todi.config, which defines parameters to use for using slurm to execute video2dataset in parallel on many videos.
updates to the commands you need to run to download howto100m and hdvila (NOT moments in time yet) in swiss_ai/datasets/HowTo100M.md and swiss_ai/datasets/HDVILA.md.
removing decord from requirements.txt because that needs to be installed from source on the GH200 arm processors (see https://github.com/swiss-ai/containers/blob/main/v2d/Dockerfile for where this is done).
modifying the distributor.py file to include an environment variable (for which image to build the container with on todi) and a timeout variable.

I also did some quick tests on downloading small amounts of data of howto100m with different variations of num_tasks_per_node and num_cpus_per_task, detailed in the comments in the download_todi config file.
Test strategy

[DONE] Ran video2dataset --url_list="/store/swissai/a08/data/raw/howto100m/v2d/howto100m_v2d_0_1000.csv" --config="/store/swissai/a08/kdu/video2dataset/swiss_ai/configs/download_todi.yaml" --output_folder="/store/swissai/a08/data/raw/howto100m/v2d" --input_format="csv" --output_format="webdataset" --url_col="video_link" --encode_formats="{'video': 'mp4', 'audio':'m4a'}" within a container started with srun --overlap --jobid=<JOBID> --environment=v2d --container-workdir=$PWD --pty bash to confirm that the data can be downloaded.
[TODO] Run video2dataset --url_list="/store/swissai/a08/data/raw/howto100m/v2d_40k/howto100m _v2d_0_40000.csv" --config="/store/swissai/a08/kdu/video2dataset/swiss_ai/configs/download_todi.yaml" --output_fold er="/store/swissai/a08/data/raw/howto100m/v2d_40k" --input_format="csv" --output_format="webdataset" --url_col="vid eo_link" --encode_formats="{'video': 'mp4', 'audio':'m4a'}" (expected to finish in about 4 hours, the max time limit of a slurm job.). Job ID = 39836
[TODO] Run srun --overlap --jobid=<JOBID> --environment=v2d --container-workdir=$PWD video2dataset --url_list="/store/swissai/a08/data/raw/howto100m/v2d/howto100m_v2d.csv" --config="/store/swissai/a08/containers/v2d/video2dataset/swiss_ai/configs/download_todi.yaml" --output_folder="/store/swissai/a08/data/raw/howto100m/v2d" --input_format="csv" --output_format="webdataset" --url_col="video_link" --encode_formats="{'video': 'mp4', 'audio':'m4a'}" to download the full howto100m dataset.
[TODO] Run srun --overlap --jobid=<JOBID> --environment=v2d --container-workdir=$PWD video2dataset --url_list="/store/swissai/a08/data/raw/hdvila/hd_vila.parquet" --config="/store/swissai/a08/containers/v2d/video2dataset/swiss_ai/configs/download_todi.yaml" --output_folder="/store/swissai/a08/data/raw/hdvila/hd_vila_v2d" --input_format="parquet" --output_format="webdataset" --url_col="url" --encode_formats="{'video': 'mp4', 'audio':'m4a'}" to download the full hdvila dataset.

Have you tested unpacking any of the resulting tar files? Are they ok?

Added some new commits for fixing the timeout error. Basically SlurmDistributor has a timeout function too, but since todi will take the timeout from #SBATCH time={self.timeout} we should make sure SlurmDistributor doesn't accidentally kill the job early by setting its timeout threshold to 2 weeks.

Have you tested unpacking any of the resulting tar files? Are they ok?

Yes, by doing tar -xvf<PHONE_NUMBER>.tar it seems to unpack the m4a and mp4s! And in vscode I could play one of the mp4s so I think we're good :)

Cross link with this issue: https://github.com/swiss-ai/ml-4m/issues/7

Going to merge early (before running the full data downloads) because other v2d branches (e.g. whisper) will benefit from the todi configs and the timeout fixes.
Next steps:

Hold off on the full data download until we have the full pipeline working. Instead, temporarily work with the smaller data downloads.
When pipeline is validated, move the smaller data downloads into a data/toy/ directory and do the full data download.


[Mention The Feature]: Add FAQ Section to the Website

Is your feature request related to a problem? Please describe.
The website currently lacks a Frequently Asked Questions (FAQ) section, which can help users quickly find answers to common questions and enhance their user experience.
Describe the solution you'd like.
I would like to add an FAQ section to the website. This section will address common questions about the services, features, and functionality of the website. The FAQ should be easily accessible from the navigation menu and should be organized into categories for better clarity.
Describe alternatives you've considered.
An alternative could be to provide a chatbot or automated help system to address user queries. However, an FAQ section is simpler and more user-friendly for quick reference.
Additional context.
The FAQ section will reduce the number of repetitive inquiries and improve user satisfaction by providing instant answers to frequently asked questions. It will also make the website look more comprehensive and professional.
Show us the magic with screenshots
No response
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

could you assign this task to me under gssoc-ext
I would like to add an FAQ section so that users can enquire about their queries without any hassle
I would like to implement an AI chatbot for this

it's already there in community support page, so i am closing this issue.


[FEATURE] REPL concurrent query execution

Is your feature request related to a problem?
https://github.com/opensearch-project/opensearch-spark/blob/main/spark-sql-application/src/main/scala/org/apache/spark/sql/FlintREPL.scala#L814-L825
      val futureQueryExecution = Future {
        executeQuery(
          spark,
          flintStatement.query,
          dataSource,
          flintStatement.queryId,
          sessionId,
          false)
      }(executionContext)

      // time out after 10 minutes
      ThreadUtils.awaitResult(futureQueryExecution, queryExecutionTimeOut)

Currrently REPL query loop will wait on async query execution.
What solution would you like?
Need some thoughts around to support REPL concurrent query execution.
What alternatives have you considered?
Concurrent execution outside of Spark. The problem of this approach is code start.

Thanks for opening this.
[Catch All Triage - Attendees 1, 2, 3, 4, 5]


Create Assembly sequencing not visible

Any create recipe that requires a sequence, ie sturdy sheets, train casings, precision mechanisms, andesite casings do not show in EMI.
They are simply-non selectable

This mod does not support create, which is officially supported.


Feature/style starter

Started Editing Style Sheet and Added gitIgnore. Resolved Index Conflict as well.

Looks good coop


Need to reboot after installing WSL

Noticed we're not rebooting during script run, so the user has to reboot manually before they can run WSL.

and if we reboot we need to prompt for password at the start of the script run...

@mwrock for the reboot to work we need to cache the password right but we're currently running with the NoRestart flag probably because we never prompt for the password.  How do we get a click-once based launch to also leverage restart and request the password?

You just need to remove the /nr from the URL. Then the app should prompt and reboot if necessary.

thanks.  what if the user has a blank password?  It looks like boxstarter doesn't like that answer in the password prompt.  Known issue?

not a known issue afaik but likely an issue that needs to be raised.

Ok, we'll get the URI fixed here and submit a separate issue on boxstarter for blank password.  Thanks.

Addressed in commit #66


Manual Refresh Performance Option should affect secondary resources as well

Is your feature request related to a problem? Please describe.
When the "manual refresh" option is turned on in performance options, it should affect resources that are over the specified resource count threshold, this effectively reduces the websocket overhead for the web-application. However when a resource has a secondary relationship, such as Deployments > Pods, the pods in question don't use the "manual refresh" option and are subscribed as normal which often defeats the point of the option itself as in that case "pods" will almost always be a larger number of resources than "deployments"
Describe the solution you'd like
If either the resource or the secondary resource are over the manual refresh threshold, the manual refresh option should be triggered.

Hi @Sean-McQ @aalves08, is this currently available on the latest 2.7.2-rc1?

@git-ival this is not in 2.7.2-rc1. That release was made on Jan 3rd, this PR was merged on Jan 12th.

@aalves08 I tested on the latest 2.7-head image (which I believe should utlize the latest dashboard master branch) but I could use some clarification on when and where exactly the Manual Refresh button should appear.
Given the scenario where you have a one-to-many Deployments (Primary Resource) -> Pods (Secondary Resource) relationship where the # of Pods is over the Manual Refresh limit, I expect the Manual Refresh button to appear on the Deployments (Primary Resource) list view, but that doesn't seem to be the case. Am I correct in my understanding?
Below are some recordings of the test run.
Primary AND Secondary resources are over Manual Refresh limit:
https://user-images.githubusercontent.com/85186645/216121047-7e5cd06f-c419-4ead-a48d-badf1b9ba2f1.mp4
Secondary resources are over the Manual Refresh limit:
https://user-images.githubusercontent.com/85186645/216121453-40c284cf-0be8-4ca8-bae3-49abdb25b164.mp4

@git-ival There are a few concepts that aren't clarified enough and that's my fault. Let me explain:

What we refer as primary resource is the resource which you want to see it's list view. Ex: List view for Deployments, Deployments is the primary resource.
Secondary resources are kube resources that are needed to be fetched in order to display a list view for a given resource. Ex: to see the List view for Deployments you will need Pods in order to populate some data. You can check the API calls being made when you are over the threshold limit for manual refresh on the Network tab in the browser.
The manual refresh limit is only applied to the primary resource count. In your examples, If you want to see the list view for the Deployments AND it's count is over 50 items, then the manual refresh button will appear. You can have 1000 Pods to be loaded in order to populate the data for the Deployments and that doesn't interfere with the threshold. what matters is the primary resource count.
The big optimisation here is that before we were subscribing to those secondary resources instead of fetching them when we hit manual refresh, like we were doing with the primary resource. It was a waste of memory and computer resources. You can check all the API calls now being made on the Network tab of the browser.
One added bonus is the incremental loading. If we are over that threshold as well, then the secondary resources are fetched incrementally as well (multiple API calls) in order to speed up the data display.

Hope this clarifies all the concepts surrounding this issue. Let me know if you have any more questions 🙏

Got it, that makes sense. LGTM then, tested on 2.7.2-rc1 Rancher chart with the latest 2.7-head image!
https://user-images.githubusercontent.com/85186645/216466552-d9e212b8-631a-4d76-a69b-f9195c8bdae4.mp4


fix UnicodeEncodeError

in my case
LSP-pylsp:   File "C:\Users\zangwill\AppData\Local\Programs\Python\Python310\lib\site-packages\pyls_memestra\plugin.py", line 27, in pylsp_lint
LSP-pylsp:     print("pyls_lint \U0001f414")
LSP-pylsp: UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f414' in position 10: illegal multibyte sequence

LSP-pylsp:   File "C:\Users\zangwill\AppData\Local\Programs\Python\Python310\lib\site-packages\pyls_memestra\plugin.py", line 36, in pylsp_lint
LSP-pylsp:     deprecated_uses = memestra(
LSP-pylsp:   File "C:\Users\zangwill\AppData\Local\Programs\Python\Python310\lib\site-packages\memestra\memestra.py", line 421, in memestra
LSP-pylsp:     module, syntax_errors = frilouz.parse(ast.parse, file_descriptor.read())
LSP-pylsp: UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 985: illegal multibyte sequence

+1 to removal of the print() statement: because pylsp (and other LSP servers) can use stdio as a ways of communicating with the client, the plugins should never write to standard output.  I would suggest to remove it or use logger.

👍

Can we get a release cut for PyPI?

For sure!
Thanks for the reminder :) @fasiha

Should be out, soon available in conda-forge too =)


rename object to RefGenConf?

Right now we named the object RefGenomeConfiguration, which is, uh...long.
Any thoughts on using RefGenConf instead?

Only that we don't allow both, particularly since this is unreleased and we manage all the current dependents.

Yes, I am on board with that since this is unreleased!


Apply content template in "docs/reference/command-line-tools-reference/"

This PR contains following changes.

apply template (and remove double bullets in TOC)

change Synopsis words to Overview

fix dead links

change titles

from Kubelet authentication/authorization to kubelet authentication/authorization
from TLS bootstrapping to kubelet TLS bootstrapping

change page weight in Command line tools reference

before
Command line tools reference
  Feature Gates
  kubelet
  kube-apiserver
  kube-controller-manager
  kube-proxy
  kube-scheduler
  cloud-controller-manager
  federation-apiserver
  federation-controller-manager
  Kubelet authentication/authorization
  TLS bootstrapping

after
Command line tools reference
  Feature Gates
  kubelet
  kubelet authentication/authorization
  kubelet TLS bootstrapping
  kube-apiserver
  kube-controller-manager
  kube-proxy
  kube-scheduler
  cloud-controller-manager
  federation-apiserver
  federation-controller-manager

/hold
@steveperry-53 can you weigh in here? Some of these are generated files so they will just get reverted the next time we generate them, right?

@makocchi-git, Thank you for your pull request, but we cannot accept most of what you have done here. The following pages are automatically generated, so we don't change them manually.

cloud-controller-manager.md
federation-apiserver.md
federation-controller-manager.md
kube-apiserver.md
kube-controller-manager.md
kube-proxy.md
kube-scheduler.md
kubelet.md

@steveperry-53 @mistyhacks Thank you for your comments.
I understood that command-line-tools-reference pages are generated automatically.
I close this PR.

/close


Add support for heroku Python app

Description
My Python app requires neofetch functionality for some functionality. However, the currently provided buldpack by this repository doesn't work as heroku states it's incompatible and refuses to deploy.
Using heroku-community/apt and specifying neofetch on the Aptfile does no good either - it simply complains about missing config files.
Obviously at this point some sort of special adaptation will be necessary

Temporary workaround is:
git clone https://github.com/dylanaraps/neofetch cd n* && make PREFIX=/app/.apt/usr

Obviously being required to do that on every re-deploy or Dyno restart is strongly undesirable

I feel this is out of scope for Neofetch and something you can very easily workaround. Thanks for opening this issue. :+1:


operation_unfiltered index

Following #401
Revert #537 and continue.

No handlers required, just a single callback.
Also matcher is not required, just forward all the data from fetcher to the index callback.


Schema editor integration

Control flow

we listen for #field-schema[-url]/[-json] changes
on changes we render tableschemaUI.EditorSchema with url/File/text as descriptor and onSave callback
user do her schema edits
on tableschemaUI.EditorSchema save click the component calls onSave(descriptor)
we set descriptor to #field-schema value

Related

https://github.com/frictionlessdata/tableschema-ui/issues/2
https://github.com/okfn/docker-ckan-unhcr/pull/6
https://github.com/frictionlessdata/ckanext-validation/pull/25

Coverage decreased (-0.2%) to 85.449% when pulling e70cfd441e6fc663f363dc41d711bd27ec94b65e on validation-schema into ed1c69236e8174287f1586960152fc0e7faec4cf on master.

Coverage decreased (-0.2%) to 85.449% when pulling e70cfd441e6fc663f363dc41d711bd27ec94b65e on validation-schema into ed1c69236e8174287f1586960152fc0e7faec4cf on master.

Coverage decreased (-0.2%) to 85.449% when pulling e70cfd441e6fc663f363dc41d711bd27ec94b65e on validation-schema into ed1c69236e8174287f1586960152fc0e7faec4cf on master.

@amercader
To run ckan with schema editor:

docker-ckan-unhcr/pull/6
docker-compose -f docker-compose.val.yml up

@amercader
Can you please review?
I've made the user control flow changes we've discussed (an issue for the schema editing - #34). A few things which are not resolved (please help if you can):

moving schema buttons/inputs straight below the file button/inputs
fixing tests for<EMAIL_ADDRESS>(not sure how the failures in the builds related to this changes)

@amercader
Are you able to remember what's this?)) I can't)
Have we integrated it already?