Implement Anchor

https://github.com/project-serum/anchor

does this imply that Solana.swift won't currently work with an anchor app?

It will work but won't generate a client. This library has all the buildings blocks

@ajamaica Thanks for your work here everything is very helpful and easy to get up and running.
As far as sending a TransactionInstruction to the hello world application from the Swift client, do you have any guidance? https://github.com/solana-labs/example-helloworld

it will translate something like this.
let transactions= TransactionInstruction(
            keys: [
                .init(publicKey: greetedPubkey, isSigner: false, isWritable: true),
            ],
            programId: programId,
            data: [0]
 )

solana.action.serializeAndSendWithFee(instructions: [transactions], signers: [payer]) {  }

Does anyone know about how to genereate anchor client for swift?

is it possible to make anchor client from idl?

#150 doesn't fix this entire "implement Anchor" but it's a start. And probably enough tbh. If you want to send instructions to your anchor program it does the job...

Is there still any interest in supporting anchor contracts? There have been no comments on #150 (which I created as draft specifically to garner comments/feedback on the approach) so I'm not really sure how to progress it. I was hoping it could be the first step in an incremental approach to more complete support, but if there's no community interest then I'll just focus on what we need instead.

This is now done here https://github.com/metaplex-foundation/solita-swift


Using this for notifications stored in www and managing other sounds

Hello, nice job on the plugin, it's simple and to the point.
I'm trying to make it work with short notifications that are stored in the www folder and managed to make it work for Android with a few changes.
Still didn't manage to make it work for ios but please let me know if you have any tips or thoughts.

Hi, Thank you epetre.
Do you mean that you want to play custom ringtone stored in the www folder in your project? If this is the case, in fact the plugin now can play custom ringtone stored in www folder on both IOS and Android platform. I forgot to add this feature in the readme.

Hey @TongZhangzt this seems to not work somehow ... if possible can you please share how to use to play sounds in www folder


Run eslint on test/ too

Eslint is a great tool to catch potential dangerous code practices. It should be run over the test files too. This PR only changes the package.json scripts to run eslint and both src and test. If there is consensus on this change I can start fixing all the issues found by eslint.
@chainsafe/lodestar-utils: ✖ 11 problems (2 errors, 9 warnings)
@chainsafe/lodestar-beacon-state-transition: ✖ 38 problems (38 errors, 0 warnings)
@chainsafe/lodestar-validator: ✖ 12 problems (12 errors, 0 warnings)
@chainsafe/lodestar: ✖ 263 problems (122 errors, 141 warnings)
@chainsafe/spec-test-runner: ✖ 49 problems (31 errors, 18 warnings)
@chainsafe/lodestar-cli: ✖ 4 problems (2 errors, 2 warnings)

is this something that's still being worked on?  i find myself running eslint manually on my tests, so would be cool to have something like this baked into our process

is this something that's still being worked on? i find myself running eslint manually on my tests fairly often, so would be cool to have something like this baked into our process

Totally! If you want you can lead the effort by turning these settings on in the packages with less development (utils) and monitor open PRs on other packages and do PRs for them once big chunks of work are merged in

