[$250]  IOS - Empty screen seen when navigating back from workspace description the second time

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

Version Number: 9.0.71-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Open IOS hybrid app
Create a workspace give it a custom description
Navigate to the inbox
Open workspace chat
Tap on the custom description to navigate to description setting of the workspace
Navigate back twice by tapping on the top left back icon until you reach workspace editor page
Tap on Workspace chat
Re do step 5
Tap on the top corner back icon or swipe from left to right

Expected Result:
Empty screen does not get shown
Actual Result:
Empty screen gets shown and the workspace profile settings page animation is wrong, it slides from right to left after the empty screen has been shown first
Workaround:
Unknown
Platforms:

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

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[x] iOS: Standalone
[x] iOS: HybridApp
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/46ddf493-9168-4d87-987e-b90b5692ea02
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021865096772528155887
Upwork Job ID:<PHONE_NUMBER>528155887
Last Price Increase: 2024-12-06

Issue OwnerCurrent Issue Owner: @ishpaul777

Proposal
Please re-state the problem that we are trying to solve in this issue
Empty screen gets shown and the workspace profile settings page animation is wrong, it slides from right to left after the empty screen has been shown first.
What is the root cause of that problem?
TLDR: The same RCA detailed in my proposal of this other issue.

[!note]
This issue is only present on narrow layout devices (native / mWeb) where screens displayed in RHP act as a modal.

https://github.com/Expensify/App/blob/3baf965618ced48845ddd7534b0fad4d4110b5de/src/pages/workspace/WorkspaceInitialPage.tsx#L360-L376
When we open the workspace's initial page, the active route becomes Workspace_Initial. However, the current canAccessRoute logic only checks for the sub-page route - therefore when it compares the active route with itself, it fails because menuItems doesn't contain Workspace_Initial.
We actually have the logic to only run it once here, but when we open the search page, all routes are "hidden" as explained here. Because of this, the wasRendered logic in WorkspaceInitialPage won't work as expected -> when we try to open the filter page, the previously "hidden" routes are added back to the stack and canAccessRoute becomes false which will dismiss any RHP that we try to open (Filters).
Credits to bernhardoj for the RCA.
What changes do you think we should make in order to solve the problem?
We had a similar issue which I reviewed recently here where we navigated away from WorkspaceProfileSharePage to a report without dismissing the currently opened modal which caused a weird UI bug in the QR Code because the same modal would be opened twice.
Same as proposed in the other issue, a practical solution for this kind of problem is to simply replace the way we navigate away from WS to the report here:
https://github.com/Expensify/App/blob/b595f5d24141a403fcc3f44c73d00cd6951dca7d/src/pages/workspace/WorkspaceInitialPage.tsx#L457
to use Navigation.dismissModal instead:
onPress={() => Navigation.dismissModal(currentUserPolicyExpenseChat?.reportID ?? '-1')}

Why dismissing the modal first fixes our issue ?
Because as explained in RCA, on narrow layout devices (native / mWeb) screens displayed in RHP act as a modal and by dismissing it when navigating to the report, all the conditions which lead to the empty screen showing when navigating back in our case, will now work as expected.

[!important]
I proposed the same solution for this issue and because this solution would fix both issues, if my solution is selected on any of the two issues -> we should put the other one on HOLD.

Result video (before / after)

iOS: Native

Before
After

Will this issue be fixed in https://github.com/Expensify/App/issues/53600, i see we got a proposal selected there?

cc @bernhardoj for input on this question

No

Expected result states:

Empty screen does not get shown

From you video it looks like that the expected result is fulfilled with the proposed solution since the expected result did not specify what page we should land on. But ok, I'll look into this and try to come up with an alternative solution that would fulfill your expectations 👍

I performed a npm ci and iOS: Native app rebuild and I can't reproduce the issue anymore.
https://github.com/user-attachments/assets/661187ac-04ee-4993-b064-e5a39592ccd0

I think it was "solved" by https://github.com/Expensify/App/pull/53985, but it causes the navigation issue mentioned here : https://github.com/Expensify/App/issues/54303.

I think the video looks correct? It seems to be navigating sequentially based on the browsing history.

Hmm maybe I am just not understanding the video correctly. Why does it immediately navigate to the description page? That does feel weird.

Why does it immediately navigate to the description page? That does feel weird.
That is because description is pressable and i clicked on it to navigate to the description page.

I agree this is weird. I've long felt that the description should not ever be navigable. You should have to go into the workspace profile to edit the description. I think it's super weird that you can click on it in the message body AND in the header. Both of those interactions feel really unexpected and wrong to me.


R-20-45: unit tests for inquirer and logger

This commit contains tests and some changes of the inquirer and the file

@DogaIster Few minor comments also we should remove package-lock.json and just use yarn.lock


Add Vue 3 support to simple-vue-validator

This updates Simple Vue Validator to work with Vue 3 by

renaming deprecated beforeDestroy hook to beforeUnmount
changing install to use application instance (app.use) instead of global api (Vue.use)
updating vue dev dep to version 3
updating watcher for validations to use lodash.get so that deeply nested properties can be validated

Our team relies on simple-vue-validator in several of our apps, so we opted to see what it would take to migrate the project to Vue 3 😁😁😁.
This is a change that will break backwards compatibility with Vue 2 apps, so I'm open to changing our approach in to make this work for the app.

@rak-phillip do you have any news on this? Are the authors of simple-vue-validator willing to merge this?

Thank you for your answer and effort @rak-phillip

@rak-phillip do you have any kind of documentation regarding setting up simple-vue3-validator and some most basic validation examples?

@rak-phillip Thanks for your work. Unfortunately, I'm not able to verify this pull request, cuz I'm no longer using vue and don't have enough knowledge of vue3.
I will update the readme file to link to your fork.

@semisleep Thanks for following up and all the effort you put into this project! It looks like I'll have to put more effort this fork.
@dekadentno I opened up an issue in the vue 3 fork. Join me over there and we can start working on documentation and anything else that you will need to get going.


Feat: Implement PR Title Checker workflow for Conventional Commit Prefixes

Description:
The current project lacks an automated action to greet contributors. GitHub Actions can significantly enhance project automation. I propose adding a GitHub Action workflow to greet new pull request (PR) and issue creators, fostering a welcoming environment.
Proposed Changes:
Implement a GitHub Action workflow that triggers on new PRs and issues. The workflow should include a greeting message to acknowledge and appreciate the contributors for their efforts.
Expected Behavior:
When contributors create new PRs or issues, the GitHub Action should automatically trigger and post a welcoming message, acknowledging their contributions.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a SWOC24 contributor
[X] I want to work on this issue

@harmeetsingh11 Thanks for creating the issue, but this feature is already implemented.


Move functions in util.go into their own repos or use 3rd-party libraries

We can replace GenID() function with https://github.com/satori/go.uuid library's uuid.NewV4() function (but library uses panic(..) calls rather than returning errors so that should be addressed). There might be a more suitable library or we can publish a genuid lib (genid, which we use now, is less descriptive).
randsString() can be replaced by a 3rd party lorem ip sum generator also.
Or we can just publish GenID in V4 style UUID and base57 encoding as in: https://github.com/renstrom/shortuuid

Done.


Changing password for account created by Google Social Login

I am looking for a way to docker login using multiple google_oauth2 accounts.
Logged in with my gAccount, what do I actually enter as Current password in http(s)://<portus:port>/users/edit? It was said that a random password was assigned but this password is not shown for the user at login creation in Portus (on purpose, as @Vad1mo mentioned). So how can I see the randomly assigned password and use it in the Current password field, in order to change my password?

if you click on generate token, you should be able to see the token popping up as a message. There you can cop&paste it

Where specifically can we see this Generate Token option

So is it the right action to generate/copy the token and paste in the User password field?


Enhance deployment instruction

Provide commands to download WildFly directly on helios, that significantly speeds up installation.
Add step of uploading the war on helios and including it to the WildFly deployments.

About uploading the war to helios - i wrote deploy.sh, check it out
About downloading Wildfly directly to helios - i will research, thanks.

By the way, WIldfly is just 200 megabytes. You should just download it 1 time, then upload to helios, them forget about it, so - using mobile internet it should took ~100 seconds for both tasks.

@butvinm I researched, we can use curl here, as i were doing it previously for installing some linux software.
Is curl <link-to-wildfly> ok? And then we could just unpack .zip by any built-in-helios tool.
Would probably be faster due to small size of the .zip (2 seconds, instead of 100, sounds reasonable)


Personalised suggestions from the web

Provide a description of the new feature / enhancement
Personalised suggestions from the web.
For example,
Access to Bing knowledge

no plans for this


Did Web Validation

The method implemented a very naive validation. Now, we return errors when the content-type isn't JSON, or when the body cannot be deserialized to a DID document.

Codecov Report

Merging #433 (a949b58) into main (b08da50) will decrease coverage by 0.02%.
The diff coverage is 55.00%.

@@            Coverage Diff             @@
##             main     #433      +/-   ##
==========================================
- Coverage   56.95%   56.93%   -0.02%
==========================================
  Files          67       67
  Lines        7334     7344      +10
==========================================
+ Hits         4177     4181       +4
- Misses       2419     2423       +4
- Partials      738      740       +2

Files Changed
Coverage Δ

did/web/web.go
68.07% <55.00%> (-2.57%)
:arrow_down:


Save function to a test specific folder for test_function.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#615  👈
#613
#607
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rohinb2 and the rest of your teammates on  Graphite


feat: Add ./last-release-npm hook for semantic-relase tls support

What:
Adds module for semantic-release latest tag resolution.
Usage in package.json:
"release": {
	"getLastRelease": "tradeshift-scripts/last-release-npm"
},

Why:
The default handler semantic-release/last-release-npm is not compatible with mutual TLS on internal registry.
How:
Uses npm binary directly, so all certificate info gets included.

Codecov Report

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

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   65.81%   65.81%
=======================================
  Files          20       20
  Lines         313      313
  Branches       75       75
=======================================
  Hits          206      206
  Misses         81       81
  Partials       26       26

Continue to review full report at Codecov.

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


Mod license

