Some more guidance on using the logging context properly would be helpful

The logging context is briefly mentioned in the usage.md, but I would like to get some additional guidance on how to best leverage it.
So which is the best way to send log messages?

$logger->info(sprintf("Will have %s for %s", $food, $meal))
$logger->info(sprintf("Will have %s for %s", $food, $meal), array('food' => $food, 'meal' => $meal))
$logger->info("Food chosen", array('food' => $food, 'meal' => $meal))

That is, should I try to keep log messages as "fixed" as possible and add all varying info into the context? Or should the message itself be as clear as possible?
When it comes to 1.) or 2.) above, wouldn't it be handy for the Formatter to expand %var% from the context as well?
Thanks!

To add to this, I normally will write "static" lines as the first argument, and variable data as the second one. This makes it easier to grep if you're logging to files.
Example
 $this->logger->info("Generated url for user", array('url' => $url->toString(), 'user_id' => $user->getID()));

I thought that was the intended use to begin with :smile:

@charlydagos it is definitely the initial intended use, but there are other options too like described above.

@carlosdagos That's how I use it. Then I stuff the array into my db as a json. I can parse the json if I have some consistently used fields.

@mpdude - OK old issue, but .... "It depends" is the right answer.
Because the logging context is the data-entry point for processors, etc.
Is not about how you build up the log message .... only.
So ... if you have a processor (for example) that is suppose to expect certain value in the context to do its job ... well ... put it there :slightly_smiling_face:
I think this issue can be close.

Over the past years, I mostly followed the approach outlined in https://github.com/Seldaek/monolog/issues/249#issuecomment-26150242. That leaves it up to the configuration of your handler stack and/or processors and is also easy to write in code.

Hey guys, @mpdude, can you share your experience with logging events to eg. New Relic?
Logging events is expected to have event name and params.
$logger->info('Log and send event', ['food' => $food, 'meal' => $meal, 'type' => 'event']);

I am considering to have one log line in the code like you described above, but to use two handlers.
One for normal logging eg. stdout and the other for sending to some external services or agents like New Relic.
$log->pushHandler(new StreamHandler('php://stdout', Logger::INFO));
// custom handler to cover use of newrelic_record_custom_event($name, $attributes)
$log->pushHandler(new CustomNewRelicHandler(Logger::INFO, $triggerByContext['type' => 'event']));

Somehow it looks cumbersome to add 'type'=>'event' every time.
The other option more verbose is to introduce and inject additional logger for events only.
What are your thoughts?


GHA for release and publish

Create a GitHub Action for releasing spaghetti on GitHub and publishing it to PyPI.

still must include several manual steps:

prior to tagged release:

set release_date and start_date in cell 1 of tools/gitcount.ipynb

following tagged release:

update CHANGELOG.md

For guidance see:

pysal/submodule_template#29
spatialucr/geosnap#221

Accomplished with #489


[BUG] 504 errors and other bash issues

Describe the bug
Runbook is failing after what appears to be two 504 errors, there was also another issue with another run where bash failed on a temp file with too many arguments. Wanted to report these in case they were fixable or there was a way to reduce the likelihood of them occurring (504 errors are probably just MS Graph acting up) but I'd like to improve the reliability of the runs where possible.
To Reproduce
Steps to reproduce the behavior:
Unable to reproduce reliably currently but has happened on and off previously in roughly one in every 7 runs.
Expected behavior
Runbook completes without error or recovers after multiple failures.
Screenshots
If applicable, add screenshots to help explain your problem.

Run type (please complete the following information):

Mode: [e.g. 0 or 1] - 1
Client [e.g. Pipeline, local machine] - Pipeline
Version [e.g. 1.0.2] - 2.2.0

