Setting up objectives in Matomo

What

Having a hard time setting up objectives in Matomo
This makes it complicated to measure engagement with features

Part of

Analytics

I've made some progress, Matomo side

I have to implement the whole objektive part in the Matomo package but it won't take that long

One thing we should think about @teolemon is whether Matomo is the right tool for the job. I personally can't get any meaning information besides general usage out of it, it's just not built for mobile. Maybe there is another, mobile focused self hosted alternative


Add Golang platform

This means that binaries are automatically recognized as Golang and the convention is applied automatically without requiring reanalysis, and the __callingconv('golang') attribute is hidden.
I've also added a type for the g struct so the reads from r14 (i.e. for stack checking) are more readable.

Also recognizes that the {x,y,z}mm15 register contains 0 at function entry which simplifies zero-initialised types


Patch 1

WHAT
Detect JSON:API content-type
WHY
JSON:API returns valid JSON but uses a different content type.  Update the is_json_response function to handle both cases
HOW
Match "content-type: application/vnd.api+json"
Types of changes

[X] New feature (non-breaking change which adds functionality)

LGTM! Thanks.

@all-contributors add @andrevdm for code.


Questions about trace files when running cachebench

Hello, thank you for managing the great project!
I found that cachelib provides several traces in here and I have two questions in testing them using cachebench.

Do trace files include set operations caused by misses onget operations?

I found that CacheLib has options (enableLookAside) for performing set operations over misses on get operations.
However, I wonder if such behaviors are already captured in trace files.

If there are a lot of get operations before set operations, which can be captured in trace files, is a miss ratio in CacheLib still accurate?

Depending on how trace files are collected, only get operations can be captured and they will cause a lot of misses, increasing a miss ratio.
In addition, if enableLookAside is turned on, many set operations will be generated for the same key-value.
In production level, get operations for the same key might be queued while waiting the response from the first miss trigger.
Please refer to the following trace lines (the first file of kvcache/202206), key:<PHONE_NUMBER> will generate a lot of misses:

key,op,size,op_count,key_size
1668757755,SET,82,1,40
1668757755,GET,0,1,40
1668757805,SET,208,1,63
1668757805,GET,0,1,63
1665498006,GET,104,2,64
1666258101,GET,81,2,23
1665497896,GET,169,18,78
1665702915,SET,109,1,40
1665702915,GET,0,1,40
1665497896,GET,169,18,78

For requests with the same key, what is difference between (1) a trace line with op_count larger than 1 and (2) multiple trace lines with op_count=1?

1). Yes the traces include "SET" which are triggered due to misses to get operations in our systems. There're some exceptions in KV traces. Notably some clients do "SET" first and then "GET" (after some minutes or hours). These clients are basically prefetching data. They're rare in the traces compared to the regular cache set-after-a-miss workloads.
2). enableLookAside should only be used when you filter out all the "SET" operations from the original trace. This is useful when you have a cache size drastically different from the cache config, as it will enable CacheBench to behave like an actual cache instead of just replaying the original set traces. (E.g. original hit rate at 90% would have much fewer sets compared to a smaller cache at 50% but receiving the same GET workload).
3). op_count = the number of requests we have seen for this key in this "second" when we collected the traces originally. Each row in our trace represents a second worth of requests per key per operation.

@therealgymmy Thank you for the answers. I appreciate it!


Clean up repo, use CPM for dependency management

Update CMake version to 3.21
Make this repo able to be pulled in as a dependency via CMake
Use new compiler and environment detection (from range-v3)
Use CPM for dependencies
Fix Github actions to work on Clang 10,11,12,14

vcpkg install in the github action is no longer really needed..but left it in for now

I didn't mean to add that second commit, oops.

I didn't mean to add that second commit, oops.

Can you rebase and remove it? Then I'll merge

done.


Resolved:true only shows my resolved questions

Should show all resolved content. Same as clicking "show resolved only" facet.
Resolved:false does not return any content (and it should).
Not sure if this is browser or middle tier. If we have to push beyond EA3 that is okay.

This change is in PR now, will assign to @gghai when merged.

Tried few scenarios here

Joe raised a new question , resolved:false incremented as expected as it was resolved.
Joe accepted an answer , resolved :true count incremented by 1.

I agree it looks like it works. However I am seeing one weird behavior, wondering if you can try to replicate @gghai - when i search for resolved:true and resolved:false, the 2 totals do NOT sum to the total questions when i am in browse mode showing all questions.

@popzip will you please post your URL for the search you're mentioning?

yes i am able to reproduce the issue . resolved:true -> 1903 resolved:false -> 1085 ; but the total browsing doc count = 2989 ( that is 1 more ) .
Url : http://rh6-intel64-80-qa-dev-2:3000/

resolved:true may not be the polar opposite of resolved:false by the way. When there is no value, you resolved:false => false, AFAIK...

Someone please post the full URL (I.e. the one with the parameters)?

Here you go . Login as joe and access below urls :
http://rh6-intel64-80-qa-dev-2:3000/?q=resolved:true
http://rh6-intel64-80-qa-dev-2:3000/?q=resolved:false
http://rh6-intel64-80-qa-dev-2:3000/ ( browse mode)

Right -- resolved:false would require that there be a value. You're missing the missing values, AFAIK.
@grechaw can we match on the absence of a value in the index? I kind of doubt it, and even if so I imagine it wouldn't perform well...

why would we have any missing values? is this an element we inherit from SO or one we apply during ETL?

We add the resolved property only when it is resolved AFAIK. @grechaw?

If that were true, wouldn't the discrepancy that @gghai reported be much larger? (I also assumed that the resolved values were applied on ingest.)

It should be false if it's not true.   So there's one record that's missing the value, almost certainly one of the joe+mary records, which were made by hand.  I think it's a nice discussion point about missing values :)

Okay i'll raise it for looking into further at a later point.

It's very easy to identify what the offending data is...

okay - but with it being one record, not worth fixing for now

hm, seed data checks out.

Well, that other issue is open- we'll find the offending data.

It may be new QnA docs. I didn't realize we were ever going to have resolved:false, so it's probably bot being set on new questions. We can take that as a fix.

The middle tier will take care of that...  I doubt you'll find it's a browser bug.

So you set resolved:false even when we post a QnA doc with no resolved
property?

yes, that's right

Ok.

I'll set back to ship how it was -- @popzip opened new issue #487 for it.


🔧 DNS-IAC v2: Use OctoDNS to Manage Estate

User Need
As a member of the Operations Engineering team
I want to use OctoDNS for managing Route53 records
so that we can eliminate the need for a state file and improve the efficiency of DNS record management.
Value
Using OctoDNS will remove the dependency on the state file, which was a significant bottleneck in our previous setup. This approach allows DNS records to be declared in YAML and applied directly to the Route53 API, streamlining the process and reducing the potential for state drift. It also provides a more readable and maintainable configuration format.
Functional Requirements:

Set up OctoDNS to manage Route53 records by declaring DNS records in YAML.
Export the current dsd.io hosted zone data from Route53 and import it into OctoDNS.
Update CI/CD pipelines to accommodate the new OctoDNS configuration and ensure efficient record management processes.
Test the following scenarios for each hosted zone:

Adding a new record to the hosted zone.
Removing a record from the hosted zone.
Changing a record in the hosted zone.
Conduct any other relevant tests identified during the process.

Non-Functional Requirements:

The solution should be straightforward to set up and integrate with existing infrastructure.
Performance: The time for DNS operations should be significantly reduced.
Reliability: Ensure the system accurately applies changes without errors.
Maintainability: The YAML configuration should be easy to read and maintain.
Readability: The configuration format should be easy for a layperson to understand.

Acceptance Criteria:

OctoDNS is successfully set up to manage Route53 records.
The current dsd.io hosted zone data is exported and imported into OctoDNS without any loss of data.
CI/CD pipeline is updated and validated to handle OctoDNS configuration.
Documentation is updated to reflect the new process for managing DNS records using OctoDNS.
The new setup is tested for:

Adding a new record to the hosted zone.
Removing a record from the hosted zone.
Changing a record in the hosted zone.
Handling mass changes by creating two new hosted zones, each with approximately 400 records.

Performance metrics are gathered and reviewed, including:

Speed: How long it takes to run the operations.
Maintainability: How easy it is to maintain the new setup.
Reliability: Ensuring there are no malfunctions or issues.
Readability: How easy the new setup is for a layperson to understand.

Notes:

🥇 Closing Note: octoDNS Proof of Concept for Managing dsd.io Hosted Zone
We've successfully completed the proof of concept for managing the dsd.io hosted zone using octoDNS. The results have been very promising, showing potential improvements in our DNS management workflow.
Key Findings:

Performance: octoDNS demonstrated fast execution, with dry runs of single changes in Route53 consistently taking less than 1 second for various operations (new records, changes, deletions).

Responsiveness: The system efficiently identified manually created records not present in the repository snapshot, aiding in maintaining a single source of truth.

Export Capability: Exporting the entire hosted zone locally took less than 1 minute, which could facilitate backups and migrations.

Flexibility: octoDNS offered options for structuring records, either in one file per hosted zone or one per record.

GitHub Flow Integration: We successfully tested a CI/CD pipeline that plans changes on pull requests and applies them on merge, aligning with our existing workflows.

Comparison with Terraform: For equivalent changes, Terraform took several minutes to plan and apply, with the state file appearing to be a bottleneck for new record creation. octoDNS significantly outperformed in this aspect.

Both approaches have their strengths, and this proof of concept has provided valuable insights into potential options for our DNS management processes.
Next Steps:

Unarchive the ministryofjustice/dns repository to prepare for further exploration.
Export all existing hosted zones to octoDNS format for testing purposes.
Develop a CI/CD pipeline for octoDNS that aligns with our GitHub workflow.
Conduct several trial runs to ensure smooth operation and identify any potential issues.
Create documentation for the team on using octoDNS within our workflow.
Evaluate how the octodns IAC solution fits into the DNS change process.


ARROW-8742: [C++][Python] Add GRPC Mutual TLS for clients and server

Our team would like to implement mutual tls authentication for a pyarrow client, hence modifications to the C++ and Python implementations to at a GrpcMTls scheme for connections.

I've reformatted the code and added a test to make sure mTLS actually works, let's see how it fares in CI.

Merged, thank you for implementing this!


[NEURIPS] .zip and .tar.gz archives are not supported for file uploading

.zip and .tar.gz archives are currently not supported for file uploading. What would be needed to implement this feature?

This appears related to https://github.com/mlcommons/croissant/issues/547, so I am closing this issue.

I am reopening this issue per the NeurIPS organizer's recommendation.

Hi, wanted to check what you mean by this. I have a FileObject with a content_url pointing to a publicly available .zip file and I have my encoding_format set to application/zip similar to coco2014 but I'm getting the following error:
GenerationError: An error occured during the streaming generation of the dataset, more specifically during the operation Extract(training_data).
Is this the same issue you're facing? I'm able to get it working if I don't upload a compressed .zip file.