Generally it isn't a good idea to license something as "public domain", as the concept of public domain varies between countries and isn't very specific.
You may want to instead have the mod use the CC0 or WTFPL licenses, both of which essentially are equivalent to placing the mod in the public domain, but are a bit more legally sound and standardized.

wtfpl - updated


Major issues with class aliasing

class A {}

const B:A = A

new A
new B // Error: Cannot use 'new' with an expression whose type lacks a call or construct signature.

class C extends A {}
class D extends B {} // Error: Type 'A' is not a constructor function type.

This breaks the angular 1.x injector pattern:
angular.module('a').service('b', function(
  myClass: MyClass
){
  new myClass {} // Error!
}

const B: typeof A = A
see https://github.com/Microsoft/TypeScript/wiki/FAQ#whats-the-difference-between-bar-and-typeof-bar-when-bar-is-a-class- for more details

checking the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ is usually a good idea before filing a new issue.


Add multi paragraph in cell when using AddParagraph with Paragraph parameter is not working

Like this title, I can add multi paragraph in cell, but it has nothing.

Can you show  your code?

            foreach (XWPFTable table in tables)
            {
                foreach (XWPFTableRow row in table.Rows)
                {
                    if (row.GetCell(0).GetText() == "Add new row from here")
                    {
                        XWPFTableRow newrow = table.CreateRow();
                        newrow.GetCell(0).AddParagraph(row.GetCell(0).GetParagraphArray(0));
                        newrow.GetCell(0).AddParagraph(row.GetCell(0).GetParagraphArray(1));

                        newrow.GetCell(1).AddParagraph(row.GetCell(1).GetParagraphArray(0));
                        newrow.GetCell(1).AddParagraph(row.GetCell(1).GetParagraphArray(1));
                        newrow.GetCell(1).AddParagraph(row.GetCell(1).GetParagraphArray(2));
                    }
                }
            }

Because this row has 2 or more paragraphs, so I did like that.
Maybe I get a wrong way to add row in table, please teach me how to add a row with already data.

The same situation happens with my code. I cannot add extra paragraphs in an existing cell of a row using XWPFTableCell.Addparagraph() method. Please check the source code and help us.


Can't Watch Video on Windows 7

Hello dear friends,
I have been using this package, and it works perfectly fine on Windows 8, 10, and 11. However, on Windows 7, it only displays a black screen while the video's audio plays in the background. I don't have a video picture, and I'm not sure what to do to resolve this issue. If anyone has any insights, please guide me.
Thank you.

It's not an issue with Windows 7, 8, 8.1, 10 or 11. It's related to Direct X feature level.
It's a bug in Flutter in-fact. I don't have time to explain again:

#249

Even if it is resolved, only software rendering will work (Flutter is also falling back to S/W).


Fix typo in Ansible documentation

I believe the author meant shell "centric" as opposed to "centic".

Thanks for the PR!

I ran into the same typo today because https://mitogen.networkgenomics.com/ansible_detailed.html has not been updated with this pull request since June. Could anyone sync the docs on the website? Thank you!


Force added as torque in rosflight_sim/src/multirotor_forces_and_moments.cpp

Hello,
In the master branch and the rosflight_sim_pkg branch ( at least ), you find the following lines (170 -175) :
Eigen::Matrix<double, 6,1> forces;
  // Apply other forces (drag) <- follows "Quadrotors and Accelerometers - State Estimation With an Improved Dynamic Model"
  // By Rob Leishman et al.
  forces.block<3,1>(3,0) = -linear_mu_ * Va;
  forces.block<3,1>(3,0) = -angular_mu_ * x.omega + output_forces_and_torques.block<3,1>(0,0);

  // Apply ground effect and thrust
  forces(2) += output_forces_and_torques(3) - ground_effect;

return forces;

I believe there is a typo and it should be
  forces.block<3,1>(**0,0**) = -linear_mu_ * Va;
I checked, this is what you have in rosflight_sim_pkg_dan (and the current code makes no sense) so it is very likely to be a typo.
TTDM,
Ps : sorry for not using the tools github offers to do it, I just don't know how to ask for the modification on all the branches that need it.

Thank you!
I am so sorry that I missed this one...  You're totally right.


Stripe CLI support request

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
I'm trying to setup and run tests with Stripe CLI inside of a ddev container per instructions on https://stripe.com/docs/stripe-cli without much success.
Describe your solution
I've created a ddev Drupal website and am trying to make it to interact with Stripe API. It works ok if I push the website to a remote VPS and make it available online and providing the website's address as the Endpoint URL on https://dashboard.stripe.com/test/webhooks/create But I really need to run regular tests on my local environment (ddev container running on MBP).
Did anyone succeed to build a ddev setup to work with Stripe API and how?
Thanks for your consideration!
Describe alternatives
No response
Additional context
No response

Turns out just following setup steps for homebrew makes it work as expected.


Duplicate images used within topic

File: docker-cloud/infrastructure/link-aws.md
The images in step 3 and step 5 in "Create a dockercloud-role role" are the same.

dibs for hackathon.
Step 5 doesn't have an image anymore, perhaps fixed in another issue.

Closing this issue, give @bdwill 50 points?


Capture output and error at the same time

Inspired by the docs I tried:
output = [(error = ?(ls /non/existing/dir))]

This raises arity mismatch error though. Is this intended?
Exception: arity mismatch: assignment right-hand-side must be 1 value, but is 0 values

I just wonder what can be the use case of this construct.

works on my machine with master

My mistake. I confirm. It works fine.

On the other hand, this gives arity error
[~]─> output = (error = ?(fail "booo"))
Exception: arity mismatch: assignment right-hand-side must be 1 value, but is 0 values
[tty 1], line 1: output = (error = ?(fail "booo"))

elvish version: 0.15.0


[Bug] Player list not updating number of users in instance

Describe the bug
Player list does not update the number of users in the instance. The user list itself does update with the correct users in the world. Just the number counter at the top does not. I use that to quickly check the number of users in the world for moderation purposes.
To Reproduce
Steps to reproduce the behavior:
Go to player list tab, look at the number of users in the instance at the top after the instance name and world name.
Notice that it does not change when users join or leave. The number does not update.
Expected behavior
The total users in instance updates as players leave or join the instance.
Screenshots
https://media.discordapp.net/attachments/1136852223368900690/1139494239177293905/image.png?width=949&height=445
What version you are running
Version 2023.07.30

@Natsumi-sama this is resolved with future release i think?

on nightly build yes


Update README: remove info about docker-compose.privileged.yml

nit: file was removed with 27dfba05

Good catch.  Merging.


'Maximum Worker Nodes Unavailable' gets '%' when validation fails for Custom cluster

Internal reference: SURE-4378
Reported in 2.6.4
When Cluster validation failed for Custom Cluster, 'Maximum Worker Nodes Unavailable' under 'Advanced Options' gets '%'.
This issue happens only to Custom Cluster.
Previously this issue was reported and has been fixed for the most of Cluster templates except for Custom Cluster in https://github.com/rancher/dashboard/issues/4870

PR: https://github.com/rancher/ui/pull/4870

On 2.6.6

Create a custom cluster with no name. Click on Next a few times.
Multiple % seen in the Max Worker nodes Unavailable

On 2.6head commit id: c47178e

Create a custom cluster with no name. Click on Next a few times.
Multiple % DOES NOT appear in the Max Worker nodes Unavailable section
When a cluster name is given after the previous step and Click Next. maxUnavailableWorker: "10%" is sent in the Network request


autorandr: 1.10.1 -> 1.11

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/autorandr/versions.
meta.description for autorandr is: "Automatically select a display configuration based on connected devices"
meta.homepage for autorandr is: "https://github.com/phillipberndt/autorandr/"
meta.changelog for autorandr is: ""
Updates performed

Version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.11 with grep in /nix/store/3982ghnl3rm4xyhr6wmv0zx09747v2vd-autorandr-1.11

directory tree listing: https://gist.github.com/deb99174e6c265d378d350df84434d5b

du listing: https://gist.github.com/4d7b3071fc731d3d4fde13f284518256

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
autorandr

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/3982ghnl3rm4xyhr6wmv0zx09747v2vd-autorandr-1.11 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A autorandr https://github.com/r-ryantm/nixpkgs/archive/87976cd2ef363a8fb1afc44fda6426fd10317a89.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/3982ghnl3rm4xyhr6wmv0zx09747v2vd-autorandr-1.11
ls -la /nix/store/3982ghnl3rm4xyhr6wmv0zx09747v2vd-autorandr-1.11/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

autorandr

Maintainer pings
cc @coroa @globin for testing.

Builds locally for me, "binary" works. :+1:
@globin ok to be merged


Increment version for eventgrid releases

Increment package version after release of Azure.ResourceManager.EventGrid

API change check
API changes are not detected in this pull request.


Print the welcome messages to stdout as well as the log

But without the UUIDs. Also unknown tag messages would be useful.

I think probably not, the screen needs to belong to the PIN entry package.


Wrong enforcement of single argument to createHTML function

Trusted Types' createHTML and others accepts multiple arguments. However, Closure compiler enforces it to be only 1.
https://github.com/google/closure-compiler/blob/7ff6e25843097791416d1544c88dc8711f6be64a/externs/browser/w3c_trusted_types.js#L40-L44
ERROR - [JSC_WRONG_ARGUMENT_COUNT] Function staticPolicy$$module$js$static_types.createHTML: called with 2 argument(s). Function requires at least 1 argument(s) and no more than 1 argument(s).
73|   return staticPolicy.createHTML('', literal);

This is now resolved by https://github.com/google/closure-compiler/commit/46913e2e11347f9e16fd40f925b06af14dbdadad


gdrive folder creation

Pre-Flight checklist

[x] Testing

[x] Code is tested
[x] Changes have been manually tested

[x] Settings

[x] New settings are documented and present in app.json
[x] New settings have reasonable development defaults, if applicable
[x] Opened issue for DevOps regarding necessary configuration changes to deployed environments

What are the relevant tickets?
closes https://github.com/mitodl/ocw-studio/issues/462
What's this PR do?
This pr creates google drive folders for video uploads when new websites are created. It also includes a management command to create folders for existing websitess
How should this be manually tested?
Set DRIVE_SERVICE_ACCOUNT_CREDS and DRIVE_SHARED_ID with credentials from RC
Set DRIVE_VIDEO_UPLOADS_PARENT_FOLDER_ID=1H4HCvbmY7v5YZFeqSlbCI1TFC5MXTMY4 in your .env file.
Create a new site.
Check that a folder with the short id of your new site as the name is created in https://drive.google.com/drive/u/0/folders/1H4HCvbmY7v5YZFeqSlbCI1TFC5MXTMY4
Run ./manage.py create_missing_website_video_folders
Check that folders are created for all the other websites you have in your local environment that you created rather than imported
Remove DRIVE_VIDEO_UPLOADS_PARENT_FOLDER_ID from your .env file
Create a new site.
Check that a folder with the short id of your new site as the name is created in https://drive.google.com/drive/u/0/folders/0AErNBMZMmOz3Uk9PVA

Codecov Report

Merging #476 (9e0e497) into master (51708ca) will increase coverage by 4.77%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #476      +/-   ##
==========================================
+ Coverage   90.52%   95.29%   +4.77%
==========================================
  Files         145       72      -73
  Lines        4981     1936    -3045
  Branches      738      379     -359
==========================================
- Hits         4509     1845    -2664
+ Misses        422       89     -333
+ Partials       50        2      -48

Impacted Files
Coverage Δ

websites/views.py

fixtures/common.py

main/urls.py

users/factories.py

gdrive_sync/apps.py

content_sync/utils.py

gdrive_sync/constants.py

content_sync/conftest.py

main/utils.py

websites/signals.py

... and 59 more

Continue to review full report at Codecov.

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

I pushed up a fix to make sure folders are created when DRIVE_VIDEO_UPLOADS_PARENT_FOLDER_ID is not set


Dependency fix

This PR extract unnecessary deps to peer dependencies.
Closing #47.

Coverage decreased (-64.2%) to 22.464% when pulling b87f80417097d249eb5048596f9b7af5481bab20 on 19majkel94:package.json-deps-fix into 7253ee240c1d547e2045e39c805e50a22fa93550 on szokodiakos:master.

I will fix the metadata error later today 😉

Coverage decreased (-30.5%) to 56.159% when pulling 275c1445407644f09374b1435c99ed461777ccc1 on 19majkel94:package.json-deps-fix into 7253ee240c1d547e2045e39c805e50a22fa93550 on szokodiakos:master.

Coverage decreased (-30.5%) to 56.159% when pulling 206afc316d59f5a672312bff86c199e2f01beccc on 19majkel94:package.json-deps-fix into 7253ee240c1d547e2045e39c805e50a22fa93550 on szokodiakos:master.

Hello. Unfortunately the test script change runs 3 tests only.

Coverage decreased (-0.05%) to 86.594% when pulling c78e51da4c890b5e919ca44212de4be91b29128e on 19majkel94:package.json-deps-fix into 7253ee240c1d547e2045e39c805e50a22fa93550 on szokodiakos:master.

Ok, now it should works on both linux/osx/travis and local windows :wink:

Thanks for fixing the test problem. The PR looks good, however I've commented on the docs. Also I'm thinking that this would introduce breaking change, as users must ship their own polyfills, is that correct?

Coverage increased (+31.5%) to 86.594% when pulling c7ba5285165d68d2960670e7b073d68fad91160a on 19majkel94:package.json-deps-fix into d85d34cc3dc8abee9b460ced266e20572c6b86ba on szokodiakos:feature/4.

Also I'm thinking that this would introduce breaking change, as users must ship their own polyfills, is that correct?

Right, so I've change the merge base to feature/4 😉

Coverage increased (+28.4%) to 83.505% when pulling c7ba5285165d68d2960670e7b073d68fad91160a on 19majkel94:package.json-deps-fix into d85d34cc3dc8abee9b460ced266e20572c6b86ba on szokodiakos:feature/4.

Very much needed!

Coverage increased (+31.1%) to 86.254% when pulling a6fc4b68e94cc0ea84457c54912285fcb54db859 on 19majkel94:package.json-deps-fix into d85d34cc3dc8abee9b460ced266e20572c6b86ba on szokodiakos:feature/4.

Closing this as it's a bit outdated.


Adds ddev-live as a default custom command

The Problem/Issue/Bug:
Now that the ddev-live tool is in the web container we should ship a default custom command for live
How this PR Solves The Problem:

introduces live command resulting in commands ddev live

Manual Testing Instructions:
Automated Testing Overview:

Related Issue Link(s):
Release/Deployment notes:

One request @unn - Please don't push directly into the drud/ddev repository. It makes a mess. Use your unn/ddev fork and use the forked-pr workflow, thanks.


Python 3.7 support

Dear Zipline Maintainers,
Python 3.5 is not receiving any bug fixes, only security fixes.  This happened Aug 2017.
Python 3.6 is not receiving any bug fixes, only security fixes.   This happened at the end of 2018.
I'm playing with some new libraries that have only be designed for use with Python 3.7, so am finding this a little frustrating.
What needs to happen to support Python 3.7?

Probably a strong enough demand, so thanks stocktrader8888 for opening this request.
Given the differences between python 3.5 and 3.7, I suspect the effort necessary to support 3.7 is minimal but Quantopian must feel that the need for it is less than minimal.
I personally won't consider seriously using zipline or contributing in the Quantopian community until they start supporting the latest versions of python and pandas.

Related: https://github.com/quantopian/zipline/pull/2512 (maybe a step-by-step approach is more likely to be merged)

Python 3.8 is out now

I just spent days trying to get zipline to work right in anaconda, and it kind of works until you start hitting bugs that have been solved in other libraries for a while now but you can't upgrade.  Seriously this project needs to be updated or admit that its so far behind its no longer supported.

It would be great if zipline was compatible with Python 3.7 and 3.8.


The watch attribute doesn't work for complex objects

When using a complex object inside the watch attribute, changes don't get tracked. Suggest finding a suitable case where the third objectEquality argument should be set for $scope.$watch('rows',....

Seems like a reasonable configuration.  Could you put together a PR with an additional @watchOptions input with values shallow, collection, and deep ?  Would that suffice?


Lab 12 starter pbix file has incorrect reference to xlsx file

Lab title: (12) Improve query performance using aggregations
Description of issue: Lab 12 starter pbix file has incorrect reference to xlsx file
Repro steps:

Open the following file: D:\DP500\Allfiles\12\Starter\Sales Analysis - Improve query performance with aggregations.pbix
Go to Power Query Editor (Transform Data)
Notice the Targets table has an incorrect reference

Incorrect: D:\DP500\Create a composite model\Assets\SalesTargets.xlsx
Correct: D:\DP500\Allfiles\08\Assets\SalesTargets.xlsx

The same is also true for Lab 11 (D:\DP500\Allfiles\11\Starter\Sales Analysis - Improve query performance with dual storage mode.pbix, which also points to the wrong xlsx file location

Files 11 & 12 are both updated. Thanks for catching this @weslbo!


Update specs2-core to 4.10.5

Updates org.specs2:specs2-core from 4.10.0 to 4.10.5.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.specs2", artifactId = "specs2-core" } ]

labels: test-library-update, semver-patch

Superseded by #29.

Superseded by #29.


[General] Move docs_openhiven.py into the branches of openhiven.py

Summary:
Currently, the docs of openhiven.py are located here in an entirely different repo with independent branches, which makes working with them at the same time with the source code hard. The module needs to be installed, limiting the ability to easily work on in-work code and also update docs at the same time as modifications to the source code.
To that, the repo seems unnecessary, due to the usage of mike which will automatically manage everything in a single branch instead of repo, meaning the usage in docs_openhiven.py is unneccessary.

Done with the latest update. Pages now available at https://luna-klatzer.github.io/openhiven.py/


Mistype issue using MLX model via MLXPipeline

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
The following code
from langchain_community.llms import OpenAI, Ollama, MLXPipeline

model, tokenizer = load("mlx-community/dolphin-2.8-mistral-7b-v02")
self.mlx = MLXPipeline(
    model=model,
    tokenizer=tokenizer,
    pipeline_kwargs={"temp":0.7, "max_tokens":10}
)

on the following prompt
Collect and summarize recent news articles, press releases, and market analyses related to the company. Pay special attention to any significant events, market, sentiments, and analysts' opinions.
Your final answer MUST be a report that includes a comprehensive identification of key points makrting oriented following the Marketing 5Ps (Product, Place, Price, Promotion, People)
If you do your BEST WORK, I will give you a $10,000 commission!
Make sure to use the most recent data as possible.
Selected company by the customer is Tesla

Lead to an error during execution.
Error Message and Stack Trace (if applicable)
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_community/llms/mlx_pipeline.py", line 189, in _stream
    text = self.tokenizer.decode(token.item())
AttributeError: 'int' object has no attribute 'item'

Description
Hi

I am trying to use Langchain for loading a MLX model (cf code) on a given prompt.
I face the error available in the error section: AttributeError: 'int' object has no attribute 'item'

Removing the .items() on the line 182 unlock the issue however I have nothing as result.
So my idea is not correct.
The file  libs/community/langchain_community/llms/mlx_pipeline.py has been added last week so it is very new.
Could you take a look @Blaizzy  ?
Thank you
System Info
here is the version I use:
Python 3.10
pip freeze | grep langchain
langchain==0.1.12
langchain-community==0.0.33
langchain-core==0.1.43
langchain-openai==0.0.5
langchain-text-splitters==0.0.1

On it :)

Can you try instatiating the model from ID:
llm = MLXPipeline.from_model_id(
    "mlx-community/dolphin-2.8-mistral-7b-v02",
    pipeline_kwargs={"max_tokens": 10, "temp": 0.1},
)

Same issue

Could you share the whole example.

I use it inside a crewAI code.
When I run the agents on Ollama ou GPT4 model I have no problem.
Here is the crew.py file
from crewai import Agent, Task, Crew, Process
from crewai.project import CrewBase, agent, crew, task
from langchain_openai import ChatOpenAI
from langchain_community.llms import OpenAI, Ollama, MLXPipeline
from decouple import config
from tools.searchNewsDB import *
from crewai_tools import ScrapeWebsiteTool, SerperDevTool
from mlx_lm import load

from textwrap import dedent

@CrewBase
class MarketingAnalystCrew():
    """MarketingAnalystCrew crew"""
    agents_config = 'config/agents.yaml'
    tasks_config = 'config/tasks.yaml'

    def __init__(self) -> None:
        self.OpenAIGPT4 = ChatOpenAI(model_name="gpt-4", temperature=0.7)
        self.Ollama = Ollama(model="dolphin-mixtral:8x7b-v2.6-q3_K_L")
        #model, tokenizer = load("mlx-community/dolphin-2.8-mistral-7b-v02")
        #self.mlx = MLXPipeline(
        #            model=model,
        #            tokenizer=tokenizer,
        #            pipeline_kwargs={"temp":0.7, "max_tokens":10}
        #        )
        self.mlx = MLXPipeline.from_model_id(
                    "mlx-community/dolphin-2.8-mistral-7b-v02",
                    pipeline_kwargs={"max_tokens": 10, "temp": 0.1}
                )

    @agent
    def marketing_researcher(self) -> Agent:
        return Agent(
            config = self.agents_config['research_analyst'],
            tools = [SearchNewsDB().news, SearchWebDB.SerperWebTool()],
            llm = self.mlx
        )

    @agent
    def marketing_analyst(self) -> Agent:
        return Agent(
            config = self.agents_config['marketing_analyst'],
            tools = [GetNews.news, SerperDevTool(), ScrapeWebsiteTool()],
            llm = self.mlx
            #llm = self.OpenAIGPT4
        )

    @agent
    def translator(self) -> Agent:
        return Agent(
            config = self.agents_config['translator'],
            llm = self.mlx
            #llm = self.OpenAIGPT4
        )

    @task
    def research_task(self) -> Task:
        return Task(
            config = self.tasks_config['research_company_task'],
            agent = self.marketing_researcher()
        )

    @task
    def analysis_task(self) -> Task:
        return Task(
            config = self.tasks_config['marketing_analysis_task'],
            agent = self.marketing_analyst(),
            context = [self.research_task()]
        )

    @task
    def translate_task(self) -> Task:
        return Task(
            config = self.tasks_config['translator_task'],
            agent = self.translator(),
            context = [self.analysis_task()]
        )

    @crew
    def crew(self) -> Crew:
        """Create the MarketingAnalystCrew crew"""
        return Crew(
            agents = self.agents,
            tasks = self.tasks,
            process = Process.sequential,
            verbose = 2
        )

I miss the stacktrace:
## Welcome to Crew AI Template
-------------------------------
Fetching 10 files: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:00<00:00, 27395.85it/s]
You set `add_prefix_space`. The tokenizer needs to be converted from the slow tokenizers
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
 [DEBUG]: == Working Agent: Senior Research Analyst
 [INFO]: == Starting Task: Collect and summarize recent news articles, press releases, and market analyses related to the company. Pay special attention to any significant events, market, sentiments, and analysts' opinions.
