Adding support to ATSAMD21E15A

Hello,
I'm using an ATSAMD21E15A, with 32k of Flash and 4k RAM - less than the usual 256k/32k combo seen on Arduinos. I've made some slight modifications on the Arduino Zero bootloader to fit my current setup, and it seems to be working correctly.
I'm compiling bossac from source successfully, and since there seems to be no out-of-the box support for the particular device I'm using, I've added the proper entry to Device.cpp, under the No CHIPID devices section:
    case 0x1001020d:
        _family = FAMILY_SAMD21;
        flashPtr = new NvmFlash( _samba, "ATSAMD21x15", 0x2000,  512, 64, 1, 16, 0x20000000, 0x20001000, 0x41004000, true ) ;
        break;

I can sucessfully connect to the device, fetch its ID, and perform erase operations. However, when I try to write to it, the operation hangs, as shown below:
$ bossac.exe -i -d -p COM7 -e -w blinky.bin --reset
Set binary mode
version()=v2.0 [Arduino:XYZ] Nov 22 2017 02:32:26
Connected at 921600 baud
readWord(addr=0)=0x20001000
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x1001020d
write(addr=0x20000000,size=0x34)
writeWord(addr=0x20000030,value=0x10)
writeWord(addr=0x20000020,value=0x20001000)
version()=v2.0 [Arduino:XYZ] Nov 22 2017 02:32:26
readWord(addr=0x41004018)=0
readWord(addr=0x40000834)=0x7000a
readWord(addr=0x40000834)=0x7000a
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
Device       : ATSAMD21x15
Version      : v2.0 [Arduino:XYZ] Nov 22 2017 02:32:26
Address      : 0x2000
Pages        : 384
Page Size    : 64 bytes
Total Size   : 24KB
Planes       : 1
Lock Regions : 16
Locked       : none
Security     : false
Boot Flash   : true
BOD          : true
BOR          : true
Chip Erase   : true
Fast Write   : true
Fast Verify  : true
Erase flash
chipErase(addr=0x2000)

Done in 0.084 seconds
Write 6432 bytes to flash (101 pages)
[                              ] 0% (0/101 pages)write(addr=0x20000034,size=0x1000)

I'm pretty sure that the values for user and stack (respectively set as 0x20000000 and 0x20001000) are incorrect, but I'm unsure about what to use. If I set them both to be 0x00002000, the write operation is completed, but the verification fails, and the device crashes on reboot.
I feel like I'm missing something fairly obvious. Could somebody point me in any direction?
Thanks!

Adding a bit more information to the mix. I've created a dummy 144-byte test binary, as follows:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF  .."3DUfwˆ™ª»ÌÝîÿ
00000010  00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF  .."3DUfwˆ™ª»ÌÝîÿ
00000020  00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF  .."3DUfwˆ™ª»ÌÝîÿ
00000030  00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF  .."3DUfwˆ™ª»ÌÝîÿ
00000040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

I wrote it to the device using bossac -i -d -p COM7 -e -w test.bin.  The result is the same under Windows and Linux. I still get the feeling that I'm making a crass mistake here. Any tips are welcome.

Dear MartinBloedorn,
Are you able to find out the issue? I'm facing the similar issue with SAMD21E16A.
Thanks and Regards
Abhishek

Hi @aksonlyaks,
Unfortunately I haven't been able to work around the issue yet. I've tried a couple more changes in the Devices.cpp,  to no avail.
In the end, I swapped out my SAMD21E15A for a SAMD21E18A, which is supported out-of-the box by BOSSA. However, I'm still interested in knowing how to properly support the SAMD21E15 (or E16). Let me know if you happen to make any progresses in that direction.
Regards,

The latest master should have support for both the E15 and E16 though I don't have any to test with.  I positioned the applet address and stack to be within their SRAM spaces but I don't know if they conflict with the bootloader.  For normal read/erase/verify, the applet is not used but modifying the other flags needs the applet.

I have the same problem, what tests should I do to help?

Here i have a SAMD21E15B and i have the same problem when i try to upload the code with the newer version compiled in my computer

I'm late to the party but I think I have some insight on this. The write() hangs only occur when writing large blocks, so one workaround is reducing the block size to e.g. 512 for SAMD21E15 variants. I'm working on an outdated fork but you can have a look at my patch if that's any help:
https://github.com/qbolsee/BOSSA/commit/7750ebcf5d3d058881fb1176201fd72e517cbd53
In my case, I didn't need to modify the buffer addresses to make it work with a SAMD21E15B.


[Bug]: Found a documentation error about get started

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
https://towhee.readthedocs.io/en/main/data_collection/get_started.html
The second line of the code in the figure is formatted incorrectly, causing the code not to take effect

Expected Behavior
No response
Steps To Reproduce
No response
Environment
- Towhee version(e.g. v0.1.3 or 8b23a93):0.5.1.dev69
- OS(Ubuntu or CentOS):macos
- CPU/Memory:
- GPU:
- Others:

Anything else?
No response

Reopen for verification.
@jingkl

Not fixed, I think this example still lacks reliance
from towhee import param_scope


Disabling Package Manager UI.

 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.:x: raquelsa sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


contentOffset is not available on Android

https://github.com/oliviertassinari/react-swipeable-views/blob/master/packages/react-swipeable-views-native/src/SwipeableViews.scroll.js#L278
So when you set index using
<SwipeableView index={index}/>

it won't set it to defined index.

@oliviertassinari I pushed something that worked for me in emulator. Let me know if you need further explanation on what I'm trying to do here.

Thanks for looking into it!


Adapt wording of subscription page for role non-admin

Description
If the workspace is downgraded, all users will be redirected to the paywall page.
Context: https://dust4ai.slack.com/archives/C050A0S2Z7F/p1711460944506429
This PRs adapts the wording for role = non admin in the workspace.
First screenshot is for users, second is for admins.

LGTM


Pandana v0.4.4

@conda-forge-admin, please rerender

Checklist

[x] Used a fork of the feedstock to propose changes
[x] 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.

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.

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you but ran into some issues, please ping conda-forge/core for further assistance.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you but ran into some issues, please ping conda-forge/core for further assistance.

Hi @conda-forge/core,
This version of the package was fixed to allow compilation in VisualStudio 2008 for Windows Python 2.7 (by refactoring to no longer require C++11).
I tried to re-enable that build environment, but something is not working -- the re-render failed above. Do you have any ideas?
Per these instructions, VisualStudio 2008 requires switching back from Azure to AppVeyor for the Windows builds.

I've restarted the webapp. (This happens sometimes). Please try again in five minutes and let us know if it doesn't.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to master for you, but it looks like I wasn't able to push to the UDST branch of pandana-feedstock/re-render. Did you check the "Allow edits from maintainers" box?

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to master for you, but it looks like I wasn't able to push to the UDST branch of pandana-feedstock/re-render. Did you check the "Allow edits from maintainers" box?

Closing this in favor of #7


How to detect pitch out of voice singing (through microphone)

Hi guys,
I've asked: This Question on Reddit, because I needed to find some C# library for detecting pitch out of human voice singing (through microphone). It should work real time, but I don't mind some short latency :)
And here in this Reddit thread, some guys recommended me this NAudio library for this task. I've found, that it can also do changing of pitch, but I don't actually need that. I need just detection of pitch from voice singing sound.
I've also found, that it can do FFT (Fast Furier Transformation). And I understand, that FFT will surely be the first step of this pitch detection. But after I do FFT, what should I do to get the pitch information out of this spectrum of frequencies after FFT?
Should I somehow make an average frequency out of it, or what algorithm should be applied to frequency spectrum after FFT to get the pitch information into like 1 final frequency?
(To explain exactly what I want to achieve: I am developing a game in Unity, in which I want to play some melody to the user, and then I let the user sing (or whiste or hum) that melody. Then I want to measure how successfully (how clearly) he sang it.
So let's say the melody is C# 2 Dis 2 Fis# 2 C# 2. And then I measure user singing in kHz, so I know how far he is singing from the supposed frequencies...)
Thanks sooo much for any help, I will greatly appreciate it, even a small hint where should I look :)

Hi Mark,
Thanks so much for your tip, I thought, that it should be done with FFT, so I am very glad, that you pointed me to better approach of autocorrelation, I will check it out! Thanks again ! :)


Support for Sflow

Hi,
Great plugin !
Adding to the list of flow type support requests, let me ask for the great Sflow support for it's openness, feature set and extended scope:

https://en.wikipedia.org/wiki/SFlow
http://www.sflow.org/ (SFlow home)
http://blog.sflow.com/ (SFlow excellent blog)
http://sflow.net/ (SFlow Host home: flow magic for hosts, VMs and services !)

Thanks in advance :-)

+1

I'm also interested in this as much hardware implements this in staid of netflow. found this https://github.com/tom-saunders/graylog-plugin-sflow-input (seems someone is giving this a try)

@finalbeta I might be wrong, but that GitHub repository doesn't seem to contain any working code regarding sFlow: https://github.com/tom-saunders/graylog-plugin-sflow-input/blob/master/src/main/java/al/paradoxic/graylog/sflow/input/codec/SFlowCodec.java#L50-L63

you said you need help, how can we help you? (but i am not a programmer)

+1
Is there any roadmap or ways that we can help with this ticket?

+1

+1

any update on this 5years old feature request?


Discrepancy for 'val' between javac and ecj.

Migrated from Google Code (issue 416)

Question, for such issues do we know if there is a difference with javac and  javax.tools.JavaCompiler ?  The later is what maven-compiler-plugin uses when fork is set to the default of false.


Fixes issue #1235 - Run TCK using JDK 8

Fixes #1235
I have changed from endorsed lib to Xbootclasspath/a to be able to run the TCK with both JDK 8 and 15.
Unfortunately, the setup-java only exposes the JAVA_HOME pointing to the JDK 8 with version, so I had to fix the JDK 8 version to the 265 to avoid having to change the pom.xml each new release of JDK 8.

Looking at the changes I have one question. This only changes the build for the Servlet API module, right? And then the TCK changes are checking it just for the signature, right?

The TCK needs to be run with JDK 8 because it uses both static and reflection checks to see if the API is OK.
With JDK 15, the reflection check doesn't work because of some classes that were added to the hierarchy of some superclasses (like the java.lang.Enum) and changes to some annotations (like the Deprecated).
And there are the HTTP2 tests that use a class that doesn't exist anymore in the JDK, like the sun.misc.InnocuousThread.
Because of these failures, we need to run the TCK with the JDK 8, but the server still can be run with the latest JDK.
So yes, I only changed the Servlet API because the JDK 8 cannot read classes built with newer Java versions. This way both static checks and reflection checks pass.
One example is Pages TCK. We are using the API that was built with the JDK 8 but even if the API is being built with JDK 8 the signature checks fail. Running the TCK with JDK 8 the checks passes.
We can still run the TCK with JDK 15 in our machines, but the signature tests will fail as well as the HTTP 2 tests.

So can we run the TCK (ignoring the signature tests) using Java 15 and then have another run with Java 8 in the same workflow?

I guess so. I'll give it a try

Not as easy as I thought.
We need to compile with JDK 15 and run with both 15 and 8. To the TCK run with JDK 8, we need to change JDK used to start the Ant.
We cannot rely on the JAVA_HOME because if it set, both Ant and Piranha will use it. If it is specified to JDK 8, Piranha won't start.
Probably we will need to use some trick with the JAVA_HOME_8_0_265_X64...

OK lets take a step back! What about

Compile just the Servlet API with JDK 8 and run the signature tests with it
Run the entire TCK with Java 15 and we exclude signature tests and any other tests that are broken because of not working on a Java version > JDK 8?

Is that feasible?

Let's split it then. I'll open a PR only changing the Servlet API to compile with JDK 8.

I just found out that we can read the JDK path set by the setup-java using ${{steps.id.outputs.path}}.
This way we can use it to set some property, like ant.java.home and run with both JDK 8 and JDK 15.
Can you have a look at the changes? What do you think?

If that works it is fine by me.


Bucket does not allow ACLs

What happened?
AWS no longer allows ACLs for new buckets. However, the acl key is required on synced.S3BucketFolder, making it unusable
Expected Behavior
Expected creating an s3 bucket folder to work
Steps to reproduce
    new synced.S3BucketFolder(`${NAME}-synced-folder`, {
      path: '../../web/dist',
      bucketName: 'website',
      acl: aws.s3.PublicReadAcl,
    });

Output of pulumi about
CLI
Version      3.74.0
Go Version   go1.20.5
Go Compiler  gc

Plugins
NAME    VERSION
nodejs  unknown

Host
OS       darwin
Version  13.4
Arch     arm64

This project is written in nodejs: executable='/Users/kabirsarin/.nvm/versions/node/v18.16.0/bin/node' version='v18.16.0'

Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Update: I didn't realize that the change has to be made to the bucket to allow public acls first. I think something like this should be added to the readme:
// Allow objects in this bucket to be publicly accessible
new aws.s3.BucketPublicAccessBlock('bucket-public-access-block`, {
  bucket: bucket.id,
  blockPublicAcls: false,
});

How can you enable ACLs for an S3 bucket with pulumi? Looking for this option

@sarink
Here's what worked for me:
new s3.BucketOwnershipControls("bucket-ownership-controls", {
    bucket: THE_BUCKET,
    // For options check https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
    rule: { objectOwnership: "ObjectWriter" },
})

new s3.BucketPublicAccessBlock("bucket-public-access-block", {
    bucket: THE_BUCKET,
    // allows the object writer to set public ACLs
    blockPublicAcls: false,
})

(found on https://blog.rishabkumar.com/deploying-a-static-website-to-aws-with-pulumi)

same issue here

Need to figure out ownership of synced folders longterm.


Move cdk8s+ docs to cdk8s-plus repo

The cdk8s-plus docs from the website need to live in this repository because they change whenever we push changes to cdk8s-plus.
We need the build script of the website to consume them from the published cdk8s-plus-X libraries, just like we do for api references. Ideally, we would also create a separate tab for each cdk8s-plus-X library in the website, and not display only the latest.

Resolved by https://github.com/cdk8s-team/cdk8s-plus/pull/1224


Single definition of host name for publishing

Description
We don't have a way how to get a host name. Currently is used environment AVLON_APP which should hold host name to be used but it would be great if we would have a collector or a function to get it at any time the same way.
[cuID:yjxych]

@iLLiCiTiT it seems this has been solved with this CollectHostName plug-in?

I think https://github.com/ynput/OpenPype/pull/4723 will resolve this for 99%

Sounds good. Then we can link this up to auto-close if that gets merged?


fill() can contain only one value

Currently it seems that fill() can only provide one value for all of the missing samples.
example: fill(10) --> fills ALL missing values with "10".
Is there a way to provide separate fill values for each series in a query?
example: Select meas1, meas2 .... fill(1,2)
Would fill missing data from meas1 with "1" and missing data from meas2 with "2".
Being able to provide only one value for fill() seems oddly asymetric. Since I can provide multiple measurements in my select clause I would expect fill() to accept the same number of measurements.

@Kortenbach you're right that it's not current supported and, off the top of my head, I can't think of a workaround. I'll flag it as a feature request to be considered.


Implement offline reconstruction features in recOrder plugin

With the progress in calibration and acquisition parts of the plugin, it is time to implement the offline analysis.
Following features are useful:

Drag and drop reconstructed zarr stores for visualization in napari.
Reprocess the data with new parameters via UI.

We can split the panels in the "Acquisition" tab between "Acquisition" and "Reconstruction", with only "Reconstruction" active when the connection to Micro-Manager is not available.

Mostly implemented. Other bugs are noted on issues


Analyzer: Consider expanding the range of supported versions of Conan

The Analyzer requires a specific version of Conan (=1.18.0), but Conan recommends installation using pip which by default installs the latest version available. Is there a reason why that specific version of Conan is required by the Analyzer? If not, can you consider making the Conan version greater than 1.18.0?

Historically, we were conservative in our version requirements for external tools and more or less only allowed those versions for which we had done the initial implementation against. But maybe it's time to drop these version checks altogether, and instead of getting issues to support never versions, see whether we get issues if a never versions breaks something. What do you think @mnonnenmacher @fviernau?

I would not drop the version checks, because for some package managers we have minimum version requirements. Instead I would suggest that we remove the upper bound from the version ranges for all package managers. This allows to quickly set an upper bound if we know there is an issue which cannot immediately be fixed.


Contribution

A proposal for a first edition of the contribution guideline.

Once merged we could work on a PR template. This GitHub feature is great if we want to follow this checklist

Please rebase now markdownlint has been merged

This PR should wait until we decide on #50.

Please squash and edit commit message


ASv1 integration docs

External developers and integrating partners should be able to access and create phone number mappings.
Other developers currently can read Valora created mappings by calling ODIS (for the pepper) and making the onchain request, but it is unclear on how to do so. Creating mappings is complex and there are no clear standards on how to do so.
Create documentation on how to access phone number mappings (via ODIS + onchain requests)
Create documentation on how to create phone number mappings

This was just created as a potential Gitcoin bounty.

ODIS pepper querying docs can be found here: https://docs.celo.org/developer-guide/contractkit/odis

This ticket should be investigated alongside the Kaala integration

Add documentation for the following inquiry from Slack:
Q: "I have a quick question about the twilio verify integration. In my validator twilio logs, I see a bunch of expired entries. Is this expected? Does the attestation server tell twilio that someone successfully entered the code?"
A: "Yeah this is expected; we currently don’t have the additional call to twilio to check that the verification is correct, since we already manage this logic within the attestation service."
Related Discord thread: https://discord.com/channels/600834479145353243/654086275900375041/876811949550206987


Ruby 1062 app test base

As an intermediate step to using a hosted image, build a base and agent image in the pipeline to allow for reuse

Very cool!

Very cool!


Cannot submit add-on: IntegrityError ... foreign key constraint fails

Caught this from someone who was submitting an add-on. It probably would have shown them a forever spinning progress bar.
https://sentry.prod.mozaws.net/operations/olympia-prod/group/159981/
IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`addons_mozilla_org`.`applications_versions`, CONSTRAINT `applications_versions_ibfk_4` FOREIGN KEY (`version_id`) REFERENCES `versions` (`id`) ON DELETE CASCADE)')
Stacktrace (most recent call last):

  File "celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "celery/app/trace.py", line 438, in __protected_call__
    return self.run(*args, **kwargs)
  File "amo/decorators.py", line 168, in wrapper
    return f(*args, **kw)
  File "amo/decorators.py", line 155, in __call__
    return self.f(*args, **kw)
  File "devhub/tasks.py", line 72, in submit_file
    create_version_for_upload(addon, file_)
  File "amo/decorators.py", line 168, in wrapper
    return f(*args, **kw)
  File "amo/decorators.py", line 155, in __call__
    return self.f(*args, **kw)
  File "amo/decorators.py", line 258, in inner
    return fn(*args, **kwargs)
  File "devhub/tasks.py", line 91, in create_version_for_upload
    version = Version.from_upload(file_, addon, [amo.PLATFORM_ALL.id])
  File "versions/models.py", line 151, in from_upload
    application=app.id).save()
  File "django/db/models/base.py", line 545, in save
    force_update=force_update, update_fields=update_fields)
  File "django/db/models/base.py", line 573, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "django/db/models/base.py", line 654, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "django/db/models/base.py", line 687, in _do_insert
    using=using, raw=raw)
  File "django/db/models/manager.py", line 232, in _insert
    return insert_query(self.model, objs, fields, **kwargs)
  File "django/db/models/query.py", line 1514, in insert_query
    return query.get_compiler(using=using).execute_sql(return_id)
  File "django/db/models/sql/compiler.py", line 903, in execute_sql
    cursor.execute(sql, params)
  File "django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "django/db/utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "django/db/backends/util.py", line 53, in execute
    return self.cursor.execute(sql, params)
  File "django/db/backends/mysql/base.py", line 124, in execute
    return self.cursor.execute(query, args)
  File "MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue

This is the same exception but in a different part of the code https://sentry.prod.mozaws.net/operations/olympia-prod/group/149540/

For reference
1225930 – Uploading a new version leads to empty version with no files, adding xpi to version returns a 400 error
https://bugzilla.mozilla.org/show_bug.cgi?id=1225930

Yeah, there is a lot of fallout when exceptions occur because this code wasn't running inside a transaction. Corrupted add-ons should be addressed when https://github.com/mozilla/olympia/pull/1141 is deployed to production. We'll probably need to wrap the version creation views in transactions too but we need to monitor performance first.

Tracker #1244 and this will be fixed with #1141, hopefully.

I believe this is now fixed with the addition of transactions.


Missing docs for imports-first

Hi,
I just noticed that imports-first is the only rule that doesn't have a markdown documentation file in docs/rules folder.

Hi!
As I think this is due to imports-first being a depreciated alias, renamed to first (docs/rules/first.md), I would like to know if you still think it would be interesting to have some documentation about it.

@beatrizrezener thanks, good point :-) perhaps a symlink to the first docs would work?

Hi guys,
I have tested and it works well on macOS, unfortunately I have seen that unix symlink files are different from windows, so it didn't work there :(
Also, I didn't find a way to make symlinks work in GitHub, although it identifies that it is a symlink file (the icon is different).

I don't know how common it is to use symlinks on github projects, so maybe you can enlighten me if it's okay to go on like this or if it would be better to just create a file that says it was replaced by first. A suggestion: https://github.com/beatrizrezener/eslint-plugin-import/commit/a2a755784b51aede7525cf79fa208498daff7fb6

I don't know how common it is to use symlinks on github projects, so maybe you can enlighten me if it's okay to go on like this or if it would be better to just create a file that says it was replaced by first. A suggestion: beatrizrezener@a2a7557

I'd say an honest deprecation notice it's much better than doing workarounds with system links that can create misconceptions.


Ensure that we dont create new children if lazy vector is already loaded.

Currently LazyVector::ensureLoadedRows when passed with a Dict<Row<Lazy..>> will lose the loaded vector , i.e the base Row vector after the load will be a new empty vector.
This was caught due to #6481

The change is fine, but we need to make sure when we make a DecodedVector out of it, it will not contain any lazy vector. This is expected in many places(like ContainerRowSerde). Can we test that here for this particular case of encoding?

Had a discussion with @laithsakka , at the moment its not clear whether its valid to create vectors with lazy children where calling ensureload on them causes the vector to be in an illegal or bad state.
Should we fix ensureloaded or should we not allow these calls or is the test case exercising this bad ? As I get more answers I will update the PR , atm I am going to leave it pending.


Don't require gtk-doc if autogen.sh is invoked with --disable-gtk-doc.

Can this be merged or is there any other issue to address?


chore: external merge request from Contributor

Description
Fixes #35992
Original PR: https://github.com/appsmithorg/appsmith/pull/35992
EE PR: https://github.com/appsmithorg/appsmith-ee/pull/5202
Automation
/ok-to-test<EMAIL_ADDRESS>:mag: Cypress test results

[!CAUTION]
If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[x] No

[!CAUTION]
🔴 🔴 🔴 Some tests have failed.
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/10988955062
Commit: 296dc0ab9558b97a2cbb91274b8d56f43dc6368d
Cypress dashboard.
Tags: @tag.All
Spec:
The following are new failures, please fix them before merging the PR:
cypress/e2e/Regression/ClientSide/Linting/BasicLint_spec.ts
List of identified flaky tests.
Mon, 23 Sep 2024 07:54:13 UTC

Summary by CodeRabbit

New Features

Introduced the ability to display an icon on the right side of the input component based on user-defined properties.

Hi @rahulbarwal  , took recent pull from release branch and ran BasicLint_spec.ts file getting error in 9th testcase from what is work around to resolve this issue.
Thanks in advance.

Original PR merged, this is not required anymore.


Better support for nested structure in setcontext steps

I have a use case where I want to add a new key-value pair to a dict in context. This pair is derived from other keys in the context. However, the entire value is replaced.
An example pipeline that exhibit this behavior is:
%YAML 1.2
---

steps:
    - name: pypyr.steps.assert
      description: Dummy step to supply the pipeline some arguments
      in:
          platform:
          keys:
              key1: value1
              key2: value2
          assertThis: True

    - name: pypyr.steps.echo
      in:
          echoMe: '{keys}'

    - name: pypyr.steps.contextsetf
      description: Add a new pair to keys
      in:
          contextSetf:
              keys:
                  merge_key: '{keys[key1]}_{keys[key2]}'

    - name: pypyr.steps.echo
      in:
          echoMe: '{keys}'

...

When I run this pipeline, it's output is:
2018-02-28 13:33:40 INFO:pypyr.steps.assert:run_step: assert evaluated to True
2018-02-28 13:33:40 INFO:pypyr.steps.echo:run_step: {'key1': 'value1', 'key2': 'value2'}
2018-02-28 13:33:40 INFO:pypyr.steps.contextsetf:run_step: Set 1 context items.
2018-02-28 13:33:40 INFO:pypyr.steps.echo:run_step: {'merge_key': 'value1_value2'}