Additional context
First run fails on Backup creation
Traceback (most recent call last):
  File "/home/vsts/.local/bin/IntuneCD-startbackup", line 8, in <module>
    sys.exit(start())
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/run_backup.py", line 313, in start
    run_backup(
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/run_backup.py", line 260, in run_backup
    backup_intune(results, path, output, exclude, token, prefix, append_id, args)
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/backup_intune.py", line 55, in backup_intune
    savebackup(path, output, exclude, token, append_id, args.audit, scope_tags)
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/backup/Intune/backup_applications.py", line 58, in savebackup
    data = makeapirequest(ENDPOINT, token, q_param)
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/intunecdlib/graph_request.py", line 89, in makeapirequest
    raise requests.exceptions.HTTPError(
requests.exceptions.HTTPError: Request failed with 504 - {"error":{"code":"UnknownError","message":"{\"Message\":\"{\\r\\n  \\\"_version\\\": 3,\\r\\n  \\\"Message\\\": \\\"An error has occurred - Operation ID (for customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: 571adc8b-1c23-4b22-8602-87cde5f2a4e6 - Url: [https://fef.msua02.manage.microsoft.com/TrafficGateway/TrafficRoutingService/AppLifecycle/StatelessAppMetadataFEService/deviceAppManagement/mobileApps?api-version=5024-01-23\\\",\\r\\n](https://fef.msua02.manage.microsoft.com/TrafficGateway/TrafficRoutingService/AppLifecycle/StatelessAppMetadataFEService/deviceAppManagement/mobileApps?api-version=5024-01-23\\\%22,\\r\\n)  \\\"CustomApiErrorPhrase\\\": \\\"\\\",\\r\\n  \\\"RetryAfter\\\": null,\\r\\n  \\\"ErrorSourceService\\\": \\\"\\\",\\r\\n  \\\"HttpHeaders\\\": \\\"{}\\\"\\r\\n}\"}","innerError":{"date":"2024-03-13T00:06:57","request-id":"571adc8b-1c23-4b22-8602-87cde5f2a4e6","client-request-id":"571adc8b-1c23-4b22-8602-87cde5f2a4e6"}}}

##[error]Bash exited with code '1'.
##[error]Bash wrote one or more lines to the standard error stream.
##[error]Traceback (most recent call last):
  File "/home/vsts/.local/bin/IntuneCD-startbackup", line 8, in <module>
    sys.exit(start())
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/run_backup.py", line 313, in start

##[error]    run_backup(
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/run_backup.py", line 260, in run_backup
    backup_intune(results, path, output, exclude, token, prefix, append_id, args)
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/backup_intune.py", line 55, in backup_intune
    savebackup(path, output, exclude, token, append_id, args.audit, scope_tags)
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/backup/Intune/backup_applications.py", line 58, in savebackup
    data = makeapirequest(ENDPOINT, token, q_param)
  File "/home/vsts/.local/lib/python3.10/site-packages/IntuneCD/intunecdlib/graph_request.py", line 89, in makeapirequest
    raise requests.exceptions.HTTPError(
requests.exceptions.HTTPError: Request failed with 504 - {"error":{"code":"UnknownError","message":"{\"Message\":\"{\\r\\n  \\\"_version\\\": 3,\\r\\n  \\\"Message\\\": \\\"An error has occurred - Operation ID (for customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: 571adc8b-1c23-4b22-8602-87cde5f2a4e6 - Url: [https://fef.msua02.manage.microsoft.com/TrafficGateway/TrafficRoutingService/AppLifecycle/StatelessAppMetadataFEService/deviceAppManagement/mobileApps?api-version=5024-01-23\\\",\\r\\n](https://fef.msua02.manage.microsoft.com/TrafficGateway/TrafficRoutingService/AppLifecycle/StatelessAppMetadataFEService/deviceAppManagement/mobileApps?api-version=5024-01-23\\\%22,\\r\\n)  \\\"CustomApiErrorPhrase\\\": \\\"\\\",\\r\\n  \\\"RetryAfter\\\": null,\\r\\n  \\\"ErrorSourceService\\\": \\\"\\\",\\r\\n  \\\"HttpHeaders\\\": \\\"{}\\\"\\r\\n}\"}","innerError":{"date":"2024-03-13T00:06:57","request-id":"571adc8b-1c23-4b22-8602-87cde5f2a4e6","client-request-id":"571adc8b-1c23-4b22-8602-87cde5f2a4e6"}}}

Second run fails on Markdown documentation creation
Starting: Generate markdown document
==============================================================================
Task         : Bash
Description  : Run a Bash script on macOS, Linux, or Windows
Version      : 3.236.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash
==============================================================================
Generating script.
========================== Starting Command Output ===========================
/usr/bin/bash /home/vsts/work/_temp/153698cd-ffd4-499d-946a-deafbfd109cc.sh
no configuration backup change detected in the last commit, documentation will not be created
/home/vsts/work/_temp/153698cd-ffd4-499d-946a-deafbfd109cc.sh: line 1: [: too many arguments

##[error]Bash wrote one or more lines to the standard error stream.
##[error]/home/vsts/work/_temp/153698cd-ffd4-499d-946a-deafbfd109cc.sh: line 1: [: too many arguments

Finishing: Generate markdown document

Below is our YML file for the runbook
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
  none
schedules:
  - cron: '0 */6 * * *'
    displayName: "Every 6 hours"
    branches:
      include:
      - main
    always: true

pool:
  vmImage: ubuntu-latest

jobs:
  - job: backup_document
    displayName: Backup Intune configuration
    pool:
      vmImage: ubuntu-latest
    continueOnError: false
    steps:
    - checkout: self
      persistCredentials: true

#Remove existing prod-backup directory
    - task: Bash@3
      displayName: Remove existing prod-backup directory
      inputs:
        targetType: 'inline'
        script: |
          rm -rfv "$(Build.SourcesDirectory)/prod-backup"
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: false

# Install IntuneCD
# https://github.com/almenscorner/IntuneCD
    - task: Bash@3
      displayName: Install IntuneCD Package V2.2.0
      inputs:
        targetType: 'inline'
        script: |
          pip3 install IntuneCD==2.2.0
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: true

# Backup the latest configuration, using the current directory
    - task: Bash@3
      displayName: IntuneCD backup Start
      inputs:
        targetType: 'inline'
        script: |
          mkdir -p "$(Build.SourcesDirectory)/prod-backup"
          IntuneCD-startbackup \
          --mode=1 \
          --path "$(Build.SourcesDirectory)/prod-backup" \
          --exclude ConditionalAccess \
          --ignore-omasettings \
          --append-id \
          --autopilot=True \
          --audit
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: true
      env:
        TENANT_NAME: $(TENANT_NAME)
        CLIENT_ID: $(CLIENT_ID)
        CLIENT_SECRET: $(CLIENT_SECRET)

# Set git settings
    - task: Bash@3
      displayName: Configure Git Global Settings
      inputs:
        targetType: 'inline'
        script: |
          git config user.name $(USER_NAME)
          git config user.email $(USER_EMAIL)
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: true
# Commit changes and push to Azure DevOps repo
    - task: Bash@3
      displayName: Commit changes to Azure DevOps repo
      name: commitAndsetVariable
      inputs:
        targetType: 'inline'
        script: |
          DATEF=`date +%Y.%m.%d`
          git add --all
          # modified files in folder prod-backup
          var=$(git diff --name-only --staged -- prod-backup)
          echo "##vso[task.setVariable variable=CHANGE_DETECTED;isOutput=true;]$var"
          git commit -m "Intune config backup $DATEF"
          git push origin HEAD:main
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: false

# Create markdown documentation
    - task: Bash@3
      displayName: Generate markdown document
      inputs:
        targetType: 'inline'
        script: |
          if [ ! -z "$(commitAndsetVariable.CHANGE_DETECTED)" ]
          then
            INTRO="Intune backup and documentation generated at $(Build.Repository.Uri) <img align=\"right\" width=\"96\" height=\"96\" src=\"./logo.png\">"
            IntuneCD-startdocumentation \
                --path="$(Build.SourcesDirectory)/prod-backup" \
                --outpath="$(Build.SourcesDirectory)/prod-as-built.md" \
                --tenantname=$TENANT_NAME \
                --intro="$INTRO" \
                #--split=Y
          else
            echo "no configuration backup change detected in the last commit, documentation will not be created"
          fi
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: true
      env:
        TENANT_NAME: $(TENANT_NAME)

# Commit changes and push to repo
    - task: Bash@3
      displayName: Commit changes
      inputs:
        targetType: 'inline'
        script: |
          DATEF=`date +%Y.%m.%d`
          git add --all
          git commit -m "Intune config as-built $DATEF"
          git push origin HEAD:main
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: false

  - job: tag
    displayName: Tag repo
    dependsOn: backup_document
    condition: and(succeeded(), ne(dependencies.backup_document.outputs['commitAndsetVariable.CHANGE_DETECTED'], ''))
    pool:
      vmImage: ubuntu-latest
    continueOnError: false
    steps:
    - checkout: self
      persistCredentials: true

# Set git global settings
    - task: Bash@3
      displayName: Configure Git
      inputs:
        targetType: 'inline'
        script: |
          git config user.name $(USER_NAME)
          git config user.email $(USER_EMAIL)
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: true

    - task: Bash@3
      displayName: Pull origin
      inputs:
        targetType: 'inline'
        script: |
          git pull origin main
        workingDirectory: '$(Build.SourcesDirectory)'
        failOnStderr: false

    - task: PowerShell@2
      displayName: Git tag
      inputs:
        targetType: 'inline'
        script: |
          # change in configuration backup folder detected, create TAG
          $DATEF= Get-Date -format "yyyy-MM-dd_THH-mm"
          git tag -a "v$DATEF" -m "Microsoft Intune configuration snapshot $DATEF"
          git push origin "v$DATEF" *> $null # even status information goes to stderr :(
        failOnStderr: true
        pwsh: false
        workingDirectory: '$(Build.SourcesDirectory)'

  - job: publish
    displayName: Publish as-built artifacts
    dependsOn: tag
    condition: and(succeeded(), ne(dependencies.backup_document.outputs['commitAndsetVariable.CHANGE_DETECTED'], ''))
    pool:
      vmImage: ubuntu-latest
    continueOnError: false
    steps:
    - checkout: self
      persistCredentials: true

Currently if a 504 is hit it will retry 3 times, question is how many retires we want to add here before we should just give up and try again later.
For the config step, I would guess that something is not setting the commitAndsetVariable correctly so the if statement fails


Completing a 'build' doesn't subtract parts used from stock

I created a part that is assembled. I then made a BOM with a single resistor used 10 times. I then built 40 of them and the stock of the resistors did not go down. The stock of the resistors should have gone down by 400

You need to "assign parts" to the build for the parts to be depleted. This allows you to:

Select which location to take the parts from (in the case they are stored in multiple locations)
Create the build without all parts allocated (e.g. you have some parts that are not "in the system")
Add in "overage" if necessary (e.g. remove 415 parts because 15 were wasted).
Order any parts that are required but not in stock

Is it like this so you can pick the stock location when allocating? I am trying to think of an example of when you would build a part from other parts and not want to remove the parts used in assembly from stock.
Maybe there should be a slider on the 'complete build' that reads something like 'no parts were allocated for this build are you sure you want to continue' ::SLIDER:: or maybe if parts allocated - parts used != 0 "you did not allocate parts correctly" or something.

Maybe there should be a slider on the 'complete build' that reads something like 'no parts were allocated for this build are you sure you want to continue' ::SLIDER:: or maybe if parts allocated - parts used != 0 "you did not allocate parts correctly" or something.

I like both these ideas - anything that improves the user experience here is good.

Just was looking over my old open issues and I am going to close this one because many improvements have been made in this area.


Upgrade bundlesize to 0.13.2

What:
Upgrading bundlesize to 0.13.2
Why:
This update adds a better UI for multiple files: https://github.com/siddharthkp/bundlesize/issues/55#issuecomment-315567994
How:
Update version in package.json
Checklist:

[ ] Documentation: NA
[ ] Tests: NA
[ ] Code complete: NA

Codecov Report

Merging #285 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #285   +/-   ##
=======================================
  Coverage   90.37%   90.37%
=======================================
  Files          21       21
  Lines         966      966
  Branches      260      260
=======================================
  Hits          873      873
  Misses         75       75
  Partials       18       18

Continue to review full report at Codecov.

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

@mitchellhamilton bundlesize only works on travis-ci/push though 😢
Should I make that configuration? 🤔

I think it only works on push because the environment variable is secret so it's not exposed on forks. I think you could do this without having to have the API key be public with this or something else, like what codecov does how it doesn't require an environment variable at all(I'm not sure how that works though).

That's super helpful! I'll check what codecov does

Thank you @siddharthkp


CJALR with instr[14:12] != 0 is not illegal

The decoder for CJALR will not raise an illegal instruction exception when instr[14:12] != 0, but it will also not set cheri_jalr_en:
https://github.com/microsoft/cheriot-ibex/blob/3f0ec8600cb7621c4c952951d211b3515116ea27/rtl/ibex_decoder.sv#L343-L367
When a CJALR instruction is run with instr[14:12] != 0, the instruction that runs becomes one which stores the next instruction PC to the register file, but does not branch, since it runs into the old logic for JALR. This is therefore not a security issue, but is a bug.
Instead illegal_insn should be set when instr[14:12] != 0 (see the original code for JALR, which does the same).

I discussed this with Louis-Emile and agree with this conclusion. I think the funct3 not equal to zero behaviour should be the same as for non-CHERI RISC-V which sets illegal_insn when this is the case: https://github.com/lowRISC/ibex/blob/master/rtl/ibex_decoder.sv#L267-L269

I agree, this is bug indeed. Will fix, thanks.

This proves, thanks.


Navigation to map when tapped access

Issue

close #680

Overview (Required)

On about page, navigation to map when tapped access button.

Links

Screenshot

Before
After

@takahirom
I fixed!
Could you check that again, please?


seapp_contexts: qcrilam runs as normal app user now

https://github.com/sonyxperiadev/device-sony-sepolicy/pull/566 but for q-mr1-legacy.
Thanks @mehakimz for reminding us!
https://github.com/sonyxperiadev/QcRilAm/pull/7
QcRilAm has been updated to run as normal user rather than sharing
everything with the system user. This means that user=system doesn't
match, the app receives the wrong context and everything falls apart.
Update it to _app to match it running as uX_aYYY like any other app.
Also remove the comment which doesn't seem applicable anymore. There are
multiple matching rules involved in the process and priv-app is not a
requirement:
https://github.com/sonyxperiadev/QcRilAm/commit/4a4608a8982ffc5d2612c9da4e20acb635e10061#diff-3ae6be565f1e33e90e0b11f768de1f6c
QcRilAm is not a priv-app anymore for some time. If matching against
such strict matching is really required, use isPrivApp=true/false.

(Note to self: -B, --base string      The branch into which you want your code merged, next time specify that when using github-cli :joy:)


Update JARVIS.py

specifying language to translate and giving it the ability to show all words heard.


Add missing e2e tests

The tests should cover the following:

nfs server ip is unreachable
nfs path is not right
tests for positive and negative S3-Dev source type

/assign @ashahba

I chatted with @Ajay191191 and he mentioned that s3-dev is going away, so I won't be adding tests for that during work on this issue.
On the other hand, initial tests on the PR #43 for nfs were failing and this was due to the way kubernetes volumemanagers are being handled and they don't validate the IP addresses or the paths prior to first use, we are not going to put workarounds in KVC to fix that and all we can do here is to enhance our documents on that.
That means the work on this ticket becomes just some doc updates.

Ok, since #45 was merged now, we should be able to close this ticket.
Adding more tests for the new features like NodeAffinity will be addressed in a separate issue and should not be gating this release.
@Ajay191191 and @balajismaniam let me know if we need need anything else from this issue before closing it.

Closing since this issues is not relevant anymore.


[Doc] Add Rabbit source connector guide

Fix https://github.com/apache/pulsar/issues/5015

@tuteng could you please help review?


clean up map.json related files and scripts

Moved from #3407 after resolving conflicts.
The following are removed:

map.json files
map.json related stuff from build.psm1
windows-full build docs

@daxian-dbw  Please fix spelling error.


Amended punctuation grammar abstract

Expanded on abstract in keeping with Libby's suggestion to include

Duplicate of existing PR


Envoy multi-zone deployment

Is your feature request related to a problem? Please describe.
The current ingress implementation has no guarantee that the ingress and the Kafka broker would be deployed in the same data center. While this might be good for availability, it is a cost vector in any public cloud infrastructure, since any inter-DC traffic is paid traffic, while the intra-DC traffic is, usually, free.
Describe the solution you'd like to see
We'd like to have the option to deploy a DC aware ingress, with one deployment for each broker config group. The ingress deployment should honor the NodeAffinity and the NodeSelector configurations of the group, to ensure that both the ingress and the broker pods (from the same group) would be scheduled in the same data center.
The schema below describes the deployment using a data-center aware ingress (envoy) deployment.
This is already implemented in our fork: https://github.com/adobe/kafka-operator/pull/15
We are running with this config for awhile now, but the implementation was updated recently to reflect the new ingress deployment updates (ingress config map is honoring the Cluster status instead of its spec).
Some notes regarding the implementation:

The change is backward compatible
The change is implemented for Envoy only (it's an envoy specific configuration - dedicatedEnvoyPerBrokerGroup); there is not support for Istio ingress in the existing implementation
The deployment requires multiple single-DC Load Balanacers (see schema below). To minimize the impact on the Kafka operator, we created this LBs externally and added a new flag in the operator - useExistingLoadBalancer). This option could be used independently from dedicatedEnvoyPerBrokerGroup, if the administrator wants a self-managed LoadBalancer.
A series of NodePorts were created externally (from a chart). We should analyze if the operator should create the NodePorts automatically if useExistingLoadBalancer is enabled
a new hostnameOverride broker config was added. In the current implementation, since it was assumed that there is a single LoadBalancer, all the brokers use the same hostname for the external listener. Now, each broker or broker config group can use a different address (and a different LB)

@alungu Adi I suggest we share our implementation here as a PR and discuss it.


Fully-qualified path to 'test' executable

:+1: could be improved, but happy with it as-is too. Let me know if you want me to merge as-is or if you want to update it.

I've made the change you suggested and it works fine!

Awesome.
Merging.


Guidelines for harmony module

From andrew.hankinson on September 08, 2011 10:56:51
Placeholder issue for harmony module guidelines
Original issue: http://code.google.com/p/music-encoding/issues/detail?id=20

From<EMAIL_ADDRESS>on May 23, 2012 11:43:20
Status: Started
Owner<EMAIL_ADDRESS>

From<EMAIL_ADDRESS>on June 07, 2012 06:33:40
Status: Needs-Review

From andrew.hankinson on September 10, 2012 11:33:23
Fixed in MEI 2012 2.0.0. Closing.
Status: Fixed


Include tabs in default search results

I wonder whether it is currently possible with this workflow to include tabs in the default alfred search results (just like bookmarks can be included there)?

Bookmarks are a specific feature, a workflow can’t just take over the user’s default results.


.NET 2.0 limited support

A successful build for .NET 2.0.
Since Expression namespace is not supported, many features are not included in this build.

Requires real use-case to be merged.
https://rsdn.org/forum/prj.codejam/7275517.1


Need help for chatbot automation and voice automation

Hi,
I am new to chatbot testing. I read Botium in Nutshell but I did not get much clarifications.
I installed node js, botium core, bindings also tried to run testmybot-smaple-calculator but I was getting many errors, so
Can you please provide the complete details like

what api/libraries/softwares need to install from the start

which editor should we use for coding

what is container mode, which one we can use ?

Can you please give some example projects, whicih are executing fine.

How we can do voice automation, for ex. testing of alexa kind of web/mobile applications

when installing the libraries/api do I need to install it globally or in my project folder path ?

Any help would be appreciated
Thanks

Currently best option to start is to download Botium-CLI
You can use any text editor for coding the convo files
Here is a list
The "samples" folder in this project has some preconfigured projects
Botium supports the Alexa Skill Management API and Webspeech API, but the best option is the not-yet-published new "Alexa Virtual Device" connector (will be published in 1-2 weeks)
doesn't matter, globally or local

By mid of january we will publish the Botium Box, which is a management interface and test automation server for Botium, which will be clearly the best option to start.

Thanks for your inputs, will try to execute one sample and let you know if found issues. Looking for  more -:)

Hi,
I have gone through and executed well Botium-CLI.
How can I execute the samples from this project , I tried executing one sample i.e fbDirect but I am getting errors like,
C:\Users\GS\eclipse-workspace\botium-core-master\samples\fbdirect>npm test

<EMAIL_ADDRESS>test C:\Users\GS\eclipse-workspace\botium-core-master
echo 'Error: no test specified'

'Error: no test specified',
Could you please help on executing the one of sample, what steps to follow etc ??

To run the fbdirect sample, you have to do this:
> cd samples/fbdirect
> ... edit botiumFluent.js - add your facebook user and password
> node botiumFluent.js

But as written above, botium-core is a program library not intended to be used alone. Botium CLI or Botium Bindings is the way to go. Or, Botium Box, as soon as published ...

In that case how can I run using  botium-cli becuase it give me error that " botium configuration file not found" and using botium bindings I tried with npm install and npm run test it shows me no test found

I tried to webdriver to automate a chatbot and it worked for me.


Remove closing parentheses

@javierruizjimenez : Thanks for your contribution! The author, @eross-msft, has been notified to review your proposed change.


anchor typescript is not supported in 0.20.1

this command anchor init --typescript myapp  is not recognized by anchor in 0.20.1.
error: Found argument '--typescript' which wasn't expected, or isn't valid in this context

	If you tried to supply `--typescript` as a value rather than a flag, use `-- --typescript`

USAGE:
    anchor init [FLAGS] [OPTIONS] <NAME>

I think typescript is the default.

As @nibbus0x said, Typescript is now the default configuration for new executions of anchor init. The --typescript flag was replaced by the -j/--javascript flag to disable Typescript as the default.


Won't start

After succesfully cloning the files, installing and configuring the config file with the standard coördinates (or any) it won't start up. It simply says "Aan het opstarten" but won't go any further. Help??

Antwoorden mag ook in het Nederlands

It fixed itself overnight aparently?


feat: add triangle and square latency subcommands

What was done in this PR:

Added triangle summands.

Additionally:

Adjusted the order of passing args to some assertions to match naming from https://pkg.go.dev/github.com/stretchr/testify/assert#Equal (expected is passed first, and actual value is the last arg)
Fixed typo sawAmplitute -> sawAmplitude

Resolves #19

This PR adds triangle and square latency summands. After submitting the PR I've noticed that someone already submitted a PR for square latency summand in https://github.com/kffl/speedbump/pull/17. I'll wait until it's merged and adjust my changes to add triangle latency summand only. Will it work for us, wdyt?

Thank you for implementing both of them! #17 just got merged
Good catch on that sawAmplitute typo. Since it is an exported field in an exported struct LatencyCfg and I'm rather strict about adhering to SemVer, it seems that we are going to arrive at v1 rather quickly. Putting this fix aside, I have already planned altering the proxy Start() and Stop() methods to make them more intuitive, so the timing for a major version bump is pretty great.


feat: Allow WithJSONResponse() and WithXMLResponse() to work with empty response bodies

A common pattern in connectors is to create a helper function like makeRequest() that calls client.wrapper.Do(). When dealing with a JSON API, most of the client methods expect a response body. However, some APIs response with an empty body when they 204. To handle this we have to do something a little janky:
doOptions := []uhttp.DoOption{
  WithConfluenceRatelimitData(&ratelimitData),
}
if target != nil {
  doOptions = append(doOptions, uhttp.WithJSONResponse(target))
}
response, err := c.wrapper.Do(request, doOptions...)

I want to change WithJSONResponse() to take nil to mean that we expect the body to be empty and that there is no JSON.
I think it's also totally reasonable to not do this and just make sure not to call WithJSONResponse() when we're expecting a 204.

Just need to fix the linter error and this is good to go.


Support hex strings to prevent broken log lines

Discussion
While trying to record Firestore logs within our app, we started to notice many log lines were being reported as (null) in the Console. This seems to be because when logging the reference to the C++ objects, the %s format was adding non-UTF8 encodable characters into the string. This meant when using MakeNSString in the Firestore logger, those non-UTF8 characters failed the string initialization, and it returns nil.
Since there is already quite a lot of use of absl in the repo, I figured we could quick-win, use that to convert the string to hex and record that instead. I suspect logging the object was meant just to see if the value drifted overtime, rather than anything intrinsic to the object itself, so the hex value should do the same thing.
Testing
I only added a test for the record hex value itself. Otherwise, it will behave the same for other types.
API Changes
None, internal to the SDK.

Thanks for the PR! Please sign the CLA and we can take a look.

Closing due to missing CLA. We can reopen when ready.

Hi @paulb777 apologies, we finally got the CLA resolved! That check is now green.

Thanks @ls-todd-lunter! - Please address the code style issues showing up in the check CI - Most likely from four-space vs two-space indenting.

Rebased on main to see if it resolves the test failure. Otherwise, I don't think my logging changes would've affected the FIRCompositeIndexQueryTests.

@wu-hui PTAL

Rebased on latest release. @wu-hui if you could take a look, this still prevents us from using the current release since some logs fail to be converted to NSStrings.


Some cosmetic refactoring future

Codecov Report

Merging #52 (185439c) into main (2f6c9a5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #52   +/-   ##
=======================================
  Coverage   98.98%   98.98%
=======================================
  Files          13       13
  Lines         396      396
=======================================
  Hits          392      392
  Misses          4        4

Continue to review full report at Codecov.

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


fix: display outdir correctly after build

About https://github.com/vitejs/vite/commit/2da0f2f66e6efe454755d663d00ba984c09031be#diff-804926239ab7ce5dd12d3ba02244733917a7a54582b67c8212e130679aa00508R41
// default outDir = 'dist'
export default defineConfig({
  plugins: [vue()]
})
// ../dist/index.html

// I am not sure it is be allowed, but it work fine for me
export default defineConfig({
  plugins: [vue()],
  build: {
    outDir: '.\\dist'
  }
})
// ../.\dist/index.html

// Here are some tests after this fix
const outDirs = ['dist', 'dist/', './dist', './dist/', '../dist', '../dist/', '.\\dist']

outDirs.forEach(outDir => {
  outDir = outDir.replace(/\\/g, '/')
  !outDir.startsWith('.') && (outDir = './' + outDir)
  !outDir.endsWith('/') && (outDir += '/')
  console.log(outDir)
})

// ./dist/
// ./dist/
// ./dist/
// ./dist/
// ../dist/
// ../dist/
// ./dist/

Thanks, but outDir could also be an absolutely path. I pushed a different fix.

Thanks, but outDir could also be an absolutely path. I pushed a different fix.


Add setting to show gitlens window only, when there is a repository

GitLens Version: 5.4.1
VSCode Version: 1.17 insider
OS Version: Win 10

That would avoid auto extending and wasting the space on the sidebar.

Thanks!

FYI this is in the 6.0 alpha


Add on-chain accounts to the Miden client

Currently, the client can handle only off-chain accounts. We want to support on-chain accounts as well. That means the user can store the full account data with the Miden Node. This is more similar to smart contracts currently on Ethereum.
I don't know what we need to change in the client (not familiar with the complete client code). Things I know are (please add):

Add a new argument to the CLI to define an account as on-chain or off-chain at account creation
Add a new argument to the CLI to define an account as on-chain or off-chain at account execution
...

This work requires https://github.com/0xPolygonMiden/miden-base/issues/403 to be completed.

I believe that if we store whether the account is on-chain or off-chain during account creation, we probably won't need a new argument for the execution command

Closed by #245


Update package version

@labelu/audio-annotator-react 1.1.0-alpha.7 (2023-10-12)
Bug Fixes

audio-annotator-react: update readme (4153943)

Dependencies

@labelu/components-react: upgraded to 1.1.0-alpha.7
@labelu/interface: upgraded to 1.1.0-alpha.7
@labelu/audio-react: upgraded to 1.1.0-alpha.7

:tada: This PR is included in version 3.0.0-alpha.9 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.0-alpha.8 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.0-alpha.8 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.0-alpha.8 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.0-alpha.8 :tada:
The release is available on npm package (@alpha dist-tag)
Your semantic-release bot :package::rocket:


Adds Score's JSON Schema linter

Thank you for submitting this pull request! We appreciate you spending the time to work on these changes.
What is the motivation?
docs-307
blocked:   https://github.com/score-spec/spec/pull/64
blocked: adds to schema store
What does this change do?
Provide a description of what this pull request does.
What is your testing strategy?
Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.
Is this related to any issues?
If this pull request is related to any other pull request or issue, or resolves any issues - then link all related pull requests and issues here.
Have you read the Contributing Guidelines?

[ ] I have read the Contributing Guidelines

@ghen @rachfop I suggest we publish this before adding it to the JSON schema store. We can add it later on


Improve toolbox webpages

[x] format citations
[x] format references
[x] add option to show a logo
[x] add option to add installation instructions

Adding @lpfeif as an assignee as she has volunteered to review the changes made

I added the option to show a logo and installation instructions today.  Citations were also autoformated to DOIs (using an api call as explained in the crosscite documentation.
I also discovered this curl formatter tool that will translate curl commands into other languages automatically! This was really helpful so I could call the api in python code (a language I don't know well).
This is all done in a branch for now.
Remaining to do is:

[ ] implement auto formatting for references in addition to citations
[ ] consider adding a contributors field
[ ] update the onboarding form and job to allow additions of a logo and installation instructions

@lpfeif , here are some pages for you to look over:

https://noaa-fisheries-integrated-toolbox.github.io/fit-dev/SSMSE . This page shows examples of the new metadata sections added. In particular, please look at the "SSMSE" tool icon, The installation instructions section, and the citation section.

Are there any changes to the formatting you would like to see? Do they look like they are in a good location on the page, or should the information on the page be laid out in some other way?
2) https://noaa-fisheries-integrated-toolbox.github.io/fit-dev/FishLife In particular, please look at the references section and note if there is anything that should change.

The changes look great! The tool icon, installation instructions, citation sections are clear.
For 2) https://noaa-fisheries-integrated-toolbox.github.io/fit-dev/FishLife, I note a few differences in format (if that matters)
-Author names are formatted differently
-In references, there is a word "Portico" before the DOI; I'm not sure what that is or why it is there
-There is no software badge
-The keywords could be updated to be more specific

Thanks @lpfeif , this is really helpful feedback!
I responded to the comments below, but haven't made any changes. I'll post again when I've made changes to the Fishlife page for you to review!

Great point about the author names; Right now it is just a string, but perhaps the metadata should be formatted better so it is easier to manipulate. We could also use ORCIDs to pull names from the orcid database. I expect most but not all people would have ORCIDs. Fixing this will take some time.
Thanks for pointing out the "Portico" word. I looked into it, and it looks like it is supposed to be the publisher name, but the API I am using isn't pulling it properly. If a DOI is included, the citation is pulled in apa format from https://citation.crosscite.org/ . My fix for this would to be a different formatting style (e.g., marine-biology) that does not include a publisher, and then append a DOI at the end (because I think a direct link to the article is helpful. I couldn't find a formatting style that included a DOI but didn't include a publisher.
I'll update the metadata to fix the badge
Great point about keywords - I think it makes sense to request keywords from the tool authors rather than me choose keywords, so I'm going to hold off on this until we inventory tools for our "tool quality standards" changes. We can ask for new keywords at this time.

@lpfeif , I made some changes to remove "Portico" from the citations and added a DOI link. I also fixed the badge for Fish life: https://noaa-fisheries-integrated-toolbox.github.io/fit-dev/FishLife
I still haven't dealt with the different author formatting, as that will require more effort/time.
Does the citation fix and badge fix look good? Feel free to point out issues if something jumps out of you on taking a second look! Thanks for the help and quick feedback :)

@k-doering-NOAA Looks good!

Fantastic, thanks so much! I'll plan to merge in the changes soon.
To close out this issue, I think the last thing to fix is

[ ] Better format author names. Right now it is just a string, but perhaps the metadata should be formatted better so it is easier to manipulate. We could also use ORCIDs to pull names from the orcid database. I expect most but not all people would have ORCIDs. Fixing this will take some time.


Pjax::begin doesn`t shows div tag

What steps will reproduce the problem?
Use Pjax::begin(); in any view.
What is the expected result?
echo <div> with some widget attributes and register some JS code
What do you get instead?
Js is registred in view but div tag is not exist it final render. But Pjax::end() works fine and show closing </div> tag, wich is distroing dom.
Additional info
Yesterday i updated one of my dev project and all places with Pjax was broken. I made composer update for some more of my dev-stability projects and all of then also was broken after upgrade.
After switching to stable-stability this problem done.

Q
A

Yii version
latest dev version

PHP version
7.1

Operating system
Debian stretch

Seems to be same as https://github.com/yiisoft/yii2/issues/16753


proc: make seccomp tests pass on kernels with seccomp disabled

there are tests that do depend on kernel configuration, so they do fail on kernels without seccomp.

thanks!


Use bionic as base image

It seems that everything works as expected when one uses 18.04 instead of 15.10 as base image.
Fix for https://github.com/potree/PotreeConverter/issues/329
you can try the docker image at loicgasser/potreeconverter:bionic

I just saw there is a related PR here:
https://github.com/potree/PotreeConverter/pull/302/files


Multiple requests module under the requirements.txt

Small thing, but would be better to get rid of double requests module name under requirements.txt

Sure and thanks for pointing this out. Will fix this in the next minor update:D


Reorganize policyinsights; change modelAsString for x-ms-enum to true

NOTE: These are changes we had agreed with @marstr. Please assign the PR to him if he is available.

Reorganize files: remove resource type based subfolders, rename conflicting example files to have resource type name, change swagger spec files and MD file based on new file locations and names.
I also changed modelAsString flag in x-ms-enum to true based on API review board recommendation.

PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-node

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

CI failure is not related to my changes

All three CI failures are unrelated to PolicyInsights specs.


Remove ApproximationContext[Rational] and all uses.

This commit tears out support for NRoot[Rational] using
implicit ApproximationContext[Rational] instances. Now
that we have Algebraic and Real, we don't need to support
this case.
We do still have Numeric[Rational] and Fractional[Rational],
but those just use Double approximations. Users who require
more precision can reach for Real or Algebraic.
Fixes #392.

Let's leave this open -- I'm going to try to remove all uses of ApproximationContext.

:+1:


Thread safety issue

Mekanism calls World.getTileEntity, which isn't thread safe, from a thread (ThreadSparkle). This will cause sporadic corruption and crashes.
See http://pastebin.com/4Y0ybika for a stack trace where it modifies collections from a thread. Reading collections from a thread isn't universally safe either.
Such a world access heavy task isn't particularly suitable for asynchronous execution. Run it synchronously, use a temporary ChunkCache instance and convert the recursion to iterative breadth first search to fix performance problems, assuming there were even some in the first place...

I've changed the animation to run in client thread timing which should solve the access issues.  In testing, I wasn't able to experience any delay in the process.


[e2e]: go tag main config-ldflags-assets-tag slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v20.0.705
Run: https://github.com/slsa-framework/example-package/actions/runs/10397671107
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.tag.main.config-ldflags-assets-tag.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.tag.main.config-ldflags-assets-tag.slsa3.yml
Trigger: push
Branch: v20.0.705
Date: Thu Aug 15 02:23:31 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/v20.0.706
Run: https://github.com/slsa-framework/example-package/actions/runs/10413557389
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.tag.main.config-ldflags-assets-tag.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.tag.main.config-ldflags-assets-tag.slsa3.yml
Trigger: push
Branch: v20.0.706
Date: Fri Aug 16 02:22:52 UTC 2024
Tests are passing now. Closing this issue.


large msg uper_decoder return RC_FAIL!!!!!! How to correct uper decode large msg？

MessageFrame_t *msgFrame = NULL;
asn_dec_rval_t rval; /* Decoder return value */
rval = asn_decode(0, ATS_UNALIGNED_BASIC_PER, &asn_DEF_MessageFrame, (void **)&msgFrame, chbuf, eSize);

Need Help！！
Uper decoder returns an error when attempting to decode more than 4000bytes using uper.
Does the uper code have a length limit？ OR  Asn1c does not decode long codes？
(gdb) bt
#0  uper_decode (opt_codec_ctx=0x0, td=0x68bce0 <asn_DEF_MessageFrame>, sptr=0x7fffffffde30, buffer=0x6ab200, size=5020,
skip_bits=0, unused_bits=0) at per_decoder.c:66
#1  0x000000000043dcef in uper_decode_complete (opt_codec_ctx=0x0, td=0x68bce0 <asn_DEF_MessageFrame>, sptr=0x7fffffffde30,
buffer=0x6ab200, size=5020) at per_decoder.c:17
#2  0x0000000000403e34 in asn_decode (opt_codec_ctx=0x0, syntax=ATS_UNALIGNED_BASIC_PER, td=0x68bce0 <asn_DEF_MessageFrame>,
sptr=0x7fffffffde30, buffer=0x6ab200, size=5020) at asn_application.c:432
#3  0x000000000044974e in main () at test_decode.c:78

constr_SET_OF.c
 if(rv.consumed == 0 && nelems > 200)
/* Protect from SET OF NULL compression bombs. */
``

This limits the size to 200. If your list is larger than 200, you need to change it, but it's not sure if it will have any other effects.

@Aaaazibi We also facing same issue, do we have any patch or fix provided for this issue?


Preact: scheduler

I'm trying to use jotai with Preact with
  "alias": {
    "react": "preact/compat",
    "react-dom": "preact/compat",
    "scheduler": false
  }

but this of course fails with t.unstable_runWithPriority is not a function because scheduler is needed...
Is there a way to make it work?

Ohhhh, I actually expected this lib doesn't work with preact, but that means jotai doesn't work either.
One way would be to develop compat version of scheduler in preact, which would help not only this lib but other libs.
The other way is to make this lib fallback when it doesn't have the function. Let me quickly try this.

Ohhhh, I actually expected this lib doesn't work with preact, but that means jotai doesn't work either.
One way would be to develop compat version of scheduler in preact, which would help not only this lib but other libs.
The other way is to make this lib fallback when it doesn't have the function. Let me quickly try this.


Do not commit transforms and handles if no changes were made

Currently left clicking without moving the mouse will commit a transform and handles unnecessarily flooding the output and history with transform messages. This PR checks that the mouse was moved, meaning a changed was made, before committing.

@KoBeWi
Thoughts on avoiding the commit of transformations when no actual change to the transform values has occurred? This could improve the editor's performance by avoiding redundant actions, but I am not familiar with this code.

Makes sense.
Seems like the same problem exists in 2D (e.g. in CollisionShape2D), not sure if it's as easy to fix.

CollisionShape2D was an example, there are more 2D editors - Path2D, Polygon2D, Line2D, Raycast2D and possibly others. Hence it might not be as easy, because the code is not unified like in 3D.

Yeah, I know it was a premature push, my bad. I'm working on fixing all of them.

CollisionShape2D was an example, there are more 2D editors - Path2D, Polygon2D, Line2D, Raycast2D and possibly others. Hence it might not be as easy, because the code is not unified like in 3D.

A lot of these end up inheriting the same class, so it wasn't too bad. I went through all the 2D nodes to see if I missed anything, but I am admittedly not as familiar with 2D as I am with 3D, so let me know if I missed any.

Thanks!


Move docker node and cluster wrappers from core

Introduce ClCluster for operations on list of nodes
Move ClNode from core repo here
Mark selected fields in ClNode and ClCluster to easily marshal them for saving test config

Here's core PR that uses it: https://github.com/smartcontractkit/chainlink/pull/10945 (all docker tests green)

Codecov Report
Attention: 662 lines in your changes are missing coverage. Please review.

Comparison is base (0d70b71) 22.53% compared to head (3977e8d) 19.20%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #732      +/-   ##
==========================================
- Coverage   22.53%   19.20%   -3.33%
==========================================
  Files          28       33       +5
  Lines        3790     4447     +657
==========================================
  Hits          854      854
- Misses       2852     3509     +657
  Partials       84       84

Files
Coverage Δ

docker/test_env/env_component.go
0.00% <ø> (ø)

docker/test_env/postgres.go
0.00% <0.00%> (ø)

docker/test_env/cl_node_cluster.go
0.00% <0.00%> (ø)

docker/test_env/zookeeper.go
0.00% <0.00%> (ø)

docker/test_env/schema_registry.go
0.00% <0.00%> (ø)

docker/test_env/kafka.go
0.00% <0.00%> (ø)

docker/test_env/cl_node.go
0.00% <0.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Integrate trix for WYSIWYG editing in Administrate

Also investigate drag and drop for uploading images.

https://gorails.com/episodes/trix-editor?autoplay=1


raidboss: Fix Unreachable Code

Fix unreachable code block for Flatten target in Turn 13.
I came across this while adding additional tests. Also makes me wonder if BLU should be included into the healer role (or all roles? kind of gross) since this would be applicable to any fight in which BLU can participate.

Yeahhhh, I don't know what to do about blu.  We could have a "cares about tankbusters" and "cares about aoe" function on data, in the same way that there's CanStun etc.  It might become more relevant with whatever they're doing with no-echo blu stuff coming out.  (I guess I should get working on those extreme primal timelines <_<).
Having blu be considered a healer at least covers the tankbuster and aoe cases pretty elegantly.  It's a super hack though.

Thanks also for this fix! Sorry my extensive trigger test suite and large qa team did not catch it earlier.


API to disable intrinsic sizes on Image coming from the Painter

Suggestion to add a flag to the Image composable to ignore the size coming from the given Painter object to be applied as intrinsic sizes.
Versions
kotlin = 1.9.10
compose = 1.5.1

Case
The layout is an Image, together with other sibling composables, in a container (Row, Column, custom layouts, other).
The developer wants to use the other composables' intrinsic sizes in order to size the Image to the Min or Max intrinsic size.
Let's have a look at a simple example (backgrounds added for clarity):
@Composable
fun Content() {
    Row(
        verticalAlignment = Alignment.CenterVertically,
        modifier = Modifier.background(Color.LightGray).height(IntrinsicSize.Min)
    ) {
        Text(
            "Text 1",
            modifier = Modifier.background(Color.Green),
        )
        Text(
            "Text 2\nMultiline",
            modifier = Modifier.background(Color.Yellow),
        )
        Image(
            painterResource("svg_logo.svg").also { println(it.intrinsicSize) },
            contentDescription = "The SVG logo",
            modifier = Modifier.background(Color.Cyan),
        )
        Text(
            "Text 3",
            modifier = Modifier.background(Color.Red),
        )
    }
}

(svg_logo.svg By W3C SVG Logo, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=105996438)
That layout would result into something like this:

The image will push the parent container to be as big as the intrinsic size set by the Painter is.

[!NOTE]
In this case the minimum intrinsic sizes for the Image composable are 100 for both width and height, which doesn't seem to make sense as it seems to be a representation of the width="100%" and height="100%" in the svg, as the viewBox is viewBox="0 0 300 300". Again, it doesn't seem sensible, and I may create another bug for this, if we deem it necessary.

As an example, this is the result that we want to achieve:

Workaround
In order to reach the shown result, currently, the only way to "override" the intrinsics of the Image seems to be to wrap it with a Box, assign a fillMaxHeight and an aspect ratio modifier to the parent Box, and a matchParentSize to the Image itself.
This solution, although working, is a bit unelegant:
val aspectRatio = painterResource.intrinsicSize.width / painterResource.intrinsicSize.height

Box(modifier = Modifier.fillMaxHeight().aspectRatio(aspectRatio)) {
    Image(
        painterResource,
        contentDescription = "The SVG logo",
        modifier = Modifier.background(Color.Cyan).matchParentSize(),
    )
}

Possible fix implementation
Those sizes are applied from the underlying paint modifier. The same modifier, though, offers a flag sizeToIntrinsics that would disable exactly the behaviour that might not be wanted. An easy fix would be to expose that flag to the Image composable, and setting it to true so that the default behaviour would be the current one and not break compatibility:
@Composable
fun Image(
    painter: Painter,
    // ...
    painterSizeToIntrinsics: Boolean = true,  // <-- To add this
) {
   // ...

    Layout(
        {},
        modifier.then(semantics).clipToBounds().paint(
            painter,
            alignment = alignment,
            contentScale = contentScale,
            alpha = alpha,
            colorFilter = colorFilter,
            sizeToIntrinsics = painterSizeToIntrinsics, // <-- To pass the flag to the paint Modifier here
        )
    ) { _, constraints ->
        // ...
    }
}

Once that would be done, the solution above would only require an Image composable:
val painterResource = painterResource("svg_logo.svg")

Image(
    painterResource,
    contentDescription = "The SVG logo",
    painterSizeToIntrinsics = false,
    modifier = Modifier.background(Color.Cyan).fillMaxHeight().aspectRatio(
        painterResource.intrinsicSize.width / painterResource.intrinsicSize.height
    ),
)

Obviously this issue is to discuss the API and potential additions like exposing another flag that would automatically set the aspect ratio, or even creating a totally new composable (something like UnboundedImage, which would have a nicer documentation explaining why is that there and a flag to set the aspect ratio automatically).
I would be open to write a PR for this, once the API for this case has been discussed and agreed.

Thanks for this feature request! Looks interesting.

We can't simply add an argument to the Image function. We should be compatible with Android JetPack Compose. We can try to add it to Android side, but it is harder.
I will try to do own research of possible workarounds with current API.

I need to show some Drawable  returned from the Android system API
but Drawable.intrinsicSize prevents it from narrowing to the height of the parent layout
val aspectRatio = painterResource.intrinsicSize.width / painterResource.intrinsicSize.height

Box(modifier = Modifier.fillMaxHeight().aspectRatio(aspectRatio)) {
    Image(
        painterResource,
        contentDescription = "The SVG logo",
        modifier = Modifier.background(Color.Cyan).matchParentSize(),
    )
}

thanks, your code example work for me

You can "reset" the icon's intrinsic size with
Modifier.fillMaxHeight().height(1.dp)

For example:
fun main() = singleWindowApplication {
    Row(
        verticalAlignment = Alignment.CenterVertically,
        modifier = Modifier.background(Color.LightGray).height(IntrinsicSize.Min)
    ) {
        Text(
            "Text 1",
            modifier = Modifier.background(Color.Green),
        )
        Text(
            "Text 2\nMultiline",
            modifier = Modifier.background(Color.Yellow),
        )
        Image(
            painterResource("svg_logo.svg").also { println(it.intrinsicSize) },
            contentDescription = "The SVG logo",
            modifier = Modifier
                .background(Color.Cyan)
                .fillMaxHeight()
                .height(1.dp),
        )
        Text(
            "Text 3",
            modifier = Modifier.background(Color.Red),
        )
    }
}

results in

@alexfacciorusso if this solves the issue for you, can we close the ticket?

Modifier.fillMaxHeight().height(1.dp) is not working with Icon
Icon(
    imageVector = Icons.Default.Android,
    contentDescription = null,
    modifier = Modifier.fillMaxHeight().height(1.dp)
// modifier = Modifier.fillMaxHeight() // not working
)

but Icon can work with aspectRatio and it doesn't need to be wrapped by Box
Icon(
    imageVector = Icons.Default.Android,
    contentDescription = null,
    modifier = Modifier
        .aspectRatio(1f)
        .fillMaxHeight()
)

Modifier.fillMaxHeight().height(1.dp) is not working with Icon

Not working in what sense? Can you post a reproducer?

https://github.com/gkd-kit/gkd/blob/72e0f0fc7dff1f16de64a0b8806350bdae7c0fa8/app/src/main/kotlin/li/songe/gkd/ui/component/SubsAppCard.kt#L80-L86

https://github.com/gkd-kit/gkd/issues/546
Modifier.fillMaxHeight().height(1.dp) is not working on some devices
I don't know why
But Box+matchParentSize is working, so I will use Box+matchParentSize instead of height(1.dp)

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Hue: Fix multi-component device initialization race condition

Type of Change

[ ] WWST Certification Request

If this is your first time contributing code:

[ ] I have reviewed the README.md file
[ ] I have reviewed the CODE_OF_CONDUCT.md file
[ ] I have signed the CLA

[ ] I plan on entering a WWST Certification Request or have entered a request through the WWST Certification console at developer.smartthings.com

[x] Bug fix
[ ] New feature
[ ] Refactor

Checklist

[x] I have performed a self-review of my code
[x] I have commented my code in hard-to-understand areas
[x] I have verified my changes by testing with a device or have communicated a plan for testing
[ ] I am adding new behavior, such as adding a sub-driver, and have added and run new unit tests to cover the new behavior

Description of Change
We've identified an issue in the Hue driver related to the way we handled device init on driver startup for child devices that were ahead of the parent bridge in database order.
The race condition primarily manifested in the non-primary component for multi-component devices (such as multi-button remotes) not emitting attribute events or being able to handle capability commands.
The actual bugfix change is here: https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/commit/e4cc7a4d54608b6dbedf70f6342eaf9e193fb3bd
The other two commits are chore work that we tackled in the process of fixing the bug:

Mostly updates type hints/annotations
Fix one place where typechecks caught a missing nil checkCheck all that apply
Updates to the cheekily named "logjam" module that this driver uses to wrangle its extensive/complicated logging.

Fixes #1674
Summary of Completed Tests
Tested with various multi-button remotes.

I really like the logjam stuff. I wonder if we could get this into the lua_libs as it seems like it would be universally useful drivers.

I had the same thought. There are a few more refinements I want to make, but I was thinking it would make sense to port this over to the main log API eventually.


Hydrogen seems to run, but no output

Hydrogen logs no apparent errors, but fails to produce any results
1: installed hydrogen via Atom GUI
2: installed python kernel with
pip3 install ipykernel --user
3: Start up Atom, see notice about finding python 3 kernel
When attempting to run a single line (a print statement, nothing else in the file) I receive the following in the console log
Hydrogen: CellManager: Cell [start, end]: Array[2]0: Point1: Pointlength: 2__proto__: Array[0] cursor: Point {row: 1, column: 0}
Nothing else shows up. If I add a bubble, I see a lightning bolt next to my code. No amount of left/right-clicking on the bubble yields anything. If I open a standalone tab for the Hydrogen output, I get nothing. If I select "start local kernel" and see my only kernel, python3. I start and I see the following log:
Hydrogen: Selected kernel: Object {display_name: "Python 3", language: "python", argv: Array[5]}
But when I choose to connect to an existing kernel, Hydrogen tells me there are no running kernels.
Fedora 27
Hydrogen 2.1.1
Atom 1.22.1
Edit: Debugging has been enabled since install as well

This looks like a serious misconfiguration with Jupyter. Despite having installed under python3, the kernel is set to call python2 (/usr/bin/python). Updating this manually in kernel.json solved the issue.


Fixed get_texel_count (fixes #928)

@homu r+

:pushpin: Commit 2b81e16 has been approved by sectopod

:zap: Test exempted - status


Sign out -  App is crashed after log out

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

Action Performed:

Launch the app
Log in with any account
Go to Setting
Type Sign out

Expected Result:
No crash when sign out the app
Actual Result:
App is crashed after log out
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] iOS / native

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):<PHONE_NUMBER>
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/213724989-42ab5569-39ed-402a-8a7b-2f4dd6d86f2c.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

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

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

👀

This is the error happening on the local Android simulator after logging out:

Atm, I suspect the error is happening here, I disabled that line and the error is gone.
I will come back in 2 hours to continue the investigation

PR up to fix it on react-native-onyx. Also, this error was reported here.

PR up to bump the react-native-onyx version that fixes the log out issue in New Dot.

Opening this to handle payment to @sobitneupane $1000 for review and testing https://github.com/Expensify/App/pull/14450#issuecomment-1400765446

Triggered auto assignment to @kadiealexander (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@marcochavezf @kadiealexander this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

@sobitneupane I sent you a contract in Upwork, please let me know once you've accepted. :)

@kadiealexander Thanks. Accepted the offer.

Thanks @sobitneupane!! All paid.


Add node crashes rancher when selecting a custom driver

Rancher versions: 2.0 master 1/15
Steps to Reproduce:

Add a node driver (I added vultr)
Go to API and make sure it's active (if not activate it)
Go to Add Node and select Docker Machine (node driver will show in Driver list)
Try to get out of this page

Results:  Can't get out of this page, basically rancher is hung and have to refresh to get it work again.  Couple of errors in console:
component.js:26 Uncaught TypeError: Cannot read property 'filterBy' of undefined
util.js:453 Uncaught Error: a glimmer transaction was begun, but one already exists. You may have a nested transaction

Hi @tfiduccia, I can not recreate this issue.  Can you try again, please? thanks

Version - 2.0 master 3/26
Verified fixed


Unable to Add Locale Using Flutter Intl Tool for Locale - fil

I need to add Filipino to languages, however when attempting to submit - fil, I receive the following error.
Invalid locale code provided.
(Hint: 'en', 'en_GB'...)

How did you produce this error? Please reopen with more details - fil seems to be supported in this package in general.


[FT] Provide an interface for easier edit of parametrizable metrics

Issue encountered
When using a metric which is parametrizable, you need to create a new custom metric to edit default parameters - for some metrics like the BertScorer it's harder to do, see #310 point 3
Solution/Feature
We need to provide an interface or examples on this

Thank you! Dropping in related ideas here as they come up:
Are we open to passing in bert_scorer into BertScore initialization?
reference: https://github.com/huggingface/lighteval/blob/7295c78fcb63604cc18c43dd62349a6120ac8600/src/lighteval/metrics/metrics_sample.py#L539


Duplicated Events when shouldDiscoverEvents is true

Laravel Version: 9.5.1
PHP Version: 8.1.3
Database Driver & Version: MySQL 8.0.28

Description:
When events are registered manually and shouldDiscoverEvents returns true there will be duplication of Event Listener.
Based on the code snippet below, the Listener should be unique when it will be registered.
https://github.com/laravel/framework/blob/a25eb78d289186a099de60614612f4fda7f7eccb/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php#L90-L93
https://github.com/laravel/framework/blob/a25eb78d289186a099de60614612f4fda7f7eccb/src/Illuminate/Foundation/Support/Providers/EventServiceProvider.php#L40-L46
shouldDiscoverEvents = false

shouldDiscoverEvents = true

Steps To Reproduce:

Create event and listener
Manually Registering Events
Set shouldDiscoverEvents to true

Heya, thanks for reporting.
We'll need more info and/or code to debug this further. Can you please create a repository with the command below, commit the code that reproduces the issue as separate commits on the main/master branch and share the repository here? Please make sure that you have the latest version of the Laravel installer in order to run this command. Please also make sure you have both Git & the GitHub CLI tool properly set up.
laravel new bug-report --github="--public"

Please do not amend and create a separate commit with your custom changes. After you've posted the repository, we'll try to reproduce the issue.
Thanks!

Heya, thanks for reporting.
We'll need more info and/or code to debug this further. Can you please create a repository with the command below, commit the code that reproduces the issue as separate commits on the main/master branch and share the repository here? Please make sure that you have the latest version of the Laravel installer in order to run this command. Please also make sure you have both Git & the GitHub CLI tool properly set up.
laravel new bug-report --github="--public"

Please do not amend and create a separate commit with your custom changes. After you've posted the repository, we'll try to reproduce the issue.
Thanks!

https://github.com/SupianIDz/bug-report/tree/duplicated-event

Heya, thanks for reporting.
We'll need more info and/or code to debug this further. Can you please create a repository with the command below, commit the code that reproduces the issue as separate commits on the main/master branch and share the repository here? Please make sure that you have the latest version of the Laravel installer in order to run this command. Please also make sure you have both Git & the GitHub CLI tool properly set up.
laravel new bug-report --github="--public"

Please do not amend and create a separate commit with your custom changes. After you've posted the repository, we'll try to reproduce the issue.
Thanks!

https://github.com/SupianIDz/bug-report/tree/duplicated-event

This is normal. You've both enabled event discovery and manually registered the event. You need to do one or the other.


Store Settings.json in Documents

It would be awesome if the Settings.json file for Terminal was stored in the Documents folder somewhere.

Perhaps check for a specific folder in the Documents folder before defaulting to the current location when Terminal is launched? Similar to how PowerShell checks for scripts and Modules in the Documents\WindowsPowershell folder?

I'm not exactly sure whether this would meet your needs, but you could always create a symbolic link from your documents folder to the location that Windows Terminal uses.
For example, something like this:
mklink /D %USERPROFILE%\Documents\WindowsTerminal %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState

Yep -- symlinking is what we're recommending for now. For updates on our plan, though, follow /dup #2933


Query module: Logic is not clear, you set the selection as 'area of all analyses' and time map is calculated in the selection area, but for query, you have to define an area again. This is a double process.

There should be an option: 'Keep this selection area' or 'choose a sub-selection area'.

There should be an option: 'Keep this selection area' or 'choose a sub-selection area'.

I've fixed this in this commit 940b0e9ca9668066675f0a1d3ebbaae4c949d16a
Now the user can only use the selection area as the query area. I think it adds extra complexity if we allow them to choose whether to use the selection area or a sub-selection area. So I kept it simple. But we can discuss about it :)

good! Better to keep it simple. If they want a different area, they can simply define a new 'selection area'.


partial rewrite of GBE (entity component system)

comptime code is now sequestered into small wrapper interfaces over a
runtime pointer-cast-y core.
advantages:

you can now initialize the ECS type itself with a list of component defs
instead of a struct with meaningless field names.
code is severely cramped by having to fit things into inline for's
the runtime core should make it a lot easier to optimize the iterator.

disadvantages:

the added pointer casting is hard to follow

i wasn't sure how compile time and exe size would change, because i don't
know how zig works that well. after the fact, here are some numbers:
compile speed benchmarks:
compiling in debug mode, not much difference.
old: ~36.5s
new: ~35.0s
code size:
debug mode, it's actually bigger.
old: 2845736
new: 3160352
release-small mode, it's smaller.
old: 1408056
new: 1315016
possibly these numbers could be more different if the game contains more
iterations?
still not convinced this is better. maybe i can maintain it separately
for a while.

Todo: port API surface to master branch and then rebase to shrink this changeset.


anytype warning

Added, "noImplicitAny": false to tsconfig.json

What issue does this close?

If I implemented it correctly, I hope it will fix TypeScript Linting: Ignore "any type" warnings
#477

Ah, I see! The change you have made here relates to the config of the VZCode source code itself.
That issue is about this kind of error appearing inside the actual VZCode editor itself.
So to reproduce this, you would run npm run dev, then open up a file, then paste the reproduction code, then see the error. To remove that error, we'd need to make a source code change to filter out some of the linter warnings based on the error code. I believe this is already being done, and we probably can solve it by just adding another code to the list that we check already.
See https://github.com/vizhub-core/vzcode/blob/main/src/client/useTypeScript/worker.ts#L240

Commit a new version 2/16 4:06pm. Restore the tsconfig.json file. Added the error code into the filter for the array tsErrors.
Error code was referenced on this website I found:
https://github.com/microsoft/TypeScript/blob/v5.4-beta/src/compiler/diagnosticMessages.json

Amazing! Thank you so much. I will test it out.

I'm so happy this is getting resolved, it came up just today when I was recording a lecture video:

Tested it out, and it works! Thank you so much. This is a great improvement to the editor experience.


feat: trannsform to webp

url
original file
output file

100x100/aaa.png.webp
/aaa.png
100x100/aaa.png.webp

100x100/aaa.png
/aaa.png
100x100/aaa.png

@vega-

sorry wrong place 😓


CircleImageView is square

=.=I have solved it

How ? CENTER_INSIDE doesn't seem to work with this

Make sure you are using android:src / setImage*() and not android:background / setBackground*().

src is working fine but  civ.setImageResource(resource); its not working when setting image dynamically from drawable folder , image is not proper circular

There is (shouldn't be) any difference between using setImageResource and src. Please open a new issue with more details if that still is a problem @engr-erum.


Feature Request: Select branch when adding new branch

When I create a branch through the branch view, it does a git checkout but I need to highlight the branch name manually to use 'Edit Description'. Is it possible to highlight the newly created branch?
Thanks!

You would like to move the cursor to the newly created branch, right?

Yes, exactly.

I have other issues on my priority list. Would you like to try to implement it?

I had looked at it briefly, but have a very brief knowledge in python, so I couldn't find what I needed to change.
It's definitely not a priority to have this done, it's a "nice to have" but I can easily just move my cursor to the branch.


Error Running the contributed command when accepting js/ts suggestions

Issue Type: Bug
Repo

Open a js file
Trigger suggestions and accept
Open dev tools console

Bug
See issue about running the contributed command:

VS Code version: code-oss-dev 1.36.0 (Commit unknown, Date unknown)
OS version: Darwin x64 18.6.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
10, 9, 7

Memory (System)
16.00GB (0.09GB free)

Process Argv
.

Screen Reader
no

VM
29%

All js/ts completions register a command so I believe this is related to the lifecycle work. I added some console.log in the suggest logic, and from this I believe that we dispose of the CompletionList before reaching executeCommand. I don't understand the code well enough to fix this however

I believe this was introduced by 6a4467da59c164bc1197d3b8d6354d79a9975120. The bug is in the current insiders too but doesn't seem to be causing too much trouble

Yeah, problem is that inserting a suggestion trigger cancel to be called and that during that dispose is being called. Before running and awaiting the command.

A bit tacky but for now the suggest model isn't dispose until the next request is made (or until the suggest model/controller is being disposed). This will work but there is some debt which still needs to be removed...


Diagrams for API docs rank 10-20 in most views

Description
Adds / updates diagrams and code samples for the following API docs:

Icons
MaterialApp
TextStyle
FlatButton
Expanded
GridView
FloatingActionButton
DropdownButton
CustomScrollView

Related Issues

[ ] https://github.com/flutter/assets-for-api-docs/pull/97

Tests
No tests necessary, samples will be verified by CI.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[X] I signed the [CLA].
[X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[X] I updated/added relevant documentation (doc comments with ///).
[X] All existing and new tests are passing.
[X] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[X] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read [Handling breaking changes]). Replace this with a link to the e-mail where you asked for input on this proposed change.
[X] No, this is not a breaking change.

Just a heads up: No tests needed (see description)

Thanks for the great review, @Piinks! I believe I've worked through all comments and any additional feedback is appreciated :)

Thanks again -- all feedback has been addressed!


handle EOF in GfsSeekableByteChannel

Coverage decreased (-0.03%) to 94.199% when pulling e7f887f73b37c3f7902752dd9cb672c5f6282555 on genious87:master into 844ae89d9014b52cf69fe3c563ce3767e51f323b on beijunyi:master.


Added Interrupt handler and config.h

Added an interrupt handler for the button so that the main loop is not blocked.
Move the #define into a config.h file
Adding some comments

If I understand this correctly, the user has 30 cycles to press the button again?
if (click_loop_count + 30 < loop_count)     {       if (click_count == 1)       { // single click         speed_state = (speed_state + 1) % 5;         if (mode == 0)         {           cycle_counter = 10000; // if in CPAP mode update immediately         }       }       if (click_count == 2)       { // double click         mode = (mode + 1) % 2;         // if entering PEEP mode, update immediately in exhale cycle         // otherwise, maintain phase         cycle_phase = 0;         cycle_counter = 10000;       }
Should display when a button has been pressed?
      // blink LED       digitalWrite(led_pin, LOW);       delay(50);       digitalWrite(led_pin, HIGH);

found a bug


Website Updates

electrical drawing tools - need to do

From last week:
-Key items for purchasing.. Anything else?
-Added a standards list on the technical resources page.

@clayfanatic if this is done, please close

@clayfanatic Status on this one?


Map the long,lat onto a map using Python

@yochannah status update: investigating an interactive mapping program in Python
Pygal didn't seem to have finer granularity than 'worldmap'
GeoDjango does look useful, but will require running a webapp on a server - TBC!

Whilst @yochannah looks at making an interactive map as a webapp, @raspicer is working out how to plot the long,lat data on a map in our static notebooks.

@RASpicer has managed to install basemap (a pain to install with Anaconda!)
@Yoyehudi will cease webapp exploration as it will take too long for today #okfail - this frees her up to help others