Hi, @JovinLeong. I believe the issue for me is that I'm trying to point to a remote .zip/.tar.gz archive. Good to know that local paths work though!

Okay, then it seems like we're facing the same issue then - which seems odd since the coco2014 example uses a remote .zip. Though tbf it seems like coco2014 isn't working for me anyway


[Question] Can you run more than 1 at once?

#30

php cheat.php token1
php cheat.php token2

Or just copy script to multiple folder.


Bug Template - Add coredump download links next to all other logs

As suggested by @avikivity here:
https://github.com/scylladb/scylla-enterprise/issues/3726#issuecomment-1871159838
It's basically going over the events, and taking the download instructions out

doing this on the Argus end only for now


Which Instagram version is supported?

I am using the Emulator on OSX and I have the IG version 2<IP_ADDRESS>.107.
How do I know if this version is supported?
I get the following output but nothing happens then:

[04/08 20:22:13]     INFO | Ready for botting!🤫
[04/08 20:22:15]     INFO | FastInputIME is the default keyboard.
[04/08 20:22:15]     INFO | Instagram version: 2<IP_ADDRESS>.107

and in the account.log I only see sleep and press back button:
[04/08 20:36:26]    DEBUG | Press back button. (device_facade.py:131)
[04/08 20:36:27]    DEBUG | 1.90s sleep (utils.py:442)
[04/08 20:36:57]    DEBUG | Press back button. (device_facade.py:131)
[04/08 20:36:59]    DEBUG | 2.02s sleep (utils.py:442)

I believe it's <IP_ADDRESS>.117

Great now it works with <IP_ADDRESS>.117, insalled the APK with drag&drop on the PIXEL2 emulator. Would be nice if the supported versions are documented somewhere if they arent already.

Hello! It should say when you start the bot
You can also find it there; https://github.com/GramAddict/bot/blob/master/GramAddict/init.py


Updated mentors.md file

Added my name as Flutter open source mentor.

@ravishankarsingh1996 Thanks for your interest! There are some merge conflicts in your branch, Could you please resolve them 😄

@ravishankarsingh1996 Thanks for your interest! There are some merge conflicts in your branch, Could you please resolve them 😄

Conflicts have been resolved @deephunt3r


Create ovn net-attach-def for switchdev policy (ovs hw offload)

Signed-off-by: Zenghui Shi<EMAIL_ADDRESS>

/cc @moshe010 @adrianchiris

/cc @moshe010 @adrianchiris

The approach in this PR doesn't seems scale when multiple CNI network types are supported which may use different sriov modes. In which case we will have a mixed combinations of which device mode works with which CNI network type, and Operator cannot easily decide what net-attach-def should be created.
The intention of this PR was to ease user's configuration and create the net-attach-def automatically, but it turns out we cannot easily infer the relations between CNI and device Mode in Operator w/o adding additional configurations.


Enable UART before MMU enabled on aarch64

Add early, non-locking console for use where atomics not available.  This should be changed to the default locking console as soon as practical.  Only used in aarch64 for now.
Use of early console is hidden from callers of println
Add MiniUART for raspberry pi
Add support for compressed aarch64 kernel

Signed-off-by: Graham MacDonald<EMAIL_ADDRESS>

I think we should probably just get paging and the MMU up from assembly code, which is what Plan 9 did, instead of duplicating the UART. Perhaps open an issue, and we check this in now, and revisit at some point?

Makes sense


[MWPW-133406] [HOTFIX]: Relevant Rows regression caused by template v2 release

Fix MWPW-133406
Description:
A regression caused by template v2 refactoring where the toolbar got rendered on relevant rows as well. This fix removes 'mini' version of the template-list from the toolbar rendering logic.
Test URLs: (mobile only)
Before: https://stage--express-website--adobe.hlx.page/express/create/agenda?lighthouse=on
After: https://mwpw-133406-hotfix--express-website--wbstry.hlx.page/express/create/agenda?lighthouse=on

I am not seeing this as resolved on this branch, it looks like template-x.js is not imported on this version, which is causing that entire section to break as well.

Duplicate Stage -> Main version merged. Closing this one.


Cannot assign null to property Backpack\Basset\Helpers\CacheMap::$map of type array

Hey there,
While testing in a test pipeline we are getting the folling TypeError:
Cannot assign null to property Backpack\Basset\Helpers\CacheMap::$map of type array
Is there a way to disable basset while running the tests?
Best regards,
Bernhard

Hey @BernhardK91 can you try by setting the .env variable BASSET_DEV_MODE=true ?
Let me know if that helps.
Cheers

That sounds like it is the setting I was searching for. Unfortunately, the error occurred more or less randomly. So I will close the issue for now and only reopen if the error occurs again.
Thank you very much for your help!

Unfortunately, the issue still occurs, even with added BASSET_DEV_MODE=true to the pipeline's .env file.
Btw: The error occurs once (maximum twice) in 450 tests, and it is every time another tests, but always tests that check our admin panel.

Hey @BernhardK91
Is it possible that you can provide a simple repo with only 1 of the tests that fail, and make it fail there in a clean repo?
I say that because it may be something dependant on your environment setup, that I will not be able to replicate and attempt a fix.
If we can reproduce the error in a clean environment, even if it only happen "once in a while" I can put a script to run the test 1M times until it fails and I may try to trace back the issue.
I would focus to know the reason why null is there while an array is expected. Is the file deleted in some tests ? Maybe the file takes a little bit to create and the "check" run before the file operation finishes ?
🤷 Let me know what kind of info you can provide me to help me debug this.
Cheers

Hi @pxpm,
Thank you for your fast and detailed response. I will try if I can reproduce the error in a clean repo.
Run the tests "endless" until it fails is a good idea, I will also try that myself.
I'll let you know as soon as I have any more details on that.
Have a good one!

Hey everyone!
This issue was not updated for the last 2 months, so I'll close it for now, if someone has any update for this one please re-open 🙌

Yeah, sure, currently I was not able to reproduce outside of Bitbucket Pipeline. I will reopen when I have any updates.

Yeah, sure, currently I was not able to reproduce outside of Bitbucket Pipeline. I will reopen when I have any updates.


Request to add St. Michael's College

adding St. Micheal's College

@marjone-smciligan Pull request merged. Thank you.

@philipto Thank you so much for the merge. However, I was trying to renew my license earlier and it still doesn't recognized my domain. What to do?

@philipto Thank you so much for the merge. However, I was trying to renew my license earlier but it still doesn't recognize my email. What to do?


Laravel 5.1 issue on generate

[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to undefined method Illuminate\Foundation\Application::bootstrapPath()

Same issue. Any ideas ?

Same issue for me.
My solution, install version 1.6.6 or older.

This is also in the README:

Using Laravel < 5.4? Use version 1.0! For Laravel 5.4 and up, use 2.0 instead.

:)


Eloquent fields starting with an _underscore are not mass assignable

As I was trying to get Eloquent to save a bunch of properties that start with _ I realised that it could not be done unless I explicitly added each and every fields that start with _ in $fillable. As I realised, it's because of the starts_with test @ line 2124.
I looked in the docs and I could not find the rationale behind this behaviour. I’m sure Taylor put it there for a good reason, but I could not find it anywhere.

Presumably, this dates back to here: https://github.com/laravel/framework/issues/635.

Thanks @ebynum. Yeh, this is actually the intended behaviour.

for now, to work around it, just overwrite the isFillable method in your model (or a parent model if needed) and remove the last check for an '_' in the key name.


TOMCAT Container Logs not pushing to Splunk

Describe the bug
Tomcat Container logs are not pushing to splunk but other containers logs are pushing to splunk. Other container logs path is '/var/logs' and path for tomcat logs is '/usr/local/tomcat/logs/erefill_*.log'.
To Reproduce

Expected behavior
Able to push the logs from - /usr/local/tomcat/logs/erefill_*.log
Your Environment

Fluentd or td-agent version: fluentd --1.9.1
Operating system: cat /etc/os-release : Ubuntu - Debian- 18.04.3 LTS (Bionic Beaver)
Kernel version: uname -r : 4.15.0-1060-aws

Your Configuration
We have manually deployed the manifest file and not using the HELM option.
Tomcat Conf File:

Filter Stanza from Output Conf File :

Filter for Tomcat Logs which is added in output.conf file :
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: splunk-kubernetes-logging
  namespace: fluentd-amax
  labels:
    app: splunk-kubernetes-logging
    engine: fluentd
    version: 1.4.6
spec:
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      app: splunk-kubernetes-logging
  template:
    metadata:
      labels:
        app: splunk-kubernetes-logging
        version: 1.4.6
      annotations:
        prometheus.io/scrape: 'true'
        prometheus.io/port: '24231'
    spec:
      serviceAccountName: splunk-kubernetes-logging
      nodeSelector:
        beta.kubernetes.io/os: linux
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
      containers:
      - name: splunk-fluentd-k8s-logs
        image: docker.io/splunk/fluentd-hec:1.2.4
        imagePullPolicy: IfNotPresent
        securityContext:
          runAsUser: 0
          privileged: false
        env:
        - name: K8S_NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: MY_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: SPLUNK_HEC_TOKEN
          valueFrom:
            secretKeyRef:
              name: splunk-kubernetes-logging
              key: splunk_hec_token
        - name: SSL_CERT_FILE
          value: "/fluentd/etc/splunk/hec_ca_file"
        resources:
          requests:
            cpu: 100m
            memory: 200Mi
        volumeMounts:
        - name: varlog
          mountPath: "/var/log"
        - name: varapp
          mountPath: "/usr/local/tomcat/logs"
        - name: varlogdest
          mountPath: "/var/vcap/store/docker/docker/containers"
          readOnly: true
        - name: journallogpath
          mountPath: "/run/log/journal"
          readOnly: true
        - name: conf-configmap
          mountPath: "/fluentd/etc"
        - name: secrets
          mountPath: "/fluentd/etc/splunk"
          readOnly: true
      terminationGracePeriodSeconds: 30
      volumes:
      - name: varlog
        hostPath:
          path: "/var/log"
      - name: varapp
        hostPath:
          path: "/usr/local/tomcat/logs"
      - name: varlogdest
        hostPath:
          path: "/var/vcap/store/docker/docker/containers"
      - name: journallogpath
        hostPath:
          path: "/run/log/journal"
      - name: conf-configmap
        configMap:
          name: splunk-kubernetes-logging
      - name: secrets
        secret:
          secretName: splunk-kubernetes-logging

Additional context
Specifications of Tomcat Logs :

Logs Format - log4j
Time Format - yyyy-MM-dd HH:mm:ss,SSS
Regex - ^(\d{4}+-\d+-\d+ \d+:\d+:\d+,\d+)|([\d+])|(\S+:\d+)|-|(\S+)|

Queries :

Which parsing plugin should be used for log4j logs format..? And How..?
Are above stanza's are correct, can you pls verify once.

Which parsing plugin should be used for log4j logs format..? And How..?