Your final answer MUST be a report that includes a comprehensive identification of key points makrting oriented following the Marketing 5Ps (Product, Place, Price, Promotion, People)
If you do your BEST WORK, I will give you a $10,000 commission!
Make sure to use the most recent data as possible.
Selected company by the customer is Tailwarden

> Entering new CrewAgentExecutor chain...
Traceback (most recent call last):
  File "/Users/jp/dev/AI/crewAI/competition-research/main.py", line 79, in <module>
    result = run('Tailwarden')
  File "/Users/jp/dev/AI/crewAI/competition-research/main.py", line 70, in run
    MarketingAnalystCrew().crew().kickoff(inputs=inputs)
  File "/opt/homebrew/lib/python3.10/site-packages/crewai/crew.py", line 204, in kickoff
    result = self._run_sequential_process()
  File "/opt/homebrew/lib/python3.10/site-packages/crewai/crew.py", line 240, in _run_sequential_process
    output = task.execute(context=task_output)
  File "/opt/homebrew/lib/python3.10/site-packages/crewai/task.py", line 148, in execute
    result = self._execute(
  File "/opt/homebrew/lib/python3.10/site-packages/crewai/task.py", line 157, in _execute
    result = agent.execute_task(
  File "/opt/homebrew/lib/python3.10/site-packages/crewai/agent.py", line 193, in execute_task
    result = self.agent_executor.invoke(
  File "/opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py", line 163, in invoke
    raise e
  File "/opt/homebrew/lib/python3.10/site-packages/langchain/chains/base.py", line 153, in invoke
    self._call(inputs, run_manager=run_manager)
  File "/opt/homebrew/lib/python3.10/site-packages/crewai/agents/executor.py", line 64, in _call
    next_step_output = self._take_next_step(
  File "/opt/homebrew/lib/python3.10/site-packages/langchain/agents/agent.py", line 1138, in _take_next_step
    [
  File "/opt/homebrew/lib/python3.10/site-packages/langchain/agents/agent.py", line 1138, in <listcomp>
    [
  File "/opt/homebrew/lib/python3.10/site-packages/crewai/agents/executor.py", line 118, in _iter_next_step
    output = self.agent.plan(
  File "/opt/homebrew/lib/python3.10/site-packages/langchain/agents/agent.py", line 397, in plan
    for chunk in self.runnable.stream(inputs, config={"callbacks": callbacks}):
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 2875, in stream
    yield from self.transform(iter([input]), config, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 2862, in transform
    yield from self._transform_stream_with_config(
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 1880, in _transform_stream_with_config
    chunk: Output = context.run(next, iterator)  # type: ignore
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 2826, in _transform
    for output in final_pipeline:
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 1283, in transform
    for chunk in input:
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 4722, in transform
    yield from self.bound.transform(
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/runnables/base.py", line 1300, in transform
    yield from self.stream(final, config, **kwargs)
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/language_models/llms.py", line 458, in stream
    raise e
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_core/language_models/llms.py", line 442, in stream
    for chunk in self._stream(
  File "/opt/homebrew/lib/python3.10/site-packages/langchain_community/llms/mlx_pipeline.py", line 188, in _stream
    text = self.tokenizer.decode(token.items())
AttributeError: 'int' object has no attribute 'items'

I added a print to undestand what I have for this part of the code:
        for (token, prob), n in zip(
            generate_step(
                prompt_tokens,
                self.model,
                temp,
                repetition_penalty,
                repetition_context_size,
            ),
            range(max_new_tokens),
        ):

Debug part:
test = list(zip(
            generate_step(
                prompt_tokens,
                self.model,
                temp,
                repetition_penalty,
                repetition_context_size,
            ),
            range(max_new_tokens),
        ))
print(test)

Result:
[((1014, array([0.0193481], dtype=float16)), 0), ((907, array([0.773926], dtype=float16)), 1), ((2992, array([0.055603], dtype=float16)), 2), ((349, array([0.260742], dtype=float16)), 3), ((298, array([0.928223], dtype=float16)), 4), ((5902, array([0.150024], dtype=float16)), 5), ((5391, array([0.303223], dtype=float16)), 6), ((4231, array([0.975098], dtype=float16)), 7), ((10437, array([0.893555], dtype=float16)), 8), ((28725, array([0.492188], dtype=float16)), 9), ((2944, array([0.991211], dtype=float16)), 10), ((21446, array([0.999023], dtype=float16)), 11), ((28725, array([0.905273], dtype=float16)), 12), ((304, array([0.998047], dtype=float16)), 13), ((2668, array([0.995117], dtype=float16)), 14), ((21974, array([0.988281], dtype=float16)), 15), ((274, array([1], dtype=float16)), 16), ((5202, array([0.914062], dtype=float16)), 17), ((298, array([0.999023], dtype=float16)), 18), ((272, array([0.749023], dtype=float16)), 19), ((2496, array([0.969727], dtype=float16)), 20), ((28723, array([0.789062], dtype=float16)), 21), ((13, array([0.648926], dtype=float16)), 22), ((13, array([0.451416], dtype=float16)), 23), ((3795, array([0.974121], dtype=float16)), 24), ((28747, array([0.995117], dtype=float16)), 25), ((7615, array([0.766602], dtype=float16)), 26), ((11664, array([0.99707], dtype=float16)), 27), ((12877, array([0.998047], dtype=float16)), 28), ((13, array([0.961426], dtype=float16)), 29), ((3795, array([0.986328], dtype=float16)), 30), ((11232, array([1], dtype=float16)), 31), ((28747, array([0.998047], dtype=float16)), 32), ((371, array([0.419922], dtype=float16)), 33), ((3385, array([0.324707], dtype=float16)), 34), ((28747, array([0.98291], dtype=float16)), 35), ((464, array([0.74707], dtype=float16)), 36), ((28738, array([0.766602], dtype=float16)), 37), ((614, array([1], dtype=float16)), 38), ((1050, array([1], dtype=float16)), 39), ((269, array([1], dtype=float16)), 40), ((14491, array([0.338867], dtype=float16)), 41), ((13, array([0.995117], dtype=float16)), 42), ((23044, array([0.912598], dtype=float16)), 43), ((352, array([1], dtype=float16)), 44), ((28747, array([1], dtype=float16)), 45), ((7615, array([0.0856323], dtype=float16)), 46), ((10437, array([0.637207], dtype=float16)), 47), ((304, array([0.275146], dtype=float16)), 48), ((2944, array([0.954102], dtype=float16)), 49), ((21446, array([0.998047], dtype=float16)), 50), ((684, array([0.275635], dtype=float16)), 51), ((320, array([0.944824], dtype=float16)), 52), ((614, array([1], dtype=float16)), 53), ((1050, array([1], dtype=float16)), 54), ((269, array([1], dtype=float16)), 55), ((28723, array([0.277344], dtype=float16)), 56), ((13, array([0.942871], dtype=float16)), 57), ((13, array([0.98291], dtype=float16)), 58), ((1227, array([0.848145], dtype=float16)), 59), ((1322, array([1], dtype=float16)), 60), ((28747, array([1], dtype=float16)), 61), ((2961, array([0.0710449], dtype=float16)), 62), ((369, array([0.312988], dtype=float16)), 63), ((478, array([0.528809], dtype=float16)), 64), ((506, array([0.9375], dtype=float16)), 65), ((272, array([0.562988], dtype=float16)), 66), ((4231, array([0.664062], dtype=float16)), 67), ((10437, array([0.67334], dtype=float16)), 68), ((28725, array([0.609375], dtype=float16)), 69), ((2944, array([0.0377197], dtype=float16)), 70), ((21446, array([0.999023], dtype=float16)), 71), ((28725, array([0.884277], dtype=float16)), 72), ((304, array([0.990234], dtype=float16)), 73), ((2668, array([0.987305], dtype=float16)), 74), ((21974, array([0.988281], dtype=float16)), 75), ((274, array([1], dtype=float16)), 76), ((28725, array([0.717285], dtype=float16)), 77), ((1346, array([0.157837], dtype=float16)), 78), ((28742, array([0.978027], dtype=float16)), 79), ((28713, array([1], dtype=float16)), 80), ((9051, array([0.0745239], dtype=float16)), 81), ((707, array([0.524414], dtype=float16)), 82), ((5864, array([0.994141], dtype=float16)), 83), ((3926, array([0.998047], dtype=float16)), 84), ((304, array([0.153442], dtype=float16)), 85), ((2668, array([0.870605], dtype=float16)), 86), ((2662, array([0.972656], dtype=float16)), 87), ((8447, array([1], dtype=float16)), 88), ((28723, array([0.802734], dtype=float16)), 89), ((13, array([0.974121], dtype=float16)), 90), ((13, array([0.9375], dtype=float16)), 91), ((3795, array([0.99707], dtype=float16)), 92), ((28747, array([1], dtype=float16)), 93), ((11147, array([0.977051], dtype=float16)), 94), ((272, array([0.999023], dtype=float16)), 95), ((7865, array([0.99707], dtype=float16)), 96), ((13, array([0.999023], dtype=float16)), 97), ((3795, array([1], dtype=float16)), 98), ((11232, array([1], dtype=float16)), 99)]

Hope this help

Thanks!
I managed to replicate the issue :)

I know what happened.
Last week .item() was added directly into MLX-LM.
I will fix it.

Thanks !

Hi @Blaizzy
Thank you for the fix
I tried it directly for testing purpose.
It fixes the "item" issue.
However I have a weird behavior. results are "trimmed": no space caracter
Example:
 [DEBUG]: == Working Agent: Senior Research Analyst
 [INFO]: == Starting Task: Collect and summarize recent news articles, press releases, and market analyses related to the company. Pay special attention to any significant events, market, sentiments, and analysts' opinions.
Your final answer MUST be a report that includes a comprehensive identification of key points makrting oriented following the Marketing 5Ps (Product, Place, Price, Promotion, People)
If you do your BEST WORK, I will give you a $10,000 commission!
Make sure to use the most recent data as possible.
Selected company by the customer is Tesla

> Entering new CrewAgentExecutor chain...
Ishouldstartbycollectingthemostrecentnewsarticles,pressreleases,andmarketanalysesrelatedtothecompany.
Action:NewsDBTool
ActionInput:{"query":"Teslanewsarticles"}
Observation:ThemostrecentnewsarticlesrelatedtoTeslaareretrieved.

If I run the model with the following command:
python3.10 -m mlx_lm.generate --model mlx-community/dolphin-2.8-mistral-7b-v02 --prompt "find information about Tesla company"
I have no space trim issue:
Fetching 10 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:00<00:00, 91578.69it/s]
You set `add_prefix_space`. The tokenizer needs to be converted from the slow tokenizers
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
==========
Prompt: <|im_start|>user
find information about Tesla company<|im_end|>
<|im_start|>assistant

Tesla, Inc. is an American electric vehicle and clean energy company founded by Elon Musk in 2003. The company's mission is to accelerate the world's transition to sustainable energy through electric vehicles, solar panels, and energy storage systems. Tesla designs, manufactures, and sells electric vehicles, solar panels, and energy storage systems, as well as provides related services, such as vehicle charging and energy storage products.

Maybe a tokenizer issue ?
Or is it related to the zip usage that is joining words without spaces ?

Thanks for bringing this up!
I fixed it :), this was another change. One you will like because it makes streaming faster.
I didn't originally noticed because I was printing stream like this:
for text in chain.stream({"question": question}):
    print(text)

But saw the problem when I did:
print(''.join(list(chain.stream({"question": question}))))

@jaypif please try out the latest change and let me know if it works well with crewAI

Thank you!
It works very well now.

Most welcome!
Please share your example on twitter and tag me, I'll repost it:
https://twitter.com/Prince_Canuma

I will and I will also write a LinkedIn post about my first contribution to langchain and mlx.
Thanks for your prompt feedback

Awesome, my LinkedIn is the same name.
Prince Canuma
Great work!


Close streams after usage

Depends on https://github.com/apache/brooklyn-server/pull/196

@neykov LGTM; please merge once apache/brooklyn-server#196 is merged.


Question About LaserPointOnTrack Function

Hi,  wanted to ask about the following line in detect.py
laserPointOnTrack
why are we comparing the d ( lateral distance of the obstacle from centerline ?) from the negative of the lateral distance of the right boundary? shouldn't it be something like following :
d>=  self.d_left_array[idx] or d <= self.d_right_array[idx] :  . given d is signed-distance and  being negative means (right side of the center ) and positive means left side of the center of the track .
Thanks

Hi there,
As you correctly mention, everything to the right of the reference line (the racing line in our case) has a negative d coordinate. However, self.d_left_array is populated without a sign. Hence if you want to check if something is on the track, you need to compare it with the sign, or compare it with the absolute of d.
Have you observed an error with this function? Or is this just a curiosity?

hi .
"However, self.d_left_array is populated without a sign." Ig you mean self.d_right_array is populated without a sign? That's why we multiply it by negative sign so that we can compare it with (d) , here d however is a signed-distance , ( right of the reference will have negative d values) ?
No , I have not encountered any error , I am  trying to understand the perception stack by myself.

Yes both are without a sign, I can also confirm that the track boundaries, as generally obtained from the waypoints message, are unsigned as they are "distances from the boundaries" (legacy from the original optimizer)
In case you have other questions on the LaserPointOnTrack or similar, do not hesitate to ask! Otherwise feel free to close the issue :racing_car: :racing_car: :racing_car:


[WIP] Add LDC latest master CI version

Work in progress, will finalize once the dlang install script is available.

Will this need the same fix as the dmd2 nightly?

Will this need the same fix as the dmd2 nightly?

Yes it will.

@RabsRincon This should work now!


health_check extension mandatory

Currently the health_check extension is kind of mandatory to be enabled, because the livenessProbe and readinessProbe can't be disabled, when the health_check extension should not be used. But without the extension the checks fail and the running pod is never healthy.
If i set in values.yaml
mode: deployment

config:
  extensions: null
  service:
    extensions: null

i get (regardless if contrib is used or not)
$ kubectl -n ingress-nginx describe pod otel-collector-64795fbc56-9v2p2
Name:         otel-collector-64795fbc56-9v2p2
Namespace:    ingress-nginx
Priority:     0
Node:         minikube/<IP_ADDRESS>
Start Time:   Fri, 24 Jun 2022 10:48:21 +0200
Labels:       app.kubernetes.io/instance=otel-collector
              app.kubernetes.io/name=otel-collector
              component=standalone-collector
              pod-template-hash=64795fbc56
Annotations:  checksum/config: e4de06b3748619ed857f1e1761a488d526d2caa954be599b8f3e9d3e3be88dfd
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/otel-collector-64795fbc56
Containers:
  opentelemetry-collector:
    Container ID:  docker://d2d880f5d8118a2c5beabf361fc5997de9ffdad1e930ea989ca1150d03d5165e
    Image:         otel/opentelemetry-collector-contrib:0.53.0
    Image ID:      docker-pullable://otel/opentelemetry-collector-contrib@sha256:253b2b98b6ec4cbe622039e8796b12dd5e9e013b0fcba495c21bb8e6a077f1d4
    Ports:         8888/TCP, 4317/TCP, 4318/TCP
    Host Ports:    0/TCP, 0/TCP, 0/TCP
    Command:
      /otelcol-contrib
      --config=/conf/relay.yaml
    State:          Running
      Started:      Fri, 24 Jun 2022 10:48:21 +0200
    Ready:          False
    Restart Count:  0
    Limits:
      cpu:     1
      memory:  2Gi
    Liveness:   http-get http://:13133/ delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:13133/ delay=0s timeout=1s period=10s #success=1 #failure=3
[...]
Events:
  Type     Reason     Age               From               Message
  ----     ------     ----              ----               -------
  Normal   Scheduled  11s               default-scheduler  Successfully assigned ingress-nginx/otel-collector-64795fbc56-9v2p2 to minikube
  Normal   Pulled     11s               kubelet            Container image "otel/opentelemetry-collector-contrib:0.53.0" already present on machine
  Normal   Created    11s               kubelet            Created container opentelemetry-collector
  Normal   Started    11s               kubelet            Started container opentelemetry-collector
  Warning  Unhealthy  1s (x3 over 10s)  kubelet            Readiness probe failed: Get "http://<IP_ADDRESS>:13133/": dial tcp <IP_ADDRESS>:13133: connect: connection refused
  Warning  Unhealthy  1s                kubelet            Liveness probe failed: Get "http://<IP_ADDRESS>:13133/": dial tcp <IP_ADDRESS>:13133: connect: connection refused

Allowing just the health_check extension
config:
  extensions:
    health_check: {}

  service:
    extensions:
      - health_check

everything works fine.
(Allowing memory_ballast is crashing the application - "Error: failed to start extensions: path '/docker/f82533b[...]' is not a descendant of mount point root '/docker/f82533b[...]/kubelet' and cannot be exposed from '/sys/fs/cgroup/rdma/kubelet'"

I think you are correct.  If the health check extension is not enabled then the hardcoded probes will not work.  We should add a way to modify the probes so that disabling the health check extension is possible.  Would you like to work on that?

@dmitryax I think this scenario will have some influence on #158.  If we allow .Values.config to override all presets, then we need a way to handle the probes accordingly.  Almost makes me want to go back to presets  per component 😭.

health_check must be mandatory in k8s.

Is this for sure?  Can't you technically deploy something without liveliness and readiness probes?  Probably not a good idea but I think you can.
If we want to prevent bad practices and enforce the best practices of liveliness and readiness probes via the chart then we should also make it clear somewhere that health_check is a required extension and should not be removed.

Is this for sure? Can't you technically deploy something without liveliness and readiness probes? Probably not a good idea but I think you can.

You can, but why? Is there a real life reason for that?

@Tobrek do you have a reason for wanting to deploy without health checks?

I had no specific reason to do so. The manually installed collector before had no health check and i just tried to "copy" the deployment.yaml from before with the helm chart.

What is the problem with this? [...] If user wants to override the config, they must take care of that extension in their custom config. [...]
How can i add the extension outside the helm chart? Just as curious question.

Would you like to work on that?
I can do / try that, when you tell me what's your preferred solution:
a) removing the extension also disables the probes
b) health_check extension is mandatory and can't be disabled
c) leave it as it is and the user has to take care about the extension, when excluding it. (Base on the answer to the previous question).
For me it is not important which solution is the best. For the point is just that you can create an invalid configuration without any information why.

Unless there is a good use case for the opposite, I would say we fall into "the health_check extension is mandatory" scenario.  We can add something to the values.yaml comments to indicated that the healthcheckextension should never be disabled.


Untested and unfunctional code on the Python3 Runbook tutorial

Very disappointing!!! to see that Microsoft could create tutorials which do not work. I bet that the code was not even tested because there are errors on the page...
First got this one, when resolved after adding the "import automationassets "
Traceback (most recent call last):  File "C:\Temp\hegkbq0n.b1a\eea113a2-6323-41b8-be39-65f67d1f46b1", line 7, in <module>    cert = automationassets.get_automation_certificate("AzureRunAsCertificate") NameError: name 'automationassets' is not defined
Second, came this one...
Traceback (most recent call last):  File "C:\Temp\2jk43qbu.hr0\eea113a2-6323-41b8-be39-65f67d1f46b1", line 13, in <module>    application_id = runas_connection["ApplicationId"] NameError: name 'runas_connection' is not defined
Microsoft should know that their services are not widely used, hence there is not enough support available. So please be kind, if you want people to use MS services, they must provide user friendly tutorials and code, which is TESTED and WORKING!
This is the code on the document page at the moment (which is not working), just for the record.
from OpenSSL import crypto
import binascii
from msrestazure import azure_active_directory
import adal

# Get the Azure Automation RunAs service principal certificate
cert = automationassets.get_automation_certificate("AzureRunAsCertificate")
pks12_cert = crypto.load_pkcs12(cert)
pem_pkey = crypto.dump_privatekey(crypto.FILETYPE_PEM,pks12_cert.get_privatekey())

# Get run as connection information for the Azure Automation service principal
application_id = runas_connection["ApplicationId"]
thumbprint = runas_connection["CertificateThumbprint"]
tenant_id = runas_connection["TenantId"]

# Authenticate with service principal certificate
resource ="https://management.core.windows.net/"
authority_url = ("https://login.microsoftonline.com/"+tenant_id)
context = adal.AuthenticationContext(authority_url)
return azure_active_directory.AdalAuthentication(
  lambda: context.acquire_token_with_client_certificate(
      resource,
      application_id,
      pem_pkey,
      thumbprint)
)

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

ID: 2fcc4942-ed7f-891b-8fb2-f0aed8237d38
Version Independent ID: c061735f-c5ce-d6fb-b6c0-fe02ed4eae3d
Content: Create a Python 3 runbook (preview) in Azure Automation
Content Source: articles/automation/learn/automation-tutorial-runbook-textual-python-3.md
Service: automation
Sub-service: process-automation
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@saafh Our sincere apologies for the experience you are having with the document. I have assigned this issue to our document author @MGoedtel to further evaluate the feedback and get back to the thread. Thank you

@saafh - I've reviewed the tutorial and I've identified what is logically wrong with the example code block for authenticating using the Run As account certificate.  I also see a couple of other items that need to be addressed in the article, so I'm going to bug this and get an updated and working version published this week. I'm currently addressing the quality issues with our vendor supporting our content pipeline to avoid this from continuing. Thank you for your patience.
The code block the tutorial should be using is -
 import os
from azure.mgmt.compute import ComputeManagementClient
import azure.mgmt.resource
import automationassets

def get_automation_runas_credential(runas_connection):
    from OpenSSL import crypto
    import binascii
    from msrestazure import azure_active_directory
    import adal

    # Get the Azure Automation RunAs service principal certificate
    cert = automationassets.get_automation_certificate("AzureRunAsCertificate")
    pks12_cert = crypto.load_pkcs12(cert)
    pem_pkey = crypto.dump_privatekey(crypto.FILETYPE_PEM,pks12_cert.get_privatekey())

    # Get run as connection information for the Azure Automation service principal
    application_id = runas_connection["ApplicationId"]
    thumbprint = runas_connection["CertificateThumbprint"]
    tenant_id = runas_connection["TenantId"]

    # Authenticate with service principal certificate
    resource ="https://management.core.windows.net/"
    authority_url = ("https://login.microsoftonline.com/"+tenant_id)
    context = adal.AuthenticationContext(authority_url)
    return azure_active_directory.AdalAuthentication(
    lambda: context.acquire_token_with_client_certificate(
            resource,
            application_id,
            pem_pkey,
            thumbprint)
    )

# Authenticate to Azure using the Azure Automation RunAs service principal
runas_connection = automationassets.get_automation_connection("AzureRunAsConnection")
azure_credential = get_automation_runas_credential(runas_connection)

I tested this and confirmed it works in a Python 3 runbook (same code used for Python 2 runbooks).

I've completed the necessary edits and verified the tutorial works. The updated article will go live later today. #please-close


Built in functions

the built in repr, round, trunc, fabs, sqrt, sin, cos, atan, exp, log, fiberspawn, fibercall and fiberalive functions are not colored.

Fixed


Add warp, roll, and contract deployment cheats for cairo test runner

Closes #1287
Closes #1284

Would be nice if @kasperski95 glanced at this PR as well


HTTP request node problem

Current Behavior
Hi, I try to explain and I understand that isn't easy but I would like to find a solution.
I had already written two post, but the problem is always present...
I have a reolink cam and every 30 min I send with http node one (only one) http request (GET) to have a shot of the garden to show on my dashboard.
Sometimes maybe for bad wifi connection the cam don't show the image .....
and in this case I haven't error and no problem in node-red but the cpu work increased from 4% to 27% with a notable increase of the cpu temperature and this value don't decrease not even when the cam show the image correctly and I'm forced to restart node red.
Please follow this link:
https://discourse.nodered.org/t/problem-with-http-node-request/87460
Expected Behavior
No response
Steps To Reproduce
No response
Example flow
paste your flow here

Environment
Node-RED version: v3.1.8
Node.js version:18.20.0
Linux 5.15.32-v7l+ arm LE
Raspberry Pi4 - SO raspberry

So you don't care about this bug if I don't write again what I wrote in the forum managed by you?

Thank you for your helpful comment. If you care to share a code snippet that lets us re-create the issue (without needing a reolink) then we can investigate - but I can see that other members on the forum are already trying to help you, so maybe the suggestion to use the forum first was a good one ?


XIVY-12449 add first electron playwright tests & integration build

new build: https://jenkins.ivyteam.io/job/vscode-extensions_integration/

Very nice 👍. May be we should include a real test project?

I will add one at the time it is needed


[NT-2147] Comments Not Displaying For Unauthenticated Users

📲 What
Two issues were found on staging:

Couldn't scroll comments due to each CommentFragment requiring a UserFragment to contain the storedCards property. The storedCards property is only available for authenticated sessions.
An issue related only to my staging accounts was found to mix up credit cards when logging in and out of the pledge screen. Upon further testing by @singhhari and @jgsamudio it was found to only be related to staging and my accounts in particular.

ticket
🤔 Why
We want to allow un-authenticated users to scroll comments and replies of a project. Also want to minimize the amount of data required on fragments selectively based on it's use case.
🛠 How
Made the ...UserStoredCardsFragment that will call the stored cards portion of the UserFragment if the declarative (showStoredCards) is true in a query.
Effected queries FetchUser.graphql, FetchUpdateComments.graphql, FetchProjectComments.graphql, FetchBacking.graphql and FetchAddOns.graphql.
Alot of minor changes around testing were made because the GraphUser is used in many places and the storedCards property was changed on it. Also the changes to MockService where Errors and Responses were changed to Result that could contain both.
Finally the addition of a declarative requires variables to be passed into creating a Fragment separately of a Query.
👀 See
|  |  |
✅ Acceptance criteria

[x] Can scroll comments and replies when authenticated/not.
[ ] Lots of calls were touched here, and while I'm confident nothing broke, might be good to smoke test things like add-ons, backings, rewards, comments, projects. Not thoroughly just ensuring that there isn't any weirdness.

          1 Warning

:warning:
Big PR

SwiftFormat found issues:

File
Rules

KsApi/MockService.swift:736:1
warning: (unusedArguments) Mark unused function arguments with _.

  Generated by :no_entry_sign: Danger


Added Meta Event 09

Added support for Meta Event 09 which determines the Device/Port name each MIDI track is connected to

Keep the pull requests coming! Woohoo. :)

Thank you! I will!


How to use remark.js functions to convert markdown to html?

Dear remark contributors,
Thanks a lot for creating remark, and it is really a powerful tool to create slides. I really like the remark macros and class formatting, for example, .red[this is red font]. I want to use remark to just convert my markdown to HTML, so I can use all these powerful extensions in my blogdown posts. I am new to javascript and after reading the codes, it seems remark.convert is the function I need, but I am not sure how to use it (such as what are the arguments). Could you help me on that? I would really appreciate it. This will be also easy for me to convert slides to notes for printing. Thanks!
Junli

@pinbo I think it's already html, not markdown.
html contained js...

@pinbo: Remark does not do the conversion Markdown → HTML itself; instead, it relies on this other project for that: Marked. Marked is available as an npm module, and also on the browser; check it out :)

Thanks, @gshmu and @tripu


Drop down menus not working properly on multi screen

In multi monitor setup, the menus (main menu, drop down menu in entry details) do not always appear when we click on them.

More info: 217159

This should be fixed already, either by different menu handling or (pretty likely) by fixes on Qt or Window Manager side.


Specification of Syntax for Dictionaries

The square bracket notation will cause issues as characters will need escaping. FHIR uses XHTML to store free text allows for the embedding of tags. This approach has been used within NarrativeContent. We need to updgrade the dictionairies to align with NarrativeContent and specify the tags used.

Check https://wiki.cdisc.org/display/USDMIGv3/Syntax+Templates
and align with test data

The updated syntax is detailed within the attached powerpoint. This needs to be reflected in the IG.
2024 02 15 Syntax Templates.pptx


eliminate annoying NPE from TomcatServerSpec on Tomcat.stop()

When TomcatServerSpec cleans up, it calls Tomcat.stop() which pollutes the console with:
Apr 27, 2017 5:19:26 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Tomcat
Apr 27, 2017 5:19:26 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
WARNING: JDBC driver de-registration failed for web application [ROOT]
java.lang.NullPointerException
	at org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc(WebappClassLoaderBase.java:1652)
	at org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1585)
	at org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1537)
	at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:446)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5572)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)
	at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1424)
	at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1413)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