I however expected the new dict keys to be added to the existing dict, and not a new dict to be created. The ouput I expected would be (note the difference on the 4th line:
2018-02-28 13:33:40 INFO:pypyr.steps.assert:run_step: assert evaluated to True
2018-02-28 13:33:40 INFO:pypyr.steps.echo:run_step: {'key1': 'value1', 'key2': 'value2'}
2018-02-28 13:33:40 INFO:pypyr.steps.contextsetf:run_step: Set 1 context items.
2018-02-28 13:33:40 INFO:pypyr.steps.echo:run_step: {'key1': 'value1', 'value2': 'key2', 'merge_key': 'value1_value2'}

Hi bleuse,
Thanks for you interest in pypyr! Yes, you're right, nested structures in setcontext and setcontextf end up replacing the entire value of that key.
Here's how I generally do it:

assemble/concatenate your values at the point where you need them (on-the-fly, as it were), rather than prefilling the assembled value in a nested structure.
An example of this approach in action: https://github.com/pypyr/pypyr-example/blob/master/pipelines/aws-s3.yaml
You'll notice that the nested awsClientIn structure is quite complex, but it uses {bucket} to substitute the requisite values at the right places in the nested structure. The degree to which this will work depends on the step you're using (the pypyraws package specifically goes to extra lengths with nested substitutions)
or
pre-fill an intermediate variable to hold the result of your concatenation/derivation, in case you're planning to re-use it multiple times.

Here's a pipeline demonstrating the approaches of 1 and 2:
steps:
  - name: pypyr.steps.echo
    description: Output echoMe
    in:
      key1: value1
      key2: value2
      nested_structure:
        nestedkey1: nestedvalue1
        nestedkey2: nestedvalue2
      echoMe: 'the original nested structure: {nested_structure}'
  - name: pypyr.steps.echo
    description: Output echoMe, constructing the output value on the fly
    in:
      echoMe: 'This was constructed on the fly at the time of use: {nested_structure[nestedkey1]}_{key2}'
  - name: pypyr.steps.contextsetf
    description: alternatively, create an intermediate holding variable for concatenated value
    in:
      contextSetf:
        mergedkey: '{nested_structure[nestedkey1]}_{key2}'
  - name: pypyr.steps.echo
    description: Output echoMe, from a prepared merged key that was set on the top level of context
    in:
        echoMe: 'This is from an intermediate pre-prepared top level context variable: {mergedkey}'
  - name: pypyr.steps.echo
    in:
        echoMe: 'and finally the nested structure has not been overwritten as result: {nested_structure}'

or
3)  Use py step to manipulate context directly
steps:
    - name: pypyr.steps.assert
      description: Dummy step to supply the pipeline some arguments
      in:
          platform:
          keys:
              key1: value1
              key2: value2
          assertThis: True

    - name: pypyr.steps.echo
      in:
          echoMe: '{keys}'

    - name: pypyr.steps.py
      description: set nested dict
      in:
          pycode: context['keys']['new_merged_key_set_from_py'] = context['keys']['key1'] + '_' + context['keys']['key2']

    - name: pypyr.steps.echo
      in:
          echoMe: '{keys}'

Hope this helps to address your immediate problem! But you have given me food for thought and I'm taking this on-board - I'll be thinking of ways of making dealing with nested sets more intuitive than it currently is, so thank you very much for your feedback! I'll keep this open for tracking this work item.

Hi bleuse,
check out https://github.com/pypyr/pypyr-cli#pypyr-steps-contextmerge


Added Filtering for Removed Articles From  API Call

Description
This pull request adds filtering for removed articles in the getTopHeadlines API call. The getTopHeadlines method now fetches the top headlines for a specific category and filters out articles that have been marked as removed. This ensures that only valid articles are returned to the app for display.
Changes Made
Updated the Headlines method in the RepositoryImpl class to filter out removed articles.
Added logic to check if the article's title or content contains the keyword "removed" to determine if it should be filtered out.
Testing
Tested the updated method with various scenarios, including articles with and without the "removed" keyword.
Ensured that valid articles are returned correctly while removed articles are filtered out as expected.

Overall, the implementation looks good for filtering out removed articles from the fetched data before displaying them. However, having implemented  that the search will appear with that since not yet implemented

Suggested Changes Updated


FileNotFoundError in Demicode Library When Running in Pyenv Virtualenv on macOS