As there is not built-in log4j parser, it is reasonable to use the multiline parser.
https://docs.fluentd.org/parser/multiline
Then, it may be better to investigate with a small set of fluent.conf  and log4j logs for debugging.
<source>
  path /usr/local/tomcat/logs/erefill_*.log
 <parse>
    @type multiline
   ...
 <parse>
<source>
<match **>
 @type stdout
</match>


NRK inconsistent file name of downloaded subtext (using -o option)

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.01.03
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

youtube-dl -v --no-warnings --write-sub --convert-subs srt -k https://tv.nrk.no/serie/dyrlegen/sesong/1/episode/1/avspiller -o foo.mp4
[debug] System config: []
[debug] User config: ['-f', 'best[height<=720]', '--no-call-home']
[debug] Custom config: []
[debug] Command-line args: ['-v', '--no-warnings', '--write-sub', '--convert-subs', 'srt', '-k', 'https://tv.nrk.no/serie/dyrlegen/sesong/1/episode/1/avspiller', '-o', 'foo.mp4']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.01.03
[debug] Git HEAD: ac71fd591
[debug] Python version 3.6.9 (CPython) - Linux-5.4.0-58-generic-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8
[debug] Proxy map: {}
[NRKTVEpisode] dyrlegen/sesong/1/episode/1: Downloading webpage
[debug] Using fake IP <IP_ADDRESS> (NO) as X-Forwarded-For.
[NRK] KOIF20000120: Downloading manifest JSON
[NRK] KOIF20000120: Downloading m3u8 information
[NRK] KOIF20000120: Downloading metadata JSON
[NRK] KOIF20000120: Downloading programs JSON
[info] Writing video subtitles to: foo.nb-nor.vtt
File is named  "foo.nb-nor.vtt"
youtube-dl -v --no-warnings --write-sub --convert-subs srt -k https://tv.nrk.no/serie/team-bachstad/sesong/8/episode/4/avspiller -o foo.mp4
[debug] System config: []
[debug] User config: ['-f', 'best[height<=720]', '--no-call-home']
[debug] Custom config: []
[debug] Command-line args: ['-v', '--no-warnings', '--write-sub', '--convert-subs', 'srt', '-k', 'https://tv.nrk.no/serie/team-bachstad/sesong/8/episode/4/avspiller', '-o', 'foo.mp4']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.01.03
[debug] Git HEAD: ac71fd591
[debug] Python version 3.6.9 (CPython) - Linux-5.4.0-58-generic-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8
[debug] Proxy map: {}
[NRKTVEpisode] team-bachstad/sesong/8/episode/4: Downloading webpage
[debug] Using fake IP <IP_ADDRESS> (NO) as X-Forwarded-For.
[NRK] MUHU13000420: Downloading manifest JSON
[NRK] MUHU13000420: Downloading m3u8 information
[NRK] MUHU13000420: Downloading metadata JSON
[NRK] MUHU13000420: Downloading programs JSON
[info] Writing video subtitles to: foo.nb-ttv.vtt
File is named "foo.nb-ttv.vtt"
Description
Downloaded sub text file are named "foo.nb-nor.vtt" on some downloads and "foo.nb-ttv.vtt" on others.
See examples above

This is what's provided by nrk.

This is what's provided by nrk.


Lua 5.4 support

CMake's builtin FindLua only very recently got support for 5.4, so I've just copied that file over in order for us to support Lua 5.4 on earlier CMake versions.
Not sure exactly how much we want to update to use 5.4. I just made one CI step use 5.4, but left deps/lua alone.
Tested with:
mkdir build
cd build
LUA_DIR=/path/to/lua-5.4.0/src cmake .. -DWITH_LUA_ENGINE=Lua -DLUA_BUILD_TYPE=System
make

Related issues: https://github.com/luvit/luv/issues/497 & https://github.com/luvit/luv/issues/514

Windows build is failing:
Now compiling CORE file set...
Now compiling LIB file set...
Now compiling DLL file set...
Now compiling OTH file set...
link /nologo /DLL /out:lua54.dll
LINK : warning LNK4001: no object files specified; libraries used
LINK : warning LNK4068: /MACHINE not specified; defaulting to X86
LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
lua54.dll : fatal error LNK1120: 1 unresolved externals
link /nologo /out:lua.exe lua.obj lua54.lib
LINK : fatal error LNK1181: cannot open input file 'lua.obj'
link /nologo /out:luac.exe
LINK : warning LNK4001: no object files specified; libraries used
LINK : warning LNK4068: /MACHINE not specified; defaulting to X86
LINK : fatal error LNK1561: entry point must be defined
Build completed.


link with cookiecutter?

Hi @Slowblitz
I just came back to the cookiecutter concept (which I'd discovered a few years ago, but then forgot): https://cookiecutter.readthedocs.io/
I'm wondering whether:

AnDO could become a cookiecutter template? or whether it's totally redundant?
we could get inspiration from the cookiecutter command line interface to setup the base of an AnDO toplevel directory (as you'd started doing a while ago)
we could think about providing a cookiecutter template for a neuroscience research project (and inside this, there would be a data directory that should follow AnDO or BIDS for example)

Anyhow, this might a good thing to think about during the new confinement ;) This is maybe to be taken a bit more widely than only at the AnDO/data level, which you might be interested in... (???)

Hello,
So why not using cookiecutter I have already done a little template a while ago?
On the tool to create a new AnDO directory that I have created, it may be a little redundant if we are planing to use cookiecutter no ?
And ,Yes it seems a good idea to make cookiecutter template for a neuroscience research project( BIDS or AnDO) but I think I am  not enough aware on what is mandatory or option in naming for example in BIDS to make good templates at the moment.
Maybe we should schedule a meeting to talks about it ?

Hello ,
here's my coockiecutter template for AnDO if you want to check it out =)
https://github.com/Slowblitz/Cookiecutter_Neuro_Templates

cool, I'll check it out this afternoon!

ok, I've tested, it's nice and easy to create a directory with the AnDO structure ready to go! great!!! ;)
I see 3 points to discuss:

most importantly, is this redondant with the AnDO specs? we cannot have both systems in place because we do not want to maintain them both separately... if there is an added value to this cookiecutter (a question that still needs to be answered), we should find a way to make them co-exist so that if the specs evolve, we only need to change them in one place! for example: would it be possible that the cookiecutter.json file is the same as (or is automatically generated by) the json file from the AnDO specs? (or the opposite... maybe we could modify the json file from the AnDO specs so that it is the same as the cookiecutter.json, since I guess this one needs to respect some format?)
we should talk to some users to see what they need to automatize this process of creation... (how do they want to provide the input information? a list of subjects, a list of sessions, in what format? etc.)
once we know all this, maybe we can implement something for this automation...

let's talk! and maybe let's talk with kevin!

Hello, if it works that cool  ;),
For the first question, the specs of AnDO and the one for cookiecutter are really different both uses a specific syntax and I don't think we can reverse the REGEX of AnDO specs to create a directory, I have to think about it to see if we can make the two works together.
And yes we should talk to  the users maybe they don't need to automatize the creation. Moreover, the creation is very specific and happens once in a project no ? Maybe something that "adds" subject to an existing project is more suited I don't really know ? WDYT ?
Ok let's talk about it ! =)

@BlaizeKevin we might want to discuss with you soon ;)

Great ! :) Let me know when you will be ready !

Great ! Let me know when you will be ready ! :)

Hi @BlaizeKevin  are you up for a meeting this week to talk about it ?

only tomorrow thursday works for me...

Tomorrow (Thursday) morning at 11AM ?

ok for 11am! let's stop using this github issue to set up our meeting, I'll send you an email ;)

@Slowblitz for info: https://neurostars.org/t/bids-and-cookiecutter/17367

Interim conclusion was: cookiecutter is probably too limited / too simple compared to what we need...


Split into util-linux-libs and util-linux

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This splits off the shared libraries into a separate util-linux-libs package.
This is needed for packages that link to, e.g., libuuid or libblkid, but for which we don't necessarily want to pull in all of those low-level binaries.
(I'm packaging tools from https://github.com/containers and want to use this split package for that.)

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

In general, I am not interested in package splitting. Maybe it is best to resolve CFEP-20 first.

util-linux is a special case in my opinion. We don't necessarily want to pull in all of those low-level tools just because we have packages linked to the libraries from util-linux. The desire here is not to split because of size or dependency bloat concerns but to ensure a smoother user experience by avoiding to pull in binaries like su, kill, mount, getopt, swapon, and many many more.

Also, this split of course has no impact for current/future users of the util-linux package. Installing util-linux will yield the same contents as before.

Maybe it is best to resolve CFEP-20 first.

I don't believe so. CFEP-20 has a broad scope and I can't see how the decision for that proposal would influence this PR. This PR only does one split and the least intrusive one that is. Plus, as mentioned in https://github.com/conda-forge/util-linux-feedstock/pull/8#issuecomment-721286620 the intentions of this PR are of conservative nature rather than optimizing the general build/dependency landscape as in CFEP-20.
This is ready to merge. (Travis build went through, although it is still marked as failed.)
@scopatz, do you intend to block this PR?

The desire here is not to split because of size or dependency bloat concerns but to ensure a smoother user experience by avoiding to pull in binaries like su, kill, mount, getopt, swapon, and many many more.

IIRC I packaged this specifically because I did want the mount CLI.  I guess under this PR it would go into the top-level utils-linux package.
I see CFEP-20 as directly relevant because it would determine the proper name for what is currently called util-linux-libs. It would be better to have a known name for these types of packages rather than having to pick one here and then change it in the future because CFEP-20 picks a different name.  My objection to CFEP-20 is the notion that the splitting would become somehow normal or standard. I approve of the parts of it that designate standard names for when splitting is needed, such as here.
I am not blocking this out of hand, just doing my normal review.

Thanks for putting this in @mbargull!

just doing my normal review.

Perfect, that's what I want to hear :).
I only asked for the intend that bluntly because I didn't understand if the initial comment was only subjective (because of the "In general, I am not interested in ..." intro) or not -- and asking directly/bluntly just makes it easier for me to grasp ;).

IIRC I packaged this specifically because I did want the mount CLI

Yes, that makes sense. And I also expect people to be (at least somewhat) aware that if they explicitly install util-linux that they get those nitty gritty tools. However, if we have other packages which only use the shared libraries from util-linux, then users might not be aware that they indirectly get a copy of those base tools. For some of those binaries, e.g., the mount you mentioned, this could lead to unforeseen behavior because, e.g., those usually have the setuid bit set, but the ones from the Conda package don't (being user-installed).

I see CFEP-20 as directly relevant because it would determine the proper name for what is currently called util-linux-libs.

I'm not terribly concerned about the naming here (well, ok, that lib prefix that some are so fond of just wouldn't make sense here, because there is no libutil-linux.so...). Yes, I'd also like to avoid having a ton of package names that would install the same in the end. However, apart from writing -libraries/-library/-lib instead of from -libs (I chose the latter only because of prevalence in package names and plural makes sense here) I don't see more sensible alternatives; and of course a util-linux package should always deliver the whole deal (for UX as well as backward compatibility).
(Interestingly enough, AFAICT, in CFEP-20 and its discussion only your initial comment but novone else touched the -lib case :shrug:.)
(Then again -- speaking re:CFEP-20 -- the UI and UX can't be good unless we come up with something better than displaying all subpackage of a split one -- I'm not happy with the current state and proposals we have, but I also haven't joined the CFEP-20 discussion yet because those topics with personal subjective rather than technical opinions are tiresome for me :shrug:. Personally, I think there are multiple technical advantages with the CFEP-20 splits, but I would require improving UI/UX to go hand in hand with it; by I haven't seen terrible much discussion on that matter.)