One example of many, many examples:
https://travis-ci.org/http4s/http4s/jobs/226484309#L3834
Likely a missing null check upstream in WebappClassLoaderBase.clearReferencesJdbc() and I plan to raise an upstream issue.  Opening here so I have a concrete case to reference.

:+1: That thing has been annoying for a long time.

Agreed.  Linking to wrong version, but the code is the same in 8.5.14...
Their getResourceAsStream() has return null; for the I-give-up case.
Then they do this:
try (InputStream is = getResourceAsStream(
        "org/apache/catalina/loader/JdbcLeakPrevention.class")) {
    int read = is.read(classBytes, offset, classBytes.length-offset);

My hunch is it's this bug:
https://bz.apache.org/bugzilla/show_bug.cgi?id=56050
And was closed without resolution because the line number in the stack trace was off by a few lines.  (The Ubuntu release might have had patches applied.)
Hoping to reproduce with minimal Java test case and then report to the Tomcat team.

The reason we see this in TomcatServerSpec but the rest of the world is not complaining...
If I pause this code in a debugger and inspect[1]:
ClassLoader.getSystemClassLoader().getResource("org/apache/catalina/loader/JdbcLeakPrevention.class").toExternalForm()

the value is:
jar:file:/home/brad/.m2/repository/org/apache/tomcat/tomcat-catalina/8.5.14/tomcat-catalina-8.5.14.jar!/org/apache/catalina/loader/JdbcLeakPrevention.class

If I do the same with TomcatServerSpec and inspect:
ClassLoader.getSystemClassLoader().getResource("org/apache/catalina/loader/JdbcLeakPrevention.class")

the value is:
null

Still trying to figure out what sbt/specs2/http4s classloader tricks are making that the case.
[1] Technically, Tomcat is doing the lookup with sun.misc.Launcher$AppClassLoader.getResourceAsStream(), but pretty sure ClassLoader.getSystemClassLoader() is a fair surrogate.)