Hello, I was trying to use your library but I am facing the following issue:
Demicode encountered an unexpected error. For details, please see the
exception trace below. If you can exclude your system as cause, please
file an issue at https://github.com/apparebit/demicode/issues.
Traceback (most recent call last):

  File "~/.pyenv/versions/3.11.2/envs/***/lib/python3.11/site-packages/demicode/tool.py", line 345, in run
    return process(options, renderer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "~/.pyenv/versions/3.11.2/envs/***/lib/python3.11/site-packages/demicode/tool.py", line 366, in process
    ucd = UnicodeCharacterDatabase(
          ^^^^^^^^^^^^^^^^^^^^^^^^^

  File "~/.pyenv/versions/3.11.2/envs/***/lib/python3.11/site-packages/demicode/db/ucd.py", line 215, in __init__
    self._mirror = mirror = Mirror(root, version, tick)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "~/.pyenv/versions/3.11.2/envs/***/lib/python3.11/site-packages/demicode/db/mirror.py", line 633, in __init__
    self._manifest = Manifest.setup(root or self.default_path(), tick)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "~/.pyenv/versions/3.11.2/envs/***/lib/python3.11/site-packages/demicode/db/mirror.py", line 377, in setup
    .sync(previous, tick)
     ^^^^^^^^^^^^^^^^^^^^

  File "~/.pyenv/versions/3.11.2/envs/***/lib/python3.11/site-packages/demicode/db/mirror.py", line 334, in sync
    versions = file_manager.scan_retrieved_versions()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "~/.pyenv/versions/3.11.2/envs/***/lib/python3.11/site-packages/demicode/db/mirror.py", line 541, in scan_retrieved_versions
    for entry in self.mirror.iterdir():

  File "~/.pyenv/versions/3.11.2/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pathlib.py", line 931, in iterdir
    for name in os.listdir(self):
                ^^^^^^^^^^^^^^^^

FileNotFoundError: [Errno 2] No such file or directory: '~/Library/Caches/demicode/ucd'

I am using demicode in warp using a pyenv virtualenv.

Oops, I forgot to create the cache directory when it doesn't exist. This should be fixed in v1.3, which I just released.


Arkscan 2054A label printers

I am working on adding/improving support for "Arkscan 2054A" label printers. These printers have the same issues as the Zebra printers below when used via USB. Please add the following to the quirks file to resolve the issue.
All Arkscan devices (same issue as Zebra https://bugs.launchpad.net/bugs/1001028) (Issue #5395))
0x2d84 unidir no-reattach
I've added and tested thoroughly the above solution on two different (one USB-only and one USB and ethernet variation) already by editing the /usr/share/cups/usb/org.cups.usb-quirks on a Manjaro system with CUPS 2.3.3op1 as shown above.
The fix for the Zebra printers has already been applied and is the same as below minus the different device ID ranges:
All Zebra devices (https://bugs.launchpad.net/bugs/1001028) (Issue #5395)
0x0a5f unidir no-reattach

I'll apply this to the OpenPrinting CUPS project.

[master c11253c1f] Add USB quirk rule for Arkscan label printers (Apple #5867)


Override reading length in YAML Frontmatter

I made a modification to the code added by @rassol in 16fc4ea2c83eadd40781f914f8654567926e6b7e.
I feel that overriding the already calculated value for the post read length is a little wasteful and bad for readability.
I've moved the code to the top so the value isn't even calculated if it is specified in the frontmatter.

This is great, thanks!

You're welcome. I did a bit of a write up on this piece of code and Pixyll on my blog http://www.jacobtomlinson.co.uk/jekyll/2015/02/24/simple-reading-speed-estimate-in-jekyll/

Great post, thanks for sharing!


How can i train a model for a property optimization task?

Hello! I can not find  related information of property optimization task from README and  I don't  find how to use property optimization from code.
what is a time-dependent property predictor E(Lt, Ft, At, t) ?
Additionally,  I find that  formation  energy is not evaluated  in the evaluation of the generation task. I am very confused about these . I would appreciate it if the author could answer my question.

Hi! Thanks for reaching out! We have updated the codebase for property optimization and the evaluation on property distribution. Feel free to explore the updated sections!


add py.typed file to enable type hints for package consumers

Just added the missing py.typed file. So other projects, which add the project as a library will benefit from the inline type hints. Without this file type checkers, like mypy, think the whole project is untyped. And also added the Typed classifier to make it searchable in pypi 🙂 great work by the way 🚀

@jpdakran fixed the lint issues. Didn't expect you are checking the setup.py 😄


Ruby gem tries to load envkey-source on Rails

Aloha! I'm following the README for the Ruby library for Ruby on Rails and getting the following error:
sh: /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/envkey-2.0.6/ext/envkey-source_2.0.22_darwin_arm64/envkey-source: No such file or directory
My understanding is we aren't "required" to have envkey-source installed? I also hit the same issue if I install envkey-source on my machine
Steps to Reproduce

Generate a .envkey in the Rails app root directory
Add the envkey gem to the Gemfile
Add dotenv-rails gem to the Gemfile (loads .env into ENV)
Add the ENVKEY server value to .env
Start the Rails server or Rails console using the mentioned command:

es -w --rolling -- rails s
# OR
es -w --rolling -- rails c

Stack Trace
Traceback (most recent call last):
	26: from bin/rails:4:in `<main>'
	25: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	24: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	23: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/commands.rb:18:in `<main>'
	22: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/command.rb:48:in `invoke'
	21: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/command/base.rb:87:in `perform'
	20: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
	19: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
	18: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
	17: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/commands/console/console_command.rb:101:in `perform'
	16: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/command/actions.rb:14:in `require_application_and_environment!'
	15: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-<IP_ADDRESS>/lib/rails/command/actions.rb:22:in `require_application!'
	14: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	13: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	12: from /Users/userx/Personal/walkster/config/application.rb:19:in `<main>'
	11: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.33/lib/bundler.rb:175:in `require'
	10: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.33/lib/bundler/runtime.rb:44:in `require'
	 9: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.33/lib/bundler/runtime.rb:44:in `each'
	 8: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.33/lib/bundler/runtime.rb:55:in `block in require'
	 7: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.33/lib/bundler/runtime.rb:55:in `each'
	 6: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bundler-2.2.33/lib/bundler/runtime.rb:60:in `block (2 levels) in require'
	 5: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	 4: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
	 3: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/envkey-2.0.6/lib/envkey.rb:4:in `<main>'
	 2: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/envkey-2.0.6/lib/envkey/core.rb:16:in `load_env'
	 1: from /Users/userx/.rbenv/versions/2.7.4/lib/ruby/2.7.0/json/common.rb:156:in `parse'
/Users/userx/.rbenv/versions/2.7.4/lib/ruby/2.7.0/json/common.rb:156:in `parse': 783: unexpected token at 'sh: /Users/userx/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/envkey-2.0.6/ext/envkey-source_2.0.22_darwin_arm64/envkey-source: No such file or directory (JSON::ParserError)

envkey-source is bundled inside the Rails gem, but it looks like it's missing or there's a version mismatch. Fixing now!

Fixed in 2.0.8

Thanks @danenania ! That worked!


Reset action isn’t clear what it does

For some reason I thought it would just reset the plugin or something and not the whole application. Ideally there would be a warning if there was unsaved work but I think just being more explicit with the name of the action such as, “Restart Sketch” would be good enough for now.

There is no such thing as unsaved work in Sketch. When you quit and restart the document is restored to the edited state it was in.

@aparajita I have that functionality turned off. Regardless of whether there is unsaved data, I think it would be useful to have the language more clear.

Check out this article for more details why: https://medium.com/@thomasdegry/how-sketch-took-over-200gb-of-our-macbooks-cb7dd10c8163

Did you actually have a problem with revisions eating up too much space? Mine is only 5.9GB.
In any case, I agree that the language in the menu should be clearer.

Yeah; this action was purely for debugging purposes.
I didn't intend to have it in the release, or make it understandable :P
I use it for testing restarting Sketch + re-opening the same documents again — which is a command that happens after updating Paddy 2. Because, in order to get the changes for Paddy 2; you need to restart Sketch.
My bad though. I'll take it out of the menu for releasing.


import for angular?

is there an option for importing it in angular with the import keyword instead of require?

import & as polyline from '@mapbox/polyline'
I'm using it and works fine.

closing per previous comment which should address this, but if not please post back.

@sebastiangug can you specify how exactly should I import it to Angular 9? Thank you

import * as polyline from "@mapbox/polyline"

@sebastiangug Worked, thank you!


Do not ignore package-lock.json files

Pull Request Description
This PR fixes inconsistency with semi ignoring package-lock.json. The file was stated as ignore in .gitignore but at the sam time we had some of them in repo (and some not...). This resulted in weird random dependency updates.
Important Notes

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

I believe that both build/prettier/package-lock and the root package-lock should be ignored, as they are build/prettier related and it is safe to bump they even on every build. We Laso want to keep prettier up to date. What do you think of it?

I don't have strong opinion on that since I don't know full usage of the modules you listed. On the other hand I am fan of consistency. Imho all locks files should be history tracked.
But I won't fight over it :) If you say so I can ignore them

I believe that both build/prettier/package-lock and the root package-lock should be ignored, as they are build/prettier related and it is safe to bump they even on every build. We Laso want to keep prettier up to date. What do you think of it?

I am against this. Updates to prettier (or linter tools) can result in broken builds. This is what happened on Monday and there was ton of confusion ("why my PRs suddenly fail? The error shows up in a place that I havent touched")

ok :)


Only show TopBar if displayTopBar is true

Fixes #54.

Thanks for contribution @lucasbento.

I needed to remove the change in this line though:
paddingTop: gridContainer && displayTopBar ? TOOLBAR_HEIGHT : 0,
This causes a position jump when topBar is displayed or hidden. Why do we need this change?

@halilb: if I don't display the TopBar and use another one (e.g. react-navigation's header) the content of the gallery will be wrongly centered since there's that TOOLBAR_HEIGHT.


Replaced HeadingTitle with DefaultTextStyle

fix #75
merge request #76 but without a breaking oversight.
cannot be merged into fix/delay-screen because of conflicts by the revert.
(sorry, I forgot a tiny change on a line and it caused the issue!)

Thank you for everything.
#73 and #76 changes included?
I'm thinking of merging them into a new branch, is that a problem?


bundled contexts ("bundles")

A mechanism for storing both a context, and the variants that context uses, into a single relocatable directory. This directory could then be copied to a server, or stored into an image, for standalone deployment. Note that packages need to be relocatable.
The process should be broken down into the following smaller operations, which can be useful in their own right:

Copy the variants in a context into a target pkg repo
"Retarget" a context to a nominated repo(s)
Allow relative-path pkg repo references in contexts
Explicitly disable memcaching in a context (and store this option as a context attribute). And/or, infer non-cachability when pkg repo path is relative.

In particular, separating out (1) and (2) will allow for scenarios where you may want multiple contexts to be retargeted onto the same pkg repo. This would allow for a new suite schema, where the variant payloads could all be stored into one repo within the suite directory, thus making the entire suite relocatable and standalone.
A bundled context would look like this:
/my_bundle
  /context.rxt  # retargeted to relative repo "./packages"
  /packages
    /python/2.7/...
    /foo/1.0.0/...

To create this bundled context in manual steps you would:
]$ rez-env foo bah -o tmp.rxt
]$ rez-context --show-uris --print-resolve | xargs -i rez-cp --variant-uri {} --dest-path ./my_bundle/packages
]$ rez-context tmp.rxt --retarget ./my_bundle/context.rxt ./my_bundle/packages
]$ rm -f tmp.rxt

For convenience, a new rez-bundle tool is available, and does the equivalent to above:
]$ rez-env foo bah -o tmp.rxt
]$ rez-bundle tmp.rxt ./my_bundle

Note that packages need to be relocatable.
Presumably, this will respect the relocatable attribute in the package file? What is the behaviour if a package is not relocatable, error and exit?

Note that packages need to be relocatable.
Presumably, this will respect the relocatable attribute in the package file? What is the behaviour if a package is not relocatable, error and exit?

@mstreatfield you'll have control over this - default behaviour will be to fail, but you will also be able to:

allow partial: Only add packages to the bundle that can be localised (so the context will not be entirely standalone)
force everything regardless (YMMV)

@mstreatfield you'll have control over this - default behaviour will be to fail, but you will also be able to:

allow partial: Only add packages to the bundle that can be localised (so the context will not be entirely standalone)
force everything regardless (YMMV)


gradle installDist fails for java tools

17:02 $ ./gradlew installDist

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '12.0.2'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

Running this on my mac with Java 12.0.2.

Hi @olbrich -- This got me a tad closer:

Install Java 10 (I use the https://asdf-vm.com manager) because:

https://github.com/gradle/gradle/issues/5764
https://stackoverflow.com/questions/54358107/gradle-could-not-determine-java-version-from-11-0-2

Then I did this to use upgrade to version 4.7 (per the issue above).

[~/code/clinical_quality_language/Src/java] git diff
diff --git a/Src/java/gradle/wrapper/gradle-wrapper.properties b/Src/java/gradle/wrapper/gradle-wrapper.properties
index f16d2666..c30d4c01 100644
--- a/Src/java/gradle/wrapper/gradle-wrapper.properties
+++ b/Src/java/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip

We have updated all the build tooling and scripting to use OpenJDK and I am able to run this command locally. Is this issue still occurring?

This issue appears to be resolved. Feel free to submit another issue if the problem persists


ANSI Keypad Emulation On Sierra and High Sierra

After looking through everything I can find here on Github and the Karabiner Google group, I see there does seem to be a way to make the current Karabiner emulate a numeric keypad on a MacBook keyboard, using the Fn key.
What I need (to use DEC text editors) is more than just this.  The ANSI keypad has two modes - Numeric, and Application.  The Numeric mode outputs digits and punctuation chars, while the Application mode outputs escape sequences.  Application programs can switch between the two modes by sending ESC = for the application mode, and ESC > to return to the numeric mode.  In the application mode, KP-0 outputs ESC O p, et cetera.
In the now distant past, all these functions were included in KeyRemap4MacBook, and worked (still do, heh) flawlessly.  Has anyone made any progress with implementing this with the current version of Karabiner?  I'd be more than happy if even it were only possible under Sierra (10.12.6).
Thanks!

Pinging this to keep it open a couple more months.
Hope springs eternal...

One last ping...


Conflict with tmux

I came across some minor but confusing glitch when using pulsemixer within tmux.
Steps to reproduce:

start tmux
start pulsemixer within a tmux window
press either Shift+Left or Shift+Right

Actual result: pulsemixer quits with status zero
Expected result: volume gets decreased/increased by 10%

I narrowed it down to this line: https://github.com/GeorgeFilipkin/pulsemixer/blob/71f15d0a04b096096f2f6440769048ab466a8999/pulsemixer#L1442
It enters the if block because c == self.ESC_KEY somehow. It seems like either tmux or curses is decoding the Shift key incorrectly.
(As a workaround, one can use H/L which are aliases for Shift+Left/Shift+Right.)

Had to add setw -g xterm-keys on  to ~/.tmux.conf, otherwise Shift+Left and Shift+Right are getting eaten by tmux.
My guess is it has to do with $TERM. Tmux sets it to screen or tmux depending on the version (unless overwritten).
Normally Shift+Left generates just one number, 393. When $TERM is set to screen or tmux it generates a sequence of numbers, 27 91 49 59 50 68, every loop iteration screen.getch() gets the next number and when that number equals ord('q'), which is 27, pulsemixer exists.
Here is a similar issue #19
I can easily prevent pulsemixer from exiting by calling another getch before sys.exit, but not yet sure if I can get Shift+Left/Right to actually work as intended. For example I couldn't get vim's Shift+Left to work with TERM=screen. But in issue #19 the problem was in F1-3, which were also generating sequences, and F1-3 are working just fine in htop and vim with TERM=screen.

Had to add setw -g xterm-keys on to ~/.tmux.conf, otherwise Shift+Left and Shift+Right are getting eaten by tmux.

Setting setw -g xterm-keys on did not fix the issue for me.

My guess is it has to do with $TERM. Tmux sets it to screen or tmux depending on the version (unless overwritten).

My $TERM is set to xterm-256color automatically by tmux.

Normally Shift+Left generates just one number, 393. When $TERM is set to screen or tmux it generates a sequence of numbers, 27 91 49 59 50 68, every loop iteration screen.getch() gets the next number and when that number equals ord('q'), which is 27, pulsemixer exists.

I can confirm I'm getting the same sequence:

Shift-Right: 27 91 49 59 50 67
Shift-Left: 27 91 49 59 50 68

Here is a similar issue #19

I can easily prevent pulsemixer from exiting by calling another getch before sys.exit, but not yet sure if I can get Shift+Left/Right to actually work as intended. For example I couldn't get vim's Shift+Left to work with TERM=screen. But in issue #19 the problem was with F1-3, which were also generating sequences, and F1-3 are working just fine in htop and vim with TERM=screen.

FWIW, F1-F3 keys are working fine for me in pulsemixer.
I don't know if it's worth adding a conditional branch to match the sequence "27 91 49 59 50" then processing the last keycode properly. It might add unwarranted complexity especially since there is an easy workaround using H/L keys. I'll leave it up to you. Feel free to close this issue.
Thanks :)

a conditional branch to match the sequence

Pushed in just that. Can you please check if it's working for you?

@GeorgeFilipkin Awesome, it works perfectly. Thank you!


Fix typos

Fix spelling typos; should be non-semantic.

Hi @bwignall,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!


Renew iccluster051 between 2023-12-31 & 2024-01-09

Renewal is allowed starting 10 days before cutoff.

Go to IC Cluster Portal (requires EPFL network or VPN).
Login (top-right)
Click Reservations > View My Reservations
Find the latest one (at the top) and extend it by 45 days

Extended to 2024-02-24


Update macOS self-hosted pipeline to the nightly toolchain

Is it reproducible with SwiftPM command-line tools: swift build, swift test, swift package etc?

[X] Confirmed reproduction steps with SwiftPM CLI. The description text must include reproduction steps with either of command-line SwiftPM commands, swift build, swift test, swift package etc.

Description
The macOS self-hosted pipeline is running Swift 5.9.2.  This prevents the use of Swift Testing, and is currently blocking, at a minimum, the following PRs (which are currently marked as draft pending resolution if this issue):

https://github.com/swiftlang/swift-package-manager/pull/8100
https://github.com/swiftlang/swift-package-manager/pull/8099
https://github.com/swiftlang/swift-package-manager/pull/8093
https://github.com/swiftlang/swift-package-manager/pull/8092

It would be ideal to update the macOS self-hosted pipeline toolchain version such that it uses the same version across all pipelines.
Expected behavior
A toolchain version that supports Swift Testing is in use by all pipelines.
Accessing the last successful build will show Swift 6.x in use.
https://ci.swift.org/job/swift-package-manager-with-xcode-self-hosted-PR-osx/lastSuccessfulBuild/execution/node/43/log/
Actual behavior
The self-hosted macOS pipeline is still using 5.9.2.
https://ci.swift.org/job/swift-package-manager-with-xcode-self-hosted-PR-osx/4562/execution/node/43/log/
Steps to reproduce
Open the last successful build
https://ci.swift.org/job/swift-package-manager-with-xcode-self-hosted-PR-osx/lastSuccessfulBuild/execution/node/43/log/
Swift Package Manager version/commit hash
N/A
Swift & OS version (output of swift --version ; uname -a)
N/A

Created a new pull request job to support nightly toolchain testing.
@swift-ci Please test nightly self hosted

The self-hosted macOS pipeline using the nightly toolchain is now a required pipeline.

Closing this issue as it has been fixed.


Vulnerabilities found dependency on lodash

There is a vulnerability on<EMAIL_ADDRESS>can anyone fix it to upgrade it to<EMAIL_ADDRESS>instead?

lodash and uri-parse
https://nodesecurity.io/advisories/678
https://nodesecurity.io/advisories/577


update VS project options cache when files are added/removed

This prevents VS from crashing when the cached project options don't know about a newly added file.
Fixes #1769.
This also fixes the crash when renaming a file that @cartermp mentioned.
@KevinRansom @Pilchie @cartermp @OmarTawfik @dsyme

@Pilchie, we don't currently have IDE tests or a quick mechanism to add them; that's an item on my backlog that I just added as #1822.


feat($httpParamSerializerJQLike): honor object.toJSON function if present

$httpParamSerializerJQLike gives dates special treatment (i.e. treats them as values instead of drilling down into their properties).
This change extends this behavior by honoring the toJSON function, if present on the object being serialized.
While keeping the existing behavior for dates, it also adds support for serializing custom objects which should be treated as values, such as Moment.js moments.

It sounds like a good addition, but it definitively need tests before it can be merged. @gabrielmaldi could you please add tests for this change? You can use the existing ones as inspiration.

I added one test, think it's enough because there already are others which test object serialization.

Given the breaking chance nature, I am leaning on moving this to 1.5. @petebacondarwin WDYT?

I made an adjustment:
The call to serializeValue(toSerialize) returned a quoted string because JSON.stringify("baz") === ""baz"" (and then encodeUriQuery would turn that into %22baz%22).
So now we call toSerialize.toJSON() directly and get "baz".