I think that -lib is probably the most likely suffix. If you changed to that, I would merge.


Feature/issue23 ds fp test spec

ds fp test specification

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


Deploy mudrod at JPL

Deploy an instance of mudrod running on JPL cloud hardware.

Work is being done here https://github.com/fgreg/mudrod/tree/mudrod-81

@lewismc Check out my latest commit to my branch linked above. I created a new 'web' module which holds only the static resources. Essentially this turns 'service' into a REST-only web service with all of the html/js in 'web'. This will make it easier to add the JPL branding that is required on the UI.

@fgreg yes much better. Much cleaner. Once your finished, please send a PR and we can merge into master. Nice work.

Still working on this.

This is done. Just need to ingest some data now.


PRM-1112 JS Route: 500 error redirected to error screen

Could you rebase please?

I think your local machine may be behind slightly. Could you git fetch and rebase again as it says this branch is 3 commits behind


Repeat Field doesn't seem to work inside editor

Repeat works great in the example file using the inspector panel but doesn't seem to work in the editor.
Am I missing something?
Block.js
const Block = {
    title: 'Repeat1',
    icon: 'shield-alt',
    category: 'common',
    attributes: {
        notes: {
            type: 'array',
            default: [{ title: "one", sub: "two" }],
        },
    }
};

Edit.js

import { Input, Repeat } from 'gutenblock-controls';

const Edit = ({ attributes }) => {
  return (<Repeat title="Notes" max="50" addNew="Add Field" attribute="notes">
    {attributes.notes.map(tab => {
      return <Input name="title" />
    })}
  </Repeat>)

};

Screen Capture

So the repeat field is currently meant to be used in the inspector, mainly because we have too many components to build to make a nice 100% inside gutenberg (without inspector) ui for editing and adding items. But making it work nicey like you want shouldn't take too much. The repeat component just expects to get two props, which the Inspector component passes in: https://github.com/crossfield/gutenblock/blob/master/controls/src/base/inspector.js
If you pass attributes as a prop and an onChange prop, it will work where you want. The reason I made the Inspector component map through props and inject, is because when in the inspector it's not rendered as a child of the component, so i can't use context. Which is what i would have rather done, and it would work in the case of rendering normally, like you are trying to do.
I hope that makes sense but i might not have explained it well.
TLDR; pass in attributes as a prop to repeat when not using Inspector around it and an onChange prop as seen in the Inspector above

Okay thanks for the insight - going to dig into your source code a bit so I understand better but I get the gist of what you're saying.

Noting this if others end up trying to do this:
Got this working but had to make changes to Repeat.js . Working now for Inspector + Editor.
@zackify Happy to submit a PR if you like.
Edit.js
const Edit = ({ attributes, setAttributes }) => {
  return (

      <Repeat
        attributes={attributes}
        onChange={(name, value) => setAttributes({ [name]: value })}
        setAttributes={setAttributes}
        title="Notes"
        max="50"
        addNew="Add Item" attribute="notes"
      >
        <Input name="title" />
      </Repeat>

  )
};

Repeat.js

//added this to push the new item to attributes without this local state gets out of sync
//i.e. getDerivedStateFromProps doesn't keep up with local state
add() {
        let { attribute, attributes, setAttributes } = this.props;
        let items =
            attributes && attributes[attribute] ? attributes[attribute] : [];
        setAttributes({ [attribute]: [...items, {}] })
}

//render
render() {
        let { items } = this.state;
        let { style, title, addNew, addItem, max, attribute } = this.props;

        let repeats = [];
        for (let item = 0; item < items; item++) {
            repeats.push(this.renderChildren(item));
        }

        return (

{title}

                    {repeats}

                        {max > items || !max ? (
                            <Button
                                isPrimary
                                onClick={() => {
                                    this.setState(function (prevState, props) {
                                        return { items: prevState.items + 1 }
                                    }, () => {
                                        this.props.setAttributes && this.add();
                                    })
                                }}
                            >
                                {addNew}
                            </Button>
                        ) : null}

        );
    }

Sorry my bad, read on my phone. 😝
On Sun, May 6, 2018 at 11:23 Tim Arney<EMAIL_ADDRESS>wrote:

Still using getDerivedStateFromProps:
Added add() + calling from add item button click
import React from 'react';
const { Button } = wp.components;
export default class Repeat extends React.Component {
constructor({ attribute, attributes }) {
super();
this.update = this.update.bind(this);
this.delete = this.delete.bind(this);
this.add = this.add.bind(this);
let items =
attributes && attributes[attribute] ? attributes[attribute] :
[];
this.state = { items: items.length };
}
static getDerivedStateFromProps({ attributes, attribute }, state) {

let items =
attributes && attributes[attribute] ? attributes[attribute] :
[];
if (items.length !== state.items) return { items: items.length };
    return null;

}

add() {
let { attribute, attributes, setAttributes } = this.props;
let items =
attributes && attributes[attribute] ? attributes[attribute] : [];
setAttributes({ [attribute]: [...
items, {}] })
}
update(name, value, tabId, onChange) {
    let { attribute, attributes } = this.props;

    let currentAttributes = attributes[attribute] || [];

    let foundAttribute = currentAttributes.find(
        (attr, index) => index === tabId
    );
    let newAttributes;
    if (!foundAttribute)
        newAttributes = [...currentAttributes, { [name]: value }];
    else
        newAttributes = currentAttributes.map(
            (attr, index) => (index === tabId ? { ...attr, [name]: value } : attr)
        );

    return onChange(attribute, newAttributes);
}

delete(tabId, onChange) {
    let { attribute, attributes } = this.props;

    let newAttributes = attributes[attribute].filter(
        (attr, index) => index !== tabId
    );

    return onChange(attribute, newAttributes);
}

renderChildren(index) {
    let {
        attribute,
        children,
        setAttributes,
        attributes,
        onChange,
    } = this.props;

    return (

            {React.Children.map(children, child =>
                React.cloneElement(child, {
                    key: index,
                    index,
                    setAttributes,
                    attributes:
                        attributes &&
                            attributes[attribute] &&
                            attributes[attribute][index]
                            ? attributes[attribute][index]
                            : {},
                    onChange: (name, value) =>
                        this.update(name, value, index, onChange),
                })
            )}

 this.delete(index, onChange)}>Delete item

    );
}

render() {
let { items } = this.state;
let { style, title, addNew, addItem, max, attribute } = this.props;
    let repeats = [];
    for (let item = 0; item < items; item++) {
        repeats.push(this.renderChildren(item));
    }

    return (

{title}

                {repeats}

                    {max > items || !max ? (
                        <Button
                            isPrimary
                            onClick={() => {
                                this.setState(function (prevState, props) {
                                    return { items: prevState.items + 1 }
                                }, () => {
                                    this.props.setAttributes && this.add();
                                })
                            }}
                        >
                            {addNew}
                        </Button>
                    ) : null}

    );
}

}
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/crossfield/gutenblock/issues/7#issuecomment-386887378,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAbacPQAyFStPwY7FmTK98zNnrI-KMW_ks5tvxVmgaJpZM4TzxoH
.

--
Thanks,
Zach
--
Zach Silveira
Senior Partner
Encryption, Inc https://encryption.io
Office:<PHONE_NUMBER>

No worries - just noting what I tracked down.
Here's what I'm seeing without my mods (kind of works than ... wipes out the inputs)

If you want, PR it and I will check out the branch and see if there’s
anything else I can figure out or abstract it any more. Also feel free to
throw that block into a new folder in the default plugin for it.
On Sun, May 6, 2018 at 11:58 Tim Arney<EMAIL_ADDRESS>wrote:

No worries - just noting what I tracked down.
Here's what I'm seeing without my mods (kind of works than ... wipes out
the inputs)
[image: screenflow]
https://user-images.githubusercontent.com/62242/39675060-97b1b94e-5123-11e8-9b80-737e9e9ad99e.gif
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/crossfield/gutenblock/issues/7#issuecomment-386889587,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAbacDUzZPOs_DSZww-ccj-Lq-HvQalOks5tvx2HgaJpZM4TzxoH
.

--
Thanks,
Zach
--
Zach Silveira
Senior Partner
Encryption, Inc https://encryption.io
Office:<PHONE_NUMBER>

boom! thanks for the help
https://github.com/crossfield/gutenblock/blob/master/plugin/src/notes/edit.js
https://github.com/crossfield/gutenblock/releases/tag/0.6.5


cloud0 subnet should not be hardcoded to <IP_ADDRESS>/16

We are setting up a BGP+EVPN+VXLAN setup using Frr and BGP Unnumbered and this is causing some problems with the cloud0 bridge created by the cloudstack agent.
Although the global setting control.cidr can be modified, the KVM Agent will still create this bridge with a hardcoded subnet:
com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java

        if (!foundLinkLocalBr) {
            Script.runSimpleBashScript("ip address add <IP_ADDRESS>/16 dev " + linkLocalBr + ";" + "ip route add " + NetUtils.getLinkLocalCIDR() + " dev " + linkLocalBr + " src " +
                    NetUtils.getLinkLocalGateway());
        }

When using BGP Unnumbered it will try to create a route pointing to <IP_ADDRESS>
This works until the CloudStack Agent is started:

<IP_ADDRESS> via <IP_ADDRESS> dev enp81s0f1 proto bgp metric 20 onlink
<IP_ADDRESS> via <IP_ADDRESS> dev enp81s0f1 proto bgp metric 20 onlink
<IP_ADDRESS> via <IP_ADDRESS> dev enp81s0f1 proto bgp metric 20 onlink
<IP_ADDRESS> via <IP_ADDRESS> dev enp81s0f1 proto bgp metric 20 onlink
<IP_ADDRESS> via <IP_ADDRESS> dev enp81s0f1 proto bgp metric 20 onlink
<IP_ADDRESS> via <IP_ADDRESS> dev enp81s0f1 proto bgp metric 20 onlink
<IP_ADDRESS> via <IP_ADDRESS> dev enp81s0f1 proto bgp metric 20 onlink

After the CloudStack Agent is started the <IP_ADDRESS>/16 is added to cloud0 and not allowing Frr to create these routes:

zebra[5010]: 0:<IP_ADDRESS>/32: Route install failed
zebra[4562]: Extended Error: Nexthop has invalid gateway

The solution would be that through agent.properties this CIDR can be controlled and isn't hardcoded.