I haven't seen this in a while.  Maybe was fixed by the silence system error work.


[SQL][V20180601] Updating LocationCapabilities spec

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[x] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[x] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@hotsnr
can you let us know your PR link of the internal DSMainDev repo for these changes?

@ericshape
https://msdata.visualstudio.com/Database Systems/_git/DsMainDev/pullrequest/402510
https://msdata.visualstudio.com/Database Systems/_git/DsMainDev/pullrequest/437463
https://msdata.visualstudio.com/Database Systems/_git/DsMainDev/pullrequest/466943

After offline discussion, @hotsnr will also update the same spec and example files in 2020-08-01-preview and 2020-02-02-preview in this PR.

Hi @hotsnr can I know why you have this PR? looks you are update a new feature in an old API version, as it may cause breaking change, Can we just put it in new API version 2020-08-01-preview?

Hi @hotsnr can I know why you have this PR? looks you are update a new feature in an old API version, as it may cause breaking change, Can we just put it in new API version 2020-08-01-preview?

This is the latest version where that controller is implemented, all consequent ones (2019, 2020-02, 2020-08) are going to change in the same way. Just added changes to 2020 versions, @ericshape is working on a massive change in 2019 which is going to include this one.

it may cause breaking change

It won't in any way. From technical (syntax) perspective, this is read-only API and I'm only extending it. From semantics point of view, this feature is an extension, e.g. if customers don't want to use it they can just ignore this additional information I've added and nothing is going to change for them.