@dapplion going to continue this effort on P0/lint-fix.  currently turning this on for each package one-by-one.  so far, it's looking like most of them won't have that big of a diff (it's really lodestar and lodestar-beacon-state-transition that have the biggest diffs and coincidentally also have active PRs out).  So, I will make a new PR to turn on the linting for all the packages except lodestar and lodestar-beacon-state-transition, for now (on P0/lint-test branch)

@dapplion going to continue this effort on P0/lint-fix branch. currently turning this on for each package one-by-one. so far, it's looking like most of them won't have that big of a diff, if any diff at all, off the latest master (it's really lodestar and lodestar-beacon-state-transition that have the biggest diffs and coincidentally also have active PRs out). So, I will make a new PR to turn on the linting for all the packages except lodestar and lodestar-beacon-state-transition, for now (on P0/lint-test branch) and then hopefully make a PR for those 2 remaining packages once the relevant PRs are merged (obviously lodestar will be the trickiest one in that regard, hah)

Sounds good!


Link to download the dataset

Dear author I have followed your repository instructions to see the jupyter set up and now started with active development side. I have downloaded , extracted  and configured the mp3d dataset but then there is vlmaps dataset downloaded we need to configure. Kindly point me from where to download the same. I have tried with the package downloaded while executing jupyter in vmlaps/datasets, but there is no poses.txt in its subfolders. Pls help

Hi thank you for your interest in our project. When you run python generate_dataset.py, it will automatically download the vlmaps dataset and unzip it for you under the directory you configure under vlmaps_data_dir in config/data_paths/default.yaml. If you look into the generate_dataset.py file, you can see that this line download the vlmaps dataset for you. If you want to download it yourself manually, you can paste the URL (https://drive.google.com/file/d/1KaRi1VnY7C_TT1WckDWxHvP4v3MTNu1a/view?usp=sharing) to your browser to download.

Thanks for that


chore: version packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [251d17b]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

#1243 251d17b Thanks @manudeli! - fix(react-query): update tanstack query as optional peerDependency

Updated dependencies []:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

#1243 251d17b Thanks @manudeli! - fix(react-query): update tanstack query as optional peerDependency

Updated dependencies []:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 70.57%. Comparing base (251d17b) to head (d1098a7).

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #1244   +/-   ##
=======================================
  Coverage   70.57%   70.57%
=======================================
  Files          70       70
  Lines         656      656
  Branches      131      132    +1
=======================================
  Hits          463      463
  Misses        171      171
  Partials       22       22

Components
Coverage Δ

@suspensive/utils
47.16% <ø> (ø)

@suspensive/react
100.00% <ø> (ø)

@suspensive/react-dom
100.00% <ø> (ø)

@suspensive/react-native
100.00% <ø> (ø)

@suspensive/react-query
72.09% <ø> (ø)

@suspensive/react-query-4
0.00% <ø> (ø)

@suspensive/react-query-5
0.00% <ø> (ø)

@suspensive/react-query-next-experimental
∅ <ø> (∅)

@suspensive/react-query-next-experimental-4
6.15% <ø> (ø)

@suspensive/jotai
0.00% <ø> (ø)

@suspensive/cache
98.01% <ø> (ø)

@suspensive/react-image
80.39% <ø> (ø)


fix makefile to store crds in a separate folder

ref: https://github.com/kubeflow/tf-operator/pull/1365

@andreyvelich left some comments in original PR. please have a check.

@andreyvelich left some comments in original PR. please have a check.

yup incorporated config/manager related fix

hold for @andreyvelich who left some comments in original PR. please have a check.
/lgtm
/hold

/ok-to-test

/hold cancel

@Jeffwan can we merge this?

@Jeffwan can we merge this?

Test is still running but the changes looks good to me and I think you also address andrey's comment
/lgtm
/approve

/test kubeflow-tf-operator-presubmit


Add parameter validation for Blowfish module

Summary: Based on #1643, this PR adds parameter validation for the Blowfish module.
Work left: Allocate free error code for MBEDTLS_ERR_BLOWFISH_BAD_INPUT_DATA. Slightly annoying because there are already two similar error codes MBEDTLS_ERR_BLOWFISH_INVALID_KEY_LENGTH and MBEDTLS_ERR_BLOWFISH_INVALID_INPUT_LENGTH, and we're running out of low level error codes.

@hanno-arm - We're a bit rushed at the moment, so I think we might have to let it go, but we don't allow merge commits in PR's, as you seem to have done with e0cf981e76cc.
cc: @Patater

@sbutcher-arm Given that this PR is based on #1643 and on #2298, I didn't see another option.

@sbutcher-arm I addressed your comments.

CI fails because of timing on FreeBSD only.

@sbutcher-arm Thanks for your comments, please re-review.

CI only failed in known-intermittent fragmentation test, so as good as a pass.


At JsonReverseGeocoder.java  exception

geocoder.type   set    google，At JsonReverseGeocoder.java
try (JsonReader reader = Json.createReader(response.getResponseBodyAsStream())) {
There will be an exception

There will be an exception if something goes wrong.
Do you get an exception? What is the exception?

I have increased the catch.
try (JsonReader reader = Json.createReader(response.getResponseBodyAsStream())) {
..........
}catch(Exception e){
System.out.println(e);
}
javax.json.stream.JsonParsingException: Unexpected char 1
14 at (line no=1, column no=1, offset=0)

Your shouldn't catch it if it's a legitimate error.

I would like to use Baidu maps, the results and the other is the same as here after the exception, access to the address，I tested only nominatim normal access to the address。
baimap geocoder api:
http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1

Has been increased by BaiduReverseGeocoder.java
the program does not trigger this code

I guess there is some problem with the response then.


Incompatible with VS 2015

The created NuProjects are incompatible with VS 2015, also the Visual Studio Plugin itself is not supported. Would you please update NuProject with VS 2015 support.

I've made a build this morning for my company's need from deb555600d668b8390eccbbbebb50075046c0b62 . You can find it here:
https://onedrive.live.com/redir?resid=4042D9F9AC973E28!112&authkey=!AIPONCEUYsQVzEY&ithint=folder%2Cnupkg
Hopefully official one will be available soon via standard channels (VS and NuGet galleries).

See #142 for latest version.

Is this resolved?

Yup, we have a official release with VS 2015 support: https://visualstudiogallery.msdn.microsoft.com/fbe9b9b8-34ae-47b5-a751-cb71a16f7e96


Support for embedding search with metadata filter expressions

Extend the VectorStore with similaritySearch with filters method. It is a default implementation that throws an exception for stores that didn't implement it.
The filters argument is String and vector store type specific.
Implement the filters for the PineconeVectorStore using the pinecone metadata filters expressions.
Implement the filters for the PGVector store using the JsonPath expressions on the metadata jsonb column.

Resolves: #75

Let's add a portable Query/Criteria based API for common operations similar to what is done in Spring Data MongoDB. The search with a String can be used in the case the Query/Criteria based API is not sufficient for users need and they want to pass in a vendor specific query.

Agree @markpollack , working on it.

Resolved with: 3615667f054f9531c63862f37b7313d0204fcbf7


Password Field Issue

I would like to recommend an update to your tools in the BPassword module.
In the AppendPasswordField function, you allow for the customization of the password field name. However, all of the other functions (PasswordExists, ReadPassword, ResetPassword, SavePassword and VerifyPassword) do not accept a value indicating the field's name and all assume that it is "Password"

Good point.
The reason is, as I remember it, that the functions were meant as a set of simple (tight) example functions for testing or proof of operation.
Thus, for production use, you would or could easily modify or expand these as needed. For example, some dislike the reserved word Password for a field name and, if so, you can easily change the constants as you probably not in the same application will have different field names for holding passwords. Of course, if you will have different names for password fields, you would have to include the field name as a parameter to all the functions.
Thank you for the feedback.


chore(deps) Update dependency @semantic-release/github to v8.1.0

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Password change leaves me locked out

Home Assistant release with the issue:

Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):

Component/platform:

Description of problem:
I change my api password from a 13char alpha-numeric one to anything higher and restart using "hassio ha restart" and I get locked out.  Neither the new nor the old password work, in fact anything apart from the first password I set doesn't seem to work.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
http:
  # Uncomment this to add a password (recommended!)
  api_password: !secret http_password
  # Uncomment this

Traceback (if applicable):

Additional information:
I know the obtaining of info from the secret.yaml file works as its pulling all the other information.  Please note that I've tried access HA from both different browsers and different devices but in both cases the new password does not seem to be recognised.

Make sure that you wrap your password in quotes so that YAML is not going to interpreted it as a number or some other data structure.

Make sure that you wrap your password in quotes so that YAML is not going to interpreted it as a number or some other data structure.

That fixed it - and just in case someone like me comes along in future - to clarify its single quotes that you need and not double ones.
Thanks!


Unable to deploy using create2 factory

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.0.2 (825ca04 2024-07-18T00:23:04.198436000Z)
What command(s) is the bug in?
forge script
Operating System
macOS (Apple Silicon)
Describe the bug
I'm unable to deploy contracts using create2 factories, when using just the create2 opcode directly in scripts everything works fine, example (using this helper lib to deploy) but facing some issues with create2 factories.
aave-proposals-v3 repo heavily depends on create2 factories and when trying to use for example the Create2Factory.sol contract, deployed here on zksync-era-mainnet, we get the following error: revert: Create2: Failed on deploy.
To reproduce, you can run make deploy-libs on this branch.
Tried to use the zkSync create2Factory contract from safe-singleton-factory repo but unable to deploy using that as well.
To reproduce, run make deploy-libs on this branch.
Could be because how factoryDeps is handled, but unsure why this is happening.
On a separate note, the default create2 factory in foundry-zksync still points to the non-zksync address and should be patched as well.

Hi @brotherlymite, a known limitation of foundry-zksync is that scripts and tests are initially run in EVM mode so compile-time constructs like type(BorrowLogic).creationCode would correspond to EVM code. To circumvent that the script can be slightly modified as such:

contract ZkDeployLib is Script {
  function run() public {
    vm.startBroadcast();      // <-- move broadcast here
    new DeployLib().run();
    vm.stopBroadcast();      // <-- move broadcast here
  }
}

contract DeployLib is Script {
  address public constant CREATE_2_FACTORY = 0xB1DDc8cfcB1A46095C6d5F81ad76F69188B381b8;

  function run() external {
    _deploy();
  }

  function _deploy() internal {
    // Create2 Factory using: https://github.com/matter-labs/zksync/blob/master/contracts/contracts/Create2Factory.sol
    Create2Factory(CREATE_2_FACTORY).deploy(
      bytes32(0), // salt
      (type(BorrowLogic).creationCode)
    );
  }
}

and run the new ZkDeployLib contract instead
forge script --zksync - scripts/misc/DeployLib.sol:ZkDeployLib ..

Note that in the release you are using, broadcasting without simulation will fail while estimating gas, so as a workaround you'll need to omit the --skip-simulation flag, so the simulation can fill in the necessary parameters.
This issue has been fixed in the latest v0.0.3-alpha.1 release today, which also brings in other upstream foundry changes, if you wish to switch over to that version.

Hi @nbaztec
I tried adding a wrapper as you suggested and it works fine, it deploys an additional factory contract but it should be alright for our use case.
However, is it possible to get the zkSync creation code (type(Contract).creationCode) in the scripts via some flags, as for example the aave-proposals-v3 repo we use to create proposals on aave, we compute the create2 addresses in the scripts which has a dependency on the type(Contract).creationCode. And as it corresponds to the EVM code, we're not able to compute the create2 address correctly.
Strangely, even when using the zkSync bytecode to compute the already deployed contract using computeAddress() on the Create2Factory.sol, we are getting incorrect create2 address. Example, we deployed the BorrowLogic contract using this Create2Factory contract, but we are unable to compute the correct create2 address for this.
Same on the tests we tried, but on the tests it is expected I think as it runs in the EVM mode?

However, is it possible to get the zkSync creation code (type(Contract).creationCode) in the scripts via some flags

This is currently a limitation of zksolc where it only returns the hash. However, ffi cheatcode can be used to obtain this information from the compiled artifacts as we do in our tests.

Strangely, even when using the zkSync bytecode to compute the already deployed contract using computeAddress() on the Create2Factory.sol, we are getting incorrect create2 address

Perhaps the sender address is of the wrapped in contract. We have some tests (and here) that compute the create2 addresses, perhaps you can take a look into them to debug why the address is different by playing around with different senders. The call traces and addresses are available with setting RUST_LOG=info forge script ....

@nbaztec thank you, will fetch the bytecode hash from zkout and using it will be able to compute the create2 address.


micro: port op POW from Lite

@tensorflow/micro
System information
Host OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
TensorFlow installed from (source or binary): source
Tensorflow version (commit SHA if source): master
Target platform (e.g. Arm Mbed OS, Arduino Nano 33 etc.): Sparkfun Edge
Describe the problem
I am about to port The TF Lite kernel op POW to TF Lite Micro.
Please provide the exact sequence of commands/steps when you ran into the problem
PR 1: refactor flatbuffer_conversions parsing function
PR 2: refactor reference implementation from lite/kernels/internal/reference/reference_ops.h into its own header without making any changes.
PR 3: copy the reference kernel from lite to micro without making any changes. At this point the kernel is in micro but it is not part of the build.
PR 4: delete all the extra code from the lite reference kernel (but from the new location in micro. Extra code includes the integer ops, generic optimized calls, and other cleanup.
PR 5: make the necessary changes to the reference kernel, reference header and test to make it work with micro. This is where we add it into the TFLM build, and make all the necessary changes to make the code ready for embedded.

Closing this issue for now.

Closing this issue for now.


Implement the remote data source

Implement the remote data source

Hey @Diogo00dev could you provide a short description about the API that we are planning to use? At least pointing to the documentation :)

@juankysoriano this is the API I want to use.
https://newsapi.org/
Will write up a readme on Monday


Does OpenCvSharp use multiple CPU cores by default?

When I run the BFmatcher.Match() operation, I notice that It seems taking more than one CPU. But I have difficulty to view details thru debugger. We're developing a Cv server therefore threading is a critical concern for us.
Can you give me some insights?
Thank you very very much!

I made a call to Cv2.SetNumThreads(1) before the matching operation, and did observe that OpenCvSharp uses only one thread now. So I think this is a viable approach to control threading.
Am I on the right track?

Probably yes :ok_hand:

Thanks for your kind help as well as your fantastic contribution.


Add table changes example, improve TableChanges documentation

What changes are proposed in this pull request?
This PR adds an example for using and reading table changes for a table through a CLI.
We also introduce a cdf test on a table that was generated with various merge operations. This table contains both deletion vectors and cdc actions.
This PR also improves the documentation for the table_changes module so that example usage is clear in the user docs.
How was this change tested?
Cargo doc and cargo test both run successfully

removing breaking-change label - was failing on something in test_utils? but no breaking changes here


processResources + filesMatching + filter does not replacing last generated file

Context & Steps to Reproduce
We're using a code snippet like this to generate a properties file with replacing the version.
processResources {
    filesMatching('**/settings.properties') {
        def appVersionWithCommitTimestamp="${appVersion}.${gitCommitTimestamp}".toString()
        filter(ReplaceTokens, tokens: ['VERSION': appVersionWithCommitTimestamp])
    }
}

Expected Behavior
File should be replaced in the build/resources folder when the generated file has changed (newer version)
Current Behavior
File is not replaced when it is already exists. No matter the version change.

Workaround
task deleteBuildResources(type: Delete) {
    delete 'build/resources'
}

processResources.dependsOn(deleteBuildResources)

Your Environment

Gradle version is 6.8.3

Thank you for your interest in Gradle!
This issue will be closed as a duplicate of

https://github.com/gradle/gradle/issues/861

Please add your 👍 to that issue.

The workaround is to explicitly declare your task inputs. In your example it would be as follows:
processResources {
    inputs.property('appVersion', appVersion)
    inputs.property('gitCommitTimestamp', gitCommitTimestamp)
    filesMatching('**/settings.properties') {
        def appVersionWithCommitTimestamp="${appVersion}.${gitCommitTimestamp}".toString()
        filter(ReplaceTokens, tokens: ['VERSION': appVersionWithCommitTimestamp])
    }
}

See https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:task_input_output_runtime_api


workflow: split running tests required to be on the main thread

into a separate workflow item with a custom argument so that the custom harness knows to use the main thread
Should hopefully fix the https://github.com/Byron/trash-rs/pull/128 test issues

Let's keep this as part of #128 - that's what it needs to run with to see if it has the desired effect. Please note that the osakit tests also have to bail (or fail) if they are not run on the main thread.

Keeping it as part of 128 won't allow testing that pr since it will us the existing wrong workflow

Oh, seems your repo is already setup to work, you're right, guess the last time I've tried there was some issue that led to test failure


how-to-regulate-sessions-with-redis

Article checklist
Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #4000

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Hi @abimbolataofeek
Upon running your article through our 3rd party plagiarism checker it seemed to raise a few flags and the % was higher than we typically accept. Please see attached PDF - and revisit the article to ensure we are contributing wholly unique and original content. Be sure to see our resources page to see more info on plagiarism and what is considered as such.
how-to-regulate-sessions-with-redis #4183 Copyleaks Report.pdf
As you make your changes, please take this into consideration...

@abimbolataofeek
Please ping here, when the plagiarism changes are done, along with the suggested changes.
Thanks.

Plagiarism and other suggested changes are done @srishilesh


Save label information for seq/token classification

Feature request
Imagine you train a model for text classification on three labels: positive, negative, neutral. You train, load, merge, stick it in a pipeline.
During prediction, your pipeline will give scores like: {"LABEL_0": 0.3, "LABEL_1": 0.5, "LABEL_2": 0.2}, so you have go back to your training code to see which label corresponds with which.
Typically, this information is stored in config.json.  When using peft, the user must remember the number of labels (typically in config.num_labels) and the mapping of id2label (config.id2label). It would be nice if this information were stored in the adapter config as something called "model_kwargs" or something.
Desired flow when loading the model:
from peft import PeftModel, PeftConfig
from transformers import AutoModelForSequenceClassification

peft_model_id = "peft-id"
config = PeftConfig.from_pretrained(peft_model_id)
inference_model = AutoModelForSequenceClassification.from_pretrained(config.base_model_name_or_path, **config.model_kwargs)

inference_model = PeftModel.from_pretrained(inference_model, peft_model_id)

Motivation
Easier for the user to use seq/token classification + peft
Your contribution
tagging @BenjaminBossan  :D

Probably there could be other attributes as well that are being set on the model config after loading the model. Instead of trying to catch all of them, I wonder if we could add an option to save the model config in addition to the adapter files? For instance:
# train a peft model
lora_path = ...
peft_model.save_pretrained(lora_path, save_model_config=True)
# lora_path now also contains the config.json
config_loaded = AutoConfig.from_pretrained(lora_path)
inference_model = AutoModelForSequenceClassification.from_pretrained(
    config.base_model_name_or_path, config=config_loaded
)


Create Set-time-zone.md

New account settings article

Details

Fixed Issues

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

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

[x] Android / native
[x] Android / 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes

[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 code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videosundefined

As far as I know this does not require C+ review and checklist. Ping me otherwise and I will review it

would you please provide screenshots from testing locally? That's required and I want to make sure it looks good

my bad! i didn't test this PR

would you please provide screenshots from testing locally? That's required and I want to make sure it looks good

@neil-marcellini my bad! i didn't test this PR thinking there was nothing to test here

All good, thanks for testing. As you can see, sometimes the styling is not a straight forward as it seems so it's always wise to check.

@neil-marcellini - i think we're ready for you to merge this bb 👍

@maddylewis I need @rushatgabhane to test first and post screenshots

@neil-marcellini LGTM

Apparently the Deploy check can't run on forks as noted here, so I'll go ahead and merge with that failing.

🚀 Deployed to staging by https://github.com/neil-marcellini in version: 1.4.51-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.51-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Not an emergency as per https://github.com/Expensify/App/pull/37162#issuecomment-1989495579


cask-repair: Exit if missing GitHub username

Presently, when the GITHUB_TOKEN environment variable is used by hub to authenticate with GitHub, some hub functions will not work correctly if the user's GitHub username has not been configured. This commit modifies cask-repair to check both places that a username may be set for hub - the config file and environment variable GITHUB_USER - and exits the script if the username cannot be found. This prevents users from encountering "Unprocessable Entity (HTTP 422)" errors if they have GITHUB_TOKEN set and no username configured.

Thank you for the PR, but before submitting a PR you should always take a look at the script you’re editing. Your style has nothing to do with mine. I never use single square brackets and never reference variables without curly brackets. My scripts are pretty consistent regarding style; there’s now way I can merge this without modification.

Thank you for finding and researching the problem. Made it work better with the script’s style in https://github.com/vitorgalvao/tiny-scripts/commit/dbd2c3f07086c57b50f9be1d6635314baa2370a1.


The picture is not complete

Convert canvas to base64 image ,When rendered on the page, it is not completely displayed

base64 string too big?

I think it should be, the problem is not solved, I changed a plug-in implementation

base64 字符串太大？

I think it should be, the problem is not solved, I changed a plug-in implementation

Can you provide a repro on jsfiddle? There are plenty of examples of base64 images rendering just fine...


firebase / firestore / grpc-node error: Path must be a string. Received 2726

I am trying to deploy a function using firebase-admin to zeit using now 2.
The error happens when I try to save data to firebase's firestore.
I get the following error saving to firestore:
TypeError: Path must be a string. Received 2726
    at assertPath (path.js:28:11)
    at Object.dirname (path.js:1349:5)
    at Object.1005 (/private/var/folders/d_/dw16hpwd61v1by98dj1m63mr0000gn/T/zeit-fun-38069aac8e744/src/lambda/event/login/index.ts:16470:36)
    at __webpack_require__ (/webpack/bootstrap:19:1)

Problem is caused by the following part of the compiled code:
As you can see below, path.dirname is called with number 2726, not string.
// Load Google's well-known proto files that aren't exposed by Protobuf.js.
{
    // Protobuf.js exposes: any, duration, empty, field_mask, struct, timestamp,
    // and wrappers. compiler/plugin is excluded in Protobuf.js and here.
    var wellKnownProtos = ['api', 'descriptor', 'source_context', 'type'];
    var sourceDir = path.join(path.dirname(/*require.resolve*/(2726)), 'google', 'protobuf');
    for (var _i = 0, wellKnownProtos_1 = wellKnownProtos; _i < wellKnownProtos_1.length; _i++) {
        var proto = wellKnownProtos_1[_i];
        var file = path.join(sourceDir, proto + ".proto");
        var descriptor_1 = Protobuf.loadSync(file).toJSON();
        // @ts-ignore
        Protobuf.common(proto, descriptor_1.nested.google.nested);
    }
}

The original source code for the above snippet is this:
https://github.com/grpc/grpc-node/blob/master/packages/proto-loader/src/index.ts#L327
/ Load Google's well-known proto files that aren't exposed by Protobuf.js.
{
  // Protobuf.js exposes: any, duration, empty, field_mask, struct, timestamp,
  // and wrappers. compiler/plugin is excluded in Protobuf.js and here.
  const wellKnownProtos = ['api', 'descriptor', 'source_context', 'type'];
  const sourceDir = path.join(
      path.dirname(require.resolve('protobufjs')), 'google', 'protobuf');

  for (const proto of wellKnownProtos) {
    const file = path.join(sourceDir, `${proto}.proto`);
    const descriptor = Protobuf.loadSync(file).toJSON();

    // @ts-ignore
    Protobuf.common(proto, descriptor.nested.google.nested);
  }
}

I've tried both @now/node and @now/node@canary with latest packages.

I am also having this issue.

I am having this issue too! Might be something with the node version not being compatible. Google Cloud's SDK sometimes is node 10 only

We are having the same issue

Related to #392

@guybedford @google-cloud/firestore is the problematic dependency for me, I can't get it to work with @now/node. This is working with Google Cloud functions, so I do have a current workaround.
fwiw I can reproduce this in a simple app with the following require calls (its most likely just @google-cloud/firestore on it's own, but wanted to share the full list just in case):
// now --version = 15.3.0
// Error: Unhandled rejection: TypeError: Path must be a string. Received 560

const url = require("url");
const got = require("got");
const LRU = require("lru-cache");
const getPackageJson = require('package-json');
const marked = require('marked');
const Firestore = require('@google-cloud/firestore');

Just checking in to see if any insight/update on here? This is preventing some of our functions from running properly on Now since the Firebase 6 updates?

@FredKSchott Thanks, I was able to get this code to fail in<EMAIL_ADDRESS>ncc: Version 0.19.0-beta.1
ncc: Compiling file index.js
(node:14265) UnhandledPromiseRejectionWarning: TypeError: replacement content must be a string
    at MagicString.overwrite (evalmachine.<anonymous>:1:531199)
    at e.exports (evalmachine.<anonymous>:1:177864)
    at Object.e.exports (evalmachine.<anonymous>:1:166144)
    at LOADER_EXECUTION (evalmachine.<anonymous>:1:15237)
    at runSyncOrAsync (evalmachine.<anonymous>:1:15248)
    at iterateNormalLoaders (evalmachine.<anonymous>:1:16844)
    at iterateNormalLoaders (evalmachine.<anonymous>:1:16712)
    at evalmachine.<anonymous>:1:16940
    at runSyncOrAsync (evalmachine.<anonymous>:1:15394)
    at iterateNormalLoaders (evalmachine.<anonymous>:1:16844)

This is resolved in ncc @0.19.

Would we still need a release of the @now/node builder to consume this?

Yes, would love some info on when we can expect this to be usable on zeit/now, currently using Google Cloud for the Pika CDN as a workaround for this

Is there any way to make this fix work with now?

If all that is needed is a version bump in @now/node, I'm willing to help out - just not sure if that's the right path forward.

@leerob , I tried creating a fork of now-builders and bump ncc version in @now/node to 0.19.1, but still no luck. https://github.com/lemol/now-builders/blob/991e9a4b5261af67fbf6f07e0a976001eca4ed26/packages/now-node/package.json#L14
Even specifying my custom builder { use: "@lemol/now" }, now-cli still using version 0.18.5 of @zeit/ncc.

@lemol if you were able to make the now-builders tests pass after bumping I'm interested in how you solved it.

All, you can follow the @now/node PR here: https://github.com/zeit/now-builders/pull/632

Why is this closed? Is there a fix for this anywhere?

@slessans the ncc bug itself is closed and was released in ncc 0.19.x
the now-builders didn't upgrade to 0.19.x because there was a fairly large api change in ncc which was reverted in 0.20.x
The upgrade to 0.20.x is in progress in zeit/now-builders#641
but is blocked by regressions for now see #434

@ywg-jean thank you! Is there a simple way of using zeit cli locally with ncc to unblock development in the meantime? This is my first zeit project, so I'm new to the system.

@slessans a simple way not really.
I think the simplest would be to clone the now-builders repository, and package a custom version from the zeit/now-builders#641 PR then specify that version as the builder in your now.json. I have not tried it myself and I don't promise it will work though.
Also note that as it is the PR may not work with typescript code because of the last open regression on #434 (see the last comment for a possible workaround but that's too deep for me at the moment)

How are these tangential issues closed if there is no valid workaround posted and it is still causing the same error!??!

The node and node-server builders with the fixes have been released under @canary they built my project with firebase-admin 8.2.x just fine.

Yes, I follow that @jeantil (and am testing now moving our now.json to point to the @now/node@canary builder) BUT these issues related shouldn't be closed IMHO until the steps to resolve have been posted here and the builder has been released outside of canary. This is a huge breaking issue that has been going on for weeks and really difficult to follow all of the latest w/ referenced issues being closed rather than left open until resolved.

I just updated to point to @now/node@canary and now instead of the error we were seeing before:
Unhandled rejection: TypeError: Path must be a string. Received 6690
    at assertPath (path.js:28:11)
    at Object.dirname (path.js:1349:5)
    at Object.5193 (/var/task/src/index.js:137965:36)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.7063 (/var/task/src/index.js:207136:25)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.7863 (/var/task/src/index.js:244302:16)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.1807 (/var/task/src/index.js:44865:13)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.1007 (/var/task/src/index.js:26851:25)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Function.get (/var/task/src/index.js:89802:18)
    at ClientPool.Firestore._clientPool.pool_1.ClientPool [as clientFactory] (/var/task/src/index.js:88992:47)
    at ClientPool.acquire (/var/task/src/index.js:183797:35)
    at ClientPool.run (/var/task/src/index.js:183850:29)
    at Firestore.request (/var/task/src/index.js:89610:33)
    at WriteBatch.commit_ (/var/task/src/index.js:278555:14)

we are now seeing:
Unhandled rejection: Error: @grpc/grpc-js only works on Node ^8.13.0 || >=10.10.0
    at Object.5112 (/var/task/tmp/77642a69/node_modules/@grpc/grpc-js/build/src/index.js:45:1)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.9582 (/var/task/src/index.js:229603:14)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.959 (/var/task/tmp/77642a69/node_modules/google-gax/build/src/index.js:33:16)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.3105 (/var/task/src/index.js:74105:13)
    at __webpack_require__ (/webpack/bootstrap:19:1)
    at Object.429 (/var/task/tmp/77642a69/node_modules/@google-cloud/firestore/build/src/v1/index.js:15:25)
    at __webpack_require__ (/webpack/bootstrap:19:1)

@agrohs This error indicates that you must use a new version of Node.
Today, ZEIT Now defaults to Node 8.10.x but you can enable Node 10.x by assigning engines in your package.json as documented here: https://zeit.co/docs/v2/deployments/official-builders/node-js-now-node#node.js-version
Also see the Node 10 blog post from last week.

Thanks @styfle, just saw that Node 10 post last night and added the engines into our package.json and all finally working. Looking forward to the ncc update moving from canary to released but at least working on canary for now!

Unhandled error TypeError: Path must be a string. Received { nested: { google: { nested: [Object] } } }     at assertPath (path.js:28:11)     at Object.basename (path.js:1377:5)     at GrpcClient.loadProto (/srv/node_modules/google-gax/build/src/grpc.js:117:29)     at new FirestoreClient (/srv/node_modules/@google-cloud/firestore/build/src/v1/firestore_client.js:118:38)     at ClientPool.Firestore._clientPool.pool_1.ClientPool [as clientFactory] (/srv/node_modules/@google-cloud/firestore/build/src/index.js:329:26)     at ClientPool.acquire (/srv/node_modules/@google-cloud/firestore/build/src/pool.js:87:35)     at ClientPool.run (/srv/node_modules/@google-cloud/firestore/build/src/pool.js:164:29)     at _retry (/srv/node_modules/@google-cloud/firestore/build/src/index.js:957:30)     at Firestore._retry (/srv/node_modules/@google-cloud/firestore/build/src/index.js:822:38)
I am getting this issue now. I am using node 8 on firebase cloud functions


feat: Barcode scanning for Web platform

Is your feature request related to a problem? Please describe:

N/A
Describe the solution you'd like:

As in description.
Documentation: mdn > Barcode Detection API
Demo: https://whatpwacando.today/barcode
Describe alternatives you've considered:

N/A
Additional context:

N/A

@robingenz I can have a look at this if you want :) As you mentioned in our discussion you already have a standalone component relying on BarcodeDetector, unfortunately, support of BarcodeDetector is not optimal at the moment (https://caniuse.com/?search=BarcodeDetector).
My idea would be to use https://github.com/undecaf/barcode-detector-polyfill, I was already in contact with the guys over there to allow bundling of zbar-wasm which is possible now, and I think using a polyfill for not supported browsers would be a good idea at the current stage, what do you think about this? This might be a bit of an overhead but it should allow better and broader usage of this implementation and reduce "web platform usage" issues.

@thegnuu That sounds like a great idea. What about the license? As far as I can see https://github.com/mchehab/zbar is licensed under LGPL-2.1 and therefore not compatible with Apache-2.0.

@robingenz I am not entirely sure, to be honest. There was an issue over there https://github.com/undecaf/barcode-detector-polyfill/issues/2 and I think we should be able to use the plugin and bundle it according to this, but I am by far no license expert ;)

@thegnuu Unfortunately, I am not an expert either. As far as I understand it, it gets complicated as soon as the LGPL source code is linked statically (see https://stackoverflow.com/a/10179181/6731412), which should be the case since the library is compiled into the app as part of the build process.
For example, another plugin author recently switched to the MPL license as there were concerns (siehe https://github.com/Cap-go/capacitor-updater/issues/7#issuecomment-1454893916).

For example, another plugin author recently switched to the MPL license as there were concerns (see Cap-go/capacitor-updater#7 (comment)).

@thegnuu I just read about the MPL license and see problems there as well:

3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must > inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and
You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.

Source

I see, I see. Another idea would be to just implement BarcodeDetector within this plugin and properly document it like this. If someone needs to use it in a not supported browser, they can implement the initialization of the polyfill on their end. Since there are multiple polyfills for BarcodeDetector (e.g. https://github.com/xulihang/barcode-detector-polyfill) this would allow each dev to choose the version they want.
It's a more generic approach of course and might not work out of the box on each browser, but it would get us around the "license struggles" and add more flexibility for the devs. Adding a polyfill depending on zxing like the example in this comment seems not to be the best idea IMHO.

I see, I see. Another idea would be to just implement BarcodeDetector within this plugin and properly document it like this. If someone needs to use it in a not supported browser, they can implement the initialization of the polyfill on their end. Since there are multiple polyfills for BarcodeDetector (e.g. xulihang/barcode-detector-polyfill) this would allow each dev to choose the version they want.

Yes, i think this is the best solution atm. Any PR is welcome. Otherwise, I would put it on my todo list next month.

My feature request was initially about adding just native Barcode Detection API for web platform.
Adding a note in docs about polyfills is definitely good idea.

I think this makes sense yes, unfortunately I have a really busy week, but maybe I will find some time to start the implementation.

@thegnuu I had some time on the train today and started with the implementation, see #52.

Perhaps this code could be useful? It handles Datamatrix https://github.com/rxing-core/rxing-wasm/tree/main

Hi, I’ve just published my PR for this: https://github.com/capawesome-team/capacitor-mlkit/pull/211
It also works well with the https://www.npmjs.com/package/barcode-detector polyfill which I choose for it’s easy usage event with offline capability.


Provide an Step-by-step guide usage

I think it would be easy to understand how to use PushApi with an example/step-by-step guide were provided for each use case.

Thank you for your comment @tobeorla. I will work with a better explained documentation and a step-by-step guide.

Here you have an improved documentation about PushApi https://push-api.readme.io/


Start WDA on device use fbsimctl

I use
fbsimctl $device_id --state=booted launch_xctest ~/....../WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest com.apple.mobilesafari --port 8100 -- listen
the device shows nothing, and the log in terminal is short
Listen Started: empty
Am I using the wrong way?Can I just launch WDA and do nothing using fbsimctl with xctest file?

The second argument for devices needs to be the actual app instead of bundle id and it should be WDARunner app. No need for --state-booted. I haven't tested it with listen yet.
Can you try that:
fbsimctl $device_id launch_xctest ~/....../WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest ~/....../WebDriverAgentRunner-Runner.app
It will be launched inside WebDriverAgentRunner app.

@wacban
Thank you very much! It works!


Fix itests for new subnetID and some improvements

Implementation
This PR:

Fixes itests to work with the new implementation of SubnetID.
Adds a new log directory where logs are persisted and .gitignores unnecessary files

Testing
In order to test the itests from this PR the branch of the following PR of eudico needs to be used: https://github.com/consensus-shipyard/lotus/pull/187
Things to improve and high-level feedback.
@cryptoAtwill, as I was tinkering with the code I found a few things that could be improved. Would you mind having a look to see if you can address them yourself (I feel you may be more efficient as you know better this code, but let me know if you want me to do it).

When deploying the infra with the scripts, for some reason the resulting configuration doesn't create a new subnet (or at least doesn't appear with list subnets), and there is no way to do any tests. I don't know to what extent it is related with the address of the subnet hardcoded here, what if the subnet address of the subnet created ends up being something else?
I feel we should spend some time improve the UX of this tool (and I will also contribute to this one). The basic operation of the framework seems great, but the fact that all needs to be done manual (the deployment of the rootnet, configuring the IPC agent, etc.) is a bit of an overhead. As a next step we should include different make rules or scripts that also helps us with this (let me know if you prefer me to include it in a separate issue for future work).
We should also improve logging (we can also add it to an issue and defer it for the future). I agree that the code is extensively logged, but no errors are being logged which means that tracking what may be happening when something fails is hard, as the error bubbles until the unwrap() and is hard to track what cause it at first sight, we need to dig deep into the code.

@adlrocha I just have one suggestion to use ? instead of unwrap.
For the not creating subnet, the reason is the file you are running is no_create_subnet, here it says the point is to have the subnet created prior to the execution of the script. I think your use case is more aligned with no_tear_down script.


AttributeError: 'DETR' object has no attribute 'train'

Search before asking

[X] I have searched the Autodistill issues and found no similar bug report.

Bug
I tried to distill Grounding SAM with a DETR object detector and got a weird output thought to report.
Basically, I edited the sample code you have in your doc but I added caption ontology and used the YAML folder to run the train method, first part went well and it downloaded the pretrained ResNet but ran into error on the second line, it seems that somehow it cannot find the train function (see below), I use autodistill_detr-0.1.0:

from autodistill_detr import DETR

# load the model
target_model = DETR(ontology)

# train for 10 epochs
target_model.train(DATA_YAML_PATH, epochs=10)

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[36], line 8
      4 target_model = DETR(ontology)
      6 # train for 10 epochs
      7 #target_model.train("./roads", epochs=10)
----> 8 target_model.train(DATA_YAML_PATH, epochs=10)
     10 # run inference on an image
     11 #target_model.predict("./roads/valid/-3-_jpg.rf.bee113a09b22282980c289842aedfc4a.jpg")

AttributeError: 'DETR' object has no attribute 'train'

Environment

Kaggle jupyter notebook (also saw same behavior on AWS sagemaker)
GPU: T4 x2
autodistill 0.1.0
autodistill_detr-0.1.0

Minimal Reproducible Example
from autodistill.detection import CaptionOntology
from autodistill_detr import DETR

ontology=CaptionOntology({
    "circle": "19",
    "road sign" : "16",
})

# load the model
target_model = DETR(ontology)

# train for 10 epochs
#target_model.train(DATA_YAML_PATH, epochs=10)

Additional
I opened this issue under autodistill-detr and got no attention, if requested I will reopen the original issue:
https://github.com/autodistill/autodistill-detr/issues/2
Are you willing to submit a PR?

[ ] Yes I'd like to help by submitting a PR!

Code for train is already in main (autodistill-detr), is it possible to create a new release ?

I'm not sure why we didn't publish the train code on PyPi! I will publish this tomorrow and post a message here when I have published the release.

I have published autodistill-detr==0.1.1, which includes the train() code: https://pypi.org/project/autodistill-detr/
You will need to run pip install --upgrade autodistill-detr to use the new changes.
I am going to close this issue now. Let me know if you run into any issues and I can re-open the issue.


[Ignore] Test Pull Request

This is a test PR for Peril's squash-on-green support.

#squashongreen

#mergeongreen


Find a way to make text more readable on wide screens (add maxwidth)

Update:

See also pending PR: #100
See Project "Improve Readability" for all related issues and PR

Problem
Currently, the docs use the entire width. This makes longer blocks of text not easy to read on wide screens.
Example: https://docs.typo3.org/typo3cms/ExtbaseFluidBook/3-BlogExample/Index.html

Solutions
Solution 1: Limit the width of the main text section.
Some examples:

blogs often limit width of main text, e.g. https://www.copyblogger.com/scannable-content/
readthedocs also does it: https://flowframework.readthedocs.io/en/latest/TheDefinitiveGuide/PartI/EssentialDesignPatterns.html

This should only be a setting as we forked the read the docs theme where this is already an setting.

There is another idea mentioned by @DavidBruchmann :
Instead of limiting the width in general, split the text into multiple columns.
See

W3C: CSS Multi-column Layout
browser support: https://caniuse.com/#feat=multicolumn

IMHO opinion, telling people to resize their browser is not a solution. IMHO, readability is an important criteria for the success of the docs. If you want people to use your website, you should make it usable (improve usability). If you want people to read your website, you should make it well readable (improve readability: not just the content, but also the formatting and everything else).
Resources that support suggestion to limit width of content:
general readability (readability, line length, etc.):

https://designshack.net/articles/mobile/the-importance-of-designing-for-readability/

line length
“Anything from 45 to 75 characters is widely regarded as a satisfactory length of line for a single-column page set in a serifed text face in a text size. The 66-character line (counting both letters and spaces) is widely regarded as ideal. For multiple column work, a better average is 40 to 50 characters.”
http://webtypography.net/2.1.2
"for a single-column design should ideally be two to three alphabets long, around 40 to 80 characters. If the lines are too short then the text becomes disjointed, if they are too long the content loses rhythm as the reader searches for the start of each line. Many typographers consider the perfect measure to be 65 characters."
https://spyrestudios.com/10-great-tips-for-improving-your-web-typography/
"Line length matters. While people can read faster with longer text lines, they actually prefer shorter lines of texts of 45 to 72 characters. Make sure your lines wrap at this point."
https://www.intechnic.com/blog/best-practices-to-improve-text-readability-for-optimal-user-experience/
fontsize:
https://ia.net/topics/100e2r
typography:

https://tubikstudio.com/typography-in-ui-guide-for-beginners/
https://spyrestudios.com/10-great-tips-for-improving-your-web-typography/

Examples of documentation / blog articles that are well readable and restrict the width:

readthedocs: https://flowframework.readthedocs.io/en/latest/
developers.google.com: https://developers.google.com/web/tools/chrome-devtools/speed/get-started
typo3worx: https://typo3worx.eu/2019/01/symfony-console-in-typo3/

|------------------------- 66 ----------------------------------|
“Anything from 45 to 75 characters is widely regarded as a satis-
factory length of line for a single-column page set in a serifed
text face in a text size. The 66-character line (counting both
letters and spaces) is widely regarded as ideal. For multiple
column work, a better average is 40 to 50 characters.”

|-------------------------------- 80 -----------------------------------------|
“Anything from 45 to 75 characters is widely regarded as a satisfactory length
of line for a single-column page set in a serifed text face in a text size. The
66-character line (counting both  letters and spaces) is widely regarded as
ideal. For multiple column work, a better average is 40 to 50 characters.”

|------------- 40 --------------------|  |------------- 40 --------------------|
“Anything from 45 to 75 characters is    “Anything from 45 to 75 characters is
widely regarded as a satisfactory        widely regarded as a satisfactory
length of line for a single-column       length of line for a single-column
page set in a serifed text face in a     page set in a serifed text face in a
text size. The 66-character line         text size. The 66-character line
(counting both  letters and spaces) is   (counting both  letters and spaces) is
widely regarded as ideal. For multiple   widely regarded as ideal. For multiple
column work, a better average is 40 to   column work, a better average is 40 to
50 characters.”                          50 characters.”

|---------------- 45 ----------------------|  |---------------- 45 ----------------------|
“Anything from 45 to 75 characters is widely  “Anything from 45 to 75 characters is widely
regarded as a satisfactory length of line     regarded as a satisfactory length of line
for a single-column page set in a serifed     for a single-column page set in a serifed
text face in a text size. The 66-character    text face in a text size. The 66-character
line (counting both  letters and spaces) is   line (counting both  letters and spaces) is
widely regarded as ideal. For multiple        widely regarded as ideal. For multiple
column work, a better average is 40 to 50     column work, a better average is 40 to 50
characters.”                                  characters.”

|--------------------- 50 ----------------------|  |--------------------- 50 ----------------------|
“Anything from 45 to 75 characters is widely       “Anything from 45 to 75 characters is widely
regarded as a satisfactory length of line for a    regarded as a satisfactory length of line for a
single-column page set in a serifed text face in   single-column page set in a serifed text face in
a text size. The 66-character line (counting       a text size. The 66-character line (counting
both  letters and spaces) is widely regarded as    both  letters and spaces) is widely regarded as
ideal. For multiple column work, a better aver-    ideal. For multiple column work, a better aver-
age is 40 to 50 characters.”                       age is 40 to 50 characters.”

A good example with different text-lengths is the main-page of https://www.nytimes.com/

tip: There are some browser extensions with which you can change styles for specific URLs. I have used Stylus
I have used this to test some changes in style. You can create a style for specific domain or docs.typo3.org. We could use this to test some style changes pretty easily without having to roll it out on a test server every time.

If the width is reduced too much, there are layout problems on the top "Edit me on GitHub", for example on https://docs.typo3.org/typo3cms/GettingStartedTutorial/OtherBackendModules/BackendLocalization/Index.html

Current PR #100 should be tested and possibly further refined.

① I consider this topic fixed in the next, upcoming version.
② The conflict was: Restricted text wide is good for reading, but can make the reading of wide code examples or wide tables really annoying. Or even impossible.
③ We now have a nice solution that fits both worlds in a nice and unobstructive way. It works like this. Usully text width will be limited:

Hower, if you decide to make your window even wider, full screen view will kick in again:

This will happen automatically be means of a media query. And if the window is back to narrow the text width will be lmited again. I like that solution very much. Let's see how it works.
So I consider this issue "solved" for now.


test flake

My PR #1667 just failed with this error: https://github.com/kevinburkemeter/coreutils/runs/1583693370?check_suite_focus=true
test test_chown::test_passgrp::test_grp2gid ... error: test failed, to rerun pass '--test tests'

Caused by:
  process didn't exit successfully: `/target/i686-unknown-linux-musl/debug/deps/tests-6390ebd3193ed219` (signal: 11, SIGSEGV: invalid memory reference)
Error: The process '/usr/share/rust/.cargo/bin/cross' failed with exit code 101

Given this test changes one line in the rm binary, it seems a failure in the test_chown library would be unrelated.

That commit looks to be passing on our CI run.
"Invalid memory reference" looks like it could be just a transient "cosmic ray" event. I'd re-run your CI workflow to check it.
I'll close this, but will re-open if it becomes reproducible.

I guess that is sort of the definition of a flake, is a test that passes sometimes and doesn't pass other times. If you could reproduce it it wouldn't be flaky...

Ah, I didn't get the reference.

more on it https://docs.gitlab.com/ee/development/testing_guide/flaky_tests.html :)


When reloading the website the Subvod turns into a gray playbutton.

When trying to reload an video from an sub only streamer I get this.

The API is still working. Try with another navigator, or maybe the video is old. You can also check if there was a network error, the API request blocked, an extension that blocked the request...
You can send me the video link, I'll check it on my side

Oh yeah thanks man, I'll send the link here.
" https://www.twitch.tv/videos/1475194277 "
The twitch channel is Dutch tho, idk if that would be the problem.

I tried this VOD but it seems the extension doesn't work on the entire channel. Don't know why the method to watch sub-only VODs doesn't work on this specific channel. There is no fix available for now sorry.

doesnt work on this channel either https://www.twitch.tv/videos/1509279413

I don't think this issue is the same as the author. It's more related to the issue https://github.com/besuper/TwitchNoSub/issues/7

i suspect as @besuper is saying, i tried this with old videos like a month or two old and i got this same grey play button. on fresh ones, it works.
so, can we "detect" if the link is dead so that the user can be informed about it?

i suspect as @besuper is saying, i tried this with old videos like a month or two old and i got this same grey play button. on fresh ones, it works.
so, can we "detect" if the link is dead so that the user can be informed about it?

This is a good theory but this is specific to the channel. If you try a recent VOD of this channel it will not work. I don't know why but it's impossible to fetch VOD for some channels.

This issue should be fixed with commit https://github.com/besuper/TwitchNoSub/commit/4b78730ec5fd412eb3dd58ee67221e03e0e62676. The problem was that VODs have a different broadcast type, and the extension only supported the "archive" type. The entire twitch channel has "highlight" VOD type. Stream URLs are different between types.


push nugets in .yml file

This will add to the travis .yml file steps to publish the nugets that are resulting from the build.

We should be careful with this file... we want it to push the nugets when we do an automated nightly (unstable) or manual release (stable) build, but not when we do a CI build. We don't want to push nuget packages to the feed every time we have a commit to a pull request.

We should be careful with this file... we want it to push the nugets when we do an automated nightly (unstable) or manual release (stable) build, but not when we do a CI build. We don't want to push nuget packages to the feed every time we have a commit to a pull request.

Agreed. Needed to do this to test the nugets getting pushed. Still need to split up the stable and unstable builds and add logic to push the correct nuget


The field picker doesn't support double-click

Usually in UIs like the field selection screen, it is possible to double-click an item to move it between the two lists. WIPrint's field selection UI does not support this. It would be helpful if it did.
It is also common to allow multiple selection via Ctrl-click to move a batch of items at once.
These two features would make the field selection UI easier to use. They're not a high priority for me.

Double click should be easy enough. Multi-click will be more difficult. I'll see what I can do. I can probably add drag and drop too, now that I think about it.

Double click has been implemented in v2.0.3. Multi-click is in my mind, but I don't know how to make it work without scrapping my selectable list implementation, which I've been thinking about doing anyway, but probably after work item history is complete.


ENH Warn when expanding columns with many categories

Users sometimes forget to exclude columns with large numbers of categories (for example, a dataset index, or a free text response field). Give them a warning so that it's easier to diagnose if this causes errors later. The threshold is a class attribute to allow users to modify it if desired (but it's not a constructor parameter because they shouldn't want to modify it often, if ever).

FTR, I don't really want to see this warning. Users are responsible for knowing what is in their data.

I've seen more than one case where this warning would have saved significant amounts of time.

Yeah. People inspecting their data first would have done the same trick. (shrug)


refactor: convert service-object to es6 class

Codecov Report

Merging #47 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #47      +/-   ##
==========================================
- Coverage   98.64%   98.63%   -0.01%
==========================================
  Files           8        8
  Lines        1473     1470       -3
  Branches       62       63       +1
==========================================
- Hits         1453     1450       -3
  Misses         10       10
  Partials       10       10

Impacted Files
Coverage Δ

src/service.ts
97.23% <ø> (ø)
:arrow_up:

test/operation.ts
98.85% <100%> (ø)
:arrow_up:

test/index.ts
100% <100%> (ø)
:arrow_up:

test/service-object.ts
99.17% <100%> (ø)
:arrow_up:

test/service.ts
98.82% <100%> (ø)
:arrow_up:

src/index.ts
100% <100%> (ø)
:arrow_up:

src/operation.ts
100% <100%> (ø)
:arrow_up:

src/service-object.ts
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e1e9939...ea9fbc7. Read the comment docs.


Malmo linux releases require specific boost versions

Is it possible to avoid this?

Hmm, probably not: "There is no way to build an executable or library that will be version-agnostic to the Boost version it uses." - see http://stackoverflow.com/a/32964146
Boost doesn't maintain ABI compatibility between versions, so our only option would be to link boost statically, as we currently do for Debian 7, for example.
Looking at the sizes of the binaries in the releases, it doesn't seem as though statically linking will add a huge overhead, so this might be worth considering. Going to the other extreme, we could stop providing prebuilt Linux binaries, and just ask people to build their own. (Building is pretty simple on Linux.)

Turns out there's an issue with linking boost statically - the boost static libraries aren't compiled with -fPIC (which is needed to ensure the code is position independent). This is required for shared libaries (like Malmo). If I understand this correctly, since the shared library must be PIC, any code it pulls in must also be PIC.
Bottom line seems to be that anyone attempting to build Malmo from source would be forced to recompile boost with -fPIC before compiling Malmo. This seems a heavy price to pay. It makes life easier for users who just want to install a prebuilt Malmo, but it penalises anyone who wants to build it themselves.

@timhutton proposed something like this:
Add a flag to the root CMakeLists.txt (along the lines of the BUILD_MOD, BUILD_DOCUMENTATION etc flags) to specify whether or not to link boost statically.
This can be off, by default, so that users who want to build from source don't need to bother with the hassle of building boost (unless they need to - eg for Debian 7 or Windows). When we build the release binaries here, we switch it on (and build boost ourselves).
That way, everyone wins.
(Except us.)

Fixed in #434


Process output messages improvements

We totally refactored how we processes outputs. Since all stdout, stderr of all running processes are intercepted by core-0, doing it efficiently will heavenly improve the memory, and cpu consumption of core0.
Before we processed the output of the processes line by line, which means we created a message (with all it's meta data) per line. And we had a message pushed to redis buffers for each line. This wasted a lot of IO time on message copying and processing.
We needed to do it line by line because of the customized messages format that a process can send (the one prefixed  with \d+:::? header. which can be a single line or multi-line string.
The new refactor will not create a message for each normal output (the one that is not customised) instead it will try to create a single message with as large buffer as possible.
for example an output like this
this is a text printed by a process that has cutomize
output that starts the next line
3::some custom message
then we have another one that is multi line
3:::like this one here
which has many lines
in a single message
:::
and followed by this tail

this will only produce 5 messages instead of 6. This doesn't sound much but in an actual scenario where we don't have many intermediate custom message the difference is really effective. For example, i did this
 cl.bash('cat /var/cache/big.txt', stream=True).stream()

where big.txt is a 6.2MB file this only produced 206 messages instead of the previous 128457 messages. which reduced the time wasted on IO (and memory/cpu consumption of core0) during the streaming process.

Codecov Report

Merging #36 into development will increase coverage by 0.56%.
The diff coverage is 94.66%.

@@               Coverage Diff               @@
##           development      #36      +/-   ##
===============================================
+ Coverage        24.02%   24.59%   +0.56%
===============================================
  Files               50       50
  Lines             4882     4920      +38
===============================================
+ Hits              1173     1210      +37
  Misses            3607     3607
- Partials           102      103       +1

Impacted Files
Coverage Δ

base/pm/runnerhook.go
0% <ø> (ø)
:arrow_up:

base/pm/stream/input.go
92.13% <94.66%> (+0.29%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 53de847...ae75c84. Read the comment docs.


Link to Fabric is now GA

The Link to Fabric capability is now showing as GA. Need to update this doc to reflect that
https://learn.microsoft.com/en-us/power-platform/release-plan/2023wave2/data-platform/link-all-dynamics-365-data-fabric
[Enter feedback here]

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

ID: 5f214df6-a230-96b6-25f4-bbed1e3d8cd0
Version Independent ID: 5f214df6-a230-96b6-25f4-bbed1e3d8cd0
Content: View long term retained data in Microsoft Dataverse - Power Apps
Content Source: powerapps-docs/maker/data-platform/data-retention-view.md
Service: powerapps
Sub-service: dataverse-maker
GitHub Login: @pnghub
Microsoft Alias: gned

Thank you for catching this @jaduplesms.
It has been updated.


fix [gratipay]

Not really sure what happened, but the test for the deprecated gratipay/gittp service has been failing for a while with a 404 badge not found error. For example
AssertionError: label mismatch: expected '404' to equal 'gratipay'
This tweaks the rout pattern so the test is passing again.

Warnings

:warning:
This PR modified service code for gratipay but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @calebcartwright!

  Generated by :no_entry_sign: dangerJS against 4dc7452fdbc62dbab07c6990045b5684365f5292

Warnings

:warning:
This PR modified service code for gratipay but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @calebcartwright!

  Generated by :no_entry_sign: dangerJS against ad7a9ee84886117852885fca9a876f9ea0e3bbdc


[WIP] Prototype of DataJointWorker and WorkerLog

@ttngu207 Now that we have datajoint-utilities, would you mind moving this there?

Closing this PR, moving this DataJointWorker mechanism to: https://github.com/vathes/datajoint-utilities/pull/4


Deprecate GCC 5

This patch set removes GCC 5 and defaults to Clang 3.8 as the
cross compiler. In addition, newlib has been updated, and is now
linked in as a shared library instead of a static library.
Finally, when Clang is used, only Clang is used, unlike
before were GCC was used to compile Newlib
Signed-off-by: “Rian<EMAIL_ADDRESS>

Merging. Windows will be corrected once we get the proper compilers up on the server


Can't disable Webmock / VCR when running rake task

I'm trying to run the rake knapsack_pro:rspec task on my dockerized Buildkite fleet. However, Webmock is getting in the way:
** Invoke knapsack_pro:rspec (first_time)
** Execute knapsack_pro:rspec
D, [2016-05-06T05:57:53.344852 #55] DEBUG -- : ** [Raven] Event not sent due to excluded environment: test
rake aborted!
WebMock::NetConnectNotAllowedError: Real HTTP connections are disabled. Unregistered request: POST http://api.knapsackpro.com/v1/build_distributions/subset with body

...redacted

============================================================/usr/local/bundle/gems/webmock-1.21.0/lib/webmock/http_lib_adapters/net_http.rb:114:in `request'
/usr/local/lib/ruby/2.3.0/net/http.rb:1421:in `send_entity'
/usr/local/lib/ruby/2.3.0/net/http.rb:1209:in `post'
/usr/local/bundle/gems/knapsack_pro-0.7.0/lib/knapsack_pro/client/connection.rb:75:in `post'
/usr/local/bundle/gems/knapsack_pro-0.7.0/lib/knapsack_pro/client/connection.rb:11:in `call'
/usr/local/bundle/gems/knapsack_pro-0.7.0/lib/knapsack_pro/allocator.rb:19:in `test_file_paths'
/usr/local/bundle/gems/knapsack_pro-0.7.0/lib/knapsack_pro/runners/base_runner.rb:14:in `test_file_paths'
/usr/local/bundle/gems/knapsack_pro-0.7.0/lib/knapsack_pro/runners/base_runner.rb:18:in `stringify_test_file_paths'
/usr/local/bundle/gems/knapsack_pro-0.7.0/lib/knapsack_pro/runners/rspec_runner.rb:9:in `run'
/usr/local/bundle/gems/knapsack_pro-0.7.0/lib/tasks/rspec.rake:5:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/task.rb:240:in `block in execute'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/task.rb:235:in `each'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/task.rb:235:in `execute'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/task.rb:165:in `invoke'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:150:in `invoke_task'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:106:in `each'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:106:in `block in top_level'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:115:in `run_with_threads'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:100:in `top_level'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:78:in `block in run'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling'
/usr/local/bundle/gems/rake-10.5.0/lib/rake/application.rb:75:in `run'
/usr/local/bundle/gems/rake-10.5.0/bin/rake:33:in `<top (required)>'
/usr/local/bundle/bin/rake:17:in `load'
/usr/local/bundle/bin/rake:17:in `<main>'
Tasks: TOP => knapsack_pro:rspec

I believe I'm ignoring requests to this hostname correctly in my spec_helper.rb:
# Setup VCR
VCR.configure do |config|
  config.cassette_library_dir = 'spec/fixtures/vcr'
  config.hook_into :webmock
  # allow requests to localhost and knapsack pro:
  config.ignore_hosts 'localhost', '<IP_ADDRESS>', '<IP_ADDRESS>', 'api.knapsackpro.com'
end

Do I need to do something else to get VCR & webmock out of the way for the knapsack_pro rake task?

I did find a workaround. I put this in my Rakefile immediately after the call to load KnapsackPro tasks:
WebMock.disable_net_connect!(:allow => 'api.knapsackpro.com') if defined?(WebMock)

Great. I've updated example of Rakefile in readme.


nixos/docker: keep live-restore disabled by default

See https://docs.docker.com/engine/daemon/live-restore/
See https://discourse.nixos.org/t/docker-hanging-on-reboot/18270/5
Closes https://github.com/NixOS/nixpkgs/issues/182916

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This seems to work as expected on my systems.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4791


Update developer_setup.md

Demonstrating new patterns and APIs, preferring bearer tokens to shared keys, fixing some typos

/check-enforcer evaluate


Long sidebar items spill over when selected

Some of the longer length sidebar items can spill over into a second line when selected as the bold text makes them larger than the sidebar width.
The spillover doesn't look bad but the inconsistency isn't great.

cc: @robbrockbank

Closing as the new theme doesn't spill over


No data folder found

I am using an ESP32 Dev Module running Arduino 2.3.2.  I have the following data directory with my sketch
C:\Users\marka\Documents\Arduino\Aerator_Livewell_Switch\data

This is an IDE glitch, nothing to do here.  See the workaround for the serial port, the same should work here.

Hello!  The fix suggested does not work for me.  The plugin still indicates a missing data folder

Try building the sketch once before doing the upload.  Either the IDE isn't reporting the proper value for the sketch directory, or it doesn't have permission to access files inside it (i.e. I've heard that OneDrive folders are sometimes weird that way).

You can also try the more verbose version I just threw together which may shed some light on your particular problem.  Remove the 1.1.5 and download and install the 1.1.6 version and restart things and re-run.
https://github.com/earlephilhower/arduino-littlefs-upload/raw/talkie/arduino-littlefs-upload-1.1.6.vsix

Thank you!  I will give it a try now

Thank you for taking the time to provide some logging out put!  I had embedded the sketch directory within itself some how.....It could only be seen in the logging.

I recommend keeping the log output...

Great, thanks for the follow up!  I've made that new version the release one and it'll hopefully make everyone's life easier.


containerd: bump to v1.3.4-k3s1

go mod edit -replace<EMAIL_ADDRESS>go mod vendor
go mod tidy

Addresses #1906

Is there any impact with the addition of NOTIFY_SOCKET support?

Is there any impact with the addition of NOTIFY_SOCKET support?

My apologies @erikwilson I missed this. Reviewing the changes it looks like, with the way we use containerd, systemd is likely to incur gratuitous notifications and I have no idea how it will act in such a scenario.

@erikwilson looking further into the vendored changes: https://github.com/mxpv/containerd/blob/ddae905b824a264be620cea03d3dee66f779f19a/vendor/github.com/coreos/go-systemd/v22/daemon/sdnotify.go#L56-L71
I do not think this will do anything unless/until k3s leverages notify socket directly (which could be mitigated by eliding the NOTIFY_SOCKET envvar when k3s spawns containerd). I can include such a guard with this change.

nice, will this help for https://github.com/rancher/k3s/issues/1962?

Nice, will this help for #1962 I hope it bring the bug fix to solve my problem, which is really annoying. I have to reboot the malfunctioning node to get a hold of the cluster again.

@liyimeng hmm, are you thinking about the resource/cleanup changes in containerd 1.3.5? We will need to update our fork to pull those in.

@dweomer That might be the case. The problem I have is that I run a k3s simple cluster. I did not do much things, but let it run for some weeks. It become unusable. I check into the nodes, and found they have a lot of mounts. run  mount/df/du command takes very lot time to finish. When I give up and decide to restart the nodes, it take half an hour to unmount those overly fs, I lost patience and have to do a hard reset.
This seem not good for a long running cloud system.

@dweomer containerd 1.3.5-k3s1 is available if you want to update this PR for #1962 - all the stuff from 1.3.4-k3s1 rebased cleanly.

@dweomer containerd 1.3.5-k3s1 is available if you want to update and rebase this PR. All the stuff from 1.3.4-k3s1 rebased cleanly.

After validating that k3s is working with and updated and backported containerd/cri with selinux fixes from master/1.4.x bumping to the latest release of containerd 1.3.x is next.

Superseded by #2065


Remove requirements txt files

Like requirements_benchmark.txt. Move whatever is necessary to setup.py

I am closing this because it has been done.


Vivado Implementation

Hi,
I am new at this concept. I am trying to implement this gpu in xilinx vivado. Did anyone do this, or do you have any information about this process.

Just add all verilog files to vivado project.
The main module is in RISCV_SOC.v, you need to map pins from your fpga board to this module.
  input                   CLOCK_50,   input          [3:0]    KEY,   input          [9:0]    SW,   output reg     [9:0]    LEDR,   output         [6:0]    HEX0,   output         [6:0]    HEX1,   output         [7:0]    VGA_B,   output                  VGA_BLANK_N,   output                  VGA_CLK,   output         [7:0]    VGA_G,   output                  VGA_HS,   output         [7:0]    VGA_R,   output                  VGA_SYNC_N,   output                  VGA_VS
If your board does not have a 50MHz clock (VGA 25MHz clock is derived from this), you will need to generate a PLL in Vivado.

Just add all verilog files to vivado project.
The main module is in RISCV_SOC.v, you need to map pins from your fpga board to this module.
If your board does not have a 50MHz clock (VGA 25MHz clock is derived from this), you will need to generate a PLL in Vivado.
  input          [3:0]    KEY,
  input          [9:0]    SW,
  output reg     [9:0]    LEDR,
  output         [6:0]    HEX0,
  output         [6:0]    HEX1,
  output         [7:0]    VGA_B,
  output                  VGA_BLANK_N,
  output                  VGA_CLK,
  output         [7:0]    VGA_G,
  output                  VGA_HS,
  output         [7:0]    VGA_R,
  output                  VGA_SYNC_N,
  output                  VGA_VS```

Thanks for your helping :)

@Rizkan19 now you can use fusesoc for this, thanks to @racerxdl


Fix cancel bug publishing pointers

Since the offline message pointer publish was moved into a separate goroutine
the context was being defer canceled before the publish was finished. This
move the defer inside the goroutine.

Coverage remained the same at 27.373% when pulling 92355f62a94d2f37602ec722dcb05dd0e45d773f on dag into 1f53c84bb662a5e16a140e8cc4bc50a5f58d052b on master.


Annoucing Dear ImGui Bundle including ImFleDialog and many others; with support for C++, Python and emscripten

I'm happy to announce the first public release of Dear ImGui Bundle. Dear ImGui Bundle is a bundle for Dear ImGui, including many powerful libraries from its ecosystem. It enables to easily create ImGui applications in C++ and Python, under Windows, macOS, Linux, emscripten. It is aimed at application developers, researchers, and beginner developers who want to quickly get started.
ImFleDialog is a included in the widgets provided with it.

Dear ImGui Bundle repo
Fully interactive online manual
Specific annoucement for ImFleDialog integration

@dfranx: sorry to hijack the issues list for this, and feel to close this issue; as this is just for your information.  I informed @ocornut yesterday, and I plan to communicate about it in the ImGui gallery in the next hours.

Hey, I was wondering if you'd like to help add emscripten support to my fork:
https://github.com/time-killer-games/libfiledialogs
My fork already supports python since you could either run the CLI with popen or call the library instead for better performance.
No pressure, it's up to you.
Thanks!
Samuel

@time-killer-games : to add support for emscripten into your fork, you could take inspiration from this bit from hello_imgui
As is presently stands, I cannot use your fork in imgui-bundle, since it mixes too many libraries into one repository (imgui, freetype, sdl, lunasvg).


New release?

Hi there, when can I expect a new release of the source code?

What, exactly, do you need?)

Other than all of the library updates and patches, the react admin.

The experiment with react admin was bad and i think we will remove it. So, now we will not do release.

So you'll roll back the react changes but still keep the package updates and re-release that?

Maybe. But not now.
If u want to use a new patches u can install this library from GitHub.
pip install git+https://github.com/aio-libs/aiohttp_admin.git


pass https web requests to web server, serve https proxy requests by self

How autocert works?
Can you kindly add the support to multiplex https web requests to real web server to bind dumbproxy on 443 port ?

-autocert option is a convenience feature which allows dumbproxy to issue certificates automatically with any ACME-compatible provider (LetsEncrypt, BuyPass, ...). In order to do that, it has to listen port 443 to be able to complete "tls-alpn-01" challenge or port 80 to complete "http-01" challenge. The later one is activated with option like -autocert-http :80. Once dumbproxy receives TLS connection, it lookups cert cache for certificate matching domain specified in servername indication in TLS handshake for this connection. If cert is not found or outdated, it tries to issue a new one and caches it. So in simplest case certificates and TLS "just work".
There is already a plenty of reverse proxy software which can serve connections in front of dumbproxy and forward them to various destinations. I suggest to use HAProxy for that purpose. It is possible to switch backends based on servername (domain) in TLS connection request or by value of authorization headers or whatever you can come up with.

I'm not planning to add support for proxying of requests to some other site for following reasons:

There is already software which does that better and if you're trying to achieve port sharing by multiple applications probably some reverse proxy should manage that instead of dumbproxy being cornerstone.
In regard to censorship circumvention such strategy is a bit fruitless. It's quite easy to figure out that such masquerade web page doesn't really belong to this server; sometimes other domain references in the page body may suggest that. Instead other defense strategies might work better:

dumbproxy can generates HTTP error pages to which provide no clue it's a proxy. See also hidden_domain option for password-based auth to enable defense against active probing.
It's possible to enable mTLS-based authentication and disallow connections without client certificate. In that case you'll have to use mTLS-capable software on the client side like steady-tun, but active probes will be completely eliminated because prober won't be able to establish TLS session to begin with.


CompareTo method fully implemented

hands now come with highest ranked cards first followed by highest kickers - hopefully..
hand tests reworked to new conditions,
best hand tests now wont work with shuffled cards because no sorting in CompareTo method - have to be reworked
Hopefully not many bugs created - further - have to do some homeworks :)
GL guys - hope helped

Build fails on unit tests - expected :(

Already implemented.


Files can't be accessed if their name contains spaces

Describe the bug
A file which name contains spaces can be uploaded, but this file can't be accessed by its url.
To Reproduce
Steps to reproduce the behavior:

Upload a file with spaces in its name (JPG image)
The file is uploaded successfully
Select the file in the list, the image is not displayed in the right part of the web UI
Click on the link, the "File not found" error is displayed

Expected behavior
The file should be accessible.
Screenshots
Additional context
Saltcorn 0.8.1-rc.3
Windows 10
PostgreSQL 13.0

Can't replicate on Mac, will try on windows