Sounds like a config issue, @wido can you ensure that BGP is not automatically enforced for cloud0. I think from KVM agent perspective it is not aware what kind of network topology/model exists, it simply works on the idea of a network device.

@rhtyd It isn't. The <IP_ADDRESS> address is reserved for BGP unnumbered configurations.
As CloudStack uses this subnet as a hardcoded configuration it conflicts with it.

Aah okay it makes sense now @wido - what workaround do you propose? We can for one, get rid of use of link-local based addresses/nics.
Our Vmware implementation does not use link-local as well, and all communications are done directly to the private IP in the private address range (typically in RFC1918). This change is do-able but may cause issues for users who don't have enough free address/ips in the pod/range for/in private/mgmt network. What do you think?

cc @PaulAngus @andrijapanic @borisstoyanov @anuragaw @shwstppr @rafaelweingartner @DaanHoogland @fmaximus @ustcweizhou @GabrielBrascher @nvazquez @svenvogel @NuxRo  and others - what do you think of getting rid of link-local IP based nics/programming/communication for VRs?

@rhtyd it seems to be a big change.
can we look for a workaround for @wido at first ?

Personally I don't care for the link local, however I imagine there are folks who do and have tooling relying on it etc.
Like Wei, I'd say this is a big change so let's look at a workaround for Wido, a configurable variable in the properties could work.

@rhtyd I am +1 on implementing a workaround. I will be happy to discuss and help designing other approaches, but I think that we should first invest some effort on the workaround, at least for now.
We already have extended CloudStack KVM agent with a hotfix for a <IP_ADDRESS> environment, implemented by @wido. It looks good on the KVM agent side. It was added a few parameters for the agent.properties. If they are not configured, ACS keep using de current default values.
network.linklocal.cidr=<IP_ADDRESS>/16
network.linklocal.address=<IP_ADDRESS>/16
network.linklocal.gateway=<IP_ADDRESS>
network.linklocal.netmask=<IP_ADDRESS>

Unfortunatelly, we still need some work on the CloudStack management side, otherwise, it still managing system vms with the <IP_ADDRESS>/16 hardcoded network.
It is work mentioning that we configured the global settings control.gateway and control.cidr before configuring the new zone; however, the Control network kept with the "hardcoded" setup.

@wido @GabrielBrascher are you sending a PR soon? The 4.13 freeze is coming soon ina week's time, given you may have explored or applied a workaround in your env and that the specific use case may not affect most users can we revisit this in either <IP_ADDRESS> or 4.14? If there is no hurry perhaps a longer term proper fix to remove link-local nic with private/mgmt nic may be explored. I'll remove the <IP_ADDRESS> milestone, but feel free to add it if a PR could be sent.

We are working on a PR and hope to submit it today

@wido @GabrielBrascher
If all kvm agents use the same setting, I would suggest you to use same way as described in 714221234d41920ccb131367cca000cd4da7b261 so when we change the global setting the new value will be propagated to all kvm agents when they connect. Just a suggestion.
network.linklocal.cidr=<IP_ADDRESS>/16
network.linklocal.address=<IP_ADDRESS>/16
network.linklocal.gateway=<IP_ADDRESS>
network.linklocal.netmask=<IP_ADDRESS>

only need one of address and gateway, and one of cidr and netmask

@ustcweizhou Thanks for the suggestion! I was looking for a way to send the global setting control.cidr to the KVM Agent.
I'll look into this.

@wido I have created pull request for our another change. #3491


Support for ESP32-S3-DevKitC-1-N16R8V and ESP32-S3-DevKitC-1-N32R8V

Operating System
Linux
INFO_UF2.TXT
TinyUF2 Bootloader 0.11.0-dirty - esp-idf (v4.4-dev-3608-gbbe2a1bf34) tinyusb (0.12.0-203-ga4cfd1c69)
Model: Espressif ESP32S3 DevKitC 1
Board-ID: ESP32S3-DevKitC-v1.0
Date: Dec 21 2022
What happened ?
Espressif recently release a revision of the ESP32-S3 using the WROOM-2 module dubbed: ESP32-S3-DevKitC v1.1. They include the following models:
ESP32-S3-DevKitC1-N16R8V (16MB Flash, 8MB PSRAM)
ESP32-S3-DevKitC1-N32R8V (32MB Flash, 8MB PSRAM)
(As far as I can tell, the "V" is for flash that runs at 1.8V instead of 3.3V).
The current pre-compiled builds for the ESP32-S3-DevKitC-1 do not support devices with more than 8MB of flash. Additionally, the currently linked revision of ESP-IDF does not include a version of esptool.py that supports >16MB of Flash.
Outward appearances lead me to believe that it's necessary to upgrade ESP-IDF to v5.0.
How to reproduce ?

Erase: esptool.py --chip esp32s3 -p /dev/ttyACM0 erase_flash
Build: make BOARD=espressif_esp32s3_devkitc_1 all
Flash: make BOARD=espressif_esp32s3_devkitc_1 flash
3a. Workaround: Add CONFIG_FLASHMODE_DIO=y to ports/espressif/boards/espressif_esp32s3_devkitc_1/sdkconfig

Debug Log
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
Octal Flash Mode Enabled
For OPI Flash, Use Default Flash Boot Mode
mode:SLOW_RD, clock div:1
load:0x3fcd0108,len:0x1508
load:0x403b6000,len:0xb44
load:0x403ba000,len:0x2e1c
entry 0x403b62e8
I (32) boot: ESP-IDF v4.4-dev-3608-gbbe2a1bf34 2nd stage bootloader
I (32) boot: compile time 10:53:06
I (32) boot: chip revision: 0
I (35) boot.esp32s3: Boot SPI Speed : 80MHz
I (40) boot.esp32s3: SPI Mode       : SLOW READ
I (45) boot.esp32s3: SPI Flash Size : 8MB
I (50) boot: Enabling RNG early entropy source...
W (55) bootloader_random: RNG for ESP32-S3 not currently supported
I (62) boot: Partition Table:
I (66) boot: ## Label            Usage          Type ST Offset   Length
I (73) boot:  0 nvs              WiFi data        01 02 00009000 00005000
I (80) boot:  1 otadata          OTA data         01 00 0000e000 00002000
I (88) boot:  2 ota_0            OTA app          00 10 00010000 00200000
I (95) boot:  3 ota_1            OTA app          00 11 00210000 00200000
I (103) boot:  4 uf2              factory app      00 00 00410000 00040000
I (110) boot:  5 ffat             Unknown data     01 81 00450000 003b0000
I (118) boot: End of partition table
I (122) boot: Defaulting to factory image
I (127) esp_image: segment 0: paddr=00410020 vaddr=3c020020 size=03c9ch ( 15516) map
I (139) esp_image: segment 1: paddr=00413cc4 vaddr=3fc8fc60 size=01b78h (  7032) load
I (146) esp_image: segment 2: paddr=00415844 vaddr=40374000 size=0a7d4h ( 42964) load
I (164) esp_image: segment 3: paddr=00420020 vaddr=42000020 size=12f28h ( 77608) map
I (183) esp_image: segment 4: paddr=00432f50 vaddr=4037e7d4 size=01488h (  5256) load
I (185) esp_image: segment 5: paddr=004343e0 vaddr=50000000 size=00010h (    16) load
I (193) boot: Loaded app from partition at offset 0x410000
I (195) boot: Disabling RNG early entropy source...
W (200) bootloader_random: RNG for ESP32-S3 not currently supported
I (219) cpu_start: Pro cpu up.
I (219) cpu_start: Starting app cpu, entry point is 0x40374ce0
I (0) cpu_start: App cpu up.
W (225) rtcinit: calibration efuse version does not match, set default version: 0

I (242) cpu_start: Pro cpu start user code
I (242) cpu_start: cpu freq: 160000000
I (242) cpu_start: Application information:
I (244) cpu_start: Project name:     tinyuf2
I (249) cpu_start: App version:      0.11.0-dirty
I (255) cpu_start: Compile time:     Dec 21 2022 10:53:03
I (261) cpu_start: ELF file SHA256:  5fa21b798a3c1935...
I (267) cpu_start: ESP-IDF:          v4.4-dev-3608-gbbe2a1bf34
I (274) heap_init: Initializing. RAM available for dynamic allocation:
I (281) heap_init: At 3FCA4EB0 len 0003B150 (236 KiB): D/IRAM
I (287) heap_init: At 3FCE0000 len 0000EE34 (59 KiB): STACK/DRAM
I (294) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (300) heap_init: At 600FE000 len 00002000 (8 KiB): RTCRAM
I (311) spi_flash: detected chip: mxic
W (311) spi_flash: Detected flash size > 16 MB, but access beyond 16 MB is not supported for this flash model yet.
I (321) spi_flash: flash io: dio
W (325) spi_flash: Detected size(32768k) larger than the size in the binary image header(8192k). Using the size in the binary image header.
I (339) sleep: Configure to isolate all GPIO pins in sleep state
I (345) sleep: Enable automatic switching of GPIO sleep configuration
I (352) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
E (61328) esp_image: image at 0x10000 has invalid magic byte (nothing flashed here?)

Screenshots
No response

This comment goes into more detail about the esptool.py flashing limitation.
https://github.com/adafruit/tinyuf2/issues/268#issuecomment-1356862612
In this comment I attempted a separate board definition.
https://github.com/adafruit/tinyuf2/issues/268#issuecomment-1356889129

I don't have the new wroom2 board for now, will try to get one later