According to discuss with @ericshape, Seems the change to 2018-06-01-preview is not required. you may use 2020-08-01-preview in V4 if need it in SDK as looks the 2 version is same swagger definition


[typescript] Reexport props

This PR closes #
Description
Optimize development bundle time by using only one rollup config.
Properly reexport typescript types

Nice, I was just looking for this!


Cloud save progress is gray, should be teal

For Arcade, the cloud progress indicator should be teal.

Note: After fixing for Arcade, check that microbit's cloud progress indicator color hasn't regressed.

Fixed


Maintain the invariant that started <= max_runs

Or that max_runs == 0, which apparently means run forever

I ran the tests locally since CI had an issue


gagocli running problems

Hello Mark,
Thank you for gago & gagocli.
I've been testing out gagocli (Command Line Interface), on mac & ubuntu installing everything according to the documentation from readme.md https://github.com/MarkEdmondson1234/gago/tree/master/gagocli
and have some errors on running simply: gagocli
/usr/local/bin/gagocli: line 1: syntax error near unexpected token `<'
/usr/local/bin/gagocli: line 1: `You are being redirected.'

It's only me ? Or is some kind of issue with the gagocli?
gago on mac it's running great, but on ubuntu got some compatibilities problems.
Thanks

with wget it's working great.
Thank you a lot Mark.
Cheers.