Hey guys, I rebased my changes. Now that 1.5.0-beta.1 is out maybe we can continue working on this PR?

I found a problem when a Resource is serialized.
Resource defines toJSON here, but it doesn't return a string, it returns the same object (cloned) minus a couple of properties.
Since toJSON is defined, it falls into this case:
} else if (isFunction(toSerialize.toJSON)) {
  parts.push(encodeUriQuery(prefix) + '=' + encodeUriQuery(toSerialize.toJSON()));

And everything ends up with "[object Object]".
I didn't find a place where Resource.prototype.toJSON is called explicitly. I did find this test.
If toJSON is not used, perhaps we could remove it? If it is in fact used, it is weird that it doesn't conform to what toJSON is expected to do (i.e. return a string), but if we change that we may break things. We could rename Resource.prototype.toJSON to something else. Or make a special case for Resource in this PR:
} else if (isFunction(toSerialize.toJSON) && destinationCurrency.constructor.name !== "Resource") {
  parts.push(encodeUriQuery(prefix) + '=' + encodeUriQuery(toSerialize.toJSON()));

But this is very fragile because of the use of .constructor.name and also depending on "Resource" which could be another object.
What do you guys think?
Thanks!

If toJSON is not used, perhaps we could remove it?

It is used implicitly by JSON.stringify() when the object is converted to JSON. This is not something Angular-specific, it's plain old JavaScript.
See toJSON() on MDN.
--

If it is in fact used, it is weird that it doesn't conform to what toJSON is expected to do (i.e. return a string)

It does conform to what toJSON() is expected to do (see link above). The name isn't very intuitive indeed, but toJSON() is supposed to return the value to be serialized (and not the serialized value).

WRT to this PR in general, I am not sure if it is a good idea to take toJSON() into account, since it's purpose is very specific (to be used when converting to JSON) and we are doing something completely different (serializing an object as URL query params according to jQuery's conventions).
If jQuery does that (which I don't think it should - but that is irrelevant), we should do it too in order to be consistent. But if jQuery doesn't do it, then neither should we.

I had read that MDN article but I guess that since in their example they return a string, it wasn't immediatly obvious to me that

the value returned by the toJSON() method when called will be serialized

meant that you should return

the value to be serialized (and not the serialized value).

Sorry about that and thanks for clarifying!

If jQuery does that (which I don't think it should - but that is irrelevant), we should do it too in order to be consistent. But if jQuery doesn't do it, then neither should we.

I ran some tests on jQuery and Angular with and without this PR:

jQuery
jQuery.param({
    myObject: {
        prop1: 'value1',
        toJSON: function () {
            return 'anotherValue';
        }
    }
});

"myObject%5Bprop1%5D=value1&myObject%5BtoJSON%5D=anotherValue"
jQuery.param({
    myObject: {
        prop1: 'value1',
        func1: function () {
            return { 'prop2': 'value2' };
        }
    }
});

"myObject%5Bprop1%5D=value1&myObject%5Bfunc1%5D=%5Bobject+Object%5D"

Angular without this PR
jqrSer({
    myObject: {
        prop1: 'value1',
        toJSON: function () {
            return 'anotherValue';
        }
    }
});

"myObject%5Bprop1%5D=value1&myObject%5BtoJSON%5D=function+()+%7B%0A++++++++++++return+'anotherValue';%0A++++++++%7D"
jqrSer({
    myObject: {
        prop1: 'value1',
        func1: function () {
            return { 'prop2': 'value2' };
        }
    }
});

"myObject%5Bfunc1%5D=function+()+%7B%0A++++++++++++return+%7B+'prop2':+'value2'+%7D;%0A++++++++%7D&myObject%5Bprop1%5D=value1"

Angular with this PR
jqrSer({
    myObject: {
        prop1: 'value1',
        toJSON: function () {
            return 'anotherValue';
        }
    }
});

"myObject=anotherValue"
jqrSer({
    myObject: {
        prop1: 'value1',
        func1: function () {
            return { 'prop2': 'value2' };
        }
    }
});

"myObject%5Bfunc1%5D=function+()+%7B%0A++++++++++++return+%7B+'prop2':+'value2'+%7D;%0A++++++++%7D&myObject%5Bprop1%5D=value1"

The first thing that emerges (from the very first test) is that jQuery doesn't use toJSON to get the value of the object.
However, it seems that jQuery also includes the values returned by any functions (it doesn't treat toJSON specially in this regard, it treats it like any other function), and if the function returns another object, it doesn't serialize it recursively.
Angular is currently not consistent with this behaviour. I don't like jQuery's behaviour either, I'd ditch serializing functions altogether. But if jQuery does it this way, should we too? I don't know if consistency with jQuery should be the only deciding factor here, because what it is doing with funcions is IMHO nonsense (what we are doing is too). Also, jQuery doesn't sort parameters while Angular does, so we're not currently replicating jQuery's logic strictly.
If it were up to me, I'd not serialize functions and I'd take toJSON into account; after all, if toJSON is defined in an object, it means that you want another representation of that object to be used when serializing, either if you are serializing to JSON or to query string params. I think this is a reasonable assumption that devs would make.
I updated the PR with these changes and added a couple of tests.
Thanks for your time!

Sorry for the late response. I still think we should follow jQuery as close as possible (especially since this paramSerializer has that exact purpose: replicate jQuery's serialization).

Closing since I believe we should try to keep as close as possible to the jQuery behavior (whether we like it or not :wink:). This is the purpose of $httpParamSerializerJQLike anyway.
Treating functions correctly will be fixed with #16139.
Thx for investigating and working on this, @gabrielmaldi :heart:


[Question] Utilizing a Finetuned custom vicuna13b Model in the llava Framework

Question
I have a vicuna13b model that has been finetuned with my own text data (only language finetuning, not image-text pair finetuning using your script). Would it be possible to utilize this in your llava framework?
Could I perhaps change the model-base in this command, or modify my custom vicuna config in some way?
python -m llava.serve.cli --model-path ./data-vol-1/model/llava/llava-336px-pretrain-vicuna-13b-v1.3 --model-base ./data-vol-1/model/llava/vicuna_13b_v1.3 --image-file "./llava/view.jpg"

@hjsg1010 I was thinking of doing the same thing. Did it work in your case? Thanks :)


Document 2.0.0 Breaking Change

Need to document the new changes in model refactoring.

not needed.


⚠ GreatPosterWall has degraded performance

In b7a9089, GreatPosterWall ($GPW) experienced degraded performance:

HTTP code: 200
Response time: 2572 ms

Resolved: GreatPosterWall performance has improved in 144ef0b.


fix #361

@PetrDlouhy thanks for contributing.
I am afraid these 2 messages could be missleading as much more exceptions can occur. Maybe just to write general some general exception such as ExceptionName encountred while trying to read file
Also it would be nice to mark this string for translation.

@bmihelac I have updated the patch.

Merged, thanks!


Reintroduce Backwards compatibility cache tests.

Describe the new feature you'd like
Backwards compatibility tests for version 1.12 was deleted  because the backwards compatibility is not required due to this being a v2 upgrade.
A new compatibility tests for v2 should be added just before release final release.
examine branch https://github.com/gchq/Gaffer/tree/gh-2895-reintroduce-backwards-compatibility-cache-tests
and make a persistent cache to pass those test.

Awaiting all cache PR to be approved

Closed by https://github.com/gchq/Gaffer/pull/2937


add "components" Helm value

What this PR does / why we need it:
The helm value components is added, this value selects what resources should be included in the rendered helm chart.
Now, we can render the CRDs with Helm too, this allows to install cert-manager in a custom namespace or use a custom release name. (Using the static CRDs as described here: https://cert-manager.io/docs/installation/helm/ will result in a failed install in both of those cases.)
$ helm template \
  cert-manager jetstack/cert-manager \
  --set components={crd} \
  --version v1.4.0 | kubectl apply -f -

$ helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.4.0

The installCRDs helm value can be replaced by components. I added a deprecation warning notifying the chart user that this option might get removed in later releases.

this can be used when generating static yaml manifests (bazel)
this can be used for automated testing (test for different install scenarios)

Which issue this PR fixes
Allows for installing cert-manager in namespace that differs from cert-manager, by creating 2 Helm deployments: https://github.com/jetstack/cert-manager/issues/2752#issuecomment-605883456
Should bring us closer to supporting a multi-controller scenario: https://github.com/jetstack/cert-manager/issues/2525#issuecomment-618982292
Release note:

add components selector in Helm values

/kind feature

/ok-to-test

/test aws-tests

/test aws-tests-pre

/test aws-tests-pre

/retest

/test aws-tests-pre
On Tue, 10 Aug, 2021, 6:59 pm jetstack-bot, @.***>
wrote:

@inteon https://github.com/inteon: The following test failed, say
/retest to rerun all failed tests:
Test name Commit Details Rerun command
aws-tests-pre 1e4d27b
https://github.com/jetstack/cert-manager/commit/1e4d27b9cee42ad3b1c2039ce76ebead8c6988ea
link
https://prow.build-infra.jetstack.net/view/gs/jetstack-logs/pr-logs/pull/jetstack_cert-manager/4219/aws-tests-pre/1425085091561869313 /test
aws-tests-pre
Full PR test history
https://prow.build-infra.jetstack.net/pr-history?org=jetstack&repo=cert-manager&pr=4219.
Your PR dashboard https://jetstack-build-infra.appspot.com/pr/inteon.
Please help us cut down on flakes by linking to
https://git.k8s.io/community/contributors/devel/sig-testing/flaky-tests.md#github-issues-for-known-flakes
an open issue
https://github.com/jetstack/cert-manager/issues?q=is:issue+is:open when
you hit one in your PR.
Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
https://github.com/kubernetes/test-infra/issues/new?title=Prow issue:
repository. I understand the commands that are listed here
https://go.k8s.io/bot-commands.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jetstack/cert-manager/pull/4219#issuecomment-896029503,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANSTBQGOAKHZBU4WMTATX43T4ESRZANCNFSM5AROJI6A
.

/test aws-tests-pre

/test aws-tests-pre

/test aws-tests-pre

/test aws-tests-pre

/test aws-tests-pre

/test all

/retest

/remove-lifecycle stale


add the search term to the search bar on the Result page

have the search bar on the result page display what the search term is

Behaving as expected


Add yxxhero as a maintainer

I've asked a few times by @yxxhero if he deserves a seat as a maintainer of the Helmfile project.
Seeing the amount and the number of his recent contributions, and the nature of his contributions (add tests and fix bugs and CI issues, review PRs), I think he is in a relatively unique position compared to existing maintainers, and we can work better together!
@itscaro WDYT?

@mumoshu @itscaro Thanks very much. It's my pleasure.

Welcome @yxxhero 🎉


r108: Couldn't complete installation.

steps:
# scp .run file to orange pi
scp orangepi5-openfyde-r108\(1\).run orangepi@<IP_ADDRESS>:~/

## uncompress the image
./orangepi5-openfyde-r108\(1\).run --boot nvme
0+1 records in
0+1 records out
4 bytes copied, 9.1256 s, 0.0 kB/s

## clear nvmen01
sudo dd bs=1M if=/dev/zero of=/dev/nvme0n1 count=2000 status=progress
sudo sync

## install
sudo dd bs=1M if=orangepi5-openfyde-r108\(1\).img of=/dev/nvme0n1 status=progress
sudo sync
sudo poweroff

## remove tf card and reboot
echo Couldn't complete installation.

If I understand correctly, you flush the image to Nvme storage the called installation?

I copy the image file to nvme disk(dd command),
then reboot, click the first button that called install openfyde(maybe),
then echo the error message.

R108 has a small change of how to install from R102, the image extracted is proposed to be dd to TF card.
Of course, dd it to NVME would not influence the second button try it but the first button install openfyde won't
work because the actions which install openfyde do are dds and file copies. Both source and target can't be same one of course.

ok, i got it, i need to copy image file to TF card, reboot and install the system to nvme driver. thanks.


Support for layer styles

Feature description

Unfortunately, document colors that html-sketchapp generates are not shared when using a sketch file as a library. (The only things that libraries provide are symbols, text styles, and layer styles)
It would be cool to have a generator for layer styles similar to how text styles are implemented.
E.g. our style guide specifies that a card has a light grey background, a dark grey border, and rounded corners. In Sketch I can save these for reuse, and I would like to generate them automatically.

Hey Sarah! Thank you so much for reporting, I'm putting it under feature requests. If you, or anyone else, is interested in implementing this feature, we will be happy to help with advice and code review.

This was just released in v4.3.0. Huge thanks to @daynekilheffer 🙌
https://github.com/html-sketchapp/html-sketchapp/releases/tag/v4.3.0


how to generate thumbnail using video url for jquery jplayer

i need create to show thumbnail image in poster by using video url for jquery j-player.i have seek in forum.but i didn't got any useful information related to thumbnail.anyone can give me some ideas to do it..
Thanks Advance..
$("#jquery_jplayer_2"+playid).jPlayer({
ready: function () {
//console.log(playpath);
        $(this).jPlayer("setMedia", {
            /*m4v: "media/tokyo.m4v",
            ogv: "media/tokyo.ogv",
            poster: "media/poster.jpg"*/
			m4v: playpath,
            ogv: playpath,
            poster: playpath
        });
    },
    ended: function (event) {
        $("#jquery_jplayer_2"+playid).jPlayer("pause", 0);
		//$("#jquery_jplayer_2"+playid).jPlayer( "destroy" );
    },
    swfPath: "player/example45/swf/Jplayer.swf",
    supplied: "m4v, ogv",
    cssSelectorAncestor: "#jp_interface_2"
})
.bind($.jPlayer.event.play, function() { // pause other instances of player when current one play
        $(this).jPlayer("pauseOthers");
});

For support questions, please use the channels described here: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#-got-a-question-or-problem


⚠ Mobitopup has degraded performance

In fec2cf7, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 8109 ms

Resolved: Mobitopup performance has improved in 5f40803.


334 combine highlyservd bus train

Pull Request submission
Insert detailed bullet points about your changes here!
Insert any instructions to help the reviewer, e.g. "install new requirements from requirements.txt"
*Let the reviewer know what data files are needed (to be grabbed from sync)
Closes or fixes
Fixes #
Code

[ ] Requirements My/our code matches the requirements of the ticket
[ ] Functionality: New functions meet requirements in issue ticket
[ ] Compliant Code Code is as PEP 8 compliant as I can humanly make it
[ ] Code runs The code runs on my machine
[ ] Clean Code

[ ] Code has been linted (use your favourite linter)
[ ] Code adheres to DRY

Documentation
Any new code includes all the following forms of documentation:

[ ] Function Documentation Docstrings within the function(s') definition(s) have been created

[ ] Includes parameters and returns for all major functions
[ ] Includes data types

[ ] Updated Documentation: Working doc has been updated and a new ticket to update the master documentation has been created.

Data

[ ] All data needed to run this script has been added to Sync

Testing

[ ] Unit tests Unit tests have been created and are passing or a new ticket to create tests has been created

Peer Review Section

[ ] All requirements install from (updated) requirements.txt
[ ] Documentation has been created and is clear - check the google Doc
[ ] Doctrings (Google format) have been created and accurately describe the function's functionality
[ ] Unit tests pass, or if not present a new ticket to create tests has been created
[ ] Code runs The code runs on reviewer's machine

Final approval (post-review)
The author has responded to my review and made changes to my satisfaction.

[ ] I recommend merging this request.

Review comments
Insert detailed comments here!
These might include, but not exclusively:

bugs that need fixing (does it work as expected? and does it work with other code
that it is likely to interact with?)
alternative methods (could it be written more efficiently or with more clarity?)
documentation improvements (does the documentation reflect how the code actually works?)
additional tests that should be implemented (do the tests effectively assure that it
works correctly?)
code style improvements (could the code be written more clearly?)

Your suggestions should be tailored to the code that you are reviewing.
Be critical and clear, but not mean. Ask questions and set actions.

@nkshaw23 I have created a draft PR to collect all the commits together and work from here. Might be best to keep comments about the work in the issue #334 though.

Tested for England, results viewed in QGIS. Everything looks good but would like to investigate a bit further.
@james-westwood outstanding task for this PR:

Build in the process for Scotland script. In an ideal world we would have these combined into one process, but we can look at this afterwards.
Once in scotland, can remove two functions from data_transform (add_stop_capacity_type and filter_stops)
Check for other functions that are no longer used

@nkshaw23 I think it would be best to split out the Scotland stuff into it's own ticket + PR.

@james-westwood This is now ready for review as we are splitting Scotland work into another ticket.

Pipeline works from start to finish now. Just two comments from me.
Because we cant join NAPTAN onto the train data, we couldnt use the existing capacity_type function which relied on StopTypoe codes from NAPTAN. Hence, the high/low capacity type has been added manually based on whether stop is bus, train or tram

I will pull the code and run it today.