Esptool does not support a flash of more that 16MB (except for a specific Gigadevice chip) .  This support is expected to be added in the future.   This is commented on in the changelog for the dev version of esptool.
The octal flash support for 32 MB chips
(https://github.com/espressif/esptool/issues/795) will be added in a
follow-up commit.

https://github.com/espressif/esptool/commit/21e59148e73e384947327a0883a753685e03d143

IDF is updated to 5.1, there is also an partition csv with 16MB. Please try it out again to see if that works.

Looks great! I can see the full 32MB of flash using the tinyuf2-espressif_esp32s3_devkitc_1-0.18.1.zip artifact.
$ df -h
Filesystem             Size  Used Avail Use% Mounted on
...
/dev/sdb                32M  4.1M   28M  13% /media/rgrizzell/S3DKC1BOOT

For posterity, I'm including the output from the flash operation. I couldn't figure out if ESP-IDF is still included in this repository, but I was able to setup v5.1 in a separate directory.
$ esptool.py --chip esp32s3 write_flash 0x0 combined.bin
esptool.py v4.7.dev3
Found 3 serial ports
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP32-S3 (QFN56) (revision v0.1)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_1v8)
Crystal is 40MHz
MAC: 68:b6:b3:3d:7a:88
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash will be erased from 0x00000000 to 0x0043cfff...
Compressed 4442768 bytes to 136070...
Wrote 4442768 bytes (136070 compressed) at 0x00000000 in 46.9 seconds (effective 758.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

UART
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
Octal Flash Mode Enabled
For OPI Flash, Use Default Flash Boot Mode
mode:SLOW_RD, clock div:1
load:0x3fce3818,len:0x16dc
load:0x403c9700,len:0x4
load:0x403c9704,len:0x1054
load:0x403cc700,len:0x3090
entry 0x403c9a68
I (34) boot: ESP-IDF v5.1.1 2nd stage bootloader
I (34) boot: compile time Nov 14 2023 11:29:51
I (34) boot: Multicore bootloader
I (37) boot: chip revision: v0.1
I (41) boot.esp32s3: Boot SPI Speed : 80MHz
I (46) boot.esp32s3: SPI Mode       : SLOW READ
I (51) boot.esp32s3: SPI Flash Size : 8MB
I (56) boot: Enabling RNG early entropy source...
I (61) boot: Partition Table:
I (65) boot: ## Label            Usage          Type ST Offset   Length
I (72) boot:  0 nvs              WiFi data        01 02 00009000 00005000
I (79) boot:  1 otadata          OTA data         01 00 0000e000 00002000
I (87) boot:  2 ota_0            OTA app          00 10 00010000 00200000
I (94) boot:  3 ota_1            OTA app          00 11 00210000 00200000
I (102) boot:  4 uf2              factory app      00 00 00410000 00040000
I (109) boot:  5 ffat             Unknown data     01 81 00450000 003b0000
I (117) boot: End of partition table
I (121) boot: Defaulting to factory image
I (126) boot: Reset Reason = 1
I (130) esp_image: segment 0: paddr=00410020 vaddr=3c020020 size=07bf8h ( 31736) map
I (146) esp_image: segment 1: paddr=00417c20 vaddr=3fc90500 size=021dch (  8668) load
I (149) esp_image: segment 2: paddr=00419e04 vaddr=40374000 size=06214h ( 25108) load
I (162) esp_image: segment 3: paddr=00420020 vaddr=42000020 size=16828h ( 92200) map
I (185) esp_image: segment 4: paddr=00436850 vaddr=4037a214 size=06214h ( 25108) load
I (198) boot: Loaded app from partition at offset 0x410000
I (198) boot: Disabling RNG early entropy source...
I (210) cpu_start: Multicore app
I (210) cpu_start: Pro cpu up.
I (215) cpu_start: Starting app cpu, entry point is 0x40374d0c
I (0) cpu_start: App cpu up.
I (229) cpu_start: Pro cpu start user code
I (229) cpu_start: cpu freq: 160000000 Hz
I (229) cpu_start: Application information:
I (232) cpu_start: Project name:     tinyuf2
I (237) cpu_start: App version:      0.18.1
I (242) cpu_start: Compile time:     Nov 14 2023 11:29:37
I (248) cpu_start: ELF file SHA256:  d5f8f831d3f5195e...
I (254) cpu_start: ESP-IDF:          v5.1.1
I (259) cpu_start: Min chip rev:     v0.0
I (264) cpu_start: Max chip rev:     v0.99
I (269) cpu_start: Chip rev:         v0.1
I (273) heap_init: Initializing. RAM available for dynamic allocation:
I (281) heap_init: At 3FCA60E8 len 00043628 (269 KiB): DRAM
I (287) heap_init: At 3FCE9710 len 00005724 (21 KiB): STACK/DRAM
I (294) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (300) heap_init: At 600FE010 len 00001FD8 (7 KiB): RTCRAM
W (306) spi_flash: Octal flash chip is using but qio mode is selected, will automatically swich to Octal mode
I (317) spi_flash: detected chip: mxic (opi)
I (321) spi_flash: flash io: opi_str
W (326) spi_flash: Detected size(32768k) larger than the size in the binary image header(8192k). Using the size in the binary image header.
I (339) sleep: Configure to isolate all GPIO pins in sleep state
I (346) sleep: Enable automatic switching of GPIO sleep configuration
I (353) app_start: Starting scheduler on CPU0
32(3 8) ap _start:sStaStint scheduPer on CPU1
I (368) main_task: Calling app_main()
                                     I (368) gpio: GPIO[48]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
            I (378) main_task: Returned from app_main()

For posterity, I'm including the output from the flash operation. I couldn't figure out if ESP-IDF is still included in this repository, but I was able to setup v5.1 in a separate directory.

IDF is not included as submodule anymore, since we will now try to target release version. Previous specific commit is required since esp-idf is still under develop to add s2/s3 support.


[BUG] MotionValue does not fit motion/react-m after migrating

1. Read the FAQs 👇
Read
2. Describe the bug
After migrating from framer-motion to motion, I can't no more pass MotionValue to a component from motion/react-m:
import type { MotionValue } from 'motion/react'
import { div } from 'motion/react-m'

div({
  style: {
    // error here
    x: 5 as unknown as MotionValue<number>,
  },
})

TS2322: Type MotionValue<number> is not assignable to type
string | number | CustomValueType | MotionValue<number> | MotionValue<string> | MotionValue<any> | undefined
Type MotionValue<number> is not assignable to type MotionValue<any> with 'exactOptionalPropertyTypes: true'. Consider adding undefined to the types of the target's properties.
Types have separate declarations of a private property current

3. IMPORTANT: Provide a CodeSandbox reproduction of the bug
N/A
4. Steps to reproduce
N/A
5. Expected behavior
No error
6. Video or screenshots
N/A
7. Environment details
"motion": "11.11.17",

just bumped into this exact issue as well

+1 just ran into this as well and was a bit confused by it. Using motion version 11.13.1.


setup: refuse to install for Python != 2.7

As of now, one could mistakenly install Python Client for Python 3, just to break everything.  It should be forbidden, like this:
 % pip install .
Processing /Users/skrattaren/genestack/python-client
genestack-client requires Python '>=2.7,<3' but the running Python is 3.6.5

Can we also remove this check? https://github.com/genestack/python-client/blob/master/genestack_client/init.py#L6

Can we also remove this check?

I don't think it hurts.  One can run Python Client directly from repo without installing.


Previous not populated when using --latest

Describe the bug
When using "latest" previous is not set.
To Reproduce
Steps to reproduce the behavior:
Notes: experienced on PurpleBooth/git-mit, it has the config as defined below.
[changelog]
header = """## Changelog
"""
body = """
{% if version %}\
    {% if previous %}\
        ### [{{ version }}](https://github.com/PurpleBooth/git-mit/compare/{{ previous.version }}...{{ version }}) ({{ timestamp | date(format="%Y-%m-%d") }})
    {% else %}\
        ### [{{ version }}](https://github.com/PurpleBooth/git-mit/tree/{{ version }}) ({{ timestamp | date(format="%Y-%m-%d") }})
    {% endif %}\
{% else %}\
    ### [unreleased]
{% endif %}\
{% if previous %}\
    {% if previous.commit_id %}
        [{{ previous.commit_id | truncate(length=7, end="") }}]({{ previous.commit_id }})...\
            [{{ commit_id | truncate(length=7, end="") }}]({{ commit_id }})
    {% endif %}\
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
    ### {{ group | upper_first }}
    {% for commit in commits %}
        - {{ commit.message | upper_first }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }}))\
    {% endfor %}
{% endfor %}\n
"""
trim = true

[git]
conventional_commits = true
tag_pattern = "v[0-9]*"

Expected behavior
A clear and concise description of what you expected to happen.
I would expect previous to always be set, so we can correctly generate compare URLs for Github.
Screenshots/Logs
$ git-cliff | head
## Changelog
### [unreleased]

### Fix

- Update the changelog ([70bd7ff](70bd7ffe55857940e898f5b97b34b2f62acd1c8e))

### [v4.0.14](https://github.com/PurpleBooth/git-mit/compare/v4.0.13...v4.0.14) (2021-08-14)

[88ef7ec](88ef7ecd813d32f19804421acf3daa3e396d48e2)...[fb1afd9](fb1afd98c2c290fee748c89fde064667f49b8cda)

$ git-cliff --latest | head
## Changelog
### [v4.0.14](https://github.com/PurpleBooth/git-mit/compare/...v4.0.14) (2021-08-14)

### Build

- Versio update versions ([fb1afd9](fb1afd98c2c290fee748c89fde064667f49b8cda))

### Chore

- Update FUNDING.yml ([651ef61](651ef61ed10923c6e451bd63dae4b038c845ad2e))

System (please complete the following information):

OS Information: [e.g. Arch GNU/Linux x86_64 5.4.8-arch1-1]
Project Version: [e.g. 0.1.0]

$ sw_vers
ProductName:    macOS
ProductVersion: 11.5.1
BuildVersion:   20G80

$ git-cliff --version
git-cliff 0.1.0

Additional context
Add any other context about the problem here.

The --latest flag basically takes the last 2 tags into account for determining a range to process the commits.
e.g. running git cliff --latest is like running the following in your git repository:
$ git log --oneline fb1afd9..05361bc

05361bc (HEAD -> main, tag: versio-prev, tag: v4.0.15, origin/main, origin/HEAD) build(deploy): Versio update versions
70bd7ff fix: Update the changelog

(P.S. you can also specify a commit range for changelog generation: git cliff fb1afd9..05361bc)
So git-cliff does not have any idea about the previous release (commits), it only knows what was the previous tag name (v4.0.14) and the commit (fb1afd9).
29db41a will now set the previous release data (only the tag name and commit) thus solve your issue.
$ cargo run -- --latest --workspace ~/gh/git-mit/

## Changelog
### [v4.0.15](https://github.com/PurpleBooth/git-mit/compare/v4.0.14...v4.0.15) (2021-08-14)

[fb1afd9](fb1afd98c2c290fee748c89fde064667f49b8cda)...[05361bc](05361bc6e5512477c838542aee17c1c585750144)

### Build

- Versio update versions ([05361bc](05361bc6e5512477c838542aee17c1c585750144))

### Fix

- Update the changelog ([70bd7ff](70bd7ffe55857940e898f5b97b34b2f62acd1c8e))

That's exactly what I needed, thank you!


Use Cursor().Seek() in LastN method of the List datatype instead of manually getting to the desired position

With bucket.Cursor().Last(), you get the last key and value pair in a []byte. The key is convertible to uint64 with binary.BigEndian.Uint64([]byte) since it has been saved as a []byte representation of the uint64 returned from bucket.NextSequence() in the Add method.
The number returned by the last key is then used to get to the starting position from which to fetch the last N elements of the list using bucket.Cursor().Seek(startPos). bucket.Cursor().Next() returns either the next key and value pair or a nil key if the last k/v pair has been reached.

Thanks you! I'll test and then merge this.

Tested and merged. :)


[BUG] Stream errored out