@bmind I updated the install for Linux at https://github.com/MarkEdmondson1234/gago/blob/master/gagocli/README.md - does it look ok?

If you use "wget" it's working just fine.
for "curl"  if you add the flag -L will do job: eg: curl -L -o gagocli https://github.com/<>
else with curl -o gagocli https://github.com/<>  will generate the error from above.
Also this link: https://github.com/MarkEdmondson1234/gago/releases/download/v0.2.1/gagocli-vlatest-darwin-amd64 returns 404.
By the way, ya tool it's very useful + thanks for the support part.
Cheers.


If STK approves an application update status in card. (Collapse)

@betulerkoc this issue must have been resolved, please check the main branch

@selensr not resolved for collapse yet. For details please check design:


buffer: add some encoder buffers types

Hi! :wave: Let's start introducing encoding structures to cros-libva. I did divergence from existing buffer types in few places. Namely use of Option<> in  EncSequenceParameterBufferH264. Also I would appreciate any feed back on CodedBuffer<>. Please share your thoughts on those. Thanks!

Hey @bgrzesik
Give me a couple of days to have a look on this, @Gnurou will probably chime in soon as well most likely

Ideally, at some point you should provide a small demo to make sure that your design works. See:

@dwlsalmeida just added a simple mostly hardcoded demo, based on your suggestion PTAL :smile:

@bgrzesik I am experimenting a bit with some minor changes in your code. Mainly I don't want to expose VAEncBufferType. I want to try and upload the data through Images instead of userptr as well. Only problem is that the output is not quite right yet.
Once I debug why that is broken you can squash the changes and we can proceed with this, overall it looks good to me.

@dwlsalmeida You're referring to VAEncCodedBufferType. Right? Please let me know of your findings :smiley:
Also I added some of the buffers for HEVC, VP8 and VP9. I can also move them to a separate PR if you'd like.

@bgrzesik Some changes:
VAEncCodedBufferType cannot be created by clients directly anymore. They must be created from a PictureSync that has called upload_yuv in the past.
USERPTR was removed in favor of upload_yuv. This follows the examples in libva-utils, and also is the same thing that GStreamer does, basically. Note that the previous code would only upload the yuv during surface creation, which would not work for pooled surfaces.
@Gnurou Alex, please note that f8dc08e reintroduces VAImage writeback. This was somehow removed by 36d76c1, but doing so breaks the vaGetImage/vaPutImage pair that is needed for encoding.
I also took the liberty to fix the fact that we could previously have a Picture outlive its Surface (!!!) by reintroducing a &'a Surface field. It is also needed for writeback.

@bgrzesik can you also add a crc check to the h264 encode demo please? Your current code will pass even if the actual result is not right. In fact that happened a few times with me :/

Another idea that could simplify things quite a bit:
Right now we are creating the Picture from the source Surface, and then upload the YUV data using an Image obtained from that picture (while also allocating coded_buffer). This is somehow required because currently we can only create Images from Pictures.
But technically, we should be able to create Images just from a Surface, and gaining this ability would let us upload the YUV data into the surface before passing it to the Picture constructor. That way we don't need to care about the state of the Picture since it doesn't exist yet.
It would also play more nicely with zero-copy encoding, since in that scenario Surfaces are created from a DMABuf and there is no upload step.
This also means we have no place to allocate coded_buffer anymore. :sweat_smile: But let me think some more about that one.

@dwlsalmeida Thank you for your changes! Now I get what you meant there. However I agree with @Gnurou regarding additional field, use of assert/unwrap and  DMABufs.
I can think of one more approach. Modify a Picture definition and use generics to differentiate between picture used for decoding and encoding. This way we could expose creating CodedBuffer only during encoding and move creation of VAEncCodedBufferType to instantiation of Picture rather then upload_yuv.
Like so
pub struct Picture<S: PictureState, T, E> {
    inner: Box<PictureInner<T, E>>,
    phantom: std::marker::PhantomData<S>,
}

struct PictureInner<T, E> {
    // ...
    buffer: E,
}

type DecodePicture<S: PictureState, T> = Picture<S, T, ()>;

type EncodePicture<S: PictureState, T> = Picture<S, T, Buffer>;

However this seems rather a bit too stretched.

@bgrzesik can you also add a crc check to the h264 encode demo please? Your current code will pass even if the actual result is not right. In fact that happened a few times with me :/

