change parameter name verificationMethods to verificationMethod

Description:
Summarize the changes you're submitting in a few sentences, including Jira ticket ATL-xxxx if applicable.
Link to any discussion, related issues and bug reports to give the context to help the reviewer understand the PR.
Alternatives Considered (optional):
Link to existing ADR (Architecture Decision Record), if any. If relevant, describe other approaches explored and the selected approach. Documenting why the methods were not selected will create a knowledge base for future reference, helping prevent others from revisiting less optimal ideas.
Checklist:

[ ] My PR follows the contribution guidelines of this project
[ ] My PR is free of third-party dependencies that don't comply with the Allowlist
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked the PR title to follow the conventional commit specification

Hey @Ekoios-Michael. Thanks for your PR I think we already identified this issue and fixed in a previous PR that was merged. I will check it. ;)

Hey @Ekoios-Michael. I can confirm this was fixed in the last build main.


refactor envVars to allow for eth2 network configs

simplifies the .env variables needed to run the app locally
establishes a process for configuring the variables for various deployments

Hey @CarlBeek, when I was QA'ing these changes I noticed that the BLS Verification signature verification includes a check for the upper and lower deposit amounts compared against depositDatum.amount, which is always 32*GWEI (as far as I know).
I've updated the MAX_DEPOSIT_AMOUNT to use PRICE_PER_VALIDATOR * GWEI * GWEI, but now setting PRICE_PER_VALIDATOR * GWEI to anything less than 32 will cause the BLS check to fail, so the user is unable to upload their key file.
    depositDatum.amount < MIN_DEPOSIT_AMOUNT ||
    depositDatum.amount > PRICE_PER_VALIDATOR * GWEI
  ) {
    return false;
  }```

This is an intended safety feature. The signature is over the amount too and its validity bounds are exactly as you described. This is another way of checking that the correct chain has been selected.
Basically, the the launchpad & CLI need to agree on the deposit sizes & on the fork version. On the CLI side, we implemented a new flag --chain which selects the chain (in the background it sets price/validator & the GENESIS_FORK_VERSION). Currently, --chain witti and --chain mainnet are supported. (After #91, we can add altona support.)
In summary, we need to add an extra parameter to these network configs for the various cli network names and add them to the network configs. Note that mainnet is the default so we don't have to supply a cli chain-name for mainnet.

Hey @CarlBeek, when I was QA'ing these changes I noticed that the BLS Verification signature verification includes a check for the upper and lower deposit amounts compared against depositDatum.amount, which is always 32*GWEI (as far as I know).
I've updated the MAX_DEPOSIT_AMOUNT to use PRICE_PER_VALIDATOR * GWEI, but now setting PRICE_PER_VALIDATOR to anything less than 32 will cause the BLS check to fail, so the user is unable to upload their key file.
if (
    depositDatum.amount < MIN_DEPOSIT_AMOUNT ||
    depositDatum.amount > PRICE_PER_VALIDATOR * GWEI
  ) {
    return false;
  }

@CarlBeek and I discussed on call, and decided to keep the original check here. The minimum is fine as inputed and the upper bound would be 32*GWEI. Hence, this check would no longer be dependent on the PRICE_PER_VALIDATOR variable.

Few other things that I synced with @georgeweiler on:

Adding in the GENESIS_FORK_VERSION, defaulting it to 0x00000000
Adding in a specific CHAIN_NAME to the environment variables and in the cli instructions
Making sure the copy for mainnet & testnet are updated and creating pill component for the name in the <AppBar>

very rough mockup of a pill for a testnet or mainnet:

if on testnet the copy would change to: "... secure the eth2 altona testnet"

@hwwhww and @CarlBeek let us know if there are any small changes on this. Please take a look at the defaulted altona GENESIS_FORK_VERSION to see if it's correct.

@CarlBeek  @Battenfield  @hwwhww I've made some updates to address the comments in this thread. Can I get a double-check on everything? 🙏

I like the landing page text for Altona and the text/button on the subsequent pages is exactly what I had in mind. I think it works well to clarify what is happening.  Maybe it would look better with alpha transparency (see attached pic) or a grey border?

Can you add one last env-var for distinguishing between GöETH and ETH please. That way we can swap out the appropriate word whenever we mention the currency.

I think this is ready for merge. :) As per @hwwhww's earlier comment, it works agains the dev branch of the deposit_cli for Altona deposits 🎉  and the remaining aesthetic points are addressed in #93.


cannot publish function on fedora 30 using official packages

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az functionapp deployment source config-zip
Errors:
The command failed with an unexpected error. Here is the traceback:

'NoneType' object has no attribute 'server_farm_id'
Traceback (most recent call last):
  File "/usr/lib64/az/lib/python2.7/site-packages/knack/cli.py", line 206, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib64/az/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 603, in execute
    raise ex
AttributeError: 'NoneType' object has no attribute 'server_farm_id'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az functionapp deployment source config-zip -n {} -g {} --src {}

Expected Behavior
Environment Summary
Linux-5.1.20-300.fc30.x86_64-x86_64-with-fedora-30-Thirty
Python 2.7.16
Shell: bash

azure-cli 2.0.70

Additional Context

it is just and uncontrolled ex. The real problem was some bad params given.
It should be nice if the Error is controlled and tells you something usefull

@panchagnula, why AppService sercice end doesn't throw when there is the plan doesn't exist?

Assigning to functions team to triage & comment

@ankitkumarr can you please take a look at this?

I'm having the same issue on MacOS.
The command failed with an unexpected error. Here is the traceback:

'NoneType' object has no attribute 'server_farm_id'
Traceback (most recent call last):
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/knack/cli.py", line 206, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 603, in execute
    raise ex
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 661, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 654, in _run_job
    six.reraise(*sys.exc_info())
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/six.py", line 693, in reraise
    raise value
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 631, in _run_job
    result = cmd_copy(params)
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/azure/cli/core/commands/__init__.py", line 305, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/azure/cli/core/__init__.py", line 485, in default_command_handler
    return op(**command_args)
  File "/usr/local/Cellar/azure-cli/2.0.72_1/libexec/lib/python3.7/site-packages/azure/cli/command_modules/appservice/custom.py", line 289, in enable_zip_deploy_functionapp
    parse_plan_id = parse_resource_id(app.server_farm_id)
AttributeError: 'NoneType' object has no attribute 'server_farm_id'

Version:
az --version
azure-cli                         2.0.72

command-modules-nspkg               2.0.3
core                              2.0.72
nspkg                              3.0.4
telemetry                          1.0.3

Python location '/usr/local/Cellar/azure-cli/2.0.72_1/libexec/bin/python'
Extensions directory '/Users/mherhold/.azure/cliextensions'

Python (Darwin) 3.7.4 (default, Sep  7 2019, 18:29:04)
[Clang 10.0.0 (clang-1<IP_ADDRESS>)]

Legal docs and information: aka.ms/AzureCliLegal

Same with latest.
azure-cli                         2.0.75
command-modules-nspkg              2.0.3
core                              2.0.75
nspkg                              3.0.4
telemetry                          1.0.4
Python location '/opt/az/bin/python3'
Extensions directory '/home/xarevision/.azure/cliextensions'
Python (Linux) 3.6.5 (default, Oct 11 2019, 09:04:53)
[GCC 8.3.0]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.

Same error with latest
azure-cli                         2.0.75
command-modules-nspkg              2.0.3
core                              2.0.75
nspkg                              3.0.4
telemetry                          1.0.4
Python location '/opt/az/bin/python3'
Extensions directory '/home/mherhold/.azure/cliextensions'
Python (Linux) 3.6.5 (default, Oct 11 2019, 09:04:53)
[GCC 8.3.0]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.

@rodrigotactech Apologies for the late reply. Could you please let me know if you are still facing the same issue with most recent version of Az CLI? Awaiting you reply.


Color attribute create nested  in a single line

I found a "error" (is only a error for me, because i need different transformation of that attributes), when there are color attributes between spaces, and, if after the color attribute, comes a space or word, without attributes, the converter transform it in something like:
This delta:
   {"insert":"colored word","attributes":{"color":"rgb(239,39,4)"},{"insert":" word"},{"insert":"another colored word","attributes":{"color":"rgb(239,39,4)"}

Is transformed to ->

colored word
 word
another colored word

That is complex to analyze, then i prefer something as this HTML:

colored word

 word

another colored word

or adding span tag instead of p tag:
colored word
 word
another colored word

How could i change it? This just happens with colors attribute

@CatHood0 I get different results using your delta JSON (which I had to make corrections to):
[
  {
    "insert": "colored word",
    "attributes": {
      "color": "rgb(239,39,4)"
    }
  },
  {
    "insert": " word"
  },
  {
    "insert": "another colored word",
    "attributes": {
      "color": "rgb(239,39,4)"
    }
  }
]

Which gives me:

colored word wordanother colored word

This is using span. The converter options I used were:
QuillDeltaToHtmlConverter(
    deltaJson,
    ConverterOptions.forEmail(),
  )

I think it could be my version (i modified some parts in the package). I will try to update de package version and test again. Thanks for the response


Stops working when switch platform to UWP

Hi!
Thanks for making this plugin.
I found when you make a blank project & add klakSpout to the camera & make sure it works, then switch the build platform to UWP (Universal Windows Platform) in build settings then hit play klak no longer sends to spout.
Unity 2019.3.3f1
Im using spout DX11 Receiver to test it
Best,
Char

Unfortunately, Spout doesn't support UWP.

I'm closing this issue now. Please feel free to reopen it for further problems.

Thank you so much for your fast response! One more quick question if I can- is there anyway to share a texture out of a UWP build? NDI?
Again, I appreciate your hard work

NDI doesn't support UWP, either. I'm afraid that there is no convenient way to share a texture from a UWP app.


Tasks Assigned to JET-Pro (Team Member)

The tasks below were assigned to @JET-Pro

Each task links to an issue that give more details about what @JET-Pro has done.

[x] #35
[x] #34
[x] #33
[x] #14

Above are summary of what the @JET-Pro worked on

Thank you Festus


Error executing container: NullPointer in OnsetOfIllness

When testing the converter with our ODM files, i got the following error:
:: Spring Boot :: (v2.4.0)

2020-11-23 16:02:00.261 INFO 1 — [ main] d.d.uds.odm2fhir.ODMtoFHIRStandalone : Starting ODMtoFHIRStandalone v0.0.1-alpha-SNAPSHOT using Java <IP_ADDRESS> on 0c8554d3b594 with PID 1 (/workspace/BOOT-INF/classes started by cnb in /workspace)
2020-11-23 16:02:00.264 INFO 1 — [ main] d.d.uds.odm2fhir.ODMtoFHIRStandalone : No active profile set, falling back to default profiles: default
2020-11-23 16:02:00.952 INFO 1 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2020-11-23 16:02:00.961 INFO 1 — [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-11-23 16:02:00.961 INFO 1 — [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.39]
2020-11-23 16:02:01.010 INFO 1 — [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-11-23 16:02:01.010 INFO 1 — [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 702 ms
2020-11-23 16:02:01.090 INFO 1 — [ main] ca.uhn.fhir.util.VersionUtil : HAPI FHIR version 5.1.0 - Rev<PHONE_NUMBER>
2020-11-23 16:02:01.094 INFO 1 — [ main] ca.uhn.fhir.context.FhirContext : Creating new FHIR context for FHIR version [R4]
2020-11-23 16:02:01.227 INFO 1 — [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-11-23 16:02:01.386 INFO 1 — [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2020-11-23 16:02:01.394 INFO 1 — [ main] d.d.uds.odm2fhir.ODMtoFHIRStandalone : Started ODMtoFHIRStandalone in 1.558 seconds (JVM running for 1.885)
2020-11-23 16:02:01.548 INFO 1 — [ main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-11-23 16:02:01.562 ERROR 1 — [ main] o.s.boot.SpringApplication : Application run failed

java.lang.IllegalStateException: Failed to execute CommandLineRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:807) ~[spring-boot-2.4.0.jar:2.4.0]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:788) ~[spring-boot-2.4.0.jar:2.4.0]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:333) ~[spring-boot-2.4.0.jar:2.4.0]
at de.difuture.uds.odm2fhir.ODMtoFHIRStandalone.main(ODMtoFHIRStandalone.java:38) ~[classes/:0.0.1-alpha-SNAPSHOT]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Unknown Source) ~[na:na]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[workspace/:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:107) ~[workspace/:na]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[workspace/:na]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) ~[workspace/:na]
Caused by: java.lang.NullPointerException: null
at de.difuture.uds.odm2fhir.fhir.mapper.OnsetOfIllness.map(OnsetOfIllness.java:35) ~[classes/:0.0.1-alpha-SNAPSHOT]
at de.difuture.uds.odm2fhir.fhir.mapper.MappedSubject.fetchFormData(MappedSubject.java:73) ~[classes/:0.0.1-alpha-SNAPSHOT]
at java.base/java.util.ArrayList.forEach(Unknown Source) ~[na:na]
at de.difuture.uds.odm2fhir.fhir.mapper.MappedSubject.map(MappedSubject.java:39) ~[classes/:0.0.1-alpha-SNAPSHOT]
at de.difuture.uds.odm2fhir.fhir.ODMtoFHIR.lambda$convertODMtoFHIR$0(ODMtoFHIR.java:45) ~[classes/:0.0.1-alpha-SNAPSHOT]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) ~[na:na]
at de.difuture.uds.odm2fhir.fhir.ODMtoFHIR.convertODMtoFHIR(ODMtoFHIR.java:47) ~[classes/:0.0.1-alpha-SNAPSHOT]
at de.difuture.uds.odm2fhir.ODMtoFHIRStandalone.run(ODMtoFHIRStandalone.java:50) ~[classes/:0.0.1-alpha-SNAPSHOT]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:804) ~[spring-boot-2.4.0.jar:2.4.0]
... 11 common frames omitted

2020-11-23 16:02:01.622 INFO 1 — [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'

(One of our datasets is mostly empty for testing purposes... Could this have caused the error?)

Dear @noemide,
thank you for reporting your issue.
This problem is already known and will hopefully be resolved soon.
The reason is that the alpha version of the ODM2FHIR mapper does not contain sufficient handling for null-values. The class OnsetOfIllness is just the first occurance of this problem.
So you are right in assuming that the mostly empty test data set is the reason.

Dear @noemide,
I'm currently trying to run your CDISC ODM file, @holger-stenzhorn gave me.
After replacing all Value="" by Value="0" for testing purposes (to bypass the Null-Handling problem), i encountered several problems besides this:

Item patient_id is not contained within your CDISC ODM (should be in krankheitsbeginn_aufnahme, as record_id is)
Item geburtsdatum (BirthDate) is not contained within your CDISC ODM (but geburtsdatum_code is! Should be in demographie)

Your error as shown above states
Caused by: java.lang.NullPointerException: null at de.difuture.uds.odm2fhir.fhir.mapper.OnsetOfIllness.map(OnsetOfIllness.java:35) ~[classes/:0.0.1-alpha-SNAPSHOT]
which does not result from the empty values but from the missing patient_id Item.
Which version of the DataDictionary did you use?

Mea culpa - The two fields Date of birth and Pat-ID are marked as "Identifying fields" in the Data Dictionary (we used the DataDictionary from 13.11.2020).
So they are not included in the export if you do not select it. I never do that and therefore I didn't think about it for the demo data.
I have now exported the data set again and this time I included the two identifying fields. The mail is on its way.
Lets give it another try. Please excuse!

@joundso Can you perhaps try and check whether version 0.0.2-alpha-SNAPSHOT of ODM2FHIR works with your (uncleaned) CDISC ODM export? It should now just return warnings in the log in case of missing or illegal data but not fail.

Hello,
I am testing the ODM2FHIR Converter on a test dataset from our REDCap instance. Using the data dictionary from the 13.11.2020 and version 0.0.2-alpha-SNAPSHOT, I had a similar error to @noemide but different cause:
Caused by: java.lang.IllegalArgumentException: theMonth must be between 0 and 11
Once I changed the month from 12. to 11. this error did not occur again.  I think the "allowable" month range should be corrected? It seems the issue with empty values (value ="") is corrected, as my dataset had missing values but did not through the same error.
However, the FHIR resource was created but not written to a file:
2020-12-07 14:05:29.571  INFO 1 --- [           main] ca.uhn.fhir.context.FhirContext          : Creating new FHIR context for FHIR version [R4]
2020-12-07 14:05:30.865  WARN 1 --- [           main] ca.uhn.fhir.parser.LenientErrorHandler   : Resource is missing required element: value
2020-12-07 14:05:30.973 ERROR 1 --- [           main] d.d.u.o.f.w.FhirBundleToFileWriter       : Failed to write bundle to file

I'm not sure what the missing "value" is... Any ideas?
FHIRResNotSaved.txt
See the complete response attached.
Thanks in advance!

Dear @mia-wis,
thanks for your Issue.
I will take a look and come back to you asap.

Dear @mia-wis,
i fixed the issue regarding the wring DateOfBirth-Handling. It will work within the update of the release.
The warning on a missing value does not affect writing the Bundles to a file. The app only issues this warning when a FHIR-Resource containing a value (e.g. Observation or MedicationStatement) is missing this value (which would be a mandatory property)
This will only occur if the value is (a) malformated or (b) missing and adds the Uncertainty-of-Presence-Extension to the resource. (at least for these resources which can't be completely skipped) Therefore, this would be represented as answered with unknown
Regarding your problem with file-writing, can you please paste your docker-command when running the container? This seems like the docker-container isn't allowed to write to the given directory.

Hi @cerbelding,
I was using docker login, then the pull and run as shown on the package page:
docker run -v /home/wis/ODM.xml:/workspace/input/ODM.xml -v /home/wis/results/:/workspace/bundle-out     docker.pkg.github.com/num-codex/odm2fhir/odm2fhir:0.0.2-alpha-snapshot
Can I specify the permission for the container/results folder somewhere?
Thanks!
Emilia

Dear @mia-wis,
your docker-command looks good.
But does the folder /home/wis/results/ already exist?
If you haven't created this folder in advance, the docker-daemon will create a file with the same name (in order to mount it as a volume).
The app requires a folder instead of a file, as the Bundles are written into seperate files.

Please make sure to delete the created results/-File with rmdir results/ (yes, that's the remove directory command, but it's nevertheless a file)
create the folder with mkdir results/
run the docker-command again!

Hi @cerbelding,
I just tried deleted/creating the folder but still get the same error message unfortunately. Thanks in advance!

I copied the conversation related to @mia-wis's issue to Issue #3.
As the original Error from this issue is solved, the issue will be closed.


Update op definitions to make them work with the new bufferization

The new bufferization mechanism in recent LLVM was slower than the old one, and we proposed --use-old-bufferization=true to use the old one.
Today, I tested the new mechanism again by --use-old-bufferization=false, and it failed to compile a model. To fix it, we need to add  DeclareOpInterfaceMethods<MemoryEffectsOpInterface>]> to all operations that work with MemRef.
This PR is to add DeclareOpInterfaceMethods<MemoryEffectsOpInterface>]> to krnl and zlow ops.

was it still slower?

Unfortunately, yes, still 2x slower than the old bufferization.

Jenkins Linux ppc64le Build #13640 [push] Update op definitions to... started at 08:19

Jenkins Linux amd64 Build #14615 [push] Update op definitions to... started at 07:09

Jenkins Linux amd64 Build #14615 [push] Update op definitions to... passed after 1 hr 7 min

Jenkins Linux s390x Build #14645 [push] Update op definitions to... passed after 1 hr 24 min

Jenkins Linux ppc64le Build #13640 [push] Update op definitions to... passed after 1 hr 51 min


Update road_corridor_test.xodr to have left lane

My colleague found out that file road_corridor_test.xodr is missing left lane linkage from road:0 lane:1 to road:1 lane:1. When using it with carla it causes a segfault.
This PR is adding missing linkage info.

Will be merged in PR #425. Thanks for the contribution!


D2IQ-65928: add BreadcrumbItem component

The BreadcrumbItem component takes care of common formatting boilerplate in breadcrumbs. You can specify an optional icon (by shape or by component), url, and/or onClick handler in addition to the breadcrumb content.
Closes D2IQ-65928
Testing

See Breadcrumb stories

Trade-offs
Dependencies
Screenshots

@nataliepina leaving to you to close this one when you're ready

Closing per - https://github.com/dcos-labs/ui-kit/pull/621


Updated radium

Addresses #40

Coverage remained the same at 99.476% when pulling 14e2981b5be3d1277c7ae14b0b5b065bd22eba5a on woodyrew:patch-1 into 5411aa8e66efaca31c8bec94a4c15cdd244fc7ae on alexcurtis:master.

Already merged

This hasn't been merged into master.

Coverage remained the same at 99.476% when pulling 14e2981b5be3d1277c7ae14b0b5b065bd22eba5a on woodyrew:patch-1 into 5411aa8e66efaca31c8bec94a4c15cdd244fc7ae on alexcurtis:master.

@alexcurtis Any chance of merging and publishing this fix please?

@woodyrew merged + published. Sorry it took so long. Thanks for your effort! :)

@alexcurtis No problem. It wasn't a revolutionary PR but if it helps out then that's good. Thanks


[Pipe Commands] Reverse lines, newline to space

Description
Adding two pipe command scripts:

Reverse lines
Convert newlines to spaces

Screencast
NA
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@pomdtr weird—those changes you suggested weren't working for me, but now they are. Just pushed a change!

Looking good, thanks for taking the time to make the changes :)


Update this starter based on eslint experiment

See the experiment here: https://github.com/mostjs/multicast/pull/4

Closed by #3


Spawn blocking

Combat feature - THE MIGHT OF THE SWARM
Motivation:
Would be useful against safe mode rooms without towers, or with empty towers. Would work as a swarm.
Description:
In some cases the safe modes are saving our opponents/enemies from us, forcing us to wait until safe mode Ends. The swarming tactic would block the spawns, preventing our opponent from spawning new creeps, forcing him/her to not to be able to recuperate. The swarm creeps could have only 1 part - moving. So they would be cheap, and effective. They would work as a counter-safe mode team.
The swarm in work: They will occupy every spot near the enemy spawn, disabling the spawning.  Numbers may vary / they will need constant reinforcements.
Related issues:

Enemy creeps become non-blocking in safe-mode. This won't work. Ironically, Overmind gets blocked that way as it is not ignoring hostile creeps when searching for paths.
See https://docs.screeps.com/api/#StructureController
"When safe mode is active, all hostile creeps become visually transparent and passable - your creeps can move through them freely (but not vice versa)."


Update hive-schema-2.3.0.postgres.sql by adding SDS_N50 index, which already exists in mysql schema.

What changes were proposed in this pull request?

Update hive-schema-2.3.0.postgres.sql by adding N50 index, which already exists in mysql schema.
Why are the changes needed?

There are a large number of operations to query SD based on CD in metastore, so N50 index should be added.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Unit test

There are similar problems in other version files, I found this problem in a large scale cluster based on hive 2.3.x.


todolist: Update to version 8.2.A8 and fix checkver

[X] I have read the Contributing Guide.

/verify


chore: upgrade to Go 1.22

As part of this upgrade, I also upgrade golangci-lint to close #406.  In order to successfully install a newer golangci-lint locally, I had to rip out the hack/tools workflow and run the linter in a container instead.  Per the golangci-lint docs, installing binaries or using a container is preferred for local installation, and go install (which is what the hack/tools workflow used) is not guaranteed to work: https://golangci-lint.run/welcome/install/#install-from-source

Current version of golangci-lint is 1.58.1. What's driving the choice of 1.56 over that?

Current version of golangci-lint is 1.58.1. What's driving the choice of 1.56 over that?

No idea.  Probably copied from a different repo that upgraded to go 1.22 earlier.  I bumped it the rest of the way now.


Method to refresh token

Hi, in my scenario I need to keep a token valid because I have to send it to the app backend. I am not able to understand how can I make a silent call to facebook to have renewed the user access token withou calling openFB.login() which prompts the user to reenter credentials.
Any idea?

the problem was linked to this:
https://github.com/ccoenraets/OpenFB/issues/60


pull request for e2e test at 12/26/2016 23:26:15

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Added one more website to the list of examples

Really like your work, so I updated my website to use Lume.
I hope it gets more attention over time!

Thank you, Deniss.
Great site, btw ;)


Server stats

Basic recording of stats on a per-server basis. Next step will be to not ignore any specified server. Right now all returned stats are for the local node. Therefore it's a partial fix for #1470.
@dgnorton

Looking into the build break.

$ curl -G http://localhost:8086/query?pretty=true --data-urlencode "q=SHOW STATS"
{
    "results": [
        {
            "series": [
                {
                    "columns": [
                        "batchWriteRx",
                        "broadcastMessageRx",
                        "broadcastMessageTx",
                        "pointWriteRx",
                        "queryRx",
                        "queryStatementRx",
                        "rowsReturned",
                        "shardWriteByte",
                        "shardWriteTime",
                        "shardsCreated",
                        "writeSeriesMessageRx",
                        "writeSeriesMessageTx"
                    ],
                    "values": [
                        [
                            15
                        ],
                        [
                            74
                        ],
                        [
                            64
                        ],
                        [
                            47
                        ],
                        [
                            78
                        ],
                        [
                            78
                        ],
                        [
                            40
                        ],
                        [
                            1350
                        ],
                        [
                            468990206
                        ],
                        [
                            9
                        ],
                        [
                            15
                        ],
                        [
                            15
                        ]
                    ]
                }
            ]
        }
    ]
}

It worked 2nd run on Circle, there was a failure in CQ test.

Change log updated. Green build.

I am actually going to revisit this, and implement a more comprehensive solution, including writing the stats to an internal database.
@corylanou

@dgnorton -- thanks for the feedback, definitely makes sense. I'm going to re-work this significantly, but will implement the parsing as you explained.


Doesn't always connect to VPN before launching account

Selecting and launching only accounts with a VPN configured doesn't seem to connect to the VPN first triggering 2FA.

After some testing it seems to occur on a fresh launch of the app, so:

Open gw2-alternator
Select one or more accounts with a VPN configured
Click Login (or Collect)

This causes it to launch as if a VPN wasn't configured (Debug-log shows: |DEBUG|ClientController|No VPN Chosen with 1 accounts)
At any subsequent attempts (such as the automatic retry after closing the GW2 login window at the 2FA prompt) the VPN connects as expected.


OVF deploy timedout

I am running ansible-playbook -vvv -i staging static_ips_ova.yml and got below error, it happend sometimes but sometimes it works well, not sure why it doesn't work somehow
The full traceback is:
  File "/tmp/ansible_vmware_deploy_ovf_payload_4zu7qy9c/ansible_vmware_deploy_ovf_payload.zip/ansible/modules/cloud/vmware/vmware_deploy_ovf.py", line 292, in run
  File "/tmp/ansible_vmware_deploy_ovf_payload_4zu7qy9c/ansible_vmware_deploy_ovf_payload.zip/ansible/modules/cloud/vmware/vmware_deploy_ovf.py", line 286, in _open_url
  File "/tmp/ansible_vmware_deploy_ovf_payload_4zu7qy9c/ansible_vmware_deploy_ovf_payload.zip/ansible/module_utils/urls.py", line 1390, in open_url
    unredirected_headers=unredirected_headers)
  File "/tmp/ansible_vmware_deploy_ovf_payload_4zu7qy9c/ansible_vmware_deploy_ovf_payload.zip/ansible/module_utils/urls.py", line 1294, in open
    r = urllib_request.urlopen(*urlopen_args)
  File "/usr/lib64/python3.6/urllib/request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python3.6/urllib/request.py", line 526, in open
    response = self._open(req, data)
  File "/usr/lib64/python3.6/urllib/request.py", line 544, in _open
    '_open', req)
  File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/tmp/ansible_vmware_deploy_ovf_payload_4zu7qy9c/ansible_vmware_deploy_ovf_payload.zip/ansible/module_utils/urls.py", line 467, in https_open
    return self.do_open(self._build_https_connection, req)
  File "/usr/lib64/python3.6/urllib/request.py", line 1351, in do_open
    raise URLError(err)
fatal: [localhost]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "allow_duplicates": false,
            "cluster": null,
            "datacenter": "homelab",
            "datastore": "datastore1",
            "deployment_option": null,
            "disk_provisioning": "thin",
            "fail_on_spec_warnings": false,
            "folder": "/homelab/vm/ocp4-sddll",
            "hostname": "<IP_ADDRESS>",
            "inject_ovf_env": false,
            "name": "rhcos-vmware",
            "networks": {
                "VM Network": "Internal Network"
            },
            "ova": "/root/ocp4-vsphere-upi-automation/downloads/rhcos-vmware.ova",
            "ovf": "/root/ocp4-vsphere-upi-automation/downloads/rhcos-vmware.ova",
            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "port": 443,
            "power_on": false,
            "properties": null,
            "proxy_host": null,
            "proxy_port": null,
            "resource_pool": "Resources",
            "username"<EMAIL_ADDRESS>            "validate_certs": false,
            "wait": true,
            "wait_for_ip_address": false
        }
    },
    "msg": "<urlopen error The write operation timed out>"
}

Sorry, I found the error because of my network quality, please ignore it

Once again I got the same error, could not deploy ovf, and this time I am sure my network is stable and fast enough, cause I dont even use wifi for connection

Hello, where are you at with this?  Honestly, the error you are getting "The write operation timed out" is either going to be your network or storage that is taking too long.  The module in use here itself is not having an issue because the error you are getting means the call was made to vCenter to deploy the template but fails to complete before timing out.

While running ansible-playbook -i staging dhcp_ova.yml I had the same write operation timed out error using vSphere 7.0.  My problem seems not to have anything to do with bandwidth or an unreliable network.   It always fails.
However, I was able to manually upload the ova file and create the rhcos-vmware template in the expected folder and then run the playbook again.  This time, the step: Deploy the OVF template into the folder didn't fail and the deployment continued.

I have run into the same issue, and same results. We can manually upload the ova but the vmware_deploy_ovf module fails with timeout.
The odd thing is this was working before. We deployed a cluster, tore it down removed all VM files and the template file and now it fails on another run?!?

May be related to upstream module issue:
https://github.com/ansible-collections/community.vmware/issues/169

This was due to an issue in the Ansible module. It is a stale issue now but resolved in newer versions of Ansible.


flake8 fails on assert statement

@JSegrave-IBM flake8 found an error that causes the build to fail.
Good first issue @Aquijada52 @TaeBlack. I will add the solution to the comment and @JSegrave-IBM can confirm.
  # stop the build if there are Python syntax errors or undefined names
  flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
  # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
  flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.8.10/x64
./src/GasExposureAnalytics.py:226:99: F821 undefined name 'required_cols'
                assert FIREFIGHTER_ID_COL in df.columns, "CSV files is missing key columns %s" % (required_cols)
                                                                                ^
1     F821 undefined name 'required_cols'

@JSegrave-IBM can you confirm the required_cols should be ['timestamp_mins', 'firefighter_id']?

I commented the code out for now. @JSegrave-IBM please let us know what the right columns are to check for in this assert statement.

@JSegrave-IBM bumping issue.

Looking at that code, I'd say it's just 'firefighter_id'. It's true that 'timestamp_mins' would also be required, but the previous line of code would already have failed if that column was missing, so looks like this one is just checking that the rest of the key is present. So, something like this then?
assert FIREFIGHTER_ID_COL in df.columns, "CSV files is missing column %s" % (FIREFIGHTER_ID_COL)


test_symbol_presence broken on Linux "devtoolset" compilers, maybe doesn't need to be disabled on macOS

This is reported as fixed in #16837, but either isn't fixed or is broken again.
The test test_symbol_presence is broken on Linux "devtoolset" compilers. "devtoolset" is a way to use a newer compiler on older LTS versions of RHEL and CentOS. It's failing for us on GCC10 on CentOS 7, RHEL 7, and RHEL 8, reporting that essentially all symbols are missing. For now I'm going to skip this test while we're in development phase on this project, but I'm concerned compliance issues will prevent us from moving beyond development with this test skipped.
CentOS 7 with Devtoolset GCC 10
$ nm --version
GNU nm version 2.35-5.el7.3
...
# OPT
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options @@OPENSSL_3.0.0T b6e10 8
# DEBUG
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options @@OPENSSL_3.0.0T b6c6c d

Result: Test fails, reports hundreds of missing symbols
RHEL 7 with Devtoolset GCC 10
$ nm --version
GNU nm version 2.35-5.el7.4
...
# OPT
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options @@OPENSSL_3.0.0T b6e10 8
# DEBUG
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options @@OPENSSL_3.0.0T b6c6c d

Result: Test fails, reports hundreds of missing symbols
RHEL 8 with Devtoolset GCC 10
$ nm --version
GNU nm version 2.35-8.el8_5.6
...
# OPT
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options @@OPENSSL_3.0.0T b6e10 8
# DEBUG
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options @@OPENSSL_3.0.0T b6c6c d

Result: Test fails, reports hundreds of missing symbols
RHEL 8 with stock GCC 8
$ nm --version
GNU nm version 2.30-108.el8_5.1
...
# OPT
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options T<PHONE_NUMBER>0b6cc0<PHONE_NUMBER>000008
# DEBUG
$ nm -DPg libcrypto.so.3 | grep AES_options
AES_options T<PHONE_NUMBER>0b6c78<PHONE_NUMBER>00000d

Result: Test passes
macOS 11.6.2 with Clang 13
$ nm --version
Apple LLVM version 13.0.0 (clang-13<IP_ADDRESS>)
...
# OPT
$ nm -Pg libcrypto.3.dylib | grep AES_options
_AES_options T 7c40 0
# DEBUG
$ nm -Pg libcrypto.3.dylib | grep AES_options
_AES_options T 4e40 0

Result: Test disabled on macOS, but does it need to be?

This is caused by a bug in GNU Binutils 2.35 which is fixed in 2.35.2. Upstream issue: https://sourceware.org/bugzilla/show_bug.cgi?id=27128.
We could make the test skipped for the buggy versions of nm, although I doubt if it should be handled on the OpenSSL side.

Agreed, its seem like a stretch for OpenSSL to address this one.

I wonder if we could somehow test for sane output from nm and skip the test if its not sane?

I like Matt's idea. This approach could also get the test defacto working on macOS: In newer versions of macOS, the nm output is sane, and so the test would run on those platforms.

The problem is how to check the nm output is sane and it is not the case that the symbol export is somehow broken.

Check a well known symbol from libcrypto. Grep the output from nm to see if it exists at all. If it exists we assume symbol export is working in some capacity. If no symbol export at all then die. Then check the format of the output for that symbol and see if it is a format we recognise. If an unrecognised format then skip the test. Otherwise run the test normally.


publication links broken

Publication links take you to a truncated URL.
@1ozturkbe can you take a look at this asap?

Thought this would be simple, but it's a pretty weird bug- it doesn't occur if I build with jekyll locally. My guess is that it's something with baseurl (seems like it shouldn't end in a slash) but it's hard to tell what GitHub Pages' behavior will be.
Some alternatives that might work (using gassolar.pdf):
/publications/gassolar.pdf
{{ site.baseurl }}publications/gassolar.pdf
{{ site.url }}/publications/gassolar.pdf
http://hoburg.mit.edu/publications/gassolar.pdf
I've put in a PR for the last one, although it's arguably the worst from a modularity standpoint.

fantastic, thanks for the quick fix.

ok good hotfix, let's leave this open to find a more elegant solution
for what it's worth I think this worked at one point, so maybe a new version of something isn't playing nice?


ClientRuntime - Microsoft.Rest.ServiceClient : Add support for in-memory client handler Microsoft.Owin.Testing.OwinClientHandler

Hi,
as of today, we are forced to use an HttpClientHandler as the root handler in the class Microsoft.Rest.ServiceClient.
Since we have a webapi selfhosted in OWIN, we would like to run our integration tests against an in-memory webapi so that our tests run faster. This can be achieve using the package Microsoft.Owin.Testing and using the OwinClientHandler.
We generated our client with AutoRest so the only solution I can think of is inherit from the generated client (that in the end inherits from ServiceClient) and initialize the HttpClient ourselves.
It would be nice if we could provide the OwinClientHandler directly to the ServiceClient so that we do not rewrite the IntializeHttpClient() part.
Thank you

@vtherry ServiceClient provides constructor overloads, which allows clients that extend ServiceClient to use any rHttpClient they choose, which should serve the testing needs.
The problem is that the Owin Handler extends HttpMessageHandler, which does not allow setting important Http authentication, proxy, and other properties.  This being the case, using the HttpClient constructor overload seems liek the appropriate mechanism for supporting this.

@vtherry does the suggested overload constructor fix your issue? Please let us know if it does not.
We are going to close this issue - please feel free to reopen if your issue has not be resolved.


Dart2js output isn't hermetic if deferred loading is used

I noticed today that if you use deferred loading it adds lines like this to the output JS which includes absolute file uris:
H.checkDeferredIsLoaded("message", "file:///tmp/scratch_spaceJVGEKY/web/sub/message.dart");

This is given command line args with a relative path like -oweb/main.dart.js web/main.dart.
I think we might not be hitting this internally if we are using the google3:// style uris, so we could potentially work around it with a similar thing in build_web_compilers as well.

Yes, having two compilations produce different bits as a result of using different tmp directories is a problem.
The URI argument to checkDeferredIsLoaded is used only in error messages. It could be changed without much impact. Imports of packages seem to have package: style URIs, so it is only libraries in the main package that have this problem.
See also https://github.com/dart-lang/sdk/issues/29637.


fix: class field is not accessible via super

fixes #54054
fixes #35314
fixes #54900

Just a question, does this handle the JS getter methods? Get methods work with super call in JS.

Just a question, does this handle the JS getter methods? Get methods work with super call in JS.

Only class fields are affected. getter and setters work normally.

I was referred to this fix from my issue:

https://github.com/microsoft/TypeScript/issues/54900

@typescript-bot run dt
@typescript-bot test top100

These errors might be interesting to look at.

In appsmith, the code presumably works at runtime because the compile target is es6 where class fields aren’t supported. VS Code uses useDefineForClassFields: false which I assume has the same effect for this context. We could choose to only issue this error when class fields will be untransformed, but (1) the code is wrong even if it will technically work, and (2) we don’t know anything about the emit of dependency code, so it would be better to do this consistently. Since we’re past 5.2-beta, I think we should wait until 5.3 to merge this breaking change.

In appsmith, the code presumably works at runtime because the compile target is es6 where class fields aren’t supported. VS Code uses useDefineForClassFields: false which I assume has the same effect for this context. We could choose to only issue this error when class fields will be untransformed, but (1) the code is wrong even if it will technically work, and (2) we don’t know anything about the emit of dependency code, so it would be better to do this consistently. Since we’re past 5.2-beta, I think we should wait until 5.3 to merge this breaking change.

Sorry, I'm confused, in what case it can be valid? I cannot think of a setup that defines a class field on the prototype instead of the instance.

Hm, I assumed that a quirk of the transformation down to ES2015 would make it work somehow, but I think you’re right. Maybe this stuff isn’t working at all? This is very odd 🤔

Even stranger, the first error, in appsmith, looks like a typo.


Request to Add Hacktoberfest Labels.

I would like to contribute to your repository for Hacktoberfest 2023. However, it would be helpful if you could add the "Hacktoberfest" and "Hacktoberfest2023" labels to the repository to make it easier for contributors like me to identify issues eligible for participation in the event.
Adding these labels will encourage more contributors to participate in Hacktoberfest and contribute to your project.
Thank you for considering this request.
Best regards,
Khushi

Hey, khushi thanks for your opinion, will think about it.


madhavtripathi05

[X] I have read the Code Of Conduct.
[X] I have followed all the steps of submission properly.

Done


⚠ PrivateHD has degraded performance

In 1fa50bf, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2042 ms

Resolved: PrivateHD performance has improved in b9f5fa4.


Add support in Tracer for additional arguments in the lambda_handler

Is your feature request related to a problem? Please describe.
We have a decorator that injects a new argument to the lambda_handler and this is not compatible with the current implementation of the Tracer.capture_lambda_handler, as it calls the passed lambda_handler with the standar event and context arguments only.
Describe the solution you'd like
Allow other decorators to add new arguments to the lambda_handler and pass **kwargs in addition to the event and context variables to the lambda_handler call.
Describe alternatives you've considered
Can the Tracer.capture_lambda_handler be changed not to call the lambda_handler, but pass down the decorated function with the tracer instance?

Hi @hanninen, thanks for raising this - We're returning from PTO this week.
Do you mean like this?
...
@tracer.capture_lambda_handler
def handler(event, context, **kwargs):
    return dummy_response

If so, sure thing, it'd be a no brainier for us to ship it in the next release - let us know!
Here's a test to exemplifies this better:
def test_capture_lambda_handler_with_additional_kwargs(dummy_response):
    # GIVEN tracer lambda handler decorator is used
    tracer = Tracer(disabled=True)

    # WHEN a lambda handler signature has additional keyword arguments
    @tracer.capture_lambda_handler
    def handler(event, context, my_extra_option=None, **kwargs):
        return dummy_response

    # THEN tracer should not raise an Exception
    handler({}, {}, blah="blah")

Thank you

Hi @hanninen, thanks for raising this - We're returning from PTO this week.
Do you mean like this?
...
@tracer.capture_lambda_handler
def handler(event, context, **kwargs):
    return dummy_response

If so, sure thing, it'd be a no brainier for us to ship it in the next release - let us know!
Here's a test to exemplifies this better:
def test_capture_lambda_handler_with_additional_kwargs(dummy_response):
    # GIVEN tracer lambda handler decorator is used
    tracer = Tracer(disabled=True)

    # WHEN a lambda handler signature has additional keyword arguments
    @tracer.capture_lambda_handler
    def handler(event, context, my_extra_option=None, **kwargs):
        return dummy_response

    # THEN tracer should not raise an Exception
    handler({}, {}, blah="blah")

Thank you

Yes **kwargs should do it just fine, thanks!

Yes **kwargs should do it just fine, thanks!

Thanks @hanninen - It'll be available tomorrow in the 1.10 release

Thanks @hanninen - It'll be available tomorrow in the 1.10 release

hey @hanninen - This is now available on 1.10 on PyPi and on SAR :)
Closing this now, and thank you for raising it

hey @hanninen - This is now available on 1.10 on PyPi and on SAR :)
Closing this now, and thank you for raising it


updating travis & appveyor.

Also trying a windows binary build w/ artifact retrieval

Coverage remained the same at 96.0% when pulling 69d76a855937ea7fbf8763588cd34b875d98da74 on jread-usgs:master into 538528358a169acb9879358c03561cc008446210 on USGS-R:master.

Coverage remained the same at 96.0% when pulling 0c290ae6ea9614159957da6df0fe463f97502c88 on jread-usgs:master into 538528358a169acb9879358c03561cc008446210 on USGS-R:master.

Changes Unknown when pulling 1490d2f90b3c1605a8001057db2be310c36e0915 on jread-usgs:master into ** on USGS-R:master**.

Changes Unknown when pulling 6bd8b9d4ae96adbd0923f750efddd00a1700db12 on jread-usgs:master into ** on USGS-R:master**.


IOGT 17: Article remove date

@peterp please review
Showing date

Updated

@Mitso is the date displayed anywhere else? Do we still use f-small and those kind of things in this site?

@peterp it is only displayed on the section and subsection page below each article.
We do not use f-small class anymore but font-variables.

👍


FM Broadcast band tx

Is the UV-K5 capable of transmitting in the FM broadcast band (88-108 Mhz) with mod_enable_tx_50to850_except_airband.py or is this range blocked?

Yes. However don't expect 250KHz wide, broadcast-bandwidth FM.

How do you get it to accept a frequency in this range? I've tried with the various extended, transmit, frequency, mods, and it will not except a frequency in the FM broadcast bad range. What am I missing?


Use SHA references in PROXY_SKEW_TARGETS

Louis discovered that istio-releases/daily-release/prow/lib.sh uses a release-tag rather than a SHA, causing the build script to download a proxy build of the form https://storage.googleapis.com/istio-build/proxy/envoy-$PROXY_TAG.tar.gz, but all proxy artifacts are built using SHA as names. Immediate fix is to update prow/lib.sh to reference using SHA.
fixes https://github.com/istio/istio/issues/4126
/cc @louiscryan

/assign @ldemailly @sebastienvas @rkpagadala

how did it ever work?

@ldemailly it is a new target and never worked before

I'm afraid this change is only going to trade one problem for another, due to the conflicting uses and interpretations of PROXY_HUB/PROXY_TAG.  Changing to a hash will unblock the download issue experienced during "make init", but the test will probably start to look for pilot's proxy image at the wrong tag.
The various skew scripts (e.g., daily-e2e-cluster_wide-auth-skew.sh) do:

for p in ${PROXY_SKEW_TARGETS[@]}; do
  echo "===== Testing with Proxy $p ====="
  export PROXY_HUB="gcr.io/istio-io"
  export PROXY_TAG="${p}"
  ${ROOT}/prow/e2e-suite.sh --auth_enable --cluster_wide
done

So PROXY_HUB and PROXY_TAG are set, which then overrides what the Makefile reads from  istio.deps during "make init".  The problem (per my reading) is that e2e-suite.sh also uses these variables as part of:

 --proxy_hub="${PROXY_HUB:-${HUB}}"
  --proxy_tag="${PROXY_TAG:-${TAG}}"

and the test appear to use --proxy_hub and --proxy_tag to point to pilot's proxy image.
A potential solution is to change this to:

 --proxy_hub="${HUB}"
  --proxy_tag="${TAG}"

but in any case it seems like PROXY_HUB/PROXY_TAG in the skew scripts, Makefile, and istio.deps should be renamed to something else (e.g., PROXY_REPO_COMMIT, or one of the other suggestions that @ldemailly has in another recent PR).

Based on today's qualification test it looks my concern is/was valid since the proxy reference seems to be to something that doesn't look valid to me:
--proxy_hub=gcr.io/istio-io --proxy_tag=8f532a4a7af2bdb09b09ef49906538ee25bd578d
vs something like, e.g.
--mixer_hub=gcr.io/istio-release --mixer_tag=0.7.0-pre20180309-09-15-15
but the tests still passed so perhaps these proxy inputs aren't actually used.


2.0.x

@jpfowler did you make this PR by accident?

I apologize. I'm new to using the Github interface and not really sure what I did. (I'm still not sure really, what happened anyway)?

No problem. You opened a pull request from pyzmq's 2.0.x branch to its master branch.  This could be caused by accidentally clicking a button or two while browsing code.


Accountant should be able to access attachments

It seems the accountant role lacks the ability to see expense attachments. Accountants need access to everything, same as an Admin. This has created an issue for OCF's audit process and we're having to manually download attachments from expenses and send them to the accountants.

According to https://github.com/opencollective/opencollective-api/blob/44cd0976d3e58bd6c8df890a4c325c7a9fcb176c/server/graphql/common/expenses.ts#L186, we do allow accountants to see expense attachments.
@alanna Could you share more details, especially:

What's the account of the accountant
From where are they trying to download the attachments

This is the account (on OCF)

I was on screenshare with them and they are not seeing attachments on expenses (we were looking at multiple legal invoices on the OCF budget)

making note of this for the "financial systems" working group effort.


Don't work on ie11 and iOS Safari

On ie11 the links don't works.
On iOS Safari when you go to the link the scroll don't works.
Some suggestion to fix this?

Hi, dude, I faced with the same issues. You can skip this browsers :)
function isIE() { return navigator.userAgent.match(/Edge\/|Trident\/|MSIE /); }
function isMobileSafari() { return navigator.userAgent.match(/(iPod|iPhone|iPad)/); }
$(document).ready(function () {
if (isMobileSafari() || isIE()) return;
  scrollFrame('.infintity-grid .isotope-cell a');
});

It's not working for me either. I cannot scroll inside the clicked page on iOS Safari. It just gets stuck and seems to be scrolling the page behind the iframe.


Fix table sorting on current reservations page

Similar to #1378, the sorting on /reservations/current/:id doesn't really make sense. It looks like it's just sorting by reservation ID, but really future reservations should be sorted by start date, in ascending order, and checked out reservations should be sorted by checkout time, in descending order. Should be easy, let's bundle it in v6.0.0.

this is sorting correctly for me on master

You're right, we fixed this in #1378. Good catch, closing.


Port multicluster secrets from Service Mesh Hub

when this merges i'll make the Code Gen, Tests, and changelog-bot checks mandatory


Get the html element in the second tag

What versions are you running?
How to get the page elements in the following way, the ctx in the following way is still the context of the original page, how to get the context of the new page
chromedp.Targets
chromedp.WithTargetID

What did you do? Include clear steps.

num,err := chromedp.Targets(ctx)  //The current browser has 2 tabs
ctxId := chromedp.WithTargetID(num[1].TargetID) //Switch to the second tab , What is the use of this return value

var res2 string
err = chromedp.OuterHTML("div", &res2, chromedp.ByQuery).Do(ctx) //Get the html element in the second tag

What did you expect to see?
Get the html element in the second tag
What did you see instead?
Still get the element in the first tag

See the example here: https://github.com/chromedp/chromedp/issues/949#issuecomment-970262862.


Fixed bug that always downloaded all filing types

Fixed bug that downloaded all filing types regardless of which filing type the user specified. Now it downloads only the filing types specified by the user (although not exactly, for example if you specify 10-K it downloads 10-K2A too)

[X ] closes #62
[ X] tests added / passed
[ ] passes git diff upstream/master -u -- "*.py" | flake8 --diff
[ ] added entry to docs/whatsnew latest version

Fixed bug that downloaded all filing types regardless of which filing type the user specified. Now it downloads only the filing types specified by the user (although not exactly, for example if you specify 10-K it downloads 10-K2A too)

Good catch!

@raffam if you can take care of the flake8 errors that Travis is showing (you can read the log details here), we can go ahead and merge this PR. Thanks for your help with this!

@raffam I went ahead and made the necessary changes for this to pass the Travis tests with #68. All credit goes to you on this one.


Address generated by this lib is different when you input the same mnemonic on wallets like Coinbase

Any idea why it results in a different address?

@oliverbytes there are could be different derivePath of encoding (check function getPrivateKey at the bottom). Long time ago I solved it by additionally including another library "bitcoin_flutter" (here are fork for null_safety migration: https://github.com/fedser/bitcoin_flutter) for some functionality. Here are my example how I convert seed_phrase to privateKey, then privateKey, to publicKey:
import 'package:bip39/bip39.dart' as bip39;
import 'package:bitcoin_flutter/bitcoin_flutter.dart';

final normalisedSeedPhrase = this._seedPhraseNormalise(seedPhrase);
final String cryptMnemonic = bip39.mnemonicToEntropy(normalisedSeedPhrase);
final String privateKey = this.getPrivateKey(normalisedSeedPhrase: normalisedSeedPhrase);
final address = await this.getPublicAddress(privateKey);
debugPrint("pubKey = $address");
debugPrint("privKey = $privateKey");

Here are used functions:
String getPrivateKey({required String normalisedSeedPhrase}) {
    var seed = bip39.mnemonicToSeed(normalisedSeedPhrase);
    final hdWallet = new HDWallet.fromSeed(seed).derivePath("m/44'/60'/0'/0/0");
    final String? privKey = hdWallet.privKey;
    assert(privKey != null);
    return privKey ?? "";
 }

String _seedPhraseNormalise(String seedPhrase) {
    return _mnemonicWords(seedPhrase).join(" ");
 }

 List<String> _mnemonicWords(String mnemonic) {
    return mnemonic
        .split(" ")
        .where((item) => item.trim().isNotEmpty)
        .map((item) => item.trim())
        .toList();
 }

Future<EthereumAddress> getPublicAddress(String privateKey) async {
    final private = EthPrivateKey.fromHex(privateKey);
    final address = await private.extractAddress();
    return address;
}

Sorry for my late response. All good now. Thank you very much

Did there is another way to avoid using another lib ?


Drop support for legacy Python 2

Fixes #194.

Hi @hugovk, thanks for the PR! Our policy is to merge PR's with develop. I changed the base branch from master to develop but this causes a couple of merge conflicts, so I changed it back. Could you make sure that you branch of from develop?

Yes, I'll have a look.
Do you merge to develop to master for releases?
I recommend setting the default branch to develop in the repo settings, that way all new PRs go against that.
You should also mention to make it against develop in a PR template and contributing doc.

https://help.github.com/en/articles/about-issue-and-pull-request-templates
https://help.github.com/en/articles/setting-guidelines-for-repository-contributors

Do you merge to develop to master for releases?
I recommend setting the default branch to develop in the repo settings, that way all new PRs go against that.
You should also mention to make it against develop in a PR template and contributing doc.

https://help.github.com/en/articles/about-issue-and-pull-request-templates
https://help.github.com/en/articles/setting-guidelines-for-repository-contributors

Yes, that's how we do it. And I totally agree that having the master as the default branch is causing unnecessary amounts of work. I've just put this issue on the todo list for a owner of the pdfminer organisation (#304).

Please see PR #305, against develop.


Attention mask and global attention

Hi, in your code, an attention mask is applied to prevent non-adjacent vertex to attend to each other. However, in your visualization, there are strong attention score between non-adjacent vertices like between right wrist and head. Since the visualization code is not yet available, could you explain why would the said situation happen?  Thx so much in advanced!!

Hello,
The proposed method only masks self-attentions of non-adjacent vertices. In other words, it allows self-attentions between joints and vertices. The figure visualizes the attention scores in self-attentions between a specific body joint (ie., right wrist) and vertices.
For the visualization, please refer to Issue #11
Thanks for your interest in our work!!

Please reopen this issue if you need more help regarding this.

Oh I see! This answers my question. Thanks!!


Issue with jinja2.9 and flask-assets

There seems to be an issue while using flask-assets with jinja 2.9 and 2.9.1 in the template there isn't the asset_url.
This test fails with jinja2.9 and 2.9.1 but works with 2.8.1.

It would be helpful if you included information on how exactly that test fails.

    assert t.render() == '/static/file1;/static/file2;'

the t.render() returns ';;'

Please include a self-contained example that reproduces the issue.

I wonder if https://github.com/miracle2k/webassets/blob/master/src/webassets/ext/jinja2.py#L87 is using any undocumented APIs and/or relying on Jinja internals that changed with @mitsuhiko's recent scoping changes...

I don't even know what this is supposed to do. It sets the arguments to the call block to context store as name context. That seems wrong.

@davidism sur
app.py
from flask import Flask, render_template
from flask_assets import Environment, Bundle

app = Flask(__name__)
assets = Environment(app)
js = Bundle(
        'js/app.js',
        output='gen/app.js'
        )
assets.register(
        'js_all',
        js
        )

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == '__main__':
    app.run()

index.html
<html>
	{% assets "js_all" %}
	<script src="{{ ASSET_URL }}"></script>
	{% endassets %}
</html>

with jinja2>2.9
λ ~/ http :5000
HTTP/1.0 200 OK
Content-Length: 49
Content-Type: text/html; charset=utf-8
Date: Sat, 07 Jan 2017 22:58:47 GMT
Server: Werkzeug/0.11.15 Python/3.6.0

	<html>

		<script src=""></script>

	</html>

with jinja2<2.9
λ ~/ http :5000
HTTP/1.0 200 OK
Content-Length: 76
Content-Type: text/html; charset=utf-8
Date: Sat, 07 Jan 2017 23:00:29 GMT
Server: Werkzeug/0.11.15 Python/3.6.0

	<html>

		<script src="/static/gen/app.js?491dc8f8"></script>

	</html>

From what I can tell this is an issue in webassets. I left a comment here: https://github.com/miracle2k/webassets/issues/477
Closing there here until someone proves this wrong :)


ThingToBeRepaired Class

How To Demo:
constructor test

all fields are initialized with valid values
errors for invalid values

setIsBroken test

method updates the field with a new boolean

displayDamageDescription test

prints damage description

1.5


Prediction for some samples does not follow the json that is obtained by get_dump()

This is the 99th booster of my model which I obtained from the get_dump() function.
When I perform model._Booster.predict(X_test, pred_leaf=True), then for the 99th estimator it gives output as 8. That means, for that estimator, output node number is 8, which is -0.094418548 here.
My input data is:
[cylinders] := 4.0
[displacement] := 98.0
[horsepower] := 63.0
[weight] := 2051.0
[acceleration] := 17.0
[model year] := 77.0
[origin] := 1.0
So in the estimator, the first condition is model_year < 80, which is true. So it goes to true node.
Then second condition is horsepower < 69, which is also true. So again it goes to true node.
Then third condition is horsepower <  64, which is again true. So it should give true node value as 0.0231908988, whose node id is 7.
Then why model._Booster.predict(X_test, pred_leaf=True) function giving 8 as output for that estimator?

Can you post a script that reproduce this error?

Manual steps are involved in this case.

Getting the leaf predictors from the model.
Dumping all predictors to a json file using dump_model() function.
For a given sample performing manual calculation using the json file as given above to get the predictions of each predictor.
Comparing the true leaf node's ID with the IDs fetched from the model in step 1.

In step 4, some IDs do not match.

Thanks for describing your steps. It would be nice if you can share your model and dataset so that we can start fixing the bug.

model.zip
The zip file contains

The model (model.bin)
The dataset (auto-mpg.csv)
A jupyter notebook to show the flow (test.ipynb and test.html)
The dumped json file (model.json)

For the dataset if you perform train_test_split with random_state = 101 then you will find the previously mentioned error with 23rd test sample and 99th predictor.

I'm going off to a 3-day vacation, but I'll look at it afterwards.

Thanks and happy vacation.

Is it true that the JSON file can not be used for prediction? Do you have any update?

@Nirmal-Neel I injected some diagnostic code and found out that the C++ code has different set of split points than the JSON dump:
RegTree::GetLeafIndex() from include/xgboost/tree_model.h:
node_id = 0, split_index = 5, fvalue = 77
    fvalue = 77, split_value = 79.5
    ==> fvalue < split_value, go to left child node 1
node_id = 1, split_index = 2, fvalue = 63
    fvalue = 63, split_value = 68.5
    ==> fvalue < split_value, go to left child node 3
node_id = 3, split_index = 2, fvalue = 63
    fvalue = 63, split_value = 63
    ==> fvalue >= split_value, go to right child node 8

The JSON model dump:
node_id = 0, split_index = 5, fvalue = 77.0
    fvalue = 77.0, split_value = 80
    ==> fvalue < split_value, go to left child node 1
node_id = 1, split_index = 2, fvalue = 63.0
    fvalue = 63.0, split_value = 69
    ==> fvalue < split_value, go to left child node 3
node_id = 3, split_index = 2, fvalue = 63.0
    fvalue = 63.0, split_value = 64
    ==> fvalue < split_value, go to left child node 7

It turns out the JSON dump was formatted incorrectly. For integer features, the JSON dump will show rounded-up values of thresholds. So 79.5 is replaced with 80, 68.5 is replaced with 69 and so forth. The threshold value 63.0 in node 3 was rounded up as well, when it shouldn't have been.
I will submit a patch so that integer thresholds don't get rounded up.

See #3717.

Thank you. I will check it and will confirm you.


Fixes Envoy Service Equality Check

Fixes an issue where the incorrect equality check was being used for the two supported network publishing types.
Signed-off-by: Daneyon Hansen<EMAIL_ADDRESS>

Would be a good area to add to a follow-up for improving test coverage.

@skriss I agree, but the bug is only exposed when using the LoadBalancerService network publishing type. How does Contour handle testing against a cloud LB environment? MetalLB can be used to simulate a service of type LoadBalancer.


How to determine the step size using Euler's Method?

It is up to you.


Improve chart look and feel

Make outliers be red, still need to add the null counts to the histogram


Hangs occured when C++ program calls the Iceoryx2 API

I'm planning to use iceoryx2 as the low-latency IPC method for my project's C++ client and Rust server. Recently I've tried to wrap iceoryx2 into my C++ client using Rust-CXX. However, I observed that, when the C++ client uses std::thread to create threads and call iceoryx2 in the spawned thread, it sometimes hangs. This bug can be reproduced on both Mac OS (Mac M1) and Linux (x86 CPU).
To the best of my knowledge, iceoryx2 is the fastest IPC method for Rust programs. It seems that iceoryx2 is the only viable solution for my project. So I really hope this bug can be resolved ASAP. I'm eagerly looking forward to a solution and a matured (or premature) C++ library of iceoryx2. Thanks!

@qpswwww do you have a minimal example? Ideally with build instructions. Are you using a released version or the main branch?
We are currently also working on official C and C++ bindings. They should be available at the end of June (C) and end of July (C++).

@qpswwww do you have a minimal example? Ideally with build instructions. Are you using a released version or the main branch?
We are currently also working on official C and C++ bindings. They should be available at the end of June (C) and end of July (C++).

For your information, I post my client code here. I have read the current C example in iceoryx2, but it is only single-threaded. I suggest considering the C++ multi-thread scenario. Because we usually call the APIs in a spawned thread.
This is the C++ part:
#include <iostream>
#include "rust_part.h"
#include <thread>
#include <chrono>
#include "unistd.h"
#include "build/rust_part/rust_part.h"

void test_request_launch_kernel(int base_id) {
    for(int i=0;i<100;i++) {
        std::cout<<"C++ call launch " << base_id+i << std::endl;
        rust_part::send_request_to_server(base_id+i);
        std::cout<<"C++ finished call launch " << base_id+i << std::endl;
        usleep(10);
    }
}

int main()
{
    rust_part::launch_request_service_daemon();
    rust_part::launch_reply_service_daemon();
    std::thread th2(test_request_launch_kernel, 0);
    std::thread th3(test_request_launch_kernel, 10000);
    std::thread th4(test_request_launch_kernel, 10000000);
    th2.join();
    th3.join();
    th4.join();
    return 0;
}

Rust part client code:
#[cxx::bridge]
mod ffi {
    #[namespace = "rust_part"]
    extern "Rust" {
        fn send_request_to_server(client_id: u64);
        fn launch_request_service_daemon();
        fn launch_reply_service_daemon();
    }
}

fn launch_request_service_daemon() {
    let (_, request_channel_recver) = request_channel.clone();
    let request_service_name = match ServiceName::new("My/Funk/ServiceName") {
        Ok(val) => val,
        Err(err) => {
            println!("Failed to create service name, {}", err);
            exit(233)
        }
    };

   let request_service = match zero_copy::Service::new(&request_service_name)
        .publish_subscribe()
        .open_or_create::<MessageStruct>() {
        Ok(val) => {
            println!("Publish service Created.");
            val
        },
        Err(err) => {
            println!("Failed to create service, {}", err);
            exit(233)
        }
   };

    let request_publisher = match request_service.publisher().create() {
        Ok(val) => val,
        Err(err) => {
            println!("Failed to create request service publisher, {}", err);
            exit(233)
        }
    };
    loop {
        match request_channel_recver.recv() {
            Err(err) => {
                println!("Failed to loan uninit(), {}", err);
                return;
            }
            Ok(request_msg) => {
                match request_publisher.loan_uninit() {
                    Err(err) => {
                        println!("Failed to loan uninit(), {}", err);
                        return;
                    }
                    Ok(val) => {
                        let sample = val.write_payload(request_msg);
                        match sample.send() {
                            Ok(..) => {println!("Send a reply")}
                            Err(err) => println!("Failed to send reply, {}", err)
                        }
                    }
                };
            }
        }
    }
}

fn launch_reply_service_daemon() {
    let reply_service_name = match ServiceName::new("My/Funk/ReplyFromServer") {
        Ok(val) => val,
        Err(err) => {
            println!("Failed to create service name, {}", err);
            exit(233)
        }
    };

    let reply_service = match zero_copy::Service::new(&reply_service_name)
        .publish_subscribe()
        .open_or_create::<ReplyStruct>() {
        Ok(val) => {
            println!("Publish service Created.");
            val
        },
        Err(err) => {
            println!("Failed to create service, {}", err);
            exit(233)
        }
    };

    let reply_subscriber = match reply_service.subscriber().create() {
        Ok(val) => val,
        Err(err) => {
            println!("Failed to create reply service subscriber, {}", err);
            exit(233)
        }
    };
    while let Iox2Event::Tick = Iox2::wait(Duration::ZERO) {
        loop {
            let received_data = reply_subscriber.receive();
            match received_data {
                Ok(val) => {
                    match val {
                        Some(val) => {
                            println!("Received reply: {:?}", val);
                        }
                        _ => {}
                    }
                }
                Err(err) => println!("Failed to receive data, {}", err),
            }
        }
    }
}

fn send_request_to_server(client_id: u64) {
    let msg = MessageStruct{
        client_id: client_id,
    };
    let (request_channel_sender, request_channel_recver) = request_channel.clone();
    request_channel_sender.send(msg).expect("Failed to send request to the request channel")
}

@qpswwww do you have a minimal example? Ideally with build instructions. Are you using a released version or the main branch?
We are currently also working on official C and C++ bindings. They should be available at the end of June (C) and end of July (C++).

I'm using the latest released version iceoryx2 = "0.3.0".

@qpswwww we need a fully working example which triggers the hang. Without that we are not able to find the root cause. For example, the code you provided does not compile and if changes were made to make it compile, it would block in request_channel_recver.recv() in the rust_part::launch_request_service_daemon(); call. Looking at the provided code, I cannot see anything that would make it hang with iceoryx as the root cause.
The C examples are currently just there to test CI setup and build system. The actual code will be added the next weeks.

@qpswwww like mentioned in the previous comment, we need a working minimal example which triggers the bug you describe

@qpswwww I am closing the issue since we require a minimal working example that triggers the bug.
Please feel free to reopen the issue when you can provide an example.


autopilot stuck in constant reset

recently when running autopilot it just keeps cycling through "autopilot is going to reset in 5m" count down and start all over again.
How do I clear this up?

Autopilot resets its timer each time you are able to afford a new
augmentation (to avoid resetting too soon if your income recently spiked).
If you want to confirm or deny whether that's the case, open the tail logs
for autopilot and show us the last 10 or so messages it printed.
On Tue, Nov 7, 2023, 9:01 p.m. jbedgood @.***> wrote:

recently when running autopilot it just keeps cycling through "autopilot
is going to reset in 5m" count down and start all over again.
How do I clear this up?
—
Reply to this email directly, view it on GitHub
https://github.com/alainbryden/bitburner-scripts/issues/326, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARN33MURUN7VM6BDVG45WLYDLKWRAVCNFSM6AAAAAA7CCEVI6VHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4DENJRHE3DENA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Where is the tail log?

Every scrip that runs in bitburner has its own log window. You access it by
running the tail command and passing in the name of the script - hence
"tail log"
Autopilot's log window should be open by default, unless you closed it. If
so, run 'tail autopilot.js' to get it back.
On Tue, Nov 7, 2023, 9:06 p.m. jbedgood @.***> wrote:

Where is the tail log?
—
Reply to this email directly, view it on GitHub
https://github.com/alainbryden/bitburner-scripts/issues/326#issuecomment-1800839431,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARN33LVKVI2KKAT4JV7L4TYDLLKFAVCNFSM6AAAAAA7CCEVI6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBQHAZTSNBTGE
.
You are receiving this because you commented.Message ID:
@.***>

well it seems to have cleared itself finally. It cycled through the reset countdown like 5 times and finally completed a reset and is running now.


When I use the fullscreen helper within a fragment.

I am trying to use the FullScreen helper on a fragment but for some reason, it keeps crashing.
I keep getting this error:
Attempt to invoke virtual method 'androidx.fragment.app.FragmentActivity androidx.fragment.app.Fragment.getActivity()' on a null object reference
What can I do to rectify this?

It looks like you're calling getActivity() on a null Fragment. I don't think the problem is in the FullScreenHelper.

What do I have to do to implement the FullScreenHelper to a fragment containing the youtube player?
Thanks for replies

I am closing, since this question is about general Android dev, not this library.
I suggest you search on stack overflow or the android dev documentation.


crouton slow switching / black screen pause.

I have an issue, I needed to update my xserver-xorg-video-intel package to support GTK 3.14. the old driver was producing bugs with shadows that is fixed in the later version.
Now when I Ctrl+Alt+Shift+Back / Forward from that chroot it changes to a black screen and pauses for about 3 seconds. With the old stock intel driver it switches instantly.
Is there any log files I can check to see why it's pausing between switches? I want to run the latest drivers, but I also want to be able to switch quickly.
What I Did:
sudo apt-add-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt-get install xserver-xorg-video-intel

I don't think there are any special log messages for the intel driver at least I didn't notice any, except the obvious ones. dmesg xorg log in /var/log and maybe /var/log/messages.
However I could be wrong, maybe someone else noticed another one.
Just interested which release do you run on which chromebook?
Also what hardware acceleration do you use in xorg sna, uxa, glamor?
FYI an interesting read about the intel driver could be https://wiki.archlinux.org/index.php/Intel_graphics.

Please try updating with the x11_freon branch: see #1265

Please re-open if this issue is still a concern.


Tab character in my message

hi all - i cannot send Tab character from my telagram bot, its always formatted
tried utf8 character - like emoji - but its not helped

str_replace("\t", "    ", $out); make it like this


Documentation tweak

I found a really nice way to override the SCIM Settings that I'd love to add to your documentation if you're interested? Method is here: https://github.com/snipe/snipe-it/pull/10802/files#diff-17714f8ce6354a7c071d6a6f7dc4840494df0850873e6192273db951138bb24f
Let me know if that would be of interest to you all - or not! That's also fine, your library, your rules :)

I like it. Would be cool to add this to the documentation.

Excellent! I'll get something written up for you sometime next week, and will link it to this issue :)


Crash on game launch if Transport Drones is enabled

Mod source
Factorio Mod Portal
Which mod are you having an issue with?

[ ] pyalienlife
[ ] pyalternativeenergy
[ ] pycoalprocessing
[ ] pyfusionenergy
[ ] pyhightech
[ ] pyindustry
[ ] pypetroleumhandling
[X] pypostprocessing
[ ] pyrawores

Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[ ] Graphical
[X] Crash
[ ] Progression
[ ] Balance
[X] Pypostprocessing failure
[ ] Other

What is the problem?

Steps to reproduce

Enable PyMods
Enable Transport Drones
Observe error when game tries to load mods

Additional context
No response
Log file
No response

This is already known and we have a fix linked on the discord. Just need to get transport drones itself updated

May be fixed on the transport drones end, but we should handle this gracefully

Fixed for v0.2.1


Configmap properties changes are not being detected in dev mode

I'm using kamel run --dev to test my integration.  All my configurations are on a config map on the cluster.
My integration declares a config modeline using a configmap.
The first time I run kamel run --dev Integration.java the configuration is loaded from the configmap.  I can change the code and changes are reflected on the integration without any issue.
However, if I make any change on the configmap and try to either reload the integration by making a code change or by hitting Ctrl+C and running kamel run --dev Integration.java again, the changes on the configmap are not reflected in the integration.
The only way to reflect the changes is either create a new configmap and change the modeline to the new configmap or deleting everything (the integration and the integrationkit) from the cluster.
Is this the expected behavior?
When kamel run --dev Integration.java is running a pod is created on the cluster.  For the sake of curiosity, I inspected the YAML of the pod and there isn't a volume mount for the configmap, but it is present when you run the integration without the --dev parameter.

It's a known behavior. There is a feature request for it #1235

Just tested this successfully. I've created an Integration with a modeline configmap, and run it, having:
....
[1] 2022-07-13 11:02:57,477 INFO  [configmap] (Camel (camel-1) thread #1 - timer://configmap) configmap content is: configmap content
...

In parallel I've changed the content of the configmap, and, as expected, the Integration won't automatically pick those new values (no hot deploy on configmap changes). However, stopping and restarting the application, triggered the change as expected:
....
[1] 2022-07-13 11:03:24,448 INFO  [configmap] (Camel (camel-1) thread #1 - timer://configmap) configmap content is: configmap content 2
....

When kamel run --dev Integration.java is running a pod is created on the cluster. For the sake of curiosity, I inspected the YAML of the pod and there isn't a volume mount for the configmap, but it is present when you run the integration without the --dev parameter.

The Pod spec should be exactly the same. I've just checked in the --dev mode and it mounts the configmap as expected.
I'm closing this in favor of the feature request for configmap hot deploy.


Wrap a existing rule's fn in plugin

For example, I want to wrap the table rule's fn, I can do this:
let rule = md.block.ruler.__rules__.find(rule => rule.name === 'table'), oldFn = rule.fn;
rule.fn = () => {
    oldFn.apply(null, arguments)
};

But are there any way to do this without accessing hidden API Ruler.__rulers__?

We could not imagine why one may need to wrap existing rule, and did not reserved such access methods. But you can try this way:

load table from file

https://github.com/markdown-it/markdown-it/blob/d533c27017dbb9663422019a08adcf15265cf9fb/lib/parser_block.js#L15
via require('markdown-it/lib/rules_block/table')

Wrap it as you need
Replace existing via Ruler.at()

https://github.com/markdown-it/markdown-it/blob/d533c27017dbb9663422019a08adcf15265cf9fb/lib/ruler.js#L117

But i don't think your way is bad. I would only use Ruler.__find__() instead for search.

@Menci , I'll leave here in case this was your similar to your use case.  My goal was to wrap

 with a div so I could add scroll support on mobile.
Originally, I was looking to do what you're doing by modifying the way the table parsing works.  It could be done by pushing a token to the state before table_open and another after table_close
Something like this in table.js:
+ token = state.push('table_wrapper_open', 'div', 1);
+ token.attrs = [['class', 'table-wrapper']]
  token = state.push('table_open', 'table', 1);

  // ....

  token = state.push('table_close', 'table', -1);
+ token = state.push('table_wrapper_close', 'div', -1);

But that method shouldn't be touched so I tried wrapping it like you're doing, but it's a lot of logic to re-implement and modifying the state outside the scope is hard because it requires modifying the token.level
What I wound up doing is updating the rendering, not the parsing - since I'm still going to trust the engine to parse tables the same way no matter what
You can override the way particular tokens are rendered as spelled out in the architecture doc
A simple implementation looks like this:
let md = markdownIt(options);

// when rendering table, wrap in div container
md.renderer.rules.table_open = function(tokens, idx, options, env, self) {
    return `<div class='table-wrapper'>` + self.renderToken(tokens, idx, options);
};
md.renderer.rules.table_close = function(tokens, idx, options, env, self) {
    return self.renderToken(tokens, idx, options) + `</div>`
};

Which allows me to add the following style:
.table-wrapper {
    overflow-x: auto;
}

@KyleMit this was exactly what i was looking for, thanks!


⚠ Bofrost.es has degraded performance

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

HTTP code: 200
Response time: 1253 ms

Resolved: Bofrost.es performance has improved in 52ab055 after 10 minutes.


[normalize] Asking the same object in the same operation with less fields results in a failure to cache the operation

I'll explain this bug with an example:
type Person implements Node {
    id: ID!
    firstName: String!
    lastName: String!
}

type Message implements Node {
    id: ID!
    content: String!
    sender: Person!
}

type Viewer implements Node {
    id: ID!
    friends: [Person!]!
    latestMessage: Message!
}

type Query {
    viewer: Viewer!
}

And let's say in the main screen of my app I want to display a list of friends (first name + last name) and my latest message: (only first name is shown in the sender line of messages on my app)
query FetchMainScreen {
    viewer {
        friends {
            id
            firstName
            lastName
        }
        latestMessage {
            id
            content
            sender {
                id
                firstName
            }
        }
    }
}

When I fetch this query the first time: _client.responseStream(GFetchMainScreenReq()) using a cache-enabled fetch policy, it will write the normalized data to the cache. But during this process it will override one sender with only firstName attached to it. (because the latestMessage's sender is parsed after the friends list, and it only contains firstName)
So if I run _client.cache.readQuery(GFetchMainScreenReq()) immediately after it will return null because a PartialDataException is raised.
This can't be right, as I just executed this query, and now it's by-design stays partial in the cache.
If, say, I rewrite the query above like that: (latestMessage first, friends after)
query FetchMainScreen {
    viewer {
        latestMessage {
            id
            content
            sender {
                id
                firstName
            }
        }
        friends {
            id
            firstName
            lastName
        }
    }
}

The cache works as expected (since the overwrite just added a lastName field to the sender)
The source of this issue to my understanding is at normalize_node.dart:75
        if (fieldPolicy?.merge != null) {
          return data
            ..[fieldName] = fieldPolicy.merge(
              existingFieldData,
              fieldData,
              FieldFunctionOptions(
                field: field,
                config: config,
              ),
            );
        }
        // ->>>>>>>>> This overrides the previous person that was normalized in this operation with less complete data.
        return data..[fieldName] = fieldData;

I would suggest implementing a default deepMerge (as indeed happens in across-queries writes to the cache) even if I didn't implement a custom merge in a field policy.

Thanks @iscriptology.
https://github.com/gql-dart/ferry/pull/100 should fix this issue. Can you please confirm?

The problem persists.
Somehow the write method is called twice - once with the full object and then with the partial object.
I'm not exactly sure how it happened.

Maybe you should incorporate existingFieldData so data is not overwritten?
Something that will surely solve it would be to replace
write: (dataId, value) => normalizedResult[dataId] = value, (cache.dart:127)
with something that will not override the pre-existing objects if they are there. (again, deepmerge)

Thanks for the quick response <3

Can you add a failing test case?

I'll try later today


fix: TypeError when loading graceful-fs from worker threads

Fixes #204

I would like this released ASAP - I find myself unable to work around the breakage at the moment, as I am getting this from fs-extra, and from the jsonfile dependency of fs-extra, and my attempts to pin graceful-fs to 4.2.4 in the consuming package still result in npm resolving to 4.2.5 for transitive dependencies. This is maddening!


As of iOS 9, application/json content-type is valid. The message should be updated to be a warning and not a failure.

Per https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html

It's currently already possible to have the server evaluate application/json as valid, you just have to check the "allow unencrypted" checkbox. The next time I give this application an update pass, I'm probably going to reverse the behavior so that is the default. Not sure when that'll be though.


[Docs] Added Mesheryctl mesh deploy command

Signed-off-by: afzal442<EMAIL_ADDRESS>Description
Added deploy command to mctl mesh [subcommand]
This PR fixes #3863
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit 7b7704c272ee63f84c67cc62654b9a0028c5e9e3 at: https://6118e16e8c6821e62d59f33b--meshery-docs-preview.netlify.app

🚀 Preview for commit aaa319e89bc6218153b9424211b8d139f0038cbf at: https://6118f542d7c0cf59e92f076f--meshery-docs-preview.netlify.app

🚀 Preview for commit e0941d0f019ded4a720eecf2dfd863608884a074 at: https://6118fd5069bb556cc7c2e647--meshery-docs-preview.netlify.app

🚀 Preview for commit 40dd09f9ae9594db8b8a46fcd59060a90a7bc66b at: https://6118ff241a67f6312d51bff3--meshery-docs-preview.netlify.app

🚀 Preview for commit e3f1f43a2aabe52f8f3ad4c9d43807117a05fbda at: https://6118ffe38c7fc84644e5c695--meshery-docs-preview.netlify.app

🚀 Preview for commit 583284fb1bc657b1e082e57c475a1531b3b3d59b at: https://6119090a03e9ff9b7a2204ea--meshery-docs-preview.netlify.app

🚀 Preview for commit 517708cb76cc79c82296beb3e721498b18ad3003 at: https://61190cf752615b3f55d86f02--meshery-docs-preview.netlify.app

hi @warunicorn19, could u verify on your system why I am failed to do so?
https://61190cf752615b3f55d86f02--meshery-docs-preview.netlify.app/reference/mesheryctl#service-mesh-lifecycle-and-configuration-managemen

@afzal442 could you be more clear, failed to do what?

🚀 Preview for commit 14138c3d927cb6c3e7cc2a0b3d0ee47fed653c62 at: https://61191eecfc2c0b5e966c6604--meshery-docs-preview.netlify.app

https://61191eecfc2c0b5e966c6604--meshery-docs-preview.netlify.app/reference/mesheryctl#service-mesh-lifecycle-and-configuration-management

@afzal442 I think these two rows are getting interchanged with the original one.Though I think it shouldn't differ much but you can have a look here maybe.

🚀 Preview for commit 451537c446c358d91ce76ae83f62226d9ec1b14b at: https://6119ce90fc2c0b29696c663f--meshery-docs-preview.netlify.app

@afzal442 I think these two rows are getting interchanged with the original one in docs.meshery.io. Though I think it shouldn't differ much but you can have a look here maybe.

what would be the correct ones?

@afzal442 I think these two rows are getting interchanged with the original one in docs.meshery.io. Though I think it shouldn't differ much but you can have a look here maybe.

what would be the correct ones?

IG he meant to swap those rows.... But if its not possible then no issues, we'll take care of that later

IG he meant to swap those rows.... But if its not possible then no issues, we'll take care of that later

r8, I don't find any issues here,  as described in other parts.

🚀 Preview for commit 46600de12180d4e10b7dbf7a6a5ec2522e7edb92 at: https://611f128cbcc2fea903fa7f44--meshery-docs-preview.netlify.app

🚀 Preview for commit 74db3eb0d7867e32a38f71f3473e21a70feb4759 at: https://611f15cb6903c7db789fa12b--meshery-docs-preview.netlify.app

@alphaX86 you can review it now.
https://611f15cb6903c7db789fa12b--meshery-docs-preview.netlify.app/reference/mesheryctl#service-mesh-lifecycle-and-configuration-management
// @leecalcote

@alphaX86 you can review it now.
https://611f15cb6903c7db789fa12b--meshery-docs-preview.netlify.app/reference/mesheryctl#service-mesh-lifecycle-and-configuration-management

Looks good now

On a related note, we're missing a description for pattern -

Thanks, Lee, I will commit the required changes in my opened PR #3841.


Hierarchy Implementation Proposal

Basics

[ ] I added a line to /doc/CHANGELOG.md
[ ] The PR is rebased with current master.
[ ] Details of what you changed are in commit messages.
[ ] References to issues, e.g. close #X, are in the commit messages.
[ ] The buildserver is happy.

Checklist

[ ] I have installed and I am using pre-commit hooks
[ ] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed the introduction tour
[ ] I wrote migrations in a way that they are compatible with already present data
[ ] I fixed all affected decisions
[ ] I added unit tests for my code
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
(exceptions are documented)
[ ] Code is consistent to our Design Decisions

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] Examples are well chosen and understandable

I like the idea more and more. Remaining questions:
What about backend compilation time? From rust we basically only see the view, don't we?
How is the performance?
How will we do the import? Will we have several CSVs for each hierarchy level?

What about backend compilation time? From rust we basically only see the view, don't we?

With Rust, we would handle it as a table. We need to adjust the schema.rs with the schema.patch file.
See: https://deterministic.space/diesel-view-table-trick.html for an example.
The other tables would also be generated in the schema.rs.
We could remove them for now with the patch file, but in the long term, we may want to build functionality that requires these tables.

How is the performance?
:grimacing: Well, every insert/update in the plants table would need to check up to 5 other tables with these functions.
I am not experienced enough to make a prediction about how the performance would look.
But since plants insert/update, as far as I know, is not something which would be excessively used except while importing, I don't think it will be a huge factor.

How will we do the import? Will we have several CSVs for each hierarchy level?
Since we want to replace the insert functions, our current implementation should work. It may be slower, but see my answer above.

How is the performance?

I mean for what we do at runtime: searching plants etc.

To bring it shorter to an end: I think there are only two options: either like you imagine or with everything in plants (keys point to other rows in the same table). Can you please write the pro/cons between these two in the decision?

For now, I implemented it following this hierarchy.

This increases complexity as some plants are cultivars, others are varieties.
Cultivars can inherit from species and varieties.
While solvable with my proposal, is this hierarchy necessary?
We currently identify cultivars only using ''. Is this correct? For example, in 'Solanum lycopersicum 'Lemon drop',' 'Lemon drop' is the cultivar.


[framework] add coin icon url for CoinInfo

Summary
Summary about this PR

Closes #issue

I'm not sure if this is necessary. If not, please close this PR.


Fix calendar presentation being too slow

Fixes #591
From my tests I think just by preventing onCurrentCalendarDateChanged from running twice when presenting the Calendar is enough. Please test if times are better for you too.

i see a 25~30% improvement. better than nothing 😄

Yeah, it's something. Please review.