Describe the bug
From time to time we receive an error (logged below). Right after this error a device gets disconnected.
User is not not doing anything for this disconnect to happen. Moreover the user even has not opened WhatsApp application on the phone for 3 weeks, there was no communication during that time. Only contact updates very rarely.
Our service is running 300 hundred users with their connected devices. And almost each day we get 2-3 disconnects with similar behavior.
hostname":"whatsapp-node-7964ff4fcf-stbr9", "level":30, "msg":"connection errored", "pid":1, "trace":"Error: Stream Errored (conflict)     at WebSocketClient.<anonymous> (/usr/src/app/backend/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:501:13)     at WebSocketClient.emit (node:events:526:28)     at WebSocketClient.emit (node:domain:475:12)     at /usr/src/app/backend/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:236:35     at Object.decodeFrame (/usr/src/app/backend/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.js:136:17)     at WebSocketClient.onMessageRecieved (/usr/src/app/backend/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:212:15)     at WebSocketClient.emit (node:events:526:28)     at WebSocketClient.emit (node:domain:475:12)     at WebSocket.<anonymous> (/usr/src/app/backend/node_modules/@whiskeysockets/baileys/lib/Socket/Client/web-socket-client.js:46:100)     at WebSocket.emit (node:events:526:28)"}
To Reproduce
Steps to reproduce the behavior:

Created a new connection
Let it run for 3-4 weeks without bringing down or stopping
Get a random disconnect not motivated by the end user

Expected behavior
It should just run fine
Environment (please complete the following information):

Is this on a server? Yes. Docker container in Kubernetes orchestration.
What do your connectOptions look like? makeWASocket({    version,    logger,    printQRInTerminal: false,    auth: this.authState.getCreds(),    markOnlineOnConnect: false,    keepAliveIntervalMs: 30000,    connectTimeoutMs: 20000,    browser: Browsers.macOS('Desktop'),    syncFullHistory: true,})
Do you have multiple clients on the same IP? Yes. 200-300
Are you using a proxy? No

Additional context

same issue for me
{"level":30,"time":"2023-12-22T16:25:50.481Z","pid":31895,"hostname":"nishu-Vostro-15-3568","class":"baileys","browser":["Baileys","Chrome","4.0.0"],"helloMsg":{"clientHello":{"ephemeral":"uetr8B7XnDgR1aGFlLmHClGooovOeljmmRIjDwN2WRc="}},"msg":"connected to WA"}
[1] {"level":30,"time":"2023-12-22T16:25:50.923Z","pid":31895,"hostname":"nishu-Vostro-15-3568","class":"baileys","node":{"passive":false,"userAgent":{"platform":"MACOS","appVersion":{"primary":2,"secondary":2329,"tertiary":9},"mcc":"000","mnc":"000","osVersion":"0.1","manufacturer":"","device":"Desktop","osBuildNumber":"0.1","releaseChannel":"RELEASE","localeLanguageIso6391":"en","localeCountryIso31661Alpha2":"US"},"connectType":"WIFI_UNKNOWN","connectReason":"USER_ACTIVATED","devicePairingData":{"eRegid":"AAAAlQ==","eKeytype":"BQ==","eIdent":"/TM3rhrzDW8IT7DvpuKKi75b9/W0rJzE0rJr+4BVRnc=","eSkeyId":"AAAB","eSkeyVal":"A/847H6ksUjJ3kDuHBquuJdeLQGGLQ7/a2C5btWJ+ik=","eSkeySig":"n8A9i5N66UQtxBwlRMBIQvAn8vPSP+ZVrohI/DBUKWD0Gvhp4g//A9iBLwONJ3zMsRRZksrs2rT+VJFJsqx8Dw==","buildHash":"CgVgtSpHoPZPkgJcSCwM7A==","deviceProps":"CgdCYWlsZXlzGAcgAA=="}},"msg":"not logged in, attempting registration..."}

{"level":30,"time":"2024-03-11T09:21:30.700Z","pid":3405,"hostname":"70e32069b6f6","class":"baileys","me":{"id":"918422830108:13@s.whatsapp.net"},"platform":"android","msg":"pairing configured successfully, expect to restart the connection..."}
{"level":50,"time":"2024-03-11T09:21:30.981Z","pid":3405,"hostname":"70e32069b6f6","class":"baileys","node":{"tag":"stream:error","attrs":{"code":"515"}},"msg":"stream errored out"}
{"level":30,"time":"2024-03-11T09:21:30.982Z","pid":3405,"hostname":"70e32069b6f6","class":"baileys","trace":"Error: Stream Errored (restart required)\n    at WebSocketClient. (/home/runner/Baileys/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:502:13)\n    at WebSocketClient.emit (node:events:514:28)\n    at /home/runner/Baileys/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:236:35\n    at Object.decodeFrame (/home/runner/Baileys/node_modules/@whiskeysockets/baileys/lib/Utils/noise-handler.js:136:17)\n    at WebSocketClient.onMessageRecieved (/home/runner/Baileys/node_modules/@whiskeysockets/baileys/lib/Socket/socket.js:212:15)\n    at WebSocketClient.emit (node:events:514:28)\n    at WebSocket. (/home/runner/Baileys/node_modules/@whiskeysockets/baileys/lib/Socket/Client/web-socket-client.js:46:100)\n    at WebSocket.emit (node:events:514:28)\n    at Receiver.receiverOnMessage (/home/runner/Baileys/node_modules/ws/lib/websocket.js:1209:20)\n    at Receiver.emit (node:events:514:28)","msg":"connection errored"}
It happens when I scan the qr. I tried looking for solutions but nothing works


Upload adding header and footer?

When uploading files through your otherwise very useful library, I found all files where corrupt upon arrival.
It seems the library adds a header and footer on every upload to the binary stream, and I’m not sure why…
I had to strip off the bytes in question in order to maintain the files intact.
This guy “Capt. Rochefort” wrote a very helpful blogpost on how to fix the problem: http://xombe.com/2014/06/05/angularjs-file-upload-corrupting-files/
So now my question is/are:
Does this “feature” have a use that I’m missing (which is entirely possible)? Or is it something you may have overlooked?
Anyways, thanks for your useful library, and I’m looking forward to be enlightened!
Greets,
Thomas Mulder

The plugin doesn't add anything to the file binary. Could you create a jsfiddle or post your code here?

Actually I think taking a look at the blogpost below would clarify things much more than my code, it's pretty much dedicated to your plugin and these mysterious headers.
http://xombe.com/2014/06/05/angularjs-file-upload-corrupting-files/

That blog doesn't have any js code. It might be a modification you do before sending the file with the plugin or other plugins that modify xhr requests.

You know this plugin is being used by so many people and the file is being sent correctly to the server for all of them.