I am not sure if we can rely on encoder to always produce the same bitstream especially between different devices and therefore I am afraid we'd have to decode this slice to do so. But I agree there is something wrong going on, because the size of the coded segment changes between runs. And I wonder if there it is missing some synchronization on input frame. I am planning to take a deeper look at this.

Also there are some clippy warnings.

I fixed clippy warnings yesterday, are you referring to those? Or are you using it with some additional options enabled? Currently I am only getting a single warning about src/usage_hint.rs:9:1.
Thank you! :smile:

Also one small nit. I think it would be clearer if dropped referring to image raw data as YUV, since some encoders could accept RGB as well :sweat_smile:

Another idea that could simplify things quite a bit:
Right now we are creating the Picture from the source Surface, and then upload the YUV data using an Image obtained from that picture (while also allocating coded_buffer). This is somehow required because currently we can only create Images from Pictures.
But technically, we should be able to create Images just from a Surface, and gaining this ability would let us upload the YUV data into the surface before passing it to the Picture constructor. That way we don't need to care about the state of the Picture since it doesn't exist yet.
It would also play more nicely with zero-copy encoding, since in that scenario Surfaces are created from a DMABuf and there is no upload step.
This also means we have no place to allocate coded_buffer anymore. 😅 But let me think some more about that one.

How do we know whether
a) we need to create and map a coded buffer
b) how do we make sure that somehow the client has inserted the raw data into the underlying surface
c) how can we make sure that CodedBuffers are only created after a sequence of begin(),render(),end() and sync() ?
By the way, IMHO, I think this fix should be considered independent of this PR:
I also took the liberty to fix the fact that we could previously have a Image outlive its Surface (!!!) by introducing a &'a Surface field. It is also needed for writeback.

Supporting vaGetImage() + vaPutImage is a pretty key thing that we are currently missing.

But I agree there is something wrong going on, because the size of the coded segment changes between runs. And I wonder if there it is missing some synchronization on input frame. I am planning to take a deeper look at this.

And so I did. I couldn't find any reason behind that. However the issue is gone when using Image to upload the data. Furthermore when I switched to VAEntrypointEncSlice endpoint to it was also gone. So I guess we should stick with either.

b) how do we make sure that somehow the client has inserted the raw data into the underlying surface

This is the responsibility of the user, a surface could already have frame data associated with it (e.g. surfaces created from DMAbufs) so ultimately it's up to the caller to create an image from their Surface if needed (we need to provide an API for that).

c) how can we make sure that CodedBuffers are only created after a sequence of begin(),render(),end() and sync() ?

That's probably an API issue, we have the same problem for decoded frames when we decode a stream.

By the way, IMHO, I think this fix should be considered independent of this PR:

Agreed, let me come with a PR containing your 2 CLs plus another one that allows create Images from Surfaces, this should give a better basis for adding encoder support.

Posted the CLs directly - so now one can create Images from Surfaces, which should make the frame upload process simpler for encoding.

Posted the CLs directly - so now one can create Images from Surfaces, which should make the frame upload process simpler for encoding.

Should I modify the demo code to take advantage of that new API? This would require to add a way to allocate picture's coded buffer or modify upload_yuv. Or leave as is? :smile:

@bgrzesik i am on vacation for 2 weeks and I don't have my laptop around, I can provide more feedback when I return

Should I modify the demo code to take advantage of that new API? This would require to add a way to allocate picture's coded buffer or modify upload_yuv. Or leave as is? 😄

I have pushed a change that removes upload_yuv and the coded_buffer member of Picture and replaces them with a regular upload through an Image. Feel free to rebase/reorganize the CL chain into a more coherent set as we are piling changes on top of each other.
As for how to manage the coded buffer's lifetime, I'd say let's just make the client responsible for it (i.e. basically what my change does). Worst case, if it gets destroyed too early, libva will return an error when we process the picture. I'll try to come with a better solution but for now that will do.

Feel free to rebase/reorganize the CL chain into a more coherent set as we are piling changes on top of each other.

True :smile: Done

Hi @bgrzesik @Gnurou
I am back. This PR looks good (again thanks @bgrzesik ), I left only one small comment above

I am fine with the latest changes as suggested by @Gnurou  and implemented by @bgrzesik
Alex, this PR looks good to me. We should merge.

Merged! Thank you.


fix: handle no node_modules directory

This PR fixes https://github.com/prisma-labs/serverless-plugin-typescript/issues/210
Not all projects have a node_modules directory in them

I have this issue as well as my service is in a monorepo, currently including a node_modules with a README.md in it just to avoid the error. Would be great if this could get merged in!

I'm in a similar position to @31i0t, please consider merging this PR.

This is an issue for me as well.  I'm using Yarn with PnP so there is no node_modules folder.  It's not a problem when running locally, but when trying to build and bundle the app using Yarn.build, I get an ENOENT: no such file or directory on the node_modules link.


[BUG] near "(": syntax error

AmazonLinux2 Python3.8.16
Describe
I got 'near "(": syntax error' in SnapshotCollection.py. Any suggestion?
Snapshot to reproduce
https://seesaawiki.jp/overlord
Command to reproduce
waybackup -u https://seesaawiki.jp/overlord -c
Terminal output
<<< python-wayback-machine-downloader v2.0.2 >>>

No CDX file found to inject - querying snapshots...

Querying snapshots...
-----> seesaawiki.jp/overlord/*
download cdx   : 1.49MB [00:01, 824kB/s]

Inserting CDX data into database...
insert cdx     : 100%|██████████████████████████████████████████████████| 9575/9575 [00:03<00:00, 2974.91 l

Indexing snapshots...

Filtering current snapshots...
-------------------------
!-- Exception:
!-- File: ../../usr/local/lib/python3.8/site-packages/pywaybackup/SnapshotCollection.py
!-- Function: filter_current
!-- Line: 180
!-- Segment: cls.db.cursor.execute(
!-- Description: near "(": syntax error
-------------------------```

No problem with --full option.
But I'd like to get only the latest.
regards,
On 2024/11/06 水 16:58, bitdruid wrote:

does this error also appear if you actually downloaded some snapshots?
can you have a try?

sure i will check that out as soon as possible. im a bit stressed because of my thesis but maybe on the weekend

so i cant reproduce. but could it be that ROW_NUMBER() is not included in the sqlite3 version shipped with python 3.6 ? i'm on 3.12.6...  fast checkup online gave me the hint that required sqlite 3.25 should be part of at least python 3.8
on which version are you?
could you check
python --version
and also a
python
import sqlite3
print(sqlite3.sqlite_version)

I updated the version of sqlite3 from 3.7 to 3.47(latest), then 'syntax error' is resolved!
Thank you for your responce.


chore(deps): update dependency prettier to v1.19.1

This PR contains the following updates:

Package
Type
Update
Change

prettier (source)
devDependencies
minor
1.18.2 -> 1.19.1

Release Notes

prettier/prettier
v1.19.1
Compare Source
diff
CLI
Fix --stdin regression in 1.19.0 (#6894 by @lydell)

// Prettier stable
$ echo "test" | prettier --stdin --parser babel
[error] regeneratorRuntime is not defined

// Prettier master
$ echo "test" | prettier --stdin --parser babel
test;

TypeScript
Fix formatting of union type as arrow function return type (#6896 by @thorn0)

// Input
export const getVehicleDescriptor = async (
  vehicleId: string,
): Promise<Collections.Parts.PrintedCircuitBoardAssembly['attributes'] | undefined> => {}

// Prettier stable
export const getVehicleDescriptor = async (
  vehicleId: string
): Promise<| Collections.Parts.PrintedCircuitBoardAssembly["attributes"]
| undefined> => {};

// Prettier master
export const getVehicleDescriptor = async (
  vehicleId: string
): Promise<
  Collections.Parts.PrintedCircuitBoardAssembly["attributes"] | undefined
> => {};

v1.19.0
Compare Source
diff
🔗 Release Notes

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Enabled.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

:tada: This PR is included in version 2.152.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add support for git flow

Hello
Git flow is a collection of git extensions to streamline working in a multi branch workflow. It is already adopted in a lot of git clients.
I think that supporting git flow in abapGit would benefit it as well. What do you think?
I'm aware that this is a rather big change/ feature request. Maybe it could also be serverd as a plugin.
If you need more information on git flow or how it could be integrated within abapGit free to ask :smile:.
BR
Fabio

Yeah, can you explain more on what you have in mind? Can you create a description of the atomic operations that are needed?
I have not used git-flow, but a function like feature start <your feature>, I guess corresponds to creating a branch? And publish corresponds to merging the branch?
abapGit implements most of the basic git operations, so perhaps git-flow can be built on top of this?

Sure.
I will add some screenshots from GitKraken to make it easier see what I'm talking about.
Git flow is designed to make it easier to work with feature-, hotfix- and release branches.
Git flow works on a per repo basis.
When you start using git flow in a repo, you define how your branches should be named:

After that, instead of creating and merging branches manually, git flow offers you to do that via feature start <your feature> and  feature finish <your feature>.

Here is a list off the git flow operations:

Init: Define branch naming scheme
feature start: create new branch named feature/XYZ  (usually starting form develop branch)
feature finish: merge branch feature/XYZ into develop branch
release start: create new branch named release/v1.5.1 (usually starting form develop branch)
release finish: merge branch release/v1.5.1 into master branch and create a tag for the new version number
hotfix start: create new branch named hotfix/ABC (usually starting form master branch)
hotfix finish: merge branch hotfix/ABC into master branch and create a tag for the new version number

This article should make it easier to understand each command.

cool, thanks
The following basic operations are currently not implemented in abapGit:

conflict handling while merging
tagging

I'd suggest starting with these 2 things, once they are implemented then adding the flow operations should be easy 😄

Sweet!
I'll create separate issues when I find time to work on one of the two.

[..] then adding the flow operations should be easy :smile:

Oh the amount of times I said something like that only to regret it later :blush:

merge is currently possible under the "Branch Overview" page, see https://github.com/larshp/abapGit/blob/master/src/zabapgit_page_merge.prog.abap
nothing is implemented with regards to tagging

tags, https://github.com/git/git/blob/master/Documentation/technical/protocol-capabilities.txt#L216

the basic actions are implemented: tagging, switching branches, merging
anything else missing?

Great! Yup all the functionalities are part of abapGit now :tada:

closing