vImage  / com.apple.root.default-qos crash

Issue Description
After updating to React Native 0.36, we getting few new crashes, so far only on iOS 10. And looks like all of them are related to image loading.
Here is the stack trace
Crashed: com.apple.root.default-qos
0  vImage                         0x188a4c0e4 __vConvert_Planar8ToBGRX8888_block_invoke + 120
1  libdispatch.dylib              0x1867f971c _dispatch_client_callout2 + 16
2  libdispatch.dylib              0x18680c794 _dispatch_apply_invoke + 164
3  libdispatch.dylib              0x1867f91c0 _dispatch_client_callout + 16
4  libdispatch.dylib              0x186809558 _dispatch_root_queue_drain + 1032
5  libdispatch.dylib              0x1868090ec _dispatch_worker_thread3 + 124
6  libsystem_pthread.dylib        0x186a022b8 _pthread_wqthread + 1288
7  libsystem_pthread.dylib        0x186a01da4 start_wqthread + 4

We was not able to reproduce this issue on our side yet. But we loading a lot of images in our application (up to 300), can such amount affect it somehow?
It would be great if we cat get at least a hint where is the source of the issue =)
Additional Information

React Native version: [0.36]
Platform(s) (iOS, Android, or both?): [iOS]
Operating System (macOS, Linux, or Windows?): [Mac]

cc @javache

Can you share the complete stack trace (exception code etc)? None of the code you shared is in React Native, so it may be coming from the system. if you're loading a large number of high-quality images at the same time, this may cause the system to run out-of-memory, although that would typically not manifest in a crash this way.

Sure @javache, here is the full crash log fabric_log.txt.
But now when i am looking it to it i can see that it shows only 1% of free ram, not sure if it does matter thou.
Plus i've notice that this crash occurs on previous version of RN too

Closing this issue because it has been inactive for a while. If you think it should still be opened let us know why.


Codespace kubade220 sturdy succotash vgvr5g9xv6vcpgpv

Closing this pull request as it has no actual code changes. 🤷🏻♂


[MM-37377] - LHS does not update after Getting Started steps are complete

Summary

Makes sure that when Getting Started steps are finished, the sidebar updates to "Next Steps and Tips"
Fixes Modal text when closing Getting Started and Next Steps and Tips

Ticket Link
MM-37377
Release Note
NONE

Hello @stevemudie QA steps are on the ticket for this one.

@stevemudie can't seem to reproduce locally. Maybe something is up with the spinwicks. I'll ask someone else to test locally as well to verify that the issue maybe with the spinwicks.

@stevemudie we have confirmed that indeed the spinwick is not using the code for this PR. Maybe I'll ask someone from SRE to help out.
As you can see the debugger below, the code deployed by the spinwick is different

Thanks to @nickmisasi for helping to confirm

Mattermost test server created! 🎉
Access here: https://mattermost-webapp-pr-8478.test.mattermost.cloud
Account Type	Username	Password
Admin	sysadmin	Sys@dmin123
User	user-1	User-1@123

Hello @stevemudie the spinwick issue has been resolved correctly.

Cherry pick is scheduled.


-BlockMsolPowerShell does disable AzureAD Connect configuration wizard

$params = @{
BlockMsolPowerShell = "false"
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $params

Fixed in: https://github.com/swissbuechi/AzureAdDeployer/pull/17


maper.info

(iplogger operation)
https://www.quad9.net/result/?url=maper.info

Thanks again Lorenzo.  Added.

it's a pleasure man


How to integrate docz with custom webpack configurations?

How to integrate docz with custom webpack configurations?
docz looks awesome ❤🔥, Thank you for creating and maintaining it. I am trying to use docz for a design system documentation.
We have custom webpack configuration and eslint config to develop and build our documentation site. We need to keep this custom configuration for business reasons; access webpack dev server in HTTPS to access webcam, consistent linting and formatting rules for all developers etc..
How can I integrate our custom webpack configuration and eslint configurations with docz?
I see that you are using webpac-chain under the hood, we are using NeutrinoJS from Mozilla for our boilerplate/template.
Appreciate any help.
Thank you

What I did was use modifyBundlerConfig in the doczrc file. I needed docz to understand our webpack aliases, and this is how I managed that (disclaimer: there is probably a better way):
// doczrc.js
const baseWebpackConfig = require('./webpack.base.js');

module.exports = {
  ...
  modifyBundlerConfig: config => {
    config.resolve.alias = {
      ...config.resolve.alias,
      ...baseWebpackConfig.resolve.alias
    }
  }

You'll see there's also onCreateWebpackChain if you what you're doing there. Hope that helps!

If using version 2 they removed this option from docrz.js and moved to using Gatsby hooks .
https://www.docz.site/docs/powered-by-gatsby


Where should bashInteractive and bash-completion packages be added?

I am currently adding them to home.packages since I couldn't find any options for them. Is that the proper way to add them or are they supposed to be installed differently (overlays, etc.)? Those packages seem to be common choices for bash users.

I'd say home.packages is a good choice. As long as the completion files ends up in $NIX_PROFILE_DIR/.nix-profile/etc/bash_completion.d…


login Using Auth0 Hosted UI

I wanna be able to login Using Auth0 Hosted UI

This library doesn't support hosted UI for now. May be in the future. :)


Grammar

Related Issue/Addition to code

Grammar

Type of change

[x] More professional text

Proposed Changes

Update text in multiple files

Checklist:

[x] My code follows the style guidelines of this project and have read CONTRIBUTING.md
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Screenshots

Original
Updated

** original screenshot
** updated screenshot **

Thanks for the help! looks good to me!


Fix filepath to uri conversion

We need to escape characters in the individual path components
otherwise all that’s necessary to break the conversion is a space.
This commit also adds roundtrip tests to ensure that we don’t break
this again in the future.

LGTM, thanks.


Replace ftp functions with requests library

Hey there, I removed bindings to ftplib and replaced them with requests and bs4 parsing functions. I'd really like to see your feedback on this one especially as I had lots of trouble with buildings paths, especially how should a index listing look like, should the result include the basepath etc...
I included a cached requests.Session which should especially for downloading station data speed up the processing.

Dear Benjamin,
thanks for working on this. The changes look good to me so far.
With kind regards,
Andreas.


[JENKINS-52891] Always log the timeout for a CliGit command

JENKINS-52891
A timeout is always used for a cli git command and therefore should always be logged.
Options a timeout may be set

timeout parameter for some commands
system property org.jenkinsci.plugins.gitclient.Git.timeOut
default of 10 minutes

So far the timeout was only logged for commands where
a) it cannot be customized
b) it can and actually was customized
Category a) some commands with correct default timeout logging so far
> git --version # timeout=10
> git init ... # timeout=10
> git config ... # timeout=10
> git submodule init # timeout=10
Category b) commands with missing default timeout logging so far
> git fetch ...
> git checkout ...
> git submodule update ...

Hi @MarkEWaite, could you have a look at this PR?
I am also not sure how the linked ticket has to be handled?

Has a link from the ticket to the PR be created manually? (Sometimes I have seen some automatic linking)
Who is changing the state from "In Progress" to "Review" and who should get assigned?
Who is changing state and version information when it is released?
How is issue added to the release notes?

Comments will be automatically attached to the ticket if the commit message includes the Jira ID in the message.
I've not seen any automatic linking, though that may also be happening.
When a new version is released, I update the wiki page with the changes since the last release.  I've added a placeholder for the next version sometimes without adding a release date.  For example, in this case, a placeholder might have been added as "3.0.0-beta6" with "XX-XXX-2018" as the release date.
When a new version of the plugin is released, I click each of the bug hyperlinks from the release notes and set the state of the bug to match the release if it is not already correctly set.
When the pull request is merged to the master branch, the pull request author is assumed that they will change the state from "In Review" to "Fixed (not released)".  If they don't, then I'll update the Jira state when the plugin is released.
You're welcome to insert release note information into the wiki page prior to a release.  That would be a nice help.


Fix theme toggle

✨ Codu Pull Request 💻

Pull Request details:

Change ring colours from rose to pink-500 and from pink-300 to pink-600
Added new default styles in the Global styles file
Focus visible (when navigating with keyboard) to match the styles of the rest of the page.

Any Breaking changes:
None
Associated Screenshots:

Will open it again in a new branch with no conflicts


Docs broken with 403

The docs at http://rust-doc.s3-website-us-east-1.amazonaws.com/tower-web/v0.2.2/tower_web/ (linked in readme and from crates.io) currently return an HTTP 403 response.

Thanks, I forgot to push them :) I have resolved this.


Parse environment variables passed from CLI

Right now if one attempted to pass environment variables to the @environment decorator using the following type of syntax:
python workflow/myflow.py --with environment:vars=FOO:$(FOO),BAR:$(BAR)

vars would incorrectly register as a string rather than parsing the the contents as a dict.
This PR enables parsing of environment for the environment decorator which are passed using --with

Nice catch! The only thing that gives me a bit of a pause here is that it is not uncommon to have : in env variable values (eg $PATH). On the other hand I don't have a good idea how to support those without making decospec syntax even more complicated.

Nice catch! The only thing that gives me a bit of a pause here is that it is not uncommon to have : in env variable values (eg $PATH). On the other hand I don't have a good idea how to support those without making decospec syntax even more complicated.

Perhaps I can update this to only parse the first : in each comma delimited block

After testing this a bit more, this doesn't seem to work with --batch. In that case gets converted back to --with CLI arg here, and it turns it into --with 'environment:vars={'\"MY_FOO\"': '\"bar\"', '\"MY_BAR\"': '\"baz\"'}'. Let me take a deeper look, there gotta be a way around this

Something like this https://github.com/Netflix/metaflow/commit/d654bc8727b18f88c27e90bb95288a0f52ff8c3c should work but may still need a bit more testing

Something like this d654bc8 should work but may still need a bit more testing

This looks good, though probably still need to limit the split on : to 1.  This implementation should make it so that the only disallowed character in env var values would be ,.

Something like this d654bc8 should work but may still need a bit more testing

This looks good, though probably still need to limit the split on : to 1. This implementation should make it so that the only disallowed character in env var values would be ,.

I've updated this to split on the first colon

Something like this d654bc8 should work but may still need a bit more testing

I've updated the PR to incorporate these changes, but I have not thoroughly tested this.

@oavdeev @LarsDu still needs some testing but i've made the changes I think would make this work for both step-functions and batch plugins.

LGTM!