I know, but I found the blogpost quite easily after experiencing the same problems...  And even though I'm fresh from school and have lots to learn, the author appears to know what he's doing, why else would he have a technical blog like that?
But it's entirely possible that I did something wrong, even though most of the code originates from the examples and jsfiddles found here..
this is the upload button:
<div class="btn" ngf-select<EMAIL_ADDRESS>and this the javascript in my controller
$scope.uploadFile = function (file) {
            Upload.upload({
                url: "/Umbraco/api/Documents/UploadFile?contentId=" + $routeParams.id + "&fileName=" + file.name,
                file: file
            }).progress(function (evt) {
                var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
                console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
            }).success(function (data, status, headers, config) {...}

and this is the C# code on the API controller that receives the upload
[HttpPost]
        public HttpResponseMessage UploadFile(int contentId, string fileName)
        {
            try
            {
                var stream = FixFileContent((StreamContent) Request.Content).Result;
                //this is where I go to Capt. Rochefort's code to strip off the headers.. So something went wrong before this stage...
...

Let me know if you miss anything!

It might be a proxy or middleware on your server side that adds stuff to the request.


Add env var replacement functionality to env.json file.

I'd like to suggest a new feature be added to the --set-env-from-json functionality. I'd like to be able to provide values from local environment variables. e.g. "DB_PSWD"="${env.DB_PSWD}". This way I don't have passwords in my env.json file that is checked into github.  I would like the ability to check in the env.json file as I have a fair amount of params to pass into my lambda and it simplifies the setup between my project developers. I did look at using the --set-env for just the PSWD values but that threw the exception "Incompatible arguments: cannot specify more than one environment option". Also, the number of env parameters is enough to make the package.json script line extremely long and hence what I believed the value of the --set-env-from-json provided. Additionally, this proposed functionality is giving the --set-env-from-json function the same behaviors as --set-env since I can write --set-env DB_PSWD=${DB_PSWD} in the package.json. I understand that some folks would keep these files local and out of git but in a large dev shop I'd just have to find somewhere else to store and share these files and still passwords would potentially be visible to folks where they should not be.  I'd likely have some process that pulls these passwords from a secure encrypted vault that would be external to this tool but through this enhancement I could get access to these sensitive variables should I choose to do so via environment vars.
I hope you will consider this simple change as I know I have found it useful and would love for it to be in the product so as not have to run off of a fork.

This seems to be a good suggestion

Hi - thanks for this but after discussing we decided not to merge it. update and set-version already support --update-env and --update-env-from-json that can patch the existing config, so there's no big need to keep a magic file that gets replaced with env vars. if you want to patch a single value, just use --update-env instead, and the shell feature to replace args with vars. update also allows a comma-separated list of values so more than one var can get patched like that


SystemChrome.setPreferredOrientations only works the first time on iOS

In my app I need all screens to be in portrait mode, and just only single screen that can be moved in landscape view however when I execute SystemChrome.setPreferredOrientations it takes effect only the first time I do it and on subsequent times I run it doesn't work anymore.
On Android it works well.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.3, on macOS 13.2.1 22D68 darwin-arm64, locale es-419)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.75.1)
[✓] Connected device (4 available)
[✓] HTTP Host Availability
• No issues found!

Same issue...

@jsmeke
Can you provide a minimal code sample that shows the reported behavior ?
Also, you may take a look at this similar / related issue and see if it resembles your use case.
Another related issue for reference: https://github.com/flutter/flutter/issues/57748

@jsmeke Can you provide a minimal code sample that shows the reported behavior ? Also, you may take a look at this similar / related issue and see if it resembles your use case.
Another related issue for reference: #57748

same issue for me.
Here is my minimal code:
`import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State createState() => _MyHomePageState();
}
class MyHomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: const [
Text(
'Screen 1',
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: () => const Screen2()));
},
tooltip: 'Go To Screen2',
child: const Icon(Icons.navigate_next),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
}
class Screen2 extends StatefulWidget {
const Screen2({super.key});
@override
State createState() => _Screen2State();
}
class _Screen2State extends State {
@override
void initState() {
SystemChrome.setPreferredOrientations(
DeviceOrientation.values
);
super.initState();
}
@override
void dispose() {
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp]
);
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Screen 2"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: const [
Text(
'Screen 2',
),
],
),
),
);
}
}
`
https://user-images.githubusercontent.com/22388256/222327579-6e7464b9-cfb8-4b24-8bc0-fc5c4e12b2b2.mov

Same issue...

Same issue...

Everyone facing the reported issue in this thread, please check this similar issue describing a similar case https://github.com/flutter/flutter/issues/57748 and you may also try your use case on latest versions (3.7.7) and latest master to see if it still replicates or not.
Also, please avoid commenting same issue. Instead upvote the original post to get more attention from the team.

Instead of using DeviceOrientation.values try specifying the orientation like:
class _Screen2State extends State<Screen2> {

  @override
  void initState() {
    SystemChrome.setPreferredOrientations(
         [DeviceOrientation.landscapeLeft]             //  Try using this
    );
    super.initState();
  }

  @override
  void dispose() {
    SystemChrome.setPreferredOrientations(
        [DeviceOrientation.portraitUp]
    );
    super.dispose();
  }

this ticket is not "waiting for customer response." @kunkaamd posted repro instructions

I'm also having same issue on Flutter (Channel stable, 3.7.10).
Works fine in master channel, but unable to use master due to plugin update..

Everyone facing this issue, please take a look at this related / similar open issue https://github.com/flutter/flutter/issues/57748 and comment your findings in that issue if you think your use case is similar to the one described in it. Also, leave a thumbs up on original description of that issue so that the team can prioritize it based on number of upvotes.

this was probably the same issue as https://github.com/flutter/flutter/issues/57748#issuecomment-1507325419


fix(integrations): Don't capture StopIteration in SentryWsgiMiddleware

Currently Sentry will emit an unhandled exception for StopIteration. However,
when running certain combinations of libraries with gunicorn and sync workers
(eg: python-socketio) the StopIteration exception is actually expected. To
workaround this issue, don't capture this exception when using this middleware
with gunicorn and just reraise it.
See discussion about StopIteration here: https://github.com/miguelgrinberg/python-engineio/discussions/335 and https://github.com/miguelgrinberg/flask-sock/issues/64

@szokeasaurusrex Hmm, for the two libraries linked the StopIteration exception has a blank message so it will be difficult to know exactly where it comes from without asking the library maintainers to make some changes for us to be able to identify if it should be caught. I had a similar idea using the stack trace but I think that's maybe bit too brittle.
At least for the case I'm looking at we are opening websocket connections and the StopIteration gets issued to request gunicorn to close the socket when a client disconnects. If we are only dealing with this case then we can inspect the WSGI environ for an Connection: Upgrade header which should only present for websockets. If it is present then we can ignore the StopIteration, otherwise we capture it?

I suppose another way to handle it could be a way to specify uncaught exceptions that should be ignored either by a list or by a callback

I suppose another way to handle it could be a way to specify uncaught exceptions that should be ignored either by a list or by a callback

@cstranex If all you want to do is have these StopIteration exceptions be suppressed for your setup, you can simply use a custom Using before_send to filter out the StopIteration exceptions you wish to ignore.
If this is not a very widespread problem, and if this solution works for you, I think just having users who wish to ignore these exceptions configure a custom before_send would be the best solution. The logic to infer when we can safely ignore a StopIteration exception will likely always be a bit brittle, so having users configure the logic to their needs is maybe the most robust and least error prone option here.

Fair enough, I was thinking it is probably better to ignore it universally since it is somewhat expected for gunicorn to handle it, but I agree it is probably not common enough that it could just be filtered out on a per usage basis


Unhandled error on setting Image src (Failed to create reference from Buffer)

Thanks for responding to #645 so quickly!
I'm still having an error after switching to this library unfortunately.
Now it's coming when i set the src of an Image.
The error is:
Error - Failed to create reference from Buffer

The line that triggers it is:
      drawing.src = src

And the code with more context follows:
     const { Image, createCanvas } = require('@napi-rs/canvas')

      var drawing = new Image();
      var src = `http://someURL.com/imageThatLoads.png`
      drawing.onload = function () {
        ctx.drawImage(drawing, 0, 0, width, width);
      };
      drawing.src = src

const image = await loadImage('http://someURL.com/imageThatLoads.png')

thank you!

const image = await loadImage('http://someURL.com/imageThatLoads.png')

This only get 'Image {}'. Seems not working.


Test & Document FOM Test scripts/steps after FOM TEST route cutover

Test FOM Test after cutover
Please document test scrips for FOM during testing after the FOM route cutover and share with team for testing
AC

Test FOM after route changes to new TEST route
-Document and share test steps/scripts with team
-PO is able to run test using documentation.

I think this has been completed by @amee99073, we should probably close this if there are no issues.

Not done making test scripts yet - so still open.

@amee99073 I might have missed this, but can you please point me to the location of the test scripts. Thanks.


The question about the medical segmentation dataset

Dear author,
Could you provide me with the link and file structure for the medical segmentation dataset?

For optic disc and cup segmentation, see https://drive.google.com/file/d/1B7ArHRBjt2Dx29a3A6X_lGhD0vDVr3sy/view, we use domain3 (REFUGE) as the source domain and domain1 (Drishti-GS)/domain2(RIM-ONE_r3) as two target domains. You can download it from google drive.
For cardiac structure segmentation, we use ACDC (see https://www.creatis.insa-lyon.fr/Challenge/acdc/databases.html) as the source domain and use LGE images in MSCMR2019 (https://zmiclab.github.io/zxh/0/mscmrseg19/index.html) as the target domain. You can download datasets from corresponding links.
For prostate dataset, you could download MSD05 dataset from Google Drive, and Promise12 dataset from https://promise12.grand-challenge.org/Download/.

Thanks!
SakurajimaMaiii @.***>于2023年11月3日 周五00:00写道：

For optic disc and cup segmentation, see
https://drive.google.com/file/d/1B7ArHRBjt2Dx29a3A6X_lGhD0vDVr3sy/view,
we use domain3 (REFUGE) as the source domain and domain1
(Drishti-GS)/domain2(RIM-ONE_r3) as two target domains. You can download it
from google drive.
For cardiac structure segmentation, we use ACDC (see
https://www.creatis.insa-lyon.fr/Challenge/acdc/databases.html) as the
source domain and use LGE images in MSCMR2019 (
https://zmiclab.github.io/zxh/0/mscmrseg19/index.html) as the target
domain. You can download datasets from corresponding links.
For prostate dataset, you could download MSD05 dataset from Google Drive
https://drive.google.com/drive/folders/1HqEgzS8BV2c7xYNrZdEAnrHk7osJJ--2?usp=sharing,
and Promise12 dataset from https://promise12.grand-challenge.org/Download/
.
—
Reply to this email directly, view it on GitHub
https://github.com/SakurajimaMaiii/TSD/issues/10#issuecomment-1791017032,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BC4KLOL2RXBHPGAZOBNQFX3YCO7Q3AVCNFSM6AAAAAA623LBO2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJRGAYTOMBTGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Client Arguments for DatabricksVectorSearch

This PR allows new instances of DatabricksVectorSearch to pass custom arguments to the underlying VectorSearchClient (imported from databricks.vector_search.client).
This allows users to be able to use Service Principal based authentication by passing in service_principal_client_id or service_principal_client_secret within the new client_args parameter.

Not sure where the appropriate repository for this change is with the switch over, but I've made it both in this repository and in https://github.com/databricks/databricks-ai-bridge/pull/27

Closing as the same change is made on databricks-langchain


Create Yarn reference page

copied from the webpage

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

done

Hi,
Thanks for this pull request (PR).
Unfortunately, we are marking this PR invalid for hacktoberfest. We believe it does not follow the recommended guidelines:

Quality Standards
In line with Hacktoberfest value #2 (Quantity is fun, Quality is key), we have provided examples of the quality standards we encourage. This applies mainly to beginners.

PRs that are automated e.g. scripted opening PRs to remove whitespace / optimize images.
PRs that are disruptive e.g. taking someone else's branch/commits and making a PR.
PRs that are regarded by a project maintainer as a hindrance vs. helping.
Something that's clearly an attempt to simply +1 your PR count for October.

Learn more at https://hacktoberfest.digitalocean.com/details


Nice collage with all existing styles for docs

Relates to #371

Also, every folder with a style should contain a screenshot of this style with some general layout.


feat: [SEI-7312]: Individual raw stats - Release notes migration

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://667dda42ca7a2b747296246f--harness-developer.netlify.app


use fmt.Print when there's only one argument

If we are doing this change, we need to make sure we do at all over places in this repo.
Did you look for all fmt.Printf occurrences ?

@gaurav-dalvi It's done now.

LGTM !

whats the significance of this change ?

@rchirakk fmt.Print should be used when there's only one argument. This is related to having cleaner code.

@unclejack Is this based on any go guideline? Normally, the better practice is to use a function that is independent of the number of arguments.

@jojimt fmt.Print("foo") is to be used when we don't need to format anything and just print without EOL. fmt.Println("foo") would be used when we also want to print EOL. fmt.printf("foo: %v %v", a, b) would be the right thing to use when we print with formatting.
If I always use fmt.Printf, it's harder for someone to find mistakes when they take a look at the uses of fmt.Printf with a single argument.

I prefer using fmt.Printf() everywhere to have consistency in the code. (even if with arguments or no arguments).

I agree with @gaurav-dalvi. Printf is a standard function. Let's not make this change. I might change my opinion if you can point me to a go guideline or govet/glint issue.


breaks itinerary daily calendar display

I use the itinerary plugin.  If I try to display the itinerary in timeGridDay mode, a daily hour by hour planner like view, the bars for events aren't displayed.  Works with 5 other themes

Update the theme, it has been fixed
Have fun!


feat: lint git commit messages on pull request

Contributes to: #11
Signed-off-by: Jordan<EMAIL_ADDRESS>Status
READY

LGTM - why remove the 72 line limit on bodies however?

I misunderstood what this meant, I thought it was 72 column limit but it's actually a limit to the number of characters in a commit. I'm not sure what a sensible commit message would be as we could need some detailed one every now and then?

LGTM - why remove the 72 line limit on bodies however?

I misunderstood what this meant, I thought it was 72 column limit but it's actually a limit to the number of characters in a commit. I'm not sure what a sensible commit message would be as we could need some detailed one every now and then?

Sorry - I thought that was a 72 character column limit too! I assume there isnt a column limit check we could replace that with? Agree 72 body limit is a bit much!

Sorry - I thought that was a 72 character column limit too! I assume there isnt a column limit check we could replace that with? Agree 72 body limit is a bit much!

I have updated this PR to have a 72 line length limit instead :)


If user has 0 citations, the "citations count" becomes misaligned

Describe the bug
If a user has 0 citations for a year (but has previously had citations), when the citation counts are filled (using scholarly.fill(_, sections=['counts'])), the cites_per_year value in the results dictionary will not be correctly aligned. For example, if the user has the following counts: 2017: 1, 2018: 0, 2019: 9, the results produced by this package will be {2017: 1, 2018: 9}.
To Reproduce
Find any user who has 0 citations for a year but does have citations for a previous and following year, then run
author = scholarly.search_author_id('AUTHOR_ID')
scholarly.pprint(scholarly.fill(author, sections=['counts', 'indices']))

Expected behavior
The cites_per_year result should account for years with 0 citations.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Proxy service: FreeProxy
python version: 3.10.6
OS: Ubuntu
Version  Ubuntu 18.04.6 LTS

Do you plan on contributing?
Your response below will clarify whether the maintainers can expect you to fix the bug you reported.

[ ] Yes, I will create a Pull Request with the bugfix.

Thank you for this bug report. This is being fixed now, triggering a v1.7.10 release.