@savingoyal had a suggestion that we could solve it in a slightly more elegant way by making @environment a "varargs" style decorator. So instead of @environment(vars={"FOO": "BAR"}) you could support @environment(FOO="BAR"). Metaflow already supports passing multiple parameters to a decorator from the command line, so it allows to implement this without making --with syntax special for @environment.
I've implemented it on top of this PR here https://github.com/Netflix/metaflow/commit/31519fe -- please take a look

Also, this is how we currently resolve a similar issue in @conda.

Any updates on this PR?

See also https://github.com/Netflix/metaflow/pull/768

A bit busy at the moment. Will try to revisit this by the end of the week.


There was a problem sending your highlights: received a non-200 status code from Readwise: code 400

{"level":"info","msg":"Logger should be initialised now","time":"2023-04-25T09:51:11-04:00"}
{"level":"info","msg":"Backend is about to start up","time":"2023-04-25T09:51:11-04:00"}
{"level":"info","msg":"Logger should be initialised now","time":"2023-04-25T09:51:13-04:00"}
{"level":"info","msg":"Backend is about to start up","time":"2023-04-25T09:51:13-04:00"}
{"kobos_found":1,"level":"info","msg":"Detected one or more Kobos","time":"2023-04-25T09:51:13-04:00"}
{"device_id":"00000000-0000-0000-0000-000000000383","level":"info","msg":"Found an attached device","time":"2023-04-25T09:51:13-04:00"}
{"kobos_found":1,"level":"info","msg":"Detected one or more Kobos","time":"2023-04-25T09:51:13-04:00"}
{"device_id":"00000000-0000-0000-0000-000000000383","level":"info","msg":"Found an attached device","time":"2023-04-25T09:51:13-04:00"}
{"batch_count":1,"highlight_count":0,"level":"info","msg":"Successfully parsed highlights","time":"2023-04-25T09:51:15-04:00"}
{"level":"error","msg":"Received a non-200 response from Readwise","response":"{"non_field_errors":["No data provided"]}","status_code":400,"time":"2023-04-25T09:51:15-04:00"}
{"level":"info","msg":"Successfully validated token against the Readwise API","time":"2023-04-25T09:53:23-04:00"}
{"batch_count":1,"highlight_count":0,"level":"info","msg":"Successfully parsed highlights","time":"2023-04-25T09:56:02-04:00"}
{"level":"error","msg":"Received a non-200 response from Readwise","response":"{"non_field_errors":["No data provided"]}","status_code":400,"time":"2023-04-25T09:56:02-04:00"}

Hi there,
Hmm, it seems that October didn't find any highlights on your device. I assume you do but I have to ask to confirm: Do you have highlights taken on your device? When selecting a Kobo, it should say how many highlights are found.
If you do, there are some next steps steps we can take to try and figure out what's going on

I'm having a similar issue - it looks like something is causing my Kobo to wipe its highlights. I suspect this is a Kobo bug related to calibre-web sync. I reverted the conf edit for that and will keep an eye on my highlights.

I'm having a same issue too.
I read the code start here .And don't know why the condition of cotentID/VolumeID is LIKE '%file:///%'.
https://github.com/marcus-crane/october/blob/7d4f38fc4a8ee2ff56bfc097173ec3777083f6e4/backend/device.go#L228
there is no bookmark/content has contentID/volumeID that match the condition above In my Desktop kobo, and Clara 2E.
Will that be the key cause this problem?
Here is a snapshot of my bookmark table.

I'm having a same issue too. I read the code start here .And don't know why the condition of cotentID/VolumeID is LIKE '%file:///%'.
https://github.com/marcus-crane/october/blob/7d4f38fc4a8ee2ff56bfc097173ec3777083f6e4/backend/device.go#L228
there is no bookmark/content has contentID/volumeID that match the condition above In my Desktop kobo, and Clara 2E.
Will that be the key cause this problem?
Here is a snapshot of my bookmark table.

And when I using the previous version(v1.3.1) today, everything works well.

I'm having a same issue too. I read the code start here .And don't know why the condition of cotentID/VolumeID is LIKE '%file:///%'.

https://github.com/marcus-crane/october/blob/7d4f38fc4a8ee2ff56bfc097173ec3777083f6e4/backend/device.go#L228

there is no bookmark/content has contentID/volumeID that match the condition above In my Desktop kobo, and Clara 2E.

Will that be the key cause this problem?

Here is a snapshot of my bookmark table.

And when I using the previous version(v1.3.1) today, everything works well.

Hi,
Seeing as those IDs are all GUIDs, are you highlighting books that you've purchased from the Kobo Store?
Sideloaded books all generally start with file:///

I'm having a same issue too. I read the code start here .And don't know why the condition of cotentID/VolumeID is LIKE '%file:///%'.

https://github.com/marcus-crane/october/blob/7d4f38fc4a8ee2ff56bfc097173ec3777083f6e4/backend/device.go#L228

there is no bookmark/content has contentID/volumeID that match the condition above In my Desktop kobo, and Clara 2E.

Will that be the key cause this problem?

Here is a snapshot of my bookmark table.

And when I using the previous version(v1.3.1) today, everything works well.

Hi,
Seeing as those IDs are all GUIDs, are you highlighting books that you've purchased from the Kobo Store?
Sideloaded books all generally start with file:///

Yes, I purchased these books from Kobo Store.
So the v1.3.2 october is not support for highlights from Kobo Store?

I'm having a same issue too. I read the code start here .And don't know why the condition of cotentID/VolumeID is LIKE '%file:///%'.

https://github.com/marcus-crane/october/blob/7d4f38fc4a8ee2ff56bfc097173ec3777083f6e4/backend/device.go#L228

there is no bookmark/content has contentID/volumeID that match the condition above In my Desktop kobo, and Clara 2E.

Will that be the key cause this problem?

Here is a snapshot of my bookmark table.

And when I using the previous version(v1.3.1) today, everything works well.

Hi,
Seeing as those IDs are all GUIDs, are you highlighting books that you've purchased from the Kobo Store?
Sideloaded books all generally start with file:///

Yes, I purchased these books from Kobo Store. So the v1.3.2 october is not support for highlights from Kobo Store?

It was never intended to support Kobo Store books but it just happened to work accidentally.
Readwise has an official Kobo integration that only works with Kobo store books and is what is recommended.
The main reason that I removed support for Kobo Store books is because of users who have both store bought and sideloaded books where they would get duplicate entries (one set from October and one set from Readwise)
I suppose if there's enough interest, I can always bring it back as an off-by-default toggle but yeah, the official Readwise integration is probably a better experience since you shouldn't need to connect your device to your computer as I understand it

Ah, I forgot about this mention of the official integration not working from a while back: https://github.com/marcus-crane/october/discussions/78#discussioncomment-5090386
I've never tried it myself so I'd be interested to hear if people do have trouble with it.

I think the official integration is wiered.
I faced the same trouble two week ago after it work very well for one or two month.
So I take a try of this project . And I also try to parse the database and turn it to a kindle's My Clipping.txt format.
But today I found the sync go back.
But I don't know why.
Maybe Readwise team fix this bug these days, or there maybe be a request rate limit on kobo.

Ah, I forgot about this mention of the official integration not working from a while back: #78 (comment)
I've never tried it myself so I'd be interested to hear if people do have trouble with it.

Same problem here... :(

@mevaere Ah, interesting. I have a brief flash of the same "Can't reach this page" on Windows myself. I mainly use macOS so I hadn't run the Windows version in a while nor have I used October recently either.
It could be related to general Windows 11 updates to WebView2 (which is what October uses under the hood) so I'll see what I can dig up.
As for the highlight detection issue, can you clarify whether you're only using books purchased from the Kobo store? The latest version of October disabled support for store books, as it was only intended for sideloaded content given that there is an official integration with Kobo supplied by Readwise for that use case.
If you're using sideloaded content though then I'll have to send you some further steps so I can try to narrow down what the exact cause might be.

Clearly after restarting Elipsa 2E. Everything seems to work :

It doesn't detect the name of the kobo, but Calibre / Annotations is now able to fetch the annotations (it wasn't possible before).
On my side it's now usable :

Just WebView2 flashing white
Elipsa 2e and Unknow Kobo ;)

Thanks for the help.

And everything is upload correctly on readwise :

Could-it be a problem on readwise ?

Ah nice, I didn't realise that a new Kobo device had come out.
Yeah, as you saw, October will work fine. It contains a list of IDs and it looks up the one matching your Kobo in order to display its name but whenever a new Kobo comes out, it'll display "Unknown" until the list of IDs is updated to include new ones.
Hmm, perhaps there's something with brand new devices on their first run? I can try resetting my test device and see if any trouble occurs but glad to hear you've been able to upload highlights.
If 400 Bad Request occurs again, can you send me an email at<EMAIL_ADDRESS>and I can try to run some tests on a copy of your Kobo database if you're comfortable with that.

For sure, the problem is not specific to October, I had the same problem with calibre. So if problem come back I will send you a mail.
Thanks again for your app ;) very helpfull

@mevaere While unrelated to this thread, I've just released v1.3.3 which should fix the "Connection Refused" error that flashes briefly. Apparently there were some changes to WebView2 (part of Windows used by October) that needed handling

If you need some detail for the Kobo Elipsa 2E to don't appear "Unknown" just ask me ;)

@mevaere I've just released v1.3.4 which should support detecting Kobo Elipsa 2E and Kobo Clara 2E.
I don't own either of these devices so I can't 100% test this out but I pulled the device IDs from the latest Kobo firmware so they should be correct.

Porblem occured today.

 Log give :
Just draw.txt
If now, I draw an highlight stuff normaly (without the stylet:
Fail :
Draw + HL.txt
After restart kobo + october: works
Ok.txt
Thanks a lot,

Hi @mevaere,
Hmm, I don't have an Elipsa 2E myself so I don't know how stylus drawings are saved in the database and whether they might be causing something to break but if you are fine with forwarding me a copy of your database to run some tests on, there are some caveats outlined here:
https://github.com/marcus-crane/october/issues/86#issuecomment-1573255161
At almost 500MB, I'm not sure if it would fit in an email though 😅

Hi @justinryanc @fnsne @mevaere, I've just released v1.4.0 which fixed some bugginess around querying that was introduced in v1.3.2.
It also adds a toggle in Settings for users who like to also sync store-purchased books. It's opt-in by default just so users are aware that it can cause duplication if the Readwise Kobo integration is also enabled.

Fix found: I need to restart my Kobo reader to extract highlight or it doesn't work. Don't know why but that's how it works.


[Feat] - CodiMD account attach to user

When you create new account, user gna have codimd account with same creds #33

Ready to merge @jenaye


implement text to images functionality

This functionality has become important for creating images for physical game manuals.
Would like to keep dependencies as low as possible, but may need to consider either a google API for google docs, or some native module for pulling text and formatting from Microsoft Word.

for Google Docs API, there is promise in accessing documents using the below guide
https://developers.google.com/docs/api/quickstart/python

Current error when looking at local files appears to be related to the documents on the google drive being in .docx form
<HttpError 400 when requesting #### returned "This operation is not supported for this document". Details: "This operation is not supported for this document">
will need to find a way around this later.

How would you program a python script to pull down a .docx or google docs file from the cloud, pull the text, formatting, and pictures, and transfer that data into an image template? Further, how would you pull the text and paragraph formatting from a .docx file and ensure the text fits into a smaller image template. What extra processes would be needed to make sure images fit appropriately. @OpenAI

OpenAI response using model: text-davinci-003
First, the script would need to pull the .docx or Google Docs file from the cloud to the local machine. This could be done using an API or through an operating system command line such as using the wget command. The script would then need to use a Python package to extract the text and formatting from the file. For example, for .docx files, the docx library could be used; for Google Docs files, the Google API library could be used. After extracting the text and formatting, the script could then create an image based on the extracted data using a library such as Pillow or OpenCV. Added processes would be needed to make sure images fit appropriately, such as resizing and cropping images, adjusting the font size of text, and adjusting the position of images and text to fit into the image template.

OpenAI response using model: davinci-instruct-beta
I would use the following code to pull the text and formatting from a .docx file and transfer that data into an image template.
import os
import requests
import json
def get_text_from_docx(file_name):
"""
This function will pull the text and formatting from a .docx file and transfer that data into an image template.
"""
Open the file
with open(file_name, 'r') as f:
Get the text
text = f.read()
Get the formatting
formatting = text.split('
')
Get the pictures
pictures = []
Loop through the formatting
for line in formatting:
Get the text
text = line.split('
')
Get the picture
picture = []
Loop through the text
for word in text:
Get the picture
picture.append(word)
Add the picture to the list
pictures.append(picture)
Close the file
f.close()
Return the list
return pictures
def get_text_from_google_docs(file_name):
"""
This function will pull the text and formatting from a google docs file and transfer that data into an image template.
"""
Open the file
with open(file_name, 'r') as f:
Get the text
text = f.read()
Get the formatting
formatting = text.split('
')
Get the pictures
pictures = []
Loop through the formatting
for line in formatting:
Get the text
text = line.split('
')
Get the picture
picture = []
Loop through the text
for word in text:
Get the picture
picture.append(word)
Add the picture to the list
pictures.append(picture)
Close the file
f.close()
Return the list
return pictures

Ask-ChatGPT How would you program a python script to pull down a .docx or google docs file from the cloud, pull the text, formatting, and pictures, and transfer that data into an image template?

Ask-ChatGPT How would you program a python script to pull down a .docx or google docs file from the cloud, pull the text, formatting, and pictures, and transfer that data into an image template? All of this should use drive.google.com and Pillow Modules, API

Here is an example of how you can program a Python script to accomplish this task:

Use the python-docx library to extract the text and formatting information from the .docx file. You can install it using pip install python-docx.

Use the google-auth and google-api-python-client libraries to authenticate and access the Google Drive API. You can install them using pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client.

Use the Google Drive API to download the Google Docs file as a .docx file.

Use the Pillow library to open the image template and paste the text and formatting onto it using the information from step 1. You can install it using pip install Pillow

Use the Pillow library to open images from the .docx file and paste it onto the image template.

Save the final image.

python
Copy code
import docx
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from PIL import Image

def get_doc_text(file_path):
    doc = docx.Document(file_path)
    fullText = []
    for para in doc.paragraphs:
        fullText.append(para.text)
    return '\n'.join(fullText)

def download_file_from_google_drive(file_id, file_name):
    try:
        # create drive api client
        creds = Credentials.from_authorized_user_info(info=None)
        drive_service = build('drive', 'v3', credentials=creds)

        # request data from drive api
        request = drive_service.files().get_media(fileId=file_id)
        fh = io.BytesIO()
        downloader = MediaIoBaseDownload(fh, request)
        done = False
        while done is False:
            status, done = downloader.next_chunk()
            print("Download %d%%." % int(status.progress() * 100))

        # save file data to disk
        fh.seek(0)
        with open(file_name, 'wb') as f:
            f.write(fh.read())

    except HttpError as error:
        print(F'An error occurred: {error}')
        return None
    return file_name

# Assume that you have the image template in the path
template_path = 'template.jpg'
template = Image.open(template_path)

# Assume that you have the google doc file id and name
file_id = '1abcdefghijklmnopqrstuvwxyz'
file_name = 'my_doc.docx'

# Download the file from google drive
downloaded_file = download_file_from_google_drive(file_id, file_name)

# Get the text and formatting information from the docx file
text = get_doc_text(downloaded_file)

# paste the text and images onto the image template using PIL library

#save the --

# paste the text and images onto the image template using PIL library
# you can use the text and formatting information obtained from the previous step
# to paste the text onto the template

# open images from the docx file and paste it onto the template
# you can use the python-docx library to get a list of the images in the docx file
# and then open each image using the PIL library

# save the final image
template.save('final_image.jpg')

With the merging of PR #34 we have untested code that should be able to pull down a file object from google drive as long as the user gives a path on their computer to the credentials.json files they must get from google for this to work.
We should be able to begin working on actually taking text from the object, and putting it on a number of template images...and then a LOT more coding...

here is another website for reference.

Closing this. I'm no longer fond of issues that just track the number of issues in a milestone. The milestone label should do this. Closing this as complete.


Write Tests for core classes

Hi, I'm looking to get involved with some open source code, and this looks like a really cool project. I'm a student at the University of Michigan, halfway through a CS minor. Most of my experience is in C++. I'd like to tackle a simple task as my first pull request, and this one seems as good a place to start as any, but I'm pretty unsure how to begin. Would you recommend that I compile the Radix engine and get familiar with it before I try to contribute to the source code? Or is this task pretty abstracted away from the actual functionality of the engine? Hope to hear from you soon, thanks!

@Carrotstrip Very nice to hear. Welcome. Yeah for this task you'll need to compile the engine and the tests (easy on arch or in docker and in windows probably, too we just don't have a lot of people with know how in windows that can elaborate on how to compile).
If you want to dive into a bigger problem from the start you can have a look at
https://github.com/GlPortal/RadixEngine/blob/master/tests/core/math/QuaternionTest.cpp
and see why it fails.
If you just want to get your feet wet I suggest writing a test for
https://github.com/GlPortal/RadixEngine/blob/master/source/core/math/Math.cpp
Depending on your experience level compiling might be challenging. Stick to COMPILE.md and don't hesitate to ask about anything that might come up.

Thanks! I'll check that stuff out.

So I've managed to get everything compiled (I'm running OS X, by the way) and I guess my next question is... what now? My university curriculum has really only prepared me to deal with files that end in .cpp or .h. Anything else is pretty much foreign territory for me. Looking through the files in RadixEngine, everything seems to be either a makefile or an executable. So I guess I don't really know what exactly the RadixEngine is or how it's meant to be used. Is it a library? An editor? And whatever it is, how do I get to the C++ that's driving it?

This is the folder that contains Radix's source code: https://github.com/GlPortal/RadixEngine/tree/master/source the headers are in https://github.com/GlPortal/RadixEngine/tree/master/include/radix
RadixEngine is a library in glportal https://github.com/GlPortal/glPortal and this cli demo https://github.com/GlPortal/cgame you can see how it is used.
The editor is an extension for blender that you can find in a separate repository
https://github.com/GlPortal/map-editor it adds tools to the blender ui and an export function to our
XML map format.
The engine provides a renderer, a system manager, config system, sound system, several other systems an ecs, math helper classes etc.

Okay, I'll take a look around in there.

I’ve been trying to put together tests for Math.cpp, and I have some questions about that and also more general questions that I’ll try to make about the Radix Engine specifically. I don’t want to flood you with questions that I really should be able to answer myself with a bit of googling, but there are a few broad things that I wouldn’t mind some guidance on.
First off, I think my compilation is just a bit wrong. When I use “make” to build the binary, I get a couple dozen errors with the following format:
/Users/Carrotstrip/RadixEngine/external/gwen/include/Gwen/Utility.h:53:37: warning:
comparison of constant 65535 with expression of type 'String::value_type'
(aka 'char') is always true [-Wtautological-constant-out-of-range-compare]
} else if (chr >= 0x0800 && chr <= 0xFFFF) {
All of the errors are like this, just with different hex numbers. All I’ve found googling the error is an instance of it that was caused by somebody chaining comparators (0 < i < 10), so I checked in Utility.h and it doesn’t look like that was ever done. Any idea how I could fix this? Also, is it even something that I need to fix?
Regarding Math.cpp, all of my courses at university have used RMEs (Requires/Modifies/Effects clauses) to describe what a function is supposed to do. I realize that this is not a universal standard, but I don’t know how the Radix Engine handles this. I’ve been able to find descriptions for some functions (clamp, sign) but not others (toDirection, toEuler).
Also regarding testing, I’ve looked through QuaternionTest.cpp, and I’m unfamiliar with the testing methods you’re using. Could you point me towards somewhere I could pick those up? I’ve been taught to use cassert for testing, but again I realize that a lot of things are not universal.
One last thing: I can’t figure how to run the T-rex game. For one thing I’d like to see what the Radix Engine can do, and also I want to play it! I couldn’t find a tutorial on how to get it running (if there is one my bad) and so if you would walk me through how to do so I’d be happy to write it up formally so it could be included in cgame/spec.md.
Thanks for all your help, I’m hoping I can get to the point soon where I can make some contributions!

@Carrotstrip You should be able to run GlPortal by typing make run after you followed the COMPILE.md. Here is some footage of GlPortal https://vimeo.com/163973907

@Carrotstrip This is the testing framework we are using https://github.com/philsquared/Catch

"make run" is telling me that there's no target "run" in the Makefile, and checking over RadixEngine/build/Makefile (the one generated by cmake I think) I see no run target. Am I trying "make run" in the wrong directory, or could this be a problem with the way I compiled? Maybe something wrong with cmake? And thanks, the testing makes much more sense after looking over Catch.

Darn, the issues you're having is with code I wrote, which I know don't work well. The string thing is my quickly thrown together UTF-8 encoder/decoder, and the Quaternion stuff is Quat↔Euler angles conversion functions, and some edge cases still fail (IIRC I still haven't fixed return values for singularities). I'll get back to that some time later/

RadixEngine (simply a library) itself does not have a make run target. You need client code (a game) like https://github.com/GlPortal/glPortal (it has a COMPILE.md with instructions).

@Carrotstrip Saw you join on IRC earlier. One minute is too fast for us to reply or say hi though.

Hi, sorry it's been a while! I got pretty busy, but I've had this project in the back of my head and now that I've got quite a bit more free time I've been able to get cranking on it again, and I've got another question; once I've finished writing the test for Math.cpp, how can I work it into the test suite that is run by "make test"? I'm a bit turned around with all of these makefiles, and not familiar with cmake. I couldn't find any documentation for it in Catch.

You can look at cmake file and add your test
https://github.com/GlPortal/RadixEngine/blob/master/tests/CMakeLists.txt#L18

So I've got my test running, and I've also been looking at QuaternionTest, and I was wondering if you guys get failure reports when you run those tests, as in Catch reports which line failed in which test. I can't seem to get Catch to do that, and its tutorial claims it's a feature.

@Carrotstrip Remove RadixEngine/CTestCustom.cmake on your checkout and the QuaternionTests will be run. It should tell you which tests fail and why (asserted value vs. true value).

(I was just about to send you this, thanks though, I get the sense that your way is more graceful.) Never mind, figured it out. It was Ctest, not Catch. I was just missing some flags (-R and -VV). So now I'm looking at QuaternionTest to try to figure out why that's failing, and it looks like the Aero functions are the culprits. However, I don't understand what those are trying to do, and the term Aero applied to vectors isn't something I've been able to find online. Here's an example of some test code that's failing:
SECTION("Convert quat to aero north singularity ") {
Vector3f init, back;
for (int n = 0; n < 50; ++n) {
init.x = nppi(gen);
init.y = rad(90);
init.z = 0;
back = quat.fromAero(init).toAero();
std::cout << init.x << ' ' << init.y << ' ' << init.z << " -> " << back.x << ' ' << back.y << ' ' << back.z << std::endl;
CHECK(back.fuzzyEqual(init));
}
Is an "aero north singularity" a vector along the y-axis? It seems like that's what back is ending up as in cout, but in that case I don't see why we would expect that to be equal to init, which we give a random x component. Thanks again.

@Carrotstrip @ElementW Should be able to elaborate on it.

@Carrotstrip "aero" is a shorthand I used for "aeronautics" or "aerospace", i.e. angles as expressed for a fixed-wing aircraft, which is a kind of Euler angle system, where it is commonly understood that rotations are applied in the Roll-Pitch-Yaw order, whereas Euler angles has otherwise existing conventions. In short, the "roll pitch yaw" convention.
However, where Quaternions are a (4-dimensional) rotation system without singularities (set of angle values for which the result is the same), Euler angles have this problem, also known as the gimbal lock.
Even if it's been a while, I never fixed the conversion algorithm to be consistent on singularities and make the test happy.

Thanks @ElementW, I've been reading what seems like every article on gimbal lock and rotational singularities out there, and I haven't come up with a viable solution to the problem as I understand it. I've got some time to spend on fixing this, but not a great grasp of how to fix it, so if you've got any ideas for where to start on this I could run with those a bit. Thanks again.

@Carrotstrip If you are completely stuck on this task then document all the results you got so far in a comment and then find another task to work on. Start with low complexity tasks that you solve in 1 to 2 weeks and then work your way up to a higher complexity that is realistic for you to solve in about 1 to 2 weeks.


[WIP] Top right menu section and items

This is a WIP of plugable UI stuff. This PR will replace #1429
Issue:

initial HTML/JS changes.
TopRightMenu: example section and item.

@martinpovolny I added in the new patternfly styling. A single dropdown works fine, adding a 2nd one causes an issue with the open dropdowns. Anyway,  Let me know what else I can do.

@epwinchell : closing this one, please, check comment in #1429


fix deb packaging

This allows me to build a DEB, without it make package would only generate TGZ on my machine. Based on https://github.com/gnustep/libobjc2/commit/2841400e0c583281c104a4c3c24a6aeb976703b3#diff-af3b638bc2a3e6c650974192a53c7291

Thanks!


Invalid onboarding and sync

Prerequisites

[X] I have already searched in existing issues and found no previous report of this bug.

Describe the bug and add attachments
The onboarding process fail at apikey verification step with an error message, after refresh the page it seems to work but the sync still not processing.
Expected behavior
Api key verification and sync succeed.
Steps to reproduce

Install module
Insert apikey
Refresh the page
Trigger the sync via cronjob

PrestaShop version(s) where the bug happened
8.1.4
PHP version(s) where the bug happened
8,0
Accelasearch module version
1.0.28

This error is caused by Guzzle library, in new versions it's not possible to include body payload as array to send a xxx formurl encoded post data but the data needs to sent by a form_params option. Anyway the defaults headers and configuration is deprecated so have to specified manually in every call.
To fix the bug:
Change all DgcalClient POST to include form_params instead of body.
Add the Apikey header in every call and not in the configuration globally of the Guzzle.
Add an isset condition to the FeedGeneration Command when it try to set the controller_type to front. From latest versions of Prestashop the controller is null in this scenario so it create an exception.


[Event Request] codeunit 5632 "FA Jnl.-Post Line" - OnBeforeUpdateRegNo

Hello, can you please add a new Event OnBeforeUpdateRegNo  in codeunit 5632 "FA Jnl.-Post Line"?
    procedure UpdateRegNo(GLRegNo: Integer)
    var
        FAReg: Record "FA Register";
        IsHandled: Boolean;
    begin
        IsHandled := false;
        OnBeforeUpdateRegNo(GLRegNo, IsHandled);
        if IsHandled then
            exit;
        if FAReg.FindLast() then begin
            FAReg."G/L Register No." := GLRegNo;
            FAReg.Modify();
        end;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeUpdateRegNo(GLRegNo: Integer; var IsHandled: Boolean);
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11703.


charm can be stuck in waiting state if pebble-ready fires after config-changed

Currently the charm can end up stuck in a waiting state if pebble-ready fires after config-changed. See below for details.
mthaddon@finistere:~/repos/k8s-charms/hello-kubecon/hello-kubecon$ juju debug-log --no-tail --replay| grep ' ran '
unit-hello-kubecon-0: 11:22:24 INFO juju.worker.uniter.operation ran "install" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:24 INFO juju.worker.uniter.operation ran "ingress-relation-created" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:25 INFO juju.worker.uniter.operation ran "leader-elected" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:25 INFO juju.worker.uniter.operation ran "webroot-storage-attached" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:25 INFO juju.worker.uniter.operation ran "config-changed" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:26 INFO juju.worker.uniter.operation ran "start" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:26 INFO juju.worker.uniter.operation ran "install" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:26 INFO juju.worker.uniter.operation ran "ingress-relation-joined" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:26 INFO juju.worker.uniter.operation ran "ingress-relation-created" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:27 INFO juju.worker.uniter.operation ran "ingress-relation-changed" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:27 INFO juju.worker.uniter.operation ran "leader-elected" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:27 INFO juju.worker.uniter.operation ran "config-changed" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:28 INFO juju.worker.uniter.operation ran "gosherve-pebble-ready" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:28 INFO juju.worker.uniter.operation ran "start" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:29 INFO juju.worker.uniter.operation ran "ingress-relation-changed" hook (via hook dispatching script: dispatch)
unit-hello-kubecon-0: 11:22:29 INFO juju.worker.uniter.operation ran "ingress-relation-changed" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:29 INFO juju.worker.uniter.operation ran "ingress-relation-joined" hook (via hook dispatching script: dispatch)
unit-nginx-ingress-integrator-0: 11:22:30 INFO juju.worker.uniter.operation ran "ingress-relation-changed" hook (via hook dispatching script: dispatch)
mthaddon@finistere:~/repos/k8s-charms/hello-kubecon/hello-kubecon$ juju status
Model     Controller          Cloud/Region        Version  SLA          Timestamp
ing-test  microk8s-localhost  microk8s/localhost  3.0.0    unsupported  11:27:14+01:00

App                       Version  Status   Scale  Charm                     Channel  Rev  Address         Exposed  Message
hello-kubecon                      waiting      1  hello-kubecon             stable    14  <IP_ADDRESS>  no       installing agent
nginx-ingress-integrator           active       1  nginx-ingress-integrator  stable    37  <IP_ADDRESS>   no       Ingress with service IP(s): <IP_ADDRESS>

Unit                         Workload  Agent  Address       Ports  Message
hello-kubecon/0*             waiting   idle   <IP_ADDRESS>         waiting for Pebble in workload container
nginx-ingress-integrator/0*  active    idle   <IP_ADDRESS>         Ingress with service IP(s): <IP_ADDRESS>

This should now be fixed in latest/stable :)


Create script using the twind arg does not have any twind use

Running the create script as thus:
deno run -A -r https://deno.land/x/ultra/create.ts twind

Produces an app that does not use Tailwind in the app. Here's what the app.tsx file looks like and you can see that there is no tailwind classes referenced in it:
import useAsset from "ultra/hooks/use-asset.js";
// Twind
import { TwindProvider } from "./twind/TwindProvider.tsx";

export default function App() {
  console.log("Hello world!");
  return (
    <TwindProvider>

          <meta charSet="utf-8" />
          <title>Ultra</title>
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <link rel="shortcut icon" href={useAsset("/favicon.ico")} />
          <link rel="stylesheet" href={useAsset("/style.css")} />

              __

              Welcome to{" "}
              Ultra. This is a barebones starter for your web
              app.

              Take{" "}

                this
              , you may need it where you are going. It will show you how to
              customise your routing, data fetching, and styling with popular
              libraries.

    </TwindProvider>
  );
}

I think it just needs
import { tw } from "twind" after that provider import

If your going from the with-twind example, you would need to place the provider around in the App on client and server if your receiving that context error.
We should probably rework the create so it matches the example?

@mashaal It works. Thank you!

@deckchairlabs it works with your solution too, but I think that @mashaal solution (#192) is better since it does not rely on extra code in the src/context and src/hooks folders, so I would prefer the the with-twind example be modeled after #192 (with one exception: #192 needs to show twind use in the HTML markup. The setup is correct, but tailwind styling is not applied to anything in app.tsx).

Setup works with PR #192, but an example of Tailwind styling is still needed.


buildRustCrate support editions

Motivation for this change
This is my initial version of editions support. I have a local change to carnix that also exposed the edition field (if availabe). I can finally build my private projects again that have dependencies with an edition = 2018 field in the Cargo.toml. \o/
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I am currently unable to apply / upload / propose the changes to carnix since my account is never created (tried months ago, tried now, …). One of the patches I wrote is below (the one for this PR; the other one crashes pijul :/). (cc @P-E-Meunier)

$ pijul patch 8pcBAtmobyqgYGqkvTieAvQKnxshTwQL2XXPhxbASRPdUAuhUaSNASMjxpqUcbmQnKPkLrYZFYLKPrRWsbfRiaZK
In "["src", "krate.rs"]":
From line 39:
+     pub edition: Option<String>,
In "["src", "output.rs"]":
From line 1013:
+
+         if let Some(ref edition) = meta.edition {
+             writeln!(w, "{}  edition = {};", indent, edition)?;
+         }
In "["src", "prefetch.rs"]":
From line 101:
+         let edition = v.get("package").and_then(|p| p.get("edition").map(|s| s.to_string()));
In "["src", "prefetch.rs"]":
From line 134:
+             edition

@GrahamcOfBorg build carnix buildRustCrateTests toml2nix cargo-download cargo-vendor cargo-update

I published the patch in pijul in the meantime: https://nest.pijul.com/pmeunier/carnix/discussions/27

@GrahamcOfBorg build carnix buildRustCrateTests toml2nix cargo-download cargo-vendor cargo-update

The Nix changes look good to me, haven't looked at the carnix patch itself yet.
The upstream carnix repo hasn't seen any changes in a while. After I made my Github mirror of it, it was forked to nix-community. Should we maybe update that repository and submit patches such as the edition one there?

@tazjin: the README in your fork states that the webpage https://nest.pijul.com/pmeunier/nix-rust is "offline". It indeed is, but the actual repository https://nest.pijul.com/pmeunier/carnix has changed recently.
GitHub, just like nest.pijul.com, allows people to delete repositories, and you can get a 404 from GitHub and from the Pijul Nest if the authors move their repositories, which is what happened here.
Also, I just accepted the edition patch, about a week after it's been submitted to that repository, which is not at all an unreasonable delay.
Obviously, the license of Carnix doesn't prevent you from forking it and maintaining a fork on GitHub, but I wrote about 95% of this tool, and while I agree that writing and maintaining an almost accurate README is a useful contribution, these few lines of text are still your main contribution to this project so far. Not only have you not cared to submit that contribution to the original repository, but you're also falsely implying in that README that this project has been abandoned, and that your GitHub repository is the new project home.
You could at least have asked me directly before doing this, but on the other hand, I understand. If I wanted to fork a project and claim authorship I would probably not ask the original authors.

@P-E-Meunier It hasn't been easy to get a hold of you on IRC, the Nest, Github or elsewhere - and not for a lack of trying. What is your preferred method of communication?
The second sentence of the README points people at the current repository on Pijul and has done so for a while. The README also makes it abundantly clear that the fork is not the development repository of carnix, and is merely attempting to track the source for the various versions of carnix on crates.io.
As I've just pushed the sources of Carnix 0.8.6 - 0.9.6 (extracted from crates.io, as it is not easily possible to get those from the patch list) I can take care of updating the README and making this even clearer.
Occasionally people will go looking for the source of carnix and either fail to find it entirely, or not be able to find the version they're looking for. The fork at nix-community is supposed to help with that.

these few lines of text are still your main contribution to this project so far

I'm not claiming to be a contributor to carnix itself anywhere, the repository is a mirror. But just to make it clear: My "contribution" is painstakingly extracting sources from crates.io, mirroring them into git with appropriate commits and tags and attempting to figure out what changed between versions to provide a changelog of sorts. These things are necessary due to your source repository frequently not matching what is released on crates.io or not being available at all.
I am grateful for your work on carnix, but that is separate from the structure that has to exist around such a project as it gains more traction.

and you can get a 404 from GitHub and from the Pijul Nest if the authors move their repositories

This isn't really relevant to this discussion, but Github establishes redirects if repositories are moved. (See for example the redirect on google/pulldown-cmark). This may be a useful feature to add to the Nest.


[BugFix][Cherry-Pick][Branch-2.5] Fix nullable struct column parse in parquet

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Cherry-Pick: #17699
Problem Summary(Required) ：

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_be_unittest

run starrocks_be_unittest

run starrocks_fe_unittest


Please publish to PyPI

This is a useful library, especially because Go uses this same format.
It'd be great if you could please publish this to PyPI to make it pip installable!

I've never done this before. Gotta lookup how to do it.

This is a pretty good guide, but could do with a TL;DR. https://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/quickstart.html#quick-start

https://pypi.python.org/pypi/durationpy

Hooray!

Oh, so, this didn't actually work - I think maybe you forgot to include the code?
Annoyingly, this might mean you need to add a MANIFEST.in file to describe where your code is.

whoops

@Miserlou try it now.


ci: disable running on the PodSpaces 1.1 environments due to migration

This disables our e2e tests against the 1.1 systems, due to the 1.1 -> 2.0 migration.

Merging and flagging for post-merge review

LGTM


fix for FortiOS 7.0.x

After upgrading from FortiOS 6.4.4 to FortiOS 7.0.3 we were getting probe_success=0 and an error 502 from wifi_ap_status.go
We fixed by changing line 43 from:
if err := c.Get("api/v2/monitor/wifi/ap_status", "vdom=&start=0&count=1000", &response); err != nil {
to:
if err := c.Get("api/v2/monitor/wifi/ap_status", "vdom=", &response); err != nil {
By the way the Fortinet API documentation states "No parameters" for the call to api/v2/monitor/wifi/ap_status both in 6.4.4 and 7.0.3.
They probably removed support for start and count parameters without warning because it was not supposed to be supported.

I guess you missing a wildcard after vdom= in both lines:
After replacement:
if err := c.Get("api/v2/monitor/wifi/ap_status", "vdom=*", &response); err != nil {

:tada: This issue has been resolved in version 1.15.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Chore] Improve directories naming

While working on https://github.com/cloudfoundry/korifi/issues/1091 we realised that there are few directories that have weird names and is probably worth renaming:

api/apis has nothing to do with API, instead it contains HTTP handlers. Maybe we can rename this to api/handlers
controllers/apis has nothing to do with API, it contains CRDs. It does not match the kubebuilder default crd directory name either. Therfore we could
a) rename it to controllers\crds to reflect it contains CRDs
b) rename it to controllers\api to match the kubebuilder convention

For what it's worth, the Kubebuilder convention for multiple API groups is to have it be apis. They recommended that naming in this doc we followed:
https://book.kubebuilder.io/migration/multi-group.html
That said we no longer have multiple groups like services., workloads. etc. so I think it's fine to rename it back to api. Just wanted to share why it was that way.


Datepicker: starting-day not working with localized date

Specifying an starting-day with a localized version of the date filter makes it not work. I've made a plunkr on it:
http://plnkr.co/edit/gKSC4cjQcWxJvamR9lli

Can you explain a little more in detail? Do you mean that the formatting is not being applied to the input on initialization?

Assuming that the initial formatting is the issue, this appears to be fixed in master - you can see it working with this Plunker.

The issue is that even when I'm defining starting-day="1", the week showed up on the calendar starts on Sunday. Indeed, I tried with several values on "starting-day" (2,3,4...) and the week keeps starting on Sunday.
The Plunker you have linked has the same issue.

Ah, I understand now. This indeed is a bug with the feature.

+1

+1

+1

Please do not +1 an issue - it serves only as noise.

So this turns out to actually be a usage issue - see this Plunker.
What happened is that the configuration should have been inside the datepicker-options attribute, which is bound to a value from your $scope.

Then can you please change the doc for the datepicker? It actually says that you "can" pass the configuration using the datepicker-options attribute. It should say you "must" use that attribute.

@nbkaladan, we've captured this in #4798.

vm.startOptions = {
minDate: new Date(),
dateDisabled: disabled,
startingDay: 1
}


Update update-deps.yml

Remove path, and use find since path is not supported here
All pull_request so that local test can be triggered. We can remove it later.

Pull requests are no longer supported. https://github.com/kubernetes/node-problem-detector/pull/956
/close


Querystrings don't support leading & and && in-between other pairs anymore

Since c87c466ffdb26da998c2d612cb0c601413c7a6e8 (using serde_qs for querystring parsing) the following querystrings are not parsed anymore:

http://example.com/?&msg=Hello
http://example.com/?msg=Hello& (Edit: my bad, still works)
http://example.com/?foo=bar&&msg=Hello

req.query() fails with missing field msg for all of them.
If I understand the spec correctly, a & at the start, at the end, or an && should be perfectly fine. Those empty byte sequences after splitting by & are just ignored.

This seems like a serde_qs issue, since parsing querystrings is that crate's entire purpose.  Using serde_urlencode does not support decoding nested structures like hashmaps and arrays, which although not part of x-www-form-urlencoded are commonly used

I've proposed a fix to serde_qs here https://github.com/samscott89/serde_qs/pull/31

I am wondering whether http-types should have some basic req.query() tests, to prevent possible regressions in the future (and maybe because serde_qs itself does not seem to have a CI in-place - which could be solved by contributing a copy of http-types' Github workflow to it)?

This might be a good start: https://github.com/http-rs/tide/commit/c282e92ed9a1a76dec17066daef77543fafa3ebf

The serde_qs fix was published as 0.6.1. There is no need to bump the version in http-types Cargo.toml since the "0.6.0" pattern includes bugfix releases, right?

Yeah, running cargo update on a project with only tide master uses serde_qs 0.6.1

Cool! I'll be so free to close the issue then 👍


Add SelectElement

references:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement
https://developer.mozilla.org/en-US/docs/Web/Events/change

I think exposing the following would be good:

HTMLSelectElement.selectedIndex: possibly consider only supporting selectedOptions since it actually works regardless of *.type
HTMLSelectElement.selectedOptions, which will also require ElementOption
HTMLSelectElement.type to return an enum for single/multi.

note: we already have the ChangeEvent type.

I am trying to implement this. Get/set value are similar to TextAreaElement. pub fn multiple(&self) -> bool cause no error. But methods for get/set selectedIndex as below:
pub fn selected_index(&self) -> Option<i64> {
    let si = js! (
        return @{self}.selectedIndex;
    ).try_into()
        .unwrap();
    if si < 0 {
        None
    } else {
        Some(si)
    }
}
pub fn set_selected_index(&self, selected_index: Option<i64>) {
    let selected_index = selected_index.unwrap_or(-1);
    js!{
        @(no_return)
        @{self}.selectedIndex = @{selected_index};
    }
}

Cause the following error which I do not know how to solve:
error[E0277]: the trait bound `webcore::newtype::Newtype<_, i64>: webcore::serialization::JsSerializeOwned` is not satisfied
   --> opensource-projects/stdweb/src/webcore/macros.rs:302:29
    |
302 |           $memory_required += $crate::private::JsSerializeOwned::memory_required_owned( &$name );
    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `webcore::serialization::JsSerializeOwned` is not implemented for `webcore::newtype::Newtype<_, i64>`
    |
   ::: opensource-projects/stdweb/src/webapi/html_elements/select.rs:44:9
    |
44  | /         js!{
45  | |             @(no_return)
46  | |             @{self}.selectedIndex = @{selected_index};
47  | |         }
    | |_________- in this macro invocation

I also want to implement a method to get selected values for <select> with multiple attribute.
/// Returns a Vec<String> of selected values, an empty Vec if there is no selected item.
pub fn values(&self) -> Vec<String>{
    let selectedOptions: ????RequiringTypeAnnotationHere???? = js!(
        return @{self}.selectedOptions;
    ).try_into().unwrap();
    let mut values = Vec::new();
    // Collect selected values
    values
}

I am very new to Rust and do not know where to go... Please give me some directions...

@limira The error message is rather long and confusing, but it says this:
the trait `webcore::serialization::JsSerializeOwned` is not implemented for `webcore::newtype::Newtype<_, i64>

What that means is that i64 cannot be sent to JS, which is correct: JS does not have support for 64-bit integers.
According to the official spec, the selectedIndex property is a long, which is a 32-bit signed integer. In Rust that means it should use i32.
As for selectedOptions, we try to keep the names similar to the official spec (unless there's a good reason not to), so I think it should be called selected_options.
As for its return type, it shouldn't return a Vec<String>, it should return an HTMLCollection, but since stdweb doesn't (currently) have support for HTMLCollection, I guess it should return a NodeList instead.
@koute Is that acceptable, or should we also add in HTMLCollection?

NodeList isn't going to work as foobar.selectedOptions instanceof NodeList is going to be false, so the conversion won't be allowed, and the interfaces are slightly different anyway. (One returns Nodes, the other Elements.)
So, yes, we should add a HtmlCollection type and use it in that selected_options method.

Ahh, you're right, yeah we should add in HtmlCollection then.

Oh no, I can't believe it! In js, long has 32 bit??? I don't like js, and now the reasons build up!
As for for selectedOptions. My intention is actually a method call selected_values not just values (I posted it at midnight in my timezone -> I certainly should stop staying up late). At first I want to add support for onchange event in yew, but unfortunately it requires some work on stdweb, and I just bring my thoughts as is to stdweb. It is my bad. (I think yew do not need HtmlCollection because it try to separate model and view, so it just need selected_values).
But for the consistency of stdweb, I will implement selected_options, then yew will extract value from them.
I am going to add html_collection.rs to src/webapi and try to implement it! (Don't know I can accomplish it or not :grin: )

What I have done now is: basic supports for OptionElement, SelectElement and HtmlCollection. Everything built successfully (not test yet). But I still want to add selected_values to SelectElement as below:
/// An [HtmlCollection](struct.HtmlCollection.html) representing
/// the set of <option> elements that are selected.
// https://html.spec.whatwg.org/#dom-select-selectedoptions
pub fn selected_options(&self) -> HtmlCollection {
    js!(
        return @{self}.selectedOptions;
    ).try_into().unwrap()
}

/// A convenient method to get values of all selected option elements
pub fn selected_values(&self) -> Vec<String> {
    self.selected_options()
        .iter().map(|e|{
            let e = unsafe { OptionElement::from_reference_unchecked( e.0 ) };
            e.value()
        }).collect::<Vec<String>>()
}

What I can do is using e.0 in OptionElement::from_reference_unchecked( e.0 ) to convert an Element to OptionElement (compiled, but not test yet). This requires a modification in the declaration of Element:
pub struct Element( pub(crate) Reference ); // Add pub(crate)

Is there a better solution to achieve this?
If adding selected_values to SelectElement is not acceptable inside stdweb. How can I implement it outside stdweb (such as in yew)?

I made a PR for this.

Oh no, I can't believe it! In js, long has 32 bit??? I don't like js, and now the reasons build up!

But long has nothing to do with JS: JS only has support for 64-bit floating point, it doesn't actually have integers at all.
long is a part of the W3C spec (which is designed to work with any language).
And long is 32-bit in C, C++, and other languages as well.

Is there a better solution to achieve this? If adding selected_values to SelectElement is not acceptable inside stdweb. How can I implement it outside stdweb (such as in yew)?

You would add a raw_value method to OptionElement (similar to InputElement::raw_value)

Make sure that OptionElement is marked as #[reference(subclass_of(EventTarget, Node, Element, HtmlElement))]

Then you would use try_into to convert it into an OptionElement and then call raw_value:
pub fn selected_values(&self) -> Vec<String> {
    self.selected_options().iter().map(|e| {
        let e: OptionElement = e.try_into().unwrap();
        e.raw_value()
    }).collect()
}


pytthonPackages.django_2_2: 2.2.7 -> 2.2.8

See https://docs.djangoproject.com/en/2.2/releases/2.2.8/

Motivation for this change
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Notify maintainers
cc @

I’ll port it to release-19.09 once merged.


goosex: Missing logger

Describe the bug
If you run migrations using goosex and they fail but you don't provide a logger to goosex via the SetLogger call, then you will get a panic: runtime error: invalid memory address or nil pointer dereference.
Expected behavior
We should default the logger to a standard logger or a noop logger. I'm open to either.

This has been resolved in #217


Feature Request: Support for Multiple Forwarding Rules in net-lb-app-int Module

Feature Request
I am using the net-lb-app-int module from the Cloud Foundation Fabric repository to configure an internal load balancer for my GCP setup. I need to configure multiple forwarding rules (one for HTTP and one for HTTPS), but the module currently does not support defining multiple forwarding rules for the same load balancer.
The current limitation can be seen in the net-lb-app-int module. However, as shown in the attached screenshot from my GCP environment, I need to configure two different frontend rules: one for HTTP (port 80) and one for HTTPS (port 443). The module should be able to handle this use case.
Current Situation:

Only one forwarding rule can be configured at a time.
Need to configure two forwarding rules (HTTP and HTTPS) for the same load balancer.

Proposed Solution:

Extend the net-lb-app-int module to support multiple forwarding rules (e.g., adding a list input for forwarding_rules to allow for multiple protocol and port combinations).
Example:forwarding_rules = [
  {
    protocol = "HTTP"
    port     = 80
  },
  {
    protocol = "HTTPS"
    port     = 443
  }
]

Example manual configuration:

using resources:
resource "google_compute_forwarding_rule" "INTERNAL_FWD_RULE_HTTP" {
  name                  = "frontend-80"
  depends_on            = [google_compute_subnetwork.proxy_subnet]
  ip_protocol = "TCP"
  load_balancing_scheme = "INTERNAL_MANAGED"
  target                = google_compute_region_target_http_proxy.default.self_link
  ip_address            = google_compute_address.internal_with_subnet_and_address.address
  network               = google_compute_network.default.id
  subnetwork            = google_compute_subnetwork.default.id
  port_range            = "80"
}
resource "google_compute_forwarding_rule" "INTERNAL_FWD_RULE_HTTPS" {
  name                  = "frontend-443"
  depends_on            = [google_compute_subnetwork.proxy_subnet]
  ip_protocol = "TCP"
  load_balancing_scheme = "INTERNAL_MANAGED"
  target                = google_compute_region_target_https_proxy.default.self_link
  ip_address            = google_compute_address.internal_with_subnet_and_address.address
  network               = google_compute_network.default.id
  subnetwork            = google_compute_subnetwork.default.id
  port_range            = "443"

You should use an additional load balancer, as shown in this external app LB example.


 The cool thing with these events is the ability to have more interactive experiences where something happens depending on the user's facial expression.
See this for example.

sounds interesting.

blendshapes is added in v1.2.5
check out this example for reference: https://hiukim.github.io/mind-ar-js-doc/more-examples/threejs-face-blendshapes


Leftover commits from before code migration: Failed ticket fixes

Some commits from the old git not present in this repository. Maybe they are still useful.

Looks good, not sure why these were lost.


0.18.2 Scroll wheel to change weapons doesn't work

I've found that often I can't change weapons with the scroll wheel

Scroll wheel is reserved for zoom function. If you want to switch weapons you could use the number keys or the quick switch toggle, by default is the comma key

I might be able to put scroll wheel back if zoom feature isn't on

I've rebound scroll wheel to change weapons. It works sometimes but I just played a round where the frist (and only) weapon I picked up was M416 and I couldn't change back to fists

Scroll wheel will work normally if you have zoom feature disabled. If you had zoom enabled and you want scroll wheel functionality back, you might have to restart the game for it to take effect. Should make that easier so you don't have to bind weapon changing to scroll wheel.
This also means if you have zoom disabled, you can use both the scroll wheel and the quick switch toggle to change weapons.


aws cloud doc

AWS EC2 with self-managed kubernetes cluster (ipvlan + spiderpool + aws-lb-controller LB&Ingress)
Signed-off-by: Icarus9913<EMAIL_ADDRESS>

少了 引用链接
usage/install/

fix the  conflict


As an editor I want to create tags so that articles can be filtered

Acceptance criteria

Create and add tags in Sanity Studio for news articles
Find a way to handle language
Create rules for tagging documents (how many, length, etc)

In order to ensure good quality we should (Keep the ones we need for this US)

[ ] Perform integration testing
[ ] Perform functional testing
[ ] Extra focus on usability
[ ] Test for portability
[ ] Test for accessibility
[ ] Create automated acceptance test/smoke test
[ ] Perform performance and load test
[ ] Perform user testing
[ ] Perform security testing

This is good, but perhaps you could add some more details on what this user story should cover? Put yourself into a tester's shoes; how can you verify that this user story is done?
And before you start working on this issue have a meeting with the team to go through different aspects so that we make sure we agree on the solution. @adneforslund

@nicholas-haggerty What do you think about the current solution?


Surveys on chart

This PR is scheduled to fix https://github.com/aqualinkorg/aqualink-app/issues/287. The design implemented looks like this:

Let's try to match the designs for the points

The colors appear in the wrong order for me and the chart appears darker than it should? Maybe two layers are overlapping when they weren't?

The color of the graph is darker than the one on master (deployed on staging - https://aqualink-app-staging.web.app/ )


canvg optionalDependency is installed on npm install

Because it's declared as dependency in package.json, canvg is installed and loads core-js from babel.
My project uses angular and angular-cli throws warnings about those, because<EMAIL_ADDRESS>already handles core-js imports automatically.
WARNING in /Users/tibi/Desktop/Projects/Coneixar/expertlive.ro/Beta/expertlive-web/node_modules/canvg/lib/index.es.js depends on '@babel/runtime-corejs3/regenerator'. CommonJS or AMD dependencies can cause optimization bailouts.
For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies

I've already opened an issue in canvg repo, but the problem is in fact in jspdf repo. https://github.com/canvg/canvg/issues/1253

You best option is probably to mark canvg as external as described in the readme. However, you need to modify your webpack config for this. Alternatively you can simply ignore the warnings and just don't use the created canvg bundle, since your app doesn't need it.
AFAIK, there is not much we can do about this situation on our side, but if you think otherwise I will gladly let you convince me.

if there is not a mandatory plugin then setting it to a peer-dependency rather than a dependency will allow consumers to just put it in devDependencies and it should be excluded from the built project, would this be possible?

@pete-mcwilliams what kind of dependency it is does AKAIK not matter for the build tools. They will create a chunk for the optional dependencies no matter what. However, since the optional dependencies are imported with dynamic imports, they will end up in separate chunks. These chunks will only be loaded when the respective code paths are executed.
Currently, the optional dependencies are declared as "optionalDependencies". Making them "peerDependencies" will not really make a difference with npm 7+ (See e.g. https://github.blog/2021-02-02-npm-7-is-now-generally-available/#peer-dependencies), as they will get installed automatically, too.

For me I include this lines to my angular.json file :
"build": {
  "builder": "@angular-devkit/build-angular:browser",
  "options": {
    "allowedCommonJsDependencies": [
              "raf",
              "@babel/runtime-corejs3"
    ]
    // ...
  }
  // ...
},

It work for me and remove warnings


(PUP-10405) Fix undefined method error when querying environments

This commit ensures that we return an empty array, rather than nil, when
validating environment directories. Previously, if you didn't have an
@environment_dir, an undefined method error would be thrown when trying to
query environments:
$ curl https://localhost:8140/puppet/v3/environments -H "Content-type: application/json" -k
{"message":"Server Error: undefined method `collect' for nil:NilClass","issue_kind":"RUNTIME_ERROR"}%

When I query environments after this change:
$ curl https://localhost:8140/puppet/v3/environments -H "Content-type: application/json" -k
{"search_paths":["file:///Users/molly.waggett/.puppetlabs/etc/code/environments","data:text/plain,internal"],"environments":{}}%

Could you add a unit test for this? I'm thinking creating a loader with a non-existent directory path and call loader.list should return an empty list?

@joshcooper sure 😊

CLA signed by all contributors.


Upgrade to ZK 3.4.6

hi there, I was wondering if there is any particular reason that is forcing you to keep using zk 3.4.3 rather than upgrading to 3.4.6.

Upgrade and released with 0.6 release!


Generate GraalVM native images from package sub-command

It'd be great to have an option allowing to generate GraalVM native images. Ideally, it should allow one to pick a GraalVM version, decide whether it should be a Java 8 or Java 11 version of GraalVM.
coursier-jvm, that we use to download JVMs, already allows to automatically download and unpack GraalVM distributions.
The coursier helpers that we use to generate assemblies or standalone JARs should also allow to generate native images, but I'm not sure how well they work… It'd probably be better to just handle this ourselves, using coursier-jvm to download and unpack the GraalVM distributions.
It would also be interesting to ensure that this works fine along with .deb / .rpm / .msi / etc. generation (generating archives that don't depend on the JVM, MSI that automatically install Visual C++ redistributable, etc.)

Fixed by https://github.com/VirtusLab/scala-cli/pull/773.


Refactor consent prompt and move it to identity-appsupport.

Add support for intentToRetain and add new sample requests to identity-doctypes library.
Make TrustPoint available in multiplatform. This includes switching to using X509Cert instead of X509Certificate (which is Java-only).
Update to match design and UX in the functional specification document.
Rename to ConsentModalBottomSheet and for easier embedding take a SheetState.
Introduce ConsentDocument and ConsentRelyingParty to capture information to display in the sheet.
Fix height so it's not constant-height but dynamically adjusts according to how much content there is
Instead of disabling the "Share" button and displaying "Scroll down", turn the "Share" button into a "More" button which will scroll down. This matches the behavior in other wallets
Add support in samples/testapp for this for all the use-cases.
Use Material You in samples/testapp
Rework navigation in samples/testapp
Update some dependencies.

Test: Manually tested in samples/testapp on Android and iOS.

Thanks for the review, implemented all your suggestions.


Dependencies: set fix version for dependencies

itsdangerous, werkzeug, joblib should be locked at an older revision for the docker build to succeed.
Signed-off-by: Nicolae Natea<EMAIL_ADDRESS>

Normally this change wouldn't be required if python 3.6 was used, but pytorch/pytorch:1.9.0-cuda11.1-cudnn8-runtime seems to have python 3.7


CSS cannot be loaded

Hello, I did not understand what are the js and css files to download for my html, if i download leaflet-measure.js and leaflet-measure.scss on my site tells me this:

Solved, downloaded js and css from the demo site..

thanks


add reducers and actions to the app

In this milestone of my project, I implemented the following changes:

Added redux Toolkit
Structured my application files using a "feature folder" approach and used the ducks pattern for my Redux files.
Wrote my book's actions and reducer.
Write my categories actions and reducer.
Configured the Redux Store

Hello @BertrandConxy 👋🏼 ,
Thank you for taking out time to swiftly review and approve this PR. You are amazing.


Added overload for lookAt

Doesn't make sense to me to mix floats and a Vector3. It should be all floats or all Vector3s in my opinion.


Lack of Kiosk mode

I would love to have a kiosk mode setting.
Keep in mind there's some issues with keyboard input and kiosk mode (maybe offer kiosk-like as per comment) on mac & win.
Example Kiosk mode manifest
{
	"name": "client_brand_project",
	"main": "app://./index.html",
	"window": {
		"title": "Fancy Window Title",
		"width": 1920,
		"height": 1080,
		"kiosk": true,
	}
}

Kiosk emulation hack (for working mouse/keyboard controls)
{
	"name": "client_brand_project",
	"main": "app://./index.html",
	"window": {
		"title": "Fancy Window Title",
		"width": 1920,
		"height": 1080,
		"toolbar": false,
		"frame": false,
		"show": true,
		"kiosk": false,
		"fullscreen": false,
		"always-on-top": true,
		"resizable": false
	}
}

Hey Martin,
Thank you for the excellent feature request!
I am aware of the kiosk mode being absent. I left it out because of the instability I experienced when I used it. But with the new information you have provided, I can include it with the workaround in the new GUI redesign.
Cheers!

I'm not going to include the "kiosk emulation" mode in the GUI because you do have to add some javascript to make it work, which will confuse users. I will add the kiosk mode, though, in the next build.

Hah, nevermind. I was doing it wrong. I put a kiosk emulation section in the window settings and it works pretty well. Thanks for the suggestion!


Add Coveralls to project

See e.g. https://github.com/sul-dlss/libsys-webforms/pull/7/files

Also ignore coverage dir: see https://github.com/sul-dlss/libsys-webforms/pull/9/files


add async stop() function to STM32 dma ringbuffers

This MR adds an async stop() function to the STM32 DMA ringbuffers. This allows the users of the ring buffers to async await while the hardware writes all of the samples or until the hardware reads the entire buffer.

@Dirbaio Does this one look OK? Any other reviewers you could suggest?

This did not rebase like I wanted. It is now a simpler change. I will close this MR and create a new one.


Allow user to override all options

There are some experimental options, so it'd be great that these options are configurable.

Thanks!


Ideally, we do analysis during the build and realize if it's another lazy engine, there will be a bundle generated and use the asset loader when we resolve the transition

@rwjblue I would like to work on this if you are not currently.
@krisselden I would appreciate your insights into this :)

Nvm. I had the wrong idea~


[Bug]:  Embedding failed with pipeline 'shiyu/img_object_embedding_pytorch_yolov5_resnet50'

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
>>> from towhee import pipeline
>>> from PIL import Image
>>> img_path = '/Users/binbin/Towhee_projects/2021825-19039.jpg'
>>> img_path = '/Users/binbin/Towhee_projects/2021825-19039.jpg'
>>> embedding_pipeline = pipeline('shiyu/img_object_embedding_pytorch_yolov5_resnet50')
>>> embedding = embedding_pipeline(img_path)
Downloading: "https://github.com/ultralytics/yolov5/archive/master.zip" to /Users/binbin/.cache/torch/hub/master.zip
No module named 'seaborn'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/binbin/Towhee_projects/towhee-test-env/lib/python3.8/site-packages/towhee/__init__.py", line 78, in __call__
    out_df = self._pipeline(in_df)
  File "/Users/binbin/Towhee_projects/towhee-test-env/lib/python3.8/site-packages/towhee/engine/pipeline.py", line 111, in __call__
    graph_ctx.outputs.wait_sealed()
  File "/Users/binbin/Towhee_projects/towhee-test-env/lib/python3.8/site-packages/towhee/dataframe/dataframe.py", line 156, in wait_sealed
    self._seal_cv.wait()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py", line 302, in wait
    waiter.acquire()

Expected Behavior
Embedding successfully
Steps To Reproduce
from towhee import pipeline
from PIL import Image
img_path = '/Users/binbin/Towhee_projects/2021825-19039.jpg'
embedding_pipeline = pipeline('shiyu/img_object_embedding_pytorch_yolov5_resnet50')
embedding = embedding_pipeline(img_path)

Environment
- Towhee version(e.g. v0.1.3 or 8b23a93): 0.2.2
- OS(Ubuntu or CentOS): mac
- CPU/Memory:
- GPU:
- Others:

Anything else?
No response

/assign @shiyu22

Hi @binbinlv , you can try to install seaborn by running python -m pip install seaborn, refer to it.

@shiyu22 when install "seaborn" manually, it works.
Could you please help to handle this module? Thanks.

I have added seaborn on requirements.txt, you can test it again.

Verified, and fixed.


Chore:show the current pwd to make the scala-stew works

Motivation:
Testing the current working directory

@He-Pin Can you also add the relevant xmx https://github.com/apache/pekko-http/blob/3c567c0cc8c10b1eb115d524c5cf6cf5e5f5b62a/.github/workflows/publish-1.0-docs.yml#L49 , this may solve the issue in a nicer way

@mdedetrich Just updated

@mdedetrich Just updated

You added it to wrong place, see comment


Add backprop for Softmax

Implements backprop for Softmax graph op.

This change is

Updated the test to run with 0.3.15.
Btw, the backprop logic is from here https://github.com/tensorflow/tensorflow/blob/97a4c226e8a9e7c5c36fc38e2b9f8459c77abd5a/tensorflow/python/ops/nn_grad.py#L206

Nice! Thanks for the contribution :)

Review status: 0 of 2 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Support for Unary operators

So we could write +5 or -SQRT(9)
Currently it throws exception.

This will require some tricky changes in the parser locgic. I will leave this issue open, maybe I will find some time, or there is a clever contributor who wants to earn eternal fame and honour ... ;-)

I've wrote a parser that support unary operator in Kotlin.
Here is my project - https://gitlab.com/yoav-sternberg/algebraEval (it was done for learning how to parse expressions, but yes it is based on EvalEx.), if someone want to port the unary part, you are welcome.

Thank you very much for this code snippet!

'not'  or '!' as a unary operator would be nice, as that is pretty common in many expressions.

I would love to see this added to the project. It appears it hasn't been worked on recently.


fix: Only allow modify built-in tags when editing the pipeline

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
Summary
(describe what this merge request does)
Implementation highlights
(describe how the merge request does for feature changes, share the RFC link if it has)
Test checklist

[ ] add new test cases
[x] all code changes are covered by unit tests
[ ] end-to-end tests

[x] deploy web console with CloudFront + S3 + API gateway
[ ] deploy web console within VPC
[ ] deploy ingestion server

[ ] with MSK sink
[ ] with KDS sink
[ ] with S3 sink

[ ] deploy data processing
[ ] deploy data modeling

[ ] new Redshift Serverless
[ ] provisioned Redshift
[ ] Athena

[ ] deploy with reporting
[ ] streaming ingestion

[ ] with Redshift Serverless
[ ] with provisioned Redshift

Is it a breaking change

[ ] add parameters without default value in stack
[ ] introduce new service permission in stack
[ ] introduce new top level stack module

Miscellaneous

[ ] introduce new symbol link source file(s) to be shared among infra code, web console frontend, and web console backend

SonarQube Quality Gate Result

Result: :white_check_mark: OK
Triggered by @tyyzqmf on pull_request

Metric
Status
Value
Error Threshold

Reliability rating
:white_check_mark: OK
1
> 1

Security rating
:white_check_mark: OK
1
> 1

Sqale rating
:white_check_mark: OK
1
> 1

Coverage
:white_check_mark: OK
83.70
< 80

Duplicated lines density
:white_check_mark: OK
8.50
> 30

Blocker violations
:white_check_mark: OK
0
> 0

Bugs
:white_check_mark: OK
0
> 0

Code smells
:white_check_mark: OK
9
> 40

Critical violations
:white_check_mark: OK
0
> 0

Major violations
:white_check_mark: OK
0
> 0

Vulnerabilities
:white_check_mark: OK
0
> 0

View on SonarQube
updated: 7/26/2024, 04:57:14 (UTC+0)

SonarQube Code Analytics
Quality Gate passed

Additional information
The following metrics might not affect the Quality Gate status but improving them will improve your project code quality.
Issues
 0 Bugs
 0 Vulnerabilities
 0 Code Smells
Coverage and Duplications
No data Coverage
No data Duplication

what happens to add new tags / editing or removing non-builtin tags when editing pipeline

Non-builtin tags can be modified normally.

hope having UT to cover it
what will happen in server-side if the request is willing to update default tags?

Server-side will overwrite built-in tags if that be updated.

fix in https://github.com/awslabs/clickstream-analytics-on-aws/pull/1555

SonarQube Quality Gate Result

Result: :white_check_mark: OK
Triggered by @tyyzqmf on pull_request

Metric
Status
Value
Error Threshold

Reliability rating
:white_check_mark: OK
1
> 1

Security rating
:white_check_mark: OK
1
> 1

Sqale rating
:white_check_mark: OK
1
> 1

Coverage
:white_check_mark: OK
83.70
< 80

Duplicated lines density
:white_check_mark: OK
8.50
> 30

Blocker violations
:white_check_mark: OK
0
> 0

Bugs
:white_check_mark: OK
0
> 0

Code smells
:white_check_mark: OK
9
> 40

Critical violations
:white_check_mark: OK
0
> 0

Major violations
:white_check_mark: OK
0
> 0

Vulnerabilities
:white_check_mark: OK
0
> 0

View on SonarQube
updated: 7/26/2024, 10:51:09 (UTC+0)


builds stuck

I actually didn't change my code, so something changed in your backend.
See: http://inch-ci.org/github/sagiegurari/node-spider-script/builds
The last 2 builds there are stuff on running forever.

Fixed it. Thanks for the bug report! :+1:

thanks, works.
but if you check all builds link in your site, you will see some builds are still 'running' (i'm sure they are not).
http://inch-ci.org/github/sagiegurari/node-spider-script/builds
doesn't bother me, but just check something is not stuck in your server process and consuming cpu/memory.

Ah, that's a UI issue.
The builds are dead and already marked as such, but the JS timers are counting up nonetheless.

Hi @rrrene,
Thanks for this useful service. :+1:
I have the same problem. Some builds are stuck and run forever.
http://inch-ci.org/github/panzerdp/voca/builds
What could be the problem?
Thanks.

@panzerdp I'm not sure. I ran my usual checklist and now I am a bit out of ideas. o_O
Sorry, but this might take a while, since I'm swamped with work right now :disappointed:


Let us add the calendar emoji infront of dates to make this plugin compatible with Tasks Plugin

Let us add the calendar emoji infront of dates to make this plugin compatible with Tasks Plugin. I use tasks Plugin and they have a very specific way to enter reminder dates. Right now adding dates through your plugin does not show in Tasks Plugin

Have you tried to add the emoji in the date format of the settings?

It is possible to add any kind of emoji inside the date format field now. I'm also using both of this amazing plugins. So I have another feature request in combination with task plugin: I would like to create multiple custom date formats to quickly add different task dates (start, due, scheduled). A solution for this could be to add different triggers for different date formats. But any other solution is also welcome.

Hi @702573n, this sounds a bit out of scope for nldates. Have you tried asking the tasks plugin dev to provide such a format? nldates does provide a way for devs to use the parser.


Failure: Chunk loaded is too big for the decoder

Error
Building RWO with the distributed dune cache enabled on an irmin-git backend triggers
dune-cache-daemon: [ERROR] The client wants to refill the internal buffer by a bigger input.
Fatal error: exception (Failure
  "Chunk loaded from /tmp/cache-daemon/.git/objects/e8/bfdd88a44fd6ea1bc1b8f5366eae2b7078458f is too big (32763 bytes) for the decoder (max: 32768 bytes)")
Raised at file "string.ml", line 115, characters 19-34
Called from file "sexp.ml", line 112, characters 13-47

Note that the chunk (32763 bytes) is actually smaller that the maximum (32768 bytes).
This information might be enough to find the issue, but if needed here is the full procedure to reproduce (not exactly lean, sorry, the cache daemon is still in development).
Steps to reproduce

RWO

Get RWO book from https://github.com/realworldocaml/book. Although any commit should do, I'm on ef72ecda66413f206da60e78275b415f1c87bd25.
Create a 4.10.0 opam switch there.
Pin dune : opam pin dune.2.5.1 https://github/mefyl/dune#feature/sietch-hinting

Cache daemon

Clone from https://github.com/mefyl/dune-cache-daemon
Pin dune private libs : opam pin dune-private-libs.2.5.1 https://github/mefyl/dune#feature/sietch-hinting
opam install cmdliner irmin irmin-meme irmin-unix lwt_ppx (DTRT if I forgot one)
dune build && dune install
start the daemon : dune-cache-daemon start -f --distribution git:///tmp/cache-daemon

Build

Back to RWO, DUNE_CACHE=enabled dune build
You should see the daemon spit out loads of "promote ..." messages
Once dune is done building, you should see a "add commits index for ..." message
The daemon is now distributing the artifacts to irmin asynchronously, you can check things are moving in /tmp/cache-daemon.
After some time (less than a minute for me) you should get the exception.

I seem to be hitting a similar issue in ocaml-ci:
Fatal error: exception (Failure
  "Failed to read tree: Chunk loaded from opam-repository/objects/bd/7bd0f70caddf32bef2cad35ac4a79e8244a46a is too big (32768 bytes) for the decoder (max: 32768 bytes)")
Fatal error: exception (Failure
  "Failed to read tree: Chunk loaded from opam-repository/objects/bd/7bd0f70caddf32bef2cad35ac4a79e8244a46a is too big (32768 bytes) for the decoder (max: 32768 bytes)")
Fatal error: exception (Failure
  "Failed to read tree: Chunk loaded from opam-repository/objects/bd/7bd0f70caddf32bef2cad35ac4a79e8244a46a is too big (32768 bytes) for the decoder (max: 32768 bytes)")
Fatal error: exception (Failure
  "Failed to read tree: Chunk loaded from opam-repository/objects/bd/7bd0f70caddf32bef2cad35ac4a79e8244a46a is too big (32768 bytes) for the decoder (max: 32768 bytes)")

Here is a reproduction case with the following archive: https://cloud.disroot.org/s/XzWYDmgB8YBMtE4
$ tar xvf opam-repo.tar.gz
$ mv opam-repository/ .git
$ ogit-cat-file -p bd7bd0f70caddf32bef2cad35ac4a79e8244a46a
+12169us   [error][] git.decoder: The client wants to refill the internal buffer by a bigger input.
ogit-cat-file: (`Store Chunk loaded from /tmp/lolo/.git/objects/bd/7bd0f70caddf32bef2cad35ac4a79e8244a46a is too big (32768 bytes) for the decoder (max: 32768 bytes))

I was testing locally, and I think the act of fetching the latest commits from opam-repository moved it into a "broken" state that triggers this bug. I'm quite worried that the production CI might do a fetch and become broken in the same way.

The error should be partially fixed with: https://github.com/mirage/ocaml-git/pull/389, can you try to reproduce it?

That fixes it for me - thanks!

@dinosaure should this be closed?


make the spinal cord straightening faster

As the warping field of the straightening is quite smooth, we can reduce the dimension of the deformation and then upsampling the warping field of the output image.
This enhancement needs huge tests because it affects important aspects of the template registration.

done by using hanning window for curve fitting: 179b9ad0d7f0246534acb36c6333e760b188f730


Keyboard interrupt behavior (ctrl+c) not working as intended in terminal

Expected Behavior
Pressing control + c in the terminal should interrupt the program and the dialogue "do you wish to continue (y/n):" should show.
Current Behavior
Pressing control + c only shows keyboard interrupt and nothing happens even after pressing control + c more multiple times.
Steps to Reproduce

Run webui.bat
Let it load
Open the webui
Go to the terminal and press control + c
Press control + c more and nothing happens

Possible Solution
I'm not sure.
Screenshots

Hi. I'll be moving the entire ui to the new lord of llms backend. Many things will change which means this problem could be solved.