Parser halt when there is a NUL char in the parsed string

If you crawl a webpage with a nul char inside the nokogiri parser will halt when reading it.
Maybe mechanize should handle this.
It's a way for somebody who don't want to be crawled to block you.
https://github.com/sparklemotion/nokogiri/issues/1240

As you can see from the Nokogiri thread, it's related to libxml so nothing we can do here.


chore: remove ComputeTask pre GT links

Companion PR

https://github.com/Substra/substra-frontend/pull/182

Description
Generic task moved some of the entities linked with a compute task to ComputeTaskInputAsset/ComputeTaskOutputAsset. In this case, DataSample and DataManager are now used through ComputeTaskInputAsset.
How has this been tested?
CI
Checklist

[x] changelog was updated with notable changes
[ ] documentation was updated

/e2e --tests sdk,frontend,substrafl --benchmarks mnist,camelyon

End to end tests: :hourglass_flowing_sand: STARTING

/e2e --tests sdk,frontend,substrafl --benchmarks mnist,camelyon

End to end tests: :hourglass_flowing_sand: STARTING


PPA / Repository for Ubuntu / Debian derivates

It wold be wonderful if there would be an official repository containing stable builds of Nylas Mail (again).
There is already a hook for adding the legacy repository. So the new URL and public key should be added to it as well.
Thank you in advance!

Hey - I'll have a look into this.
Do we have the old packaging code?

I'm not ure about it but I think they used this task for it.

That's a shame, it doesn't use the standard build process, and would need to have proper packaging made up for it. Let me see what I can do.

Running npm run build-client should output a .deb into the dist directory, as well as an rpm.

For what t is worth, I believe Mailspring will be using snap to package. It looks like that will be one package for all distros? Perhaps worth looking into.

Well the nice thing about either ppa or snap would be that you can have it autobuild. But I didn't actually use it, and things might still change.


Allow resume from hibernation

This PR is aimed at appending to kernel boot parameters the btrfs offset and uuid of the file /home/swapfile when such file is present.
This in turn allows an initramfs that was generated with mkinitcpio containtaining the "resume" hook so resume from hibernation.
This PR is therefore required to support sleeping consoles that only supports S5 status.

Very nice. Will this work after install? i.e. does the /home/swapfile exist at that point?


chore: typescript migration of client/i18n/locales.test.js

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Is part of #43778

I just realized there's another PR for this file open at #45608.
Gonna close this one.


Transpose action affects editor line even when another text input has focus

VSCode Version: 1.23.0-insider (1.23.0-insider) fe9d9532ea6264152c144bd2ba3a6db2cd1732e3 2018-04-12T05:05:41.502Z

OS Version: macOS 10.13.5 Beta (17F35e)

Steps to Reproduce:

Open a text file for editing (new/untitled works).
Type "ab" then place cursor between "a" and "b".
Open the command palette or enter the "rename file" mode to get text input focus on a text field element.
Type "xy" in the text field, then place the cursor between "x" and "y".
Hit ctrl-t or whatever your transpose characters keybinding is.

Expected results: the text field should now display "yx".
Actual results: the text field is unaltered, but the underlying editor now displays "ba".
Note that this bug does not appear to affect the integrated terminal. If you focus on the editor window, then the integrated terminal, then the text input, then hit ctrl-t, the editor window still receives the transpose action.
Does this issue occur when all extensions are disabled?: Yes

I could not reproduce, when I hit ctrl+T in the rename input text field I get the characters swapped in the input text field:

The two input fields I reproduced with were:

command palette
file explorer rename

Can you please try those? Thank you,
George

On Apr 13, 2018, at 9:03 AM, Alexandru Dima<EMAIL_ADDRESS>wrote:
I could not reproduce, when I hit ctrl+T in the rename input text field I get the characters swapped in the input text field:
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@gwk I cannot reproduce
Did you perhaps install an extension that binds Ctrl+T or perhaps you have edited your keybindings.json ?


[SUGGESTION] Make LiteDbExplorer the official LiteDB Studio.

Is your feature request related to a problem? Please describe.
Not really a problem other than the solution, in my opinion, is more advanced than the current Studio.
Describe the solution you'd like
Would you consider using https://github.com/julianpaulozzi/LiteDbExplorer as the official LiteDB Studio?

LiteDbExplorer is the best tool for LiteDB, ever. But, current version works to v4 only. New v5 works with SQL syntax to query, insert, update, delete or execute any other commands. I will talk with @julianpaulozzi about his plan with LiteDbExplorer

Thank you for enjoying the LiteDbExplorer project. It took many hours of work to considerably evolve the original project.
Any contribution and/or suggestion is welcome, you can submit suggestions by creating an issue on Github.
Yes, I intend to support version 5, I would just like to do it in the same executable and project.
Follow Enchancement Request: V5 Support.
SQL to query is not a problem, there is already an abstraction and composition layer capable of handling this with minor adjustments.
I did a little test using the 2 assemblies together using the AppDomain and CodeBase with the extern alias with initial success.
The challenge now would be not to use the concrete references to BsonValue, BsonType, BsonDocument, BsonArray and ObjectId (almost equal shape in different assemblies) and made some cherry pick versions futures.

HI and thanks for the reply! I suppose that v4 will be out of support soon, and therefore even if LiteDbExplorer support only v5 would be ok. BUt that's, of course, is up to you :)
Also because v5 has an option to upgrade a v4 db to v5.
Anyway I hope v5 support for LiteDbExplorer will be available soon :)
Keep up the goo job!


readme updates

https://github.ibm.com/IBMPrivateCloud/roadmap/issues/37589

waiting for @lcox to review

Do not merge until operator version has been bumped

ready for review

/retest


Allow VideoPost to return the actual video_url

The VideoPost class is missing the definition and return of the field video_url. This adds this field as a valid return for this class.

Could you add the field to VideoPostTest.java?
It's a little bit tricky because there is either a permalink_url (external videos) or video_url (native videos).

Sorry about the changes to "Blog.java" I made other edits that were removed. Unfortunately it looks like the end of file marker changed during the edit, causing the "change" to be included with this one.

Hi. Did this PR ever go into master? I'm having a similar issue and it looks like I might have to fork and run an ad-hoc local build with @Linus12's patch 👎


chore: update e2e module with cosmos github org

I realised that we were still using Serdar's GitHub in the module name for e2e.
In a follow up PR I will get rid of the interchaintestv8 folder in e2e, and move all the files to the top e2e folder. I doesn't seem to add any purpose to have the extra folder.

We plan to merge this repo with solidity at some point, we can do this at that time.


[BEAM-1313] Use a temp directory for requirements cache in test_with_requirements_file

The test fails in jenkins when there are leftover files in the default folder
for the requirements cache either from earlier tests, or from the previous
workspaces.

R: @robertwb

Changes Unknown when pulling 537da288f33711831d44fe8d181f31094a96f226 on aaltay:reqs into ** on apache:python-sdk**.

Thank you.


update automation workflow to build clean and success

Based on the github action,
Seems like the fix is added which is part of this branch https://github.com/cloud-native-toolkit/terraform-gitops-cp-platform-navigator/tree/cp4i-2022-2-1


Verification of Sonar Quality Gate

Codecov Report

Merging #73 (c621694) into master (f00fc47) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #73   +/-   ##
=======================================
  Coverage   89.47%   89.47%
=======================================
  Files          49       49
  Lines        3723     3723
  Branches      621      621
=======================================
  Hits         3331     3331
  Misses        276      276
  Partials      116      116

Continue to review full report at Codecov.

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


The property of 'Soft Delete' still displays as Disabled after enabling it from 'Delete Blob' dialog

Storage Explorer Version: 1.4.0
Platform/OS Version: Windows 10/MacOS High Sierra/ Linux Ubuntu 16.04
Architecture: ia32/x64
Build Number: 20180724.5
Commit: 2605f1c9
Regression From: Not a regression
Steps to Reproduce:

Expand one account and make sure the soft delete is disabled for 'Blob Containers'.
Open one blob container -> Choose a blob then click 'Delete' -> Click 'Enable Soft Delete' button on the dialog.
Check the property of 'Soft Delete' in Properties panel after enabling soft delete successfully.

Expected Experience:
The property of the 'Soft Delete' displays as 'Enabled'
Actual Experience:
The property of the 'Soft Delete' still displays as 'Disabled'.
This issue also reproduces after changing the soft delete policy from the attached account.

Our code currently doesn't have the ability to update the properties panel from the editor. It won't be fixed for 1.4.0. We will investigate how to do it.

The property of the 'Soft Delete' displays as 'Enabled' after refreshing the Blob Containers node.

Won't fix per future feature work disrupting soft delete.


feat: iOS support

Added notification config for iOS
Update hardcoded paths to support multi-platform
NOTE: Currently these changes have been tested only for production released features

That's a new error in CI

Blocking this PR until we get an Apple Developer Account. Also leaving this open as a draft as the PR will need to be updated once we get the Developer Account.


Support duplicate interpolations inside a repetition

quote! { #a #a } works but quote! { #(#a #a)* } does not.

I don't think this is possible with quote! being a macro_rules! macro because macro_rules does not expose any way to compare idents for equality.
Rewriting quote! as a procedural macro (using proc-macro-hack) would make it possible to fix this but I would prefer to wait until functionlike!() procedural macros are supported for real.

This is the work-around I have been using for this issue:
let a2 = &a
quote! { #(#a #a2)* }

Nope, that doesn't actually compile!
#[macro_use]
extern crate quote;

fn main() {
    let foo: Vec<&str> = Vec::new();
    let foo2 = &foo;
    quote! {
        #(#foo #foo2)*
    };
}

error[E0505]: cannot move out of `foo` because it is borrowed
 --> src/main.rs:7:5
  |
6 |       let foo2 = &foo;
  |                   --- borrow of `foo` occurs here
7 |       quote! {
  |  _____^ starting here...
8 | |         #(#foo #foo2)*
9 | |     };
  | |______^ ...ending here: move out of `foo` occurs here
  |
  = note: this error originates in a macro outside of the current crate

--pretty expanded makes it obvious why:
fn main() {
    let foo: Vec<&str> = Vec::new();
    let foo2 = &foo;
    {
        let mut _s = $crate::Tokens::new();
        for (foo, foo2) in foo.into_iter().zip(foo2) {
            $crate::ToTokens::to_tokens(&foo, &mut _s);
            $crate::ToTokens::to_tokens(&foo2, &mut _s);
        };
        _s
    };
}

let ref foo: Vec<&str> = Vec::new();
let foo2 = foo;
quote! {
    #(#foo #foo2)*
};

For reference, I ran into this today.
I am porting a fairly complex macro_rules! macro to a proc-macro implementation, using quote! as the first step to keep as much of the existing code the same. As soon as I got to some of the repetition parts, it failed with this error.
Since funclike proc-macro's are (almost?) a thing now, perhaps it's time to start thinking about that rewrite for quote! as well (I'm saying this, knowing full well that such a thing takes time, and time is something we could all use a bit more).
Until that moment, is the best workaround to do the looping outside of quote! and use extend to stitch multiple quotes together?


Avoid calling hh.arrays with dtype=None for complex types

Issue description
ndonnx does not (yet) support complex data types. We signal that by setting ARRAY_API_TESTS_SKIP_DTYPES="complex64,complex128". During the collection phase hypothesis_helpers.complex_dtypes is set to None. However, downstream calls to hypothesis_helpers.arrays appear to not be able to handle dtype=None as an argument, ultimately leading to an error when looking up the data type such as:
________________ ERROR collecting array_api_tests/test_operators_and_elementwise_functions.py ________________________
api-coverage-tests/array_api_tests/test_operators_and_elementwise_functions.py:1066: in <module>
    @given(hh.arrays(dtype=hh.complex_dtypes, shape=hh.shapes()))
api-coverage-tests/array_api_tests/hypothesis_helpers.py:73: in arrays
    elements = from_dtype(dtype)
api-coverage-tests/array_api_tests/hypothesis_helpers.py:44: in from_dtype
    min_, max_ = dh.dtype_ranges[component_dtype]
api-coverage-tests/array_api_tests/dtype_helpers.py:85: in __getitem__
    raise KeyError(f"{key!r} not found")
E   KeyError: 'None not found'

Since data types are looked up using __eq__ things appear to work if any of the data types compare equal to None which is the case for numpy.dtype("float64"), for example.
Solution
This PR simply guards each affected tests (i.e. tests that work on hypothesis_helpers.complex_dtypes) with a respective if statement. This works just fine in practice for us, but I'm sure there is a better fix out there. I tried to set complex_dtypes = (), which seems reasonable, but that lead to other errors.

Does using pytest.skip not work here? That would be preferred if it can work.

You could also try modifying hh.arrays so that it fails at example draw time instead of at function call time when dtypes=().
I'm curious how this is able to work when complex dtypes aren't enabled due to older standard versions. Maybe that isn't ever actually tested anywhere, since even array-api-strict's older standard flags doesn't actually support versions prior to adding complex support.
We definitely do want to support skipping complex dtypes with ARRAY_API_TESTS_SKIP_DTYPES, but that hasn't been tested before.


Install pillow on Debian 8.2

Issue type:

Python version: 2.7
NetBox version: 2.06

If I try install Netbox on Debian 8.2 - pip install -r requirements.txt crash on JPEG require.
I found this: https://www.gfairchild.com/2015/10/08/installing-the-requirements-for-pillow-3-on-debian/
It seems that in installation manual missing dependencies for Debian installation.

Debian 8 introduced some very disruptive changes. We will be dropping it from the installation docs. Please see #1208.


Fix task incosistencies

[X] Bugfix

NOTE: Please remember to run ./gradlew spotlessApply to fix any format violations.
Changes in this PR
Fix task-level inconsistencies. This can occur in the case redis failover scenarios if task would not be written properly.

Closing this PR since another PR was raised.


Support Ruby 2.4.0

I'd like to use this gem with Ruby 2.4.0.
I couldn't bundle install using Ruby 2.4.0 because activesupport 4.x  is depending old json gem.

If you can get the build to be green we could take it. Add ruby 2.4.0 to the build matrix.

I think we might need to start using appraisals, since we support environments with Rails versions < 5. Rails 5 requires Ruby 2.2+ so it breaks our test environment for versions less than that.

Or you can do some if's in the Gemfile, too.

@michaelherold @dblock Thank you for suggestions. I updated a commit. That was passed tests.
I'll create other PR for adding ruby 2.4.0 to .travis.yml after merged this PR and then I'll fix deprecation warnings for Fixnum and Bignum.

I added commits and updated CHANGELOG. @dblock Could you review when you have time ❓

Looks good to me, merging.

@dblock Thanks !

I'd like to use hashie with Ruby 2.4 too. Do you guys have an idea when I'll release the next version?

I don't think there's anything holding that up. I can work on getting a release out tomorrow unless @dblock knows of some reason we should hold off.

@michaelherold that would be great, thanks! And if there's anything I can do to help, I'm willing to.

I hereby issue an executive order to release the next version of Hashie!
😢

More seriously, thanks so much for your help @michaelherold!

Hmm 🤔
We have a change that is listed in the upgrading document that is technically a breaking change.
It feels more like a bug fix to me than a change of contract. Thus, I don't think we need a major version bump.
I do think we need a minor version bump to 3.5.0 since we have the added functionality of Hashie::Logger in this release. Do you agree?

I agree.

Done, thanks for the kick in the pants, @lsdr!

Awesome! Thank you @michaelherold and @dblock!


Add build information for OSX

Signed-off-by: Zsolt Szilagyi<EMAIL_ADDRESS>

Checked. Works.


Submission (Group 70):   2352964_2353087_2352373_2350006_2353103

Project: Cutting Stock Problem
Course: Mathematical Modeling (CO2011)
Group: CC05 - Team 70
Leader: Nguyễn Hữu Phước - 2352964
Members:

Nguyễn Hữu Phước - 2352964
Đào Phú Thái - 2353087
Đinh Quốc Huy - 2352373
Phạm Trung Hiếu - 2350006
Phạm Quang Tiến Thành - 2353103

Description:
This program implements two primary algorithms to address the 2D Cutting Stock Problem (2DCSP):

Column Generation Algorithm:

Overview: Focuses on iteratively optimizing cutting patterns by solving a master problem and a subproblem.
Applications: Reduces computational complexity by focusing on a subset of optimal cutting patterns.
Advantages: Ensures near-optimal solutions and integrates effectively with large-scale problems.

Greedy Algorithm (Hybrid):

Overview: Prioritizes cutting based on locally optimal choices such as maximizing space utilization or minimizing waste.
Applications: Provides quick initialization for further refinement through Branch and Bound (B&B).
Advantages: Simple and fast for time-sensitive tasks.

Results:

Greedy Algorithm:

Filled Ratio: 0.15
Trim Loss (Sample Outputs): 0.10222

Column Generation Algorithm:

Filled Ratio: 0.07
Trim Loss (Sample Outputs): 0.08794

Acknowledgements:
We thank our instructors, Assoc. Prof. Lê Hồng Trang and lecturer Nguyễn Quang Đức, for their guidance. We also appreciate the support from peers and family throughout this project.
For further information, refer to the accompanying report document.

Please read the submission instructions carefully. Otherwise I could not merge your PR (0 grade for code).

Please revise the PR in Dec 16. Otherwise, your group will get 0 score for code.


Mention file systems supported for file system watching

@bot-gradle test QFL please

OK, I've already triggered QuickFeedbackLinux build for you.


[$500] Web - On login with concierge, different chat is displayed before redirecting to concierge

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

Version Number: 1.4.27-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Open the app
Logout if logged in
Visit concierge link eg: https://staging.new.expensify.com/concierge
Login with user with many chats
Observe that after login, different chat is displayed first before redirecting to concierge page

Expected Result:
App should display concierge page on login with concierge link
Actual Result:
App displays different chat first before redirecting to concierge page on login with concierge link
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/880120a1-53cd-46dc-b308-089abd0bb5b2
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01206911560f412311
Upwork Job ID:<PHONE_NUMBER>878907392
Last Price Increase: 2024-01-25

@quintar  - #vip-vsb

Proposal
Please re-state the problem that we are trying to solve in this issue.
When login with concierge, different chat is displayed before redirecting to concierge
What is the root cause of that problem?
When deep linking, openReportFromDeepLink function is called. After signing in, navigates to the deep link url
https://github.com/Expensify/App/blob/e6b07616db3a818574d60acf1d9ebaf1cb26bf02/src/libs/actions/Report.ts#L2057-L2078
When navigating to concierge chat, we wait for openApp or reconnectApp API call and navigate to the concierge chat
https://github.com/Expensify/App/blob/e6b07616db3a818574d60acf1d9ebaf1cb26bf02/src/libs/actions/Report.ts#L1582-L1585
but when navigating to other chat, we just go to the report
Meanwhile, we have ReportScreenIDSetter to go to the last accessed report.
https://github.com/Expensify/App/blob/e6b07616db3a818574d60acf1d9ebaf1cb26bf02/src/libs/Navigation/AppNavigator/ReportScreenIDSetter.ts#L58-L77
As you can see above, route?.params?.reportID is empty and last accessed report exists, we call navigation.setParams({reportID: String(reportID)}). When deep linking to concierge chat, route?.params?.reportID is empty and so navigation.setParams is called, but when linking to other chat, route?.params?.reportID is not empty and navigation.setParams isn't called
This is the root cause
What changes do you think we should make in order to solve the problem?
We shouldn't call navigation.setParams when deep linking to concierge chat
Insert the following code here
let deepLinkRoute: string = '';
Linking.getInitialURL().then((url) => {
    deepLinkRoute = ReportUtils.getRouteFromLink(url);
});

Update
https://github.com/Expensify/App/blob/e6b07616db3a818574d60acf1d9ebaf1cb26bf02/src/libs/Navigation/AppNavigator/ReportScreenIDSetter.ts#L74
to
            if (deepLinkRoute !== ROUTES.CONCIERGE) {
                navigation.setParams({reportID: String(reportID)});
            }

This works as expected

Result
https://github.com/Expensify/App/assets/126839717/15fd392b-c1c1-4d92-b56c-11e83529ac04

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
When going to /concierge and login, the app shows other report briefly before the concierge chat.
What is the root cause of that problem?
When we navigate to /concierge, we actually being navigated to ConciergePage.
https://github.com/Expensify/App/blob/991a4e213d6cb0af42b62b3e9f9c6b95b0317bea/src/pages/ConciergePage.tsx#L27-L41
Before going to the concierge chat, it will pop the current screen, that is the ConciergePage itself. But navigateToConciergeChat will wait until the initial load of the app to complete.
https://github.com/Expensify/App/blob/991a4e213d6cb0af42b62b3e9f9c6b95b0317bea/src/libs/actions/Report.ts#L1579-L1585
So, the ConciergePage utility page is gone, but we are still not navigated to the concierge page yet.
Then, we have a logic to have at least one report screen on the stack which will show the last accessed report.
https://github.com/Expensify/App/blob/991a4e213d6cb0af42b62b3e9f9c6b95b0317bea/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts#L68-L74
So, the nav stack will be: [Home, ReportScreen], and when navigateToConciergeChat is done, concierge chat is added to the stack: [Home, ReportScreen, ReportScreen (Concierge)].
What changes do you think we should make in order to solve the problem?

First, we should wait until navigateToConciergeChat is complete before popping out the ConciergePage. But as we are not allowed to do promise chaining in a component, we can pass a new param to navigateToConciergeChat that will pop the current screen after navigating to concierge chat, or just replace the current screen with concierge chat.
Report.navigateToConciergeChat(false, true <- shouldPopCurrentScreen); or
Report.navigateToConciergeChat(false, CONST.NAVIGATION.TYPE.FORCED_UP);

With this change, we will see ConciergePage (which shows a loading screen) instead of a report screen.

But the report screen added by CustomRouter still exists on the nav stack: [Home, ReportScreen, ReporScreen (Concierge)]. To prevent this, we can avoid adding it if ConciergePage is in the stack.
https://github.com/Expensify/App/blob/991a4e213d6cb0af42b62b3e9f9c6b95b0317bea/src/libs/Navigation/AppNavigator/createCustomStackNavigator/CustomRouter.ts#L68
const isConciergePageInState = (state: State): boolean => !!state.routes.find((route) => route.name === SCREENS.CONCIERGE);

&& !isConciergePageInState(partialState)

Last, we need to call App.confirmReadyToOpenApp() in ConciergePage inside the if. App.confirmReadyToOpenApp() is previously called in ReportScreenIDSetter, but since we don't add report screen to the stack anymore, we need to call it in ConciergePage.
https://github.com/Expensify/App/blob/991a4e213d6cb0af42b62b3e9f9c6b95b0317bea/src/pages/ConciergePage.tsx#L29-L31

@sobitneupane two proposals above to review!

I am working partially this week. I will try to review the proposals before weekend.

we have proposals - @sobitneupane will review when back

i will review the proposals by EOD.

Thanks for the proposal everyone.
Special thanks to @bernhardoj for detailed RCA. Overall, your proposal looks good to me.

With this change, we will see ConciergePage (which shows a loading screen) instead of a report screen.

@bernhardoj Should we show SkeletonView instead of loading screen?

I think it's fine to show the loading screen as it's just an intermediary screen and only noticeable when opening it while the app is still loading.

I believe we have replace the loading screen by SkeletonView in most of the places. And it's good to do have the change here as well. Is there any reason to not have SkeletonView here?

I don't really have a strong reason, but I see all intermediary pages only show a loading screen (LogOutPreviousUserPage, demo page - not exist anymore), so I think we can just leave it as it is.
If we want to add a skeleton, what would it look like? Do we want to show the header and report skeleton without the composer?

If we want to add a skeleton, what would it look like? Do we want to show the header and report skeleton without the composer?

We already show skeleton view when the user sign in, don't we? Can't we continue to show the screen till navigated to the concierge page?

The skeleton is coming from the report screen page. If we want to show the same skeleton, then we need to copy the skeleton from ReportScreen to ConciergePage. ConciergePage is shown when we visit /concierge.

@bernhardoj Would you please update your proposal to reflect the suggested changes?

@sobitneupane proposal updated, please check the video too

Thanks @bernhardoj for the update. Lately a lot of change has been made in navigation, so some part of your proposal might be obsolete. But overall, it looks good to me. Let's make sure to test signing in with deeplink(/concierge) in the PR.
Proposal from @bernhardoj looks good.
🎀 👀 🎀 C+ reviewed

@jasperhuangg will you check the approved proposal?

On it, thanks for the bump. Been OOO the last two days.

@bernhardoj's proposal also makes sense to me, great explanation!

PR is ready
cc: @sobitneupane

PR was deployed to prod a few days ago without any regressions!

Seems there's been a problem with melvin adding the awaiting payment labels

$500 approved for @sobitneupane based on summary.


NewUpperValue in RangeSlider is wrong

Describe the bug
NewUpperValue is not updated correctly in the RangeSelectionChanged event.
Steps to reproduce
RangeSlider set with value 0-9999, when moving the range selection upper value to 14.2% (1/7) of the slider the NewUpperValue shows the value of ~1600, now drag the range so the lower side is on the same position (14.2%) - the value is around ~1400 - seems like the NewUpperValue is driffted for some reason - maybe related o the range between the upper and lower ends - but looks like a bit more complicated issue.
Expected behavior
NewUpperValue  & NewLowerrValue values of the same location should be the same
Actual behavior
the values are not the same for the same location
Environment
MahApps.Metro version: v2.0.0
Windows build number: Win10 1909 [Version 10.0.18363.836]
Visual Studio: 2019 16.6.0
Target Framework: .Net Core 3.1 (v4.5.2, v4.7.2)

Screenshots

@guyber I can not reproduce this with the current source (dev). So it's better to create a sample with your issue for better debugging. Thx


Creating a new pane without cloning the current file

When I create a new pane, it automatically pops with the file of the previous pane I was in. I’d like to pop an empty pane – a bit like in vim, because I always load another file and close the duplicated one each time, and that’s boring.
Is there already something to fix that? Thanks.

@phaazon I'm using https://atom.io/packages/pain-split. Seems not maintained anymore, but still works for me.

This looks like a duplicate of https://github.com/atom/atom/issues/4738 – please subscribe there for updates.


DateTime to DATETIME to avoid sqlalchemy data type class override

@isedwards
This PR solved this problem ( https://github.com/opencdms/opencdms-test-data/pull/16#issuecomment-922837522 ) on my machine.

I'm confused that you're able to change from sqlalchemy import DateTime to from sqlalchemy import DATETIME. Is DateTime somehow case-insensitive?
I'd like to change approach a bit here.  Could you submit a new PR...

Instead of changing many fields in the MCH models from Column(DateTime) to Column(DATETIME), can you just rename the problematic DateTime = Column(DateTime) as DateTime_ = Column("DateTime", DateTime) (by specifying the corresponding column name as the first argument)?
At the moment your PR is based of the latest commit on main - but this has failing tests that have not yet been resolved. Looking at the commit history, could you checkout the latest earlier commit that has passing tests (e.g. 11th September 31389c9cf96c547ad76276bf6a93b89294bda01b) and base the PR on this commit instead to make it easier to see whether tests pass?

(I'll leave this PR open until the next one is underway so that these comments don't get lost)

Solved in #34


Add multibootusb

Multibootusb is multiple ISO creator for USB drives
They have a deb available from their website.
https://sourceforge.net/projects/multibootusb/

Sorry, we are only accepting software that is actively maintained/released. Please see:

Add guidelines for what packages are acceptable for inclusion


Dev: remove _parent_name in BaseBuilder::objectToArray()

I would like to remove _parent_name in BaseBuilder::objectToArray().
https://github.com/codeigniter4/CodeIgniter4/blob/071cd044fb97948bd965b308c2ce1d0e5b524dce/system/Database/BaseBuilder.php#L2708-L2709
Because it seems there is no place to use  '_parent_name' in the code base.

I'm not even sure what this does 😅

I don't know either.

It came from ci2 (I didn't find the 1.x version). Perhaps this is an internal solution from EllisLab.

Wow. That's some legacy!
Burn it with 🔥


xonsh: fix script

related carapace-sh/carapace-bin#2414

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

16 of 16 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 57.98%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
2997

Relevant Lines:
5169

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

18 of 18 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 57.98%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
2997

Relevant Lines:
5169

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

18 of 18 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 57.98%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
2997

Relevant Lines:
5169

💛  - Coveralls


QueryBuilder .execute should be untyped by default?

Is your feature request related to a problem? Please describe.
With the query builder we can build quite a big variety of queries, and I imagine you're mostly expected to use it if the standard find is not enough. IMO, the probability of the query builder result matching the entity you started with is quite low.
Describe the solution you'd like
Remove execute's generic default type, so the user always has to provide the resulting type. Otherwise, it's very easy to forget and you end up with unrelated return type.
Additional context
I guess it's a very breaking change?

Sorry, not interested in doing that, indeed it would be a breaking change. Note that you are concerned with select queries, but all the other query types will actually be correctly typed (e.g. count query will get { count: number }, insert/update/delete queries will get QueryResult).


Add initial documentation

Changes:

New docs use sphinx
Tweaked some of the existing docstrings to use LaTeX (rendered with MathJax), removed ArrayLike type annotations because they render absurdly long, and replaced real with float in docstrings to get some nice linking to the Python docs
Updated the README

(if there's no objections I'll probably merge this next week)

In a nutshell, I didn't like it at all :man_shrugging: You can have a look at my tests in this branch: https://github.com/European-XFEL/EXtra/tree/mkdocs
I initially found it a lot more difficult to set up than sphinx because there's some weirdness around documenting module members. I tried to do this:
::: extra.utils
    options:
      members:
        - find_nearest_index
        - find_nearest_value

But it didn't display any documentation for those functions. I couldn't figure out exactly why but I suspect it's because they're actually under extra.utils.functions (even though they're imported in extra.utils.__init___). Eventually I gave up and listed them explicitly instead:
::: extra.utils.gaussian

::: extra.utils.gaussian2d

::: extra.utils.lorentzian

Then I tried documenting the Scantool class, and the attributes turned out like this:

It's putting the actual assignment statement of the attribute in the signature, which is kinda cool, but IMO it makes the signature quite unreadable. I googled for a while but haven't found a way to disable it... You can get around it by documenting the attributes in an Attributes section in the class docstring, but then you'd have to repeat the name and type hint.
I also prefer sphinx/RTDs theming in general, but that's probably fixable with some custom CSS rules.
Given all that, my vote would be to stick with Sphinx.

Oh sorry, but thanks for trying 😢
@RobertRosca or @D4vidH4mm3r in case they have a quick idea what could've gone wrong here, but else it's Sphinx I guess.

(I'll still try to merge this by the end of the week if possible :crossed_fingers: )

(if there's no objections I'd like to merge this tomorrow)

Philipp just pinged me so I'll have a look at this now :+1:

Alright I quickly whacked together a site with mkdocs to check out what's going on here https://clever-granita-6bc357.netlify.app
Few notes:

I initially found it a lot more difficult to set up than sphinx because there's some weirdness around documenting module members. I tried to do this:

Funnily enough I never actually wrote... any code reference documentation, since I always do it automatically and prefer to keep all of the relevant module-level documentation in the python file itself instead of in a separate documentation file :see_no_evil:
Either way, my guess would be that it doesn't show up due to the start imports and the modules not being listed in __all__.

Then I tried documenting the Scantool class, and the attributes turned out like this:

One thing to note is that the docstrings in this project are numpy style, but the default style for mkdocstrings is google, which is probably the main source of it looking weird. Changing that and settings a few extra defaults makes it look a bit better:

With the part you mentioned:

I didn't change any of the formatting in the docstrings to markdown/mkdocs style so references/links will be broken, but this is a rough view of what it could look like if you're interested.

Good catch with __all__ :thinking: That looks way better, but I still don't think the assignment statements should be in the docs. I also kinda prefer Sphinx's theme for docs, so my vote is still for Sphinx.

For comparison because I finally got RTD working :sweat_smile: https://extra--1.org.readthedocs.build/en/1/index.html

I still have a strong dislike for RST, but if you lean the other way, I don't feel like it's my place to decide that with all the preparations you already did. FWIW it'll look in line with EXtra-data and -geom :shrug:

For this I don't think the choice matters too much, IMO Mkdocs makes sense if you write a lot of text (like the user documentation page) since markdown is objectively subjectively better than RST, and if you really want to take advantage of some of the fancier Mkdocs features.
The double-edged sword with Mkdocs Material is that it is extremely customisable and unless you're weirdly into documentation and willing to spend ages making a configuration you like you're probably better off sticking with the defaults from Sphinx RTD.
For example Beanie API, Segment Geospatial, Watchfiles, etc...
Having said that, note that there is a Read the Docs theme for mkdocs as well! So if you want to stick to the same style as Sphinx but with markdown that is also an option. From what I've seen it looks basically the same as RTD built with Sphinx, but I have not used the RTD theme so I'm not sure.

I think I tried out the RTD theme but it didn't improve the things that I wanted, mainly the indentation of the members (under the signatures) and the styling of the signatures (bold and with a different color background). But the styling that you've got now is fine I think. @RobertRosca could you push your changes to the mkdocs branch? I might play around with it a bit.

I still have a strong dislike for RST, but if you lean the other way, I don't feel like it's my place to decide that with all the preparations you already did. FWIW it'll look in line with EXtra-data and -geom shrug

Well, I'm also not wedded to RST :) I'm a bit hesitant because it feels less mature than Sphinx, but if the attribute-assignment-statement thingy can be removed then I have no objection. I'll give that another shot.

Et voila: https://extra--1.org.readthedocs.build/en/1/index.html
Now I just need to try to remove those ugly CI file paths from the source code viewer...

Woah that looks great! :+1:

That looks great, thanks :heart_eyes:
One question though, do you also see those squares?

Hmm, no I don't :thinking: Those are the links to external docs, for me they show up as:

Which browser are you using?

(minor fixes in 712c977)

Chrome 114, and it indeed does not happen on Firefox. It's also there on my mobile (with Chrome), so it's not simply a system font issue. Looking into the code it seems to be generated via CSS :flushed:

Derp, it was actually from one of my changes: e630a57
I copied that from somewhere on the mkdocs site and it was using mask-image, which is currently unsupported by Chrome. Replaced it with -webkit-mask-image, which seems to work in both Firefox and Chrome.
Could you try again? Now it works for me.

Minor changes:

Set the favicon in 2e92ff4
Enable permalinks for sections in bd5aed3
Add black in 9fe9790 for formatting the function signatures

Should we use the EuXFEL corporate colors? (cf. user-docs)

I think those colors are kinda ugly, so I would prefer not to :see_no_evil:


Package maintainer

Since nobody seems to have time for maintaining the package, I would propose that I take care of this. Rustic now has some users and maybe we should suggest to use it instead of rust-mode for emacs26+. However it would be nice to get some help with this(rust-mode + rustic).
What do you think ?

I think having both rust-mode and https://github.com/brotzeit/rustic sounds like too much effort. As @nikomatsakis has accepted https://github.com/rust-lang/rust-mode/pull/319, rust-mode is effectively emacs-25, 26 (and plus) which makes sense as emacs-24 is now very old.
So, my question would be, can rustic and rust-mode be merged back, while support emacs-25? Even if some of the parts of the rustic code base are conditional and functionality drops? When Emacs-27 comes out (probably < six months I guess, although it's not in pretest yet, so this is a big guess), then the process of deprecating Emacs-25 support could begin.
https://github.com/brotzeit/rustic is very nice, btw. Hadn't heard about it, till I read your post here. Willing it contribute, although, my contributions are likely to be sparse.

Thanks for the feedback. I don't remember which emacs26 functions are used and how much effort it would be to make the package emacs25 compatible. But I can take a look at it when I get a response from the package maintainers. I don't care which repo we use.

I definitely have neither the time nor expertise to maintain this package. rustic looks great. I personally would be pretty happy to merge, I think, or else just recommend rustic (though it seems better to merge). I think it would be great to have an active maintainer.

I'd like to hear what @pnkfelix thinks, and I'll forward them this thread, since I suspect that they won't see it via github notifications. =)

Is it ok for you to keep the name ?

I,  like Niko, do not have the time to give this package the attention it deserves.
I am happy to hand maintenance off to another party.
I however do not understand @brotzeit 's question here (because the phrasing is ambiguous and I am not clear of the overall intent):

Is it ok for you to keep the name ?

Are you asking if this package should keep the name rust-mode, versus renaming the package? Or are you asking if I personally want to keep the name reserved, and let people migrate to a newly named package that has a properly engaged maintainer?

I'd like to keep the name rustic, that's all.

I believe that keeping a simple mode that focuses on correct syntax highlighting has value, and I like to use this package for exactly that reason.
Maybe both packages can peacefully coexist, with rustic being an extension of rust-mode?

Now that I understand @brotzeit 's question, I have no problem at all with the idea that they would keep the name rustic and maintain that package itself.
It seems like we have a number of other questions to resolve here.

Should rustic and rust-mode remain as separate active packages?

The most plausible alternative, if they do not remain separate (assuming I understand correctly), would be to effectively discontinue maintenance of rust-mode itself and recommend people switch to rustic or some other alternative.)
If they remain separate, should they be revised to at least share code (e.g. make rustic an extension of rust-mode)
Who should maintain rust-mode, if it remains as a separate package?

Who should maintain rust-mode, if it remains as a separate package?

I can maintain if needed.

If they remain separate, should they be revised to at least share code (e.g. make rustic an extension of rust-mode)

I think this is not possible. Especially when we keep the names.

I think this is not possible. Especially when we keep the names.

I am not sure to understand why; I did not inspect the rustic codebase, but proper namespacing discipline should allow to work around incompatibilities.

@mookid Because you will have two packages one of which depends on the other (say, for example, rustic is a derived mode from rust-mode). Unless rust-mode keeps to a strong contract, any changes here will potentially break rustic.
Of course, this is true any of any derived mode, but the additional problem here is the lack of a clear delineation between the functionality that should be in one and the other. "Simple things go into rust-mode, complex things into rustic" is very dependent on your definition of simple.

Of course, this is true any of any derived mode, but the additional problem here is the lack of a clear delineation between the functionality that should be in one and the other. "Simple things go into rust-mode, complex things into rustic" is very dependent on your definition of simple.

let's say that the prefix "rust-" is reserved for rust-mode? Should that be more complicated than that?
As for what belongs to where, I think that it is reasonable to keep the behavior of indentation and syntax highlighting to rust-mode (which is historically the scope of major modes) while leaving the integration with cargo, flycheck, lsp...  to extension packages.
Of course, this point of view does only make sense if users gain something (in particular, if rustic can reuse rust-mode code and avoid duplication of work between the two). I am just saying that I would volunteer for that work, that's all.

Is it only about indentation and syntax highlighting for you ?
There aren't only the rust related external tools. Many users like proper compile.el integration and org babel support for example.

@mookid possibly not, if there is a strong separation between the two. I wonder how many people would use each. It would also be possible to have a single code base with different features (i.e. indentation and syntax highlighting in one, other stuff elsewhere).
@brotzeit is right, though, rust-mode.el as it stands is more than this. It has various tools integration (including rustfmt which arguably obsoletes a lot of the indentation functionality), playpen integration and so on.

@phillord traditionally indentation in emacs does not rely on external processes; some users don't use rustfmf at all.
I think that tool integration should in principle move to either rustic or other packages as part of the merge ; if limitation is very simple, it can be kept for backward compatibility.

@mookid Many users want 1 package for most rust related stuff. I think it's a lot easier for new users. That's the reason why I also added lsp-mode support out of the box. But if you only want basic stuff it shouldn't be too hard to maintain rust-mode as a leightweight alternative.

@mookid Yes, I agree, Emacs usually indents for itself. But the world is changing -- languages are getting these formatters (rust has one, go also, probably others). There is a good case to say that, with the presence of rustfmt, just using might make sense -- there is a risk that Emacs is going to indent in ways different from rustfmt after all.
My own feeling would be that rustfmt is new enough that I would start to deprecate Emacs indentation in favour of rustfmt, but not remove it. I use rustfmt for all my new packages, but don't want to introduce lots of whitespace diffs into my old one.
From this perspective, rust-mode would be on a path to becoming very small. Anyway, I cannot offer to main either, and will contribute as I can to rust-mode/rustic as appropriate what ever is decided.

I still believe that there is value in a reasonable elisp implementation of indentation. I don't think that it is reasonable to launch a new executable each time a user want to reindent a line, and I don't think that such a command should have non-local effect either (what indent-for-tab-command is supposed to do but rustfmt does).

there is a risk that Emacs is going to indent in ways different from rustfmt after all.

Agreed. I think that a reasonable goal would be that code formatted with rustfmt with defaults should no be changed by rust-mode, and while ensuring that, having formatting that is close to what rustfmt does.
And in that paragraph, rustfmt means with default config (and, say, no line breaking that emacs formatting does not handle).

From the dialogue so far, It sounds to me like there is desire to maintain rust-mode, and have it shift focus to providing core functionality without relying on external tools like rustfmt.
So maybe we can:

provide @mookid with privileges for maintaining the rust-mode repo
add notes to the README that link to useful alternatives/extensions (like rustic)
move functionality that does rely on a "non-standard" external tool (e.g. rustfmt, rust-analyzer) out of rust-mode and into rustic

Would that approach make sense?

I wouldn't remove it from rust-mode, since there will certainly be also users that don't want to use rustic but want more features in rust-mode than just syntax highlighting and indentation. But on the other hand this should maybe decided by the person that volunteers for maintaining the package. We all know how hard it is to find active maintainers.

I think it is reasonable to maintain existing features while limiting extra additions.

I'm happy with most any outcome here, although it's worth noting that my attempts to install rustic all failed (in one case, because I'm using emacs25 on WSL, and in the other...well, I don't know why, I just got some obscure errors and didn't pursue it much further). So I guess that's a vote for "keep something simple for now". I think it'd be great if we could actually share core between rustic and rust-mode but I don't really know enough about emacs to know if that makes sense to pursue as an actual goal.
I have invited @mookid to join the rust-mode team. If there are others who are interested, such as @brotzeit, please let me know. As both @pnkfelix and I have noted, we clearly don't have the time (or, in my case, knowledge) to really do the job.

I can support @mookid sure.

@nikomatsakis I just fixed a bug if you want to give it another try. It would be nice if I also had somebody who helped me reviewing PRs...

@brotzeit I will, thanks! I wish I could help you in reviewing PRs :)

@brotzeit I've invited you to help out. Maybe you and @mookid can find some useful way to share code between this repo and rustic, maybe not... anyway, I'm going to close this issue for now, but I'd encourage y'all to try and recruit others. e.g. maybe @phillord wants to help? I know they've opened a number of PRs...

@nikomatsakis I will add a note to the readme that we are looking for additional maintainers.

@nikomatsakis @brotzeit I started looking into differences of parsing between the two packages and will have more time to do so this weekend.

Regarding the split between rust-mode and rustic: bringing them together into a single package (with some features only enabled conditionally) avoids having to decide things like whether rustfmt support should be in rust-mode or in rustic.  It also makes it easier for the end-users who don't have to wonder what's the difference between these two modes.  I recommend merging them (incrementally).

I'm for merging them together and consolidating development in one place as well. Also, Hacktoberfest is coming which can be a good opportunity to get some easy bugs fixed by the community :)


Add whitelist for specifying max number of concurrent runs for flows

For some use cases, such as Gobblin as a Service, there is a requirement to be able to run a higher number of concurrent runs for a workflow than the default value of 30. Azkaban configuration parameter azkaban.max.concurrent.runs.oneflow(introduced in https://github.com/azkaban/azkaban/pull/1590) can be set to change the default for an Azkaban cluster, but this will affect all flows running on the cluster. New Azkaban configuration parameter azkaban.concurrent.runs.oneflow.whitelist will allow specific flows to have a higher (or low) max concurrent number of runs. The value lists the project, flow and number for each flow. Flows are semicolon separated, and each field for a flow is comma separated. The value has the format: "<project name 1>,<flow name 1>,;<project name 2>,<flow name 2>,..."

IMO the best way to manage this list is to make it part of flow config which can only be modifiable by Azkaban admin from Azkaban UI. This way, the list won't be out of sync with deleted flows.

Discussed offline. Right now the UI config is at the project level, not the flow level, so it would not be possible to use the existing infrastructure to set the value for a flow. If set in the UI, then the settings would not be visible in code/config, so to set and check, we would need to manually login to the UI for each AZ cluster, which would be some overhead for AZ admins. A separate config file for project/flow specific information is possible, but probably not worth the extra overhead of more config files. It's possible that the project could be deleted, and another user could create a project and flow with the same names, and accidentally pick up the config for the older project/flow (if this is not updated in a timely manner), but this is a low likelihood scenario. For now, we will go with the whitelist as part of the Azkaban config.

Pull Request Test Coverage Report for Build 4544

24 of 24 (100.0%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.1%) to 37.964%

Files with Coverage Reduction
New Missed Lines
%

az-core/src/main/java/azkaban/Constants.java
1
25.0%

azkaban-exec-server/src/main/java/azkaban/execapp/jmx/JmxJobMBeanManager.java
1
72.73%

Totals

Change from base Build 4541:
0.1%

Covered Lines:
11284

Relevant Lines:
29723

💛  - Coveralls


Add missing "to"

This sentence was grammatically incorrect on account of a missing preposition.

Thanks @DasAllFolks. Appreciated.


crash on process termination with mutual base class

There seems to be a bug related to type unregistration when the process terminates.Said I have a base class named CommonBase which is inherited by Derived1 and Dervied2.All of the 3 classes have RTTR_ENABLE declared.Derived1 and Derived2 lie in different dlls. When the process terminates,both types will be unregistered as well as CommonBase.Now the problem is: suppose dll1 which hosts CommonBase and Derived1 detaches from the process first.Then CommonBase  will be unregistered from type_register.
After that, dll2 detaches from the process,causing Derived2 to unregister its type from type_register.But at that moment,CommonBase is already unregistered.My program crashes at type_register_private::remove_derived_types_from_base_classes,because the base_types holds invalid data here.
from what I understand,if I can ensure all derived classes are unregistered first,and base classes later, I can make the behavior correct.But that may add lots of complexity for my program.So is it a BUG or just a design decision to have this behavior?Point me out if there's something I miss.
My test platform is Windows10 with visual studio 2015

This sounds like a bug. Can you please provide a stand alone test case for this?

Sure, this is a minimal project I made to show the problem.
rttr_unregistration.zip

Okay, i can confirm the crash. I had several issue setting up the cmake project. Always get a strange linker error. Had to remove this call here: project(rttr_unregistration)
I will now take a look into it.


How to fine tune the model to complete information extraction tasks

Information extraction task： Enter a paragraph to extract key content .
eg:
input: "生成一个婚礼贺请柬，12月25日举办，李颖和刘涛的婚礼，红色"
output：{"有效":"是", "场景": "邀请函","颜色": "红色", "设计用途":"婚礼贺请柬", "人物":"李颖和刘涛", "时间":"12月25日", "关键词":"婚礼贺请柬", "主标题":""}
Can I set the “ Information extraction” for "system" ？

I don't think settig the system message this way is effective. In genernal, the system message should specify how the task should be conducted and include examples, unless the task is known in training.


[BUG] Mgclient "failed to send chunk data" error when running execute_and_fetch() in Python Flask Application

Memgraph version Which version did you use?

2.6

Environment Some information about the environment you are using Memgraph
on: operating system, how do you connect, with or without docker, which driver
etc.

Operating System: Amazon Linux 2.
Use Docker w/ default settings.

Describe the bug A clear and concise description of what the bug is.

I have a Python Flask web application. One of the pages has a form that when submitted, calls Memgraph.exceute_and_fetch() to query the Memgraph database using data in the form. The returned data will then be used to populate a Memgraph Orb graph and render it to the user on new page.
Sometimes, instead of receiving node/edge data from the query, a Database Error will be returned, typically on users' first session or first session in a while. Specifically, this is an mgclient error that say "failed to send chunk data". Upon page refresh/form resubmission, the query is successful and the results render as normal and the error is not encountered again (until a future session, typically hours or day(s) later).

To Reproduce Steps to reproduce the behavior:

Have Memgraph instance running and connect to that Memgraph instance using GQLAlchemy in a Python Flask Application.
Have a page in the Flask Application with a form in it, and upon form submission, will run a query using GQL Alchemy's Memgraph.execute_and_fetch() method.
If successful, the query will run as normal and return intended results/redirect users to the right page. However, on occasion (for a reason I can't quite narrow down), the mgclient error will be thrown. (Picture below)
If the error is thrown, refreshing page and resubmitting form should  always result in query being successful.

Expected behavior A clear and concise description of what you expected to
happen.

I expect the query to be successful on the first try, rather than upon a form resubmission (or repeating the excecute_and_fetch() call on the backend to ensure users don't see the error. This has "solved" the problem currently from a user standpoint, but we still see the error printed in the terminal logs. )

Logs If applicable, add logs of Memgraph, CLI output or screenshots to help
explain your problem.

Additional context Add any other context about the problem here.

DB and Query are initialized/run like this:

from gqlalchemy import Node, Field, Relationship, Memgraph, Path
db = Memgraph(host='host-link.net', port=7687)
query_result = db.execute_and_fetch(query=query, connection=db)
results = list(query_result)

Currently, the Flask app is being run in the same server as the Memgraph database.
Error text/throw seems to be found here: https://github.com/memgraph/mgclient/blob/d57df8aba5d62074c56aced591147e2b2616c4dc/src/mgsession.c#L168

@dipasupil Thanks for opening the issue.
Took a quick look at the, additional context:
Looks like there is an issue with mgclient port/connection that gets blocked on the first query try. After that everything is operational.

Closing this because the issue is opened on mgclient repository.


Error when removing item from Map that is binded to custom element

Let's assume that we have a following markup in a view:
<ul>
      <customLi repeat.for="[id, item] of items" item.bind="item"></customLi>
</ul>

customLi is a containerless custom element and items is a Map. Following works fine when displaying or adding items. When I try to remove an item I get following error:
message: "Cannot read property 'source' of undefined" stack: "TypeError: Cannot read property 'source' of undefined↵ at Repeat.getViewIndexByKey (http://localhost:9000/jspm_packages/github/aurelia/templating-resources@0.14.0/repeat.js:411:30)↵ at Repeat.handleMapChangeRecords (http://localhost:9000/jspm_packages/github/aurelia/templating-resources@0.14.0/repeat.js:387:32)↵ at Array.<anonymous> (http://localhost:9000/jspm_packages/github/aurelia/templating-resources@0.14.0/repeat.js:187:16)↵ at ModifyMapObserver.call (http://localhost:9000/jspm_packages/github/aurelia/binding@0.8.6/aurelia-binding.js:591:23)↵ at TaskQueue.flushMicroTaskQueue (http://localhost:9000/jspm_packages/github/aurelia/task-queue@0.6.2/aurelia-task-queue.js:107:16)↵ at MutationObserver.<anonymous> (http://localhost:9000/jspm_packages/github/aurelia/task-queue@0.6.2/aurelia-task-queue.js:48:24)"
If I wouldn't use custom element (customLi) but li instead, it would work - I've already tried. When debugging attached lifecycle hook of customLi I've noticed that even if the item was already removed from items Map, this method was still called for this item. It seems to me that custom elements displayed on the view are listed in some variable/observable that is not updated so Aurelia does not know that the item bound to that custom element does not exist anymore, and still tries to render it.
Any thoughts? Am I missing something?

Hi @michalru3ch, thank you for your bug report- would you be able to put together a minimal repro of this issue in the aurelia plunker so we can debug it?
Thanks!

Hi @jdanyow. This is a plunk I've created.
Unfortunately I was not able to even get the binding of a map working. It throws Object in "repeat" must be of type Array, Map or Number which is quite strange because it's a map and it's definitely working on my project - maybe I'm using different versions of Aurelia libraries locally. Could you please try to fix the issue?
The rest should be prepared for reproducing the original issue. I've also added itemsArray to prove that removing items from Arrays works correctly. Just uncomment line 6 in app.html and comment 5.

@michalru3ch thanks for the Plunker, I was able to reproduce the issue you reported after changing itemsMap = new Map(); to itemsMap = new window.Map(); (apparently there are two versions of the Map polyfill being used by the plunker which I will look into separately).
When pressing the "remove item with id 3" button an error occurs in the repeat component:

@jdanyow thanks for the fix! I've already updated my plunker.
Not sure whether it will be of some help, but when I'm debugging my local project debugger hits attached hook of CustomLi element after item is removed from Map and I see that aurelia loops through all items - even over removed one. In plunker I do not have this behaviour - but the error is the same.

@michalru3ch are you still having issues with this?

Hi jdanyow.
I've just updated aurelia and babel<EMAIL_ADDRESS><EMAIL_ADDRESS>as well, but I still have the issue. Even the proposed workaround
import regeneratorRuntime from 'babel-runtime/regenerator';
window.regeneratorRuntime = regeneratorRuntime;

didn't solve it.
Current error:
message: "Cannot read property 'source' of undefined" stack: "TypeError: Cannot read property 'source' of undefined?    at Repeat.getViewIndexByKey (http://localhost:9000/jspm_packages/github/aurelia/templating-resources@0.16.0/repeat.js:403:30)?    at Repeat.handleMapChangeRecords (http://localhost:9000/jspm_packages/github/aurelia/templating-resources@0.16.0/repeat.js:376:32)?    at Repeat.call (http://localhost:9000/jspm_packages/github/aurelia/templating-resources@0.16.0/repeat.js:58:20)?    at ModifyMapObserver.callSubscribers (http://localhost:9000/jspm_packages/github/aurelia/binding@0.10.0/aurelia-binding.js:167:19)?    at ModifyMapObserver.call (http://localhost:9000/jspm_packages/github/aurelia/binding@0.10.0/aurelia-binding.js:649:14)?    at TaskQueue.flushMicroTaskQueue (http://localhost:9000/jspm_packages/github/aurelia/task-queue@0.8.0/aurelia-task-queue.js:110:16)?    at MutationObserver.<anonymous> (http://localhost:9000/jspm_packages/github/aurelia/task-queue@0.8.0/aurelia-task-queue.js:60:22)"

@jdanyow
Today I've installed the latest version of babel (5.8.30) and its runtime, but still same error...
From pure curiosity I gave it a try to debug the repeat.js and these are my findings:

it crashes in method getViewIndexByKey when accessing the first binding of viewSlot.children child.bindings[0].source[this.key]. Strange thing is that none of the children ever had the list of bindings filled in (length is always zero) so this method would never find the index this way.

the failing method is called by handleMapChangeRecords which tries to get the index of viewSlot child (of removed item from the map) so it could then remove it.

case 'delete':
  if (!record.oldValue) {
    return;
  }
  removeIndex = this.getViewIndexByKey(key);
  viewSlot.removeAt(removeIndex, true);
  break;

If I just prevent the code from calling the getViewIndexByKey and call viewSlot.removeAt(removeIndex, true) directly by providing the correct index it works as expected - coresponding element is removed from the view.
I do belive that if you would invest couple of minutes to just take a look at getViewIndexByKey and review its implementation, you'd probably know what to change.
PS: if someone wants to overcome this issue without waiting for the fix, you could do something like this...
let mapCopy = new Map(this.itemsMap);
mapCopy.delete(3);
this.itemsMap = mapCopy;

It's dirty, but it works. Drawback is that all items are rendered again.

Ok, I have it.
Replace this line (repeat.js:404)
child.bindings[0].source[this.key] === key

by this one
child.bindingContext[this.key] === key

@michalru3ch Great, That implementation was not right, will get this fix in by next release, thanks.


[GSSoC'23] Advisor Application Ready

Description
Fixes #2143

Type of change
Please delete options that are not relevant.

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

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] I have added the project meta data in the PR template.
[x] I have created the requirements.txt file if needed.

Project Metadata
If there is no-file/nothing to fill the below fields with, then type: none
Example: If no requirements.txt needed/present, then type none in Requirments.
Category:

[x] Scrappers
[x] Automation
[x] Fun

Title: Advisor App
Folder: Advisor_App/
Requirements: None
Script: advice.py
Arguments:
Contributor: Avdhesh-Varshney
Description: Gives advice Quote lines

@avinashkranjan @1e9abhi1e10 @Yashbhadiyadra sir, please review this pull request and requested to merge it under GSSoC'23 program

@avinashkranjan @1e9abhi1e10 @Yashbhadiyadra sir, i have created this pr last week but no action have done on it. i requested to review this pull request and merge it under GSSoC'23 program


Update README.md

Corrected a typo in the commands list. Also improved example usage for bos rebalance using tags

Thanks for catching the errors.


incompatibility with 5.2

wrong number of arguments (given 1, expected 0)
    private

    def build_arel
      super.tap do |arel|
        build_distinct_on(arel, distinct_on_values)
      end

active_record_distinct_on (0.1.3) lib/active_record_distinct_on/distinct_on_query_methods.rb:38:in `build_arel'
activerecord (5.2.0) lib/active_record/relation/query_methods.rb:903:in `arel'
activerecord (5.2.0) lib/active_record/relation/calculations.rb:198:in `block in pluck'
activerecord (5.2.0) lib/active_record/relation.rb:578:in `skip_query_cache_if_necessary'
activerecord (5.2.0) lib/active_record/relation/calculations.rb:198:in `pluck'
activerecord (5.2.0) lib/active_record/schema_migration.rb:48:in `all_versions'
activerecord (5.2.0) lib/active_record/migration.rb:1059:in `get_all_versions'
activerecord (5.2.0) lib/active_record/migration.rb:1071:in `needs_migration?'
activerecord (5.2.0) lib/active_record/migration.rb:579:in `check_pending!'
activerecord (5.2.0) lib/active_record/migration.rb:556:in `call'

Looks like they changed the underlying API again

Thanks for letting me know.
I'll push a fix out later tonight. I'm going to update the version constraint for activerecord in the gemspec to match what is actually being tested here so that we can whitelist new versions of activerecord instead of breaking at runtime.


Fix filter statement when importing devices

The fields for the device and module types are called device_type_id and module_type_id with an additional underscore.

I was about to submit a PR fixing this issue. It would be nice if a dev could look at this, as one cannot import the complete DTL as it is right now.
Pinging @danner26, @ljarasius and @jbemmel, as you seem to have authored the most recent commits.


Valorina is offline

Hello Sanjay,
Unfortunately Valorina has gone offline today and removing/readding to my discord does not fix the issue, please can you bring her back to life, as I feel my life is no longer worth living without the ability to check my store during work hours
Thank you for this amazing bot

I feel you. It seems like my life stopped working the moment I can no longer know what's in my valorant store


A way to manually set the audio driver

Hi,
I am trying to figure out how to set to use a specific audio driver and how to force automatic audio driver selection.
The problem is SDL_AudioInit is not ref counted, so I can't pre-open it and let MojoAL use the driver I set simply because this will cause a failure. See https://github.com/libsdl-org/SDL/issues/5841

We found a work around way that worked, so this is no longer needed


DBZ-699 Close JDBC connection when initialization fails

https://issues.jboss.org/browse/DBZ-699

@jpechane Ah, saw @jchipmunk's comment too late. I think indeed it's better the way he suggests. Can you change it into that? Thx!

@gunnarmorling @jchipmunk Let's continue here - https://github.com/debezium/debezium/pull/521


Output parameter description incorrect

The output is the filled-in USB_HUB_NAME structure, not just a bare string as described

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

ID: 38bfb11e-8780-c53c-c0b3-c6a086899b16
Version Independent ID: 315bc6a3-01d8-679c-f1a2-063fd262a223
Content: IOCTL_INTERNAL_USB_GET_HUB_NAME
Content Source: wdk-ddi-src/content/usbioctl/ni-usbioctl-ioctl_internal_usb_get_hub_name.md
Product: windows-hardware
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Hi @BrianCatlin,
I’ve created an internal work item for myself to investigate this with the USB team, and I’ll make a note here when I complete the changes. In the meantime, I’m closing the GitHub issue while it’s tracked in the bug. Thanks again for helping to improve the docs.


Modulesync 4.0.0

Since https://github.com/voxpupuli/puppet-unbound/pull/252 was reverted, here is a fresh version of it.

See chat here https://github.com/voxpupuli/puppet-unbound/pull/258#discussion_r547346358 the ipv6 configuration is incorrect and needs to be first fixed in modsync_config (there are additional links to PR in that coment)

I've removed the IPv6 part here now so it should be green. I don't mind merging it even if it's not pure modulesync right now. It'll be a lot easier if everything is at least running on Github Actions.

I've removed the IPv6 part here now so it should be green. I don't mind merging it even if it's not pure modulesync right now. It'll be a lot easier if everything is at least running on Github Actions.

Ack sounds good to me will merge


VSCode Terminal confused after restarting script programmatically (Python)

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.85.1
OS Version: 10.0.22621

Steps to Reproduce:

Restart script using:

def check_file_changes(self):
        """
        Checks for file changes and reloads the server if any changes are detected.
        """
        for path, _, files in os.walk("."):
            for file in files:
                if file.endswith(".py") and os.path.getmtime(os.path.join(path, file)) > self.init_time:
                    self.logger.warning("File<%s> changed. Reloading server..." % file)
                    os.execv(sys.executable, [f'"{sys.executable}"'] + [f'"{arg}"' for arg in sys.argv])

Take multiple inputs at start of the script

PS: another thing that happens when I reload is, I see the line for accepting commands and my code output appears... Kind of like, the terminal hallucinates that the program is done running.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.87.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Unclear from your screenshots, are you using a python terminal?

Also, can you reproduce this in an external terminal?

I'm still not clear what the issue is. Can you pls provide a gif and expectation: ____ actual: ____ description?

The marked area should not appear


Add compatibility with Gatsby, Remix, etc.

As the title suggested, can this be used in a Gatsby project?

technically yeah. just use the webpack plugin inside your gatsby plugin instead https://millionjs.org/docs/compiler

Can we close this issue now @aidenybai?

We have support for Gatsby now @aidenybai. Not sure about Remix yet @joebentaylor1995.

We can't get Remix support because they don't have a plugin system

@aidenybai @tobySolutions I believe we can close this issue now since Million already provides plugins for Webpack and Next.js, while Gatsby can use Million's Webpack plugin.
As for Remix, IIRC Remix uses the esbuild under the hood. And according to the Remix Team (https://github.com/remix-run/remix/issues/717) and here I quote:

... we do not plan on opening up our compiler. Our usage of esbuild is an implementation detail.

That's to say, Remix will most likely never provide an option to manipulate its compiler behavior/configuration, which also means it is impossible for anyone to create a third-party plugin to change Remix's compiler option in any foreseeable future.

Is there any documentation on how to enable this in gatsby? I feel clueless setting this up

Is there any documentation on how to enable this in gatsby? I feel clueless setting this up

Sure, in the docs. We show you how you can add the compiler to make sure that you can enable it in Gatsby.
To use it though, you can test the block() on the components in your application.
Let me know if you have any other issues. Also, let me know if the documentation doesn't work.

Could you link me to this? I can’t seem to find thisOn 24 May 2023, at 02:15, Tobiloba Adedeji @.***> wrote:
Is there any documentation on how to enable this in gatsby? I feel clueless setting this up
Sure, in the docs. We show you how you can add the compiler to make sure that you can enable it in Gatsby.
To use it though, you can test the block() on the components in your application.
Let me know if you have any other issues. Also, let me know if the documentation doesn't work.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@joebentaylor1995
https://million.dev/docs/install#use-the-compiler
const million = require('million/compiler');

exports.onCreateWebpackConfig = ({ actions }) => {
  actions.setWebpackConfig({
    plugins: [million.webpack({ mode: 'react-server' })],
  })
}


Add tweet composer initial text intent extra

Hi,
I noticed you guys removed tweet composer initial text intent extra in this commit:
https://github.com/twitter/twitter-kit-android/commit/885bcf1fa24fd7dfe24c338c163c45dd67bcea92
I asked @dghubble about the reason and he gave me a very good explanation.(See comments in the commit) Just wondering if it's possible to add it back for developers like us? We really want to use Composer while adding some init text sometimes.
We understand if that cannot happen, if so, please advise if there's any good solution for us in this case. Thanks!
Looking forward to hearing from you soon!

I responded to your comments in 885bcf1. I would be happy to accept a PR for a custom prompt. Alternately, you can use the composer in the Twitter for Android app. See TweetComposer.Builder class for launching composer activity.

Thanks @efrohnhoefer, I appreciate your help. We'll try.

The ability to pre-fill hashtags was added in https://github.com/twitter/twitter-kit-android/commit/aa5436e7dd00f17215b607cdbadacbcb03eaf3a2. We still do not have plans to support pre-filled text.


Interfaces/Union

Hi, how do I need to create the tables to generate my interfaces and unions, or how do I edit the scheme file so I can implement this myself?

@olirice Just wanted to bring this up again, but it would be really useful to generate type unions based on PostgreSQL's table inheritance.
Assuming I have a person table and a employee table that inherits from it. These tables automatically generate the Person and Employee GraphQL types but makes no relationships between them. Ideally, the generated schema would look like:
type Employee implements Person {
  salary: Int!
}

which would allow a query returning [Person!]! to include Employee objects in the result and allow inline fragments to discriminate the types properly.

using table inheritance for type unions is a very interesting idea @bryanmylee
table inheritance is pretty out-of-fashion and I recall being told that its no longer recommended. I'll ask the postgres team and see if they have any strong opinions
There could be some edge cases around computed columns and views not being able to conform to the interface
any thoughts @alaister?

help understanding where I should look with regards to the PSQL -> GraphQL type generation

Contributions to the project would be great. This feature is pretty significant though so possibly not the best place to start:
These would be the steps:

Update the query that loads the database schema state to track table inheritance  https://github.com/supabase/pg_graphql/blob/master/sql/load_sql_context.sql (must not have significant impact on query performance)

Update the relevant SQL types to deserialize it https://github.com/supabase/pg_graphql/blob/master/src/sql_types.rs

Add a new generic __Type to represent inherited interfaces. You could model it after __Type::NodeInterface and NodeInterfaceType

Add the interface/s to the relevant NodeTypes https://github.com/supabase/pg_graphql/blob/f07ac71bf95907e5cc3e684c323d176b96908e6d/src/graphql.rs#L1676-L1689

I don't think any of the resolver logic would need to change off the top of my head since all the relevant fields are already present on the inherited types

Interfaces + Unions (Polymorphism) would certainly be a useful feature addition. However, I think inherited tables are not the best way of implementing them. Personally, I don't find them to be very ergonomic.
Perhaps we could hint to pg_graphql (via the @graphql({}) directive) that we want a type to appear as part of an interface/union. This is similar to how Postgraphile V5 is handling this.

I've only started using PostgreSQL extensively recently so I'm curious: what seems to be the issue with inherited tables?

IIRC its a bunch of little things

can negatively impact query performance when there are lots of child tables
constraints/indexes aren't inherited
can't cascade alter statements to child tables
a big fraction of its use-case was supplanted by declarative partitioning in pg 10
limited support in ORMS
can be complex

but if you know what you're doing I don't know of anything that's really wrong with that approach

Just as an update for others who have the same problem to solve, our team has gotten rid of table inheritance in favor of composed tables due to some glaring issues with inheritance.
The most egregious behavior was that entries in child tables will show up in queries on the parent table, but those entries will not be referencable in foreign keys, which broke our use case.
create table user (
  id uuid not null default gen_random_uuid (),
  constraint user_pkey primary key (id)
);

create table employee (
  name text not null
) inherits (user);

create table member (
  user_id uuid not null,
  constraint member_user_id_fk foreign key (user_id)
    references user (id) on delete cascade
);

insert into employee(id, name)
  values ('b28e7d43-d46f-4d20-8a06-db6342569553', 'Bryan');

select * from user; /**
+--------------------------------------+
|                                   id |
+--------------------------------------+
| b28e7d43-d46f-4d20-8a06-db6342569553 |
+--------------------------------------+
*/

insert into member(user_id)
  values ('b28e7d43-d46f-4d20-8a06-db6342569553'); /**
'b28e7d43-d46f-4d20-8a06-db6342569553' does not exist in foreign table user.
*/

Composition resolves all our use cases, and is compatible with pg_graphql's interface as it is now.
create table user (
  id uuid not null default gen_random_uuid (),
  constraint user_pkey primary key (id)
);

create table employee (
  id uuid not null default gen_random_uuid (),
  constraint employee_pkey primary key (id),
  -- the unique constraint allows pg_graphql to create a 1-to-1
  user_id uuid not null unique,
  constraint employee_user_id_fk foreign key (user_id)
    references user (id) on delete cascade,
  name text not null
) inherits (user);

create table member (
  user_id uuid not null,
  constraint member_user_id_fk foreign key (user_id)
    references user (id) on delete cascade
);

insert into user(id)
  values ('b28e7d43-d46f-4d20-8a06-db6342569553');
insert into employee(id, user_id, name)
  values (
    'b28e7d43-d46f-4d20-8a06-db6342569553',
    'b28e7d43-d46f-4d20-8a06-db6342569553',
    'Bryan'
  );

-- works fine now.
insert into member(user_id)
  values ('b28e7d43-d46f-4d20-8a06-db6342569553');

One small rough edge is that we have to insert records into two tables whenever we want to create new entries, but that's something that can be worked around, and #294 will solve the pain points eventually.
query {
  userCollection {
    edges {
      node {
        employee { # any extra child fields from employees
        }
      }
    }
  }
}


how to download model weight

Great job! I saw in the update log that the model weight file has been released, but I can't find where to download the model weight file.

Hi, thanks for attention to our work!
Here is the link for the Lora weights. https://huggingface.co/listen2you002/ChartLlama-13b
But I am busy these days and the model weights can just be downloaded manually.
Remember to use our model_vqa_lora.py to load the model, and maybe you need to change the path in the config.json of the model. (I forgot to change the vision tower path)

Thanks !

Hi, could someone please help which file is considered as LORA checkpoint. I am attaching the hugging face repo that I am able to view for the project. Please let me know if there is an alternate place where I could find the checkpoints. Thank you


Add Http2HeadersEncoder.ALWAYS_SENSITIVE instance

Motivation:
We already provide a NEVER_SENSITIVE instance,we should add ALWAYS_SENSITIVE as well.
Modifications:
Add ALWAYS_SENSITIVE instance which will always return true when check for sesitive.
Result:
User can reuse code.

@trustin PTAL

@normanmaurer LGTM

Cherry-picked into 4.1 (c6d43667d491cdc8327db000dfe261bea0ad4bbb) and master (2e10a3dec42d0a83530181b5a5357bb21f27dacd)


Missing parameters in Media Object Type

Hello,
I've been ignoring this minor issue of missing parameters in the media object I think because I haven't been frequently testing and using it as my main focus was on Text type. But I can confirm that there are missing parameters the object isn't returning for the media object. Below are examples of the cases:
CASE 1 FOR NORMAL DUMP:
{
    "object": "whatsapp_business_account",
    "entry": [
        {
            "id": "100822442994608",
            "changes": [
                {
                    "value": {
                        "messaging_product": "whatsapp",
                        "metadata": {
                            "display_phone_number": "**********",
                            "phone_number_id": "***********"
                        },
                        "contacts": [
                            {
                                "profile": {
                                    "name": "De Rick"
                                },
                                "wa_id": "25********"
                            }
                        ],
                        "messages": [
                            {
                                "from": "25*********",
                                "id": "wamid.HBgMMjU2NzQyMDMwNDAzFQIAEhgWM0VCMDlGNkEzQTI2REUyN0NGQzVCQwA=",
                                "timestamp": "1687370616",
                                "type": "document",
                                "document": {
                                    "filename": "Packet Tracer Guide.docx",
                                    "mime_type": "application\/vnd.openxmlformats-officedocument.wordprocessingml.document",
                                    "sha256": "EHebbB0CwZndBi9LvLB5PQVYPhHdJsnDxzmRpUv+KkY=",
                                    "id": "184921594550426"
                                }
                            }
                        ]
                    },
                    "field": "messages"
                }
            ]
        }
    ]
}

CASE 1 FOR LIB DUMP
Netflie\WhatsAppCloudApi\WebHook\Notification\Media Object
(
    [image_id] =><PHONE_NUMBER>50426
    [mime_type] => application/vnd.openxmlformats-officedocument.wordprocessingml.document
    [caption] =>
    [customer] => Netflie\WhatsAppCloudApi\WebHook\Notification\Support\Customer Object
        (
            [id] => **********
            [name] => De Rick
            [phone_number] => 25**********
        )

    [id] => wamid.HBgMMjU2NzQyMDMwNDAzFQIAEhgWM0VCMDlGNkEzQTI2REUyN0NGQzVCQwA=
    [business] => Netflie\WhatsAppCloudApi\WebHook\Notification\Support\Business Object
        (
            [phone_number_id] => ************
            [phone_number] => **********
        )

    [received_at] => DateTimeImmutable Object
        (
            [date] => 2023-06-21 21:03:36.000000
            [timezone_type] => 3
            [timezone] => Africa/Kampala
        )

)

The tests I made all include the "filename" parameter and "sha256". Is it possible to include these parameters in future versions of the LIB? Thank you. I'm always ready to test and provide immediate feedback.

Hi @derrickobedgiu1, I would also like these additional fields to be available for Media messages. I will try to spend some time this weekend to see if I can come up with a Pull Request to add them.

@angelomelonas Thanks for that. I checked the files and found it's only the document media type that comes with the filename parameter. The image didn't come with the parameters. So the issue I've created here is concerned with the document type only, AT LEAST FOR NOW. I figured you may be interested in having this information.

Done
https://github.com/netflie/whatsapp-cloud-api/pull/126/commits/242327e5ff06527fece4da9225338ecd9ff97836

Hi @winkelco thanks for your support. Can you open a PR? Thanks!

Filename and sha256 are now available from v2.1.0 release.


Unexpected behavior of get_view_of_file when using progress_func

Version and Platform (required):

Headless (on 3.3.4012-dev)
OS: MacOS
OS Version: 13.1
CPU Architecture: M1

Bug Description:

When supplying a .bndb file along with progress_func BinaryNinja is unable to open the .bndb but when progress_func is not supplied it opens fine:

>>> bv_path
PosixPath('libc.so.6.bndb')
>>> open_view(bv_path, progress_func=lambda p,t: print(p,t))
0 1000000
1 1
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Applications/Binary Ninja.app/Contents/Resources/python/binaryninja/__init__.py", line 360, in open_view
    bv = BinaryViewType.get_view_of_file_with_options(*args, **kwargs)
  File "/Applications/Binary Ninja.app/Contents/Resources/python/binaryninja/binaryview.py", line 1033, in get_view_of_file_with_options
    return BinaryViewType.load(filename, update_analysis, progress_func, options)
  File "/Applications/Binary Ninja.app/Contents/Resources/python/binaryninja/binaryview.py", line 1199, in load
    return BinaryViewType.load_raw_view_with_options(raw_view, *args, **kwargs)
  File "/Applications/Binary Ninja.app/Contents/Resources/python/binaryninja/binaryview.py", line 1147, in load_raw_view_with_options
    raise Exception(f"Unable to open_existing_database with filename {raw_view.file.filename}")
Exception: Unable to open_existing_database with filename libc.so.6.bndb
>>> open_view(bv_path)
<BinaryView: 'libc.so.6.bndb', len 0x227ed8>
>>> path
PosixPath('libc.so.6')
>>> open_view(path, progress_func=lambda p,t: print(p,t))
<BinaryView: 'libc.so.6', len 0x227ed8>

Additionally, when supplying a callable progress_func when using open_view the progress_func is only updated when supplying a .bndb file and never gets called otherwise. Specifically in get_view_of_file:

		is_database = filename.endswith(".bndb")
		if is_database:
			f = open(filename, 'rb')
			if f is None or f.read(len(sqlite)) != sqlite:
				return None
			f.close()
			view = filemetadata.FileMetadata().open_existing_database(filename, progress_func)
		else:
			view = BinaryView.open(filename)

From the docs it would be expected that progress_func is called on any valid filename not just .bndb files:
progress_func (callback) – optional function to be called with the current progress and total count
Steps To Reproduce:

Use progress_func in any context.

Expected Behavior:
Progress bar to be called
Screenshots:
N/A
Additional Information:
For the second example I am unsure if this is a bug or intended behavior; if the latter then this is a DOCS issue not a BUG.

Ok this one had me confused for a bit too. So the progress function should be returning a bool True to continue and False to stop loading. As your example returns None BinaryNinja cancels its loading. Change your code to
>>> def progress(x, y):
...  print(x,y)
...  return True
...
>>> load("foo.bndb", progress_func=progress)
<BinaryView: 'foo.bndb', start 0x4fb80000, len 0x5064>

On think I noticed I can fix though which might have helped you out is I'm adding a LogInfo to indicate that loading has been cancelled. This would have probably clued you into the problem.

@plafosse Great, I can see the progress function when supplying a Callable that returns true.
With regards to the second issue, the progress_func still is not called when supplying a non-bndb file to open_view:
(Pdb) print(path, bv_path)
libc.so.6 libc.so.6.bndb
(Pdb) open_view(bv_path, progress_func=self.progress)
515382 1000000...
<BinaryView: 'libc.so.6.bndb', len 0x227ed8>
(Pdb) open_view(path, progress_func=self.progress)
<BinaryView: 'libc.so.6.bndb', len 0x227ed8>

Should I open a new PR for this issue?

So... oddly enough the API for opening a non-bndb doesn't have a way of accepting a progress_function. This would actually require a considerable refactor to accomplish. We could make this happen but only after this issue is addressed https://github.com/Vector35/binaryninja-api/issues/2604

Got it, thanks for the clarification!


[KeyVault] - Clean up sample key deletion

What

Skip deleting keys in every sample
Delete the purgeAllKeys sample
Add an example on how to delete and purge a single key

Why
Deleting and purging keys is a costly operation in terms of time. There's no
reason to wait for deleting and purging every single key when we run the
samples now that we deploy and tear down key vaults per test run.

/azp run js - keyvault-keys - tests

Known issues with re-installing native dependencies on ubuntu. Since there's no product changes and the samples are passing I am merging

/check-enforcer override


[Android] Update build command for tvm4j_runtime_packed in Android library

Description of the changes
This PR updates the build command for the tvm4j_runtime_packed target in the Android library's build file. The previous make command has been replaced with a CMake build command to ensure a more standardized and cross-platform build process.
Changes made

Replaced make tvm4j_runtime_packed -j10 with cmake --build . --target tvm4j_runtime_packed --config release to invoke CMake for building the tvm4j_runtime_packed target in release configuration.

cc @tqchen

@Kartik14 have you confirmed locally that it works?

@Kartik14 have you confirmed locally that it works?

Yes, Confirmed it on mac and ubuntu


refactored maxitems

Refactored maxitems

Coverage increased (+0.3%) to 82.663% when pulling 4a4d4eca6a67e58fde500927dadd32ab6e71804a on mfriesen:maxitems into<PHONE_NUMBER>c0276eb1f8f5d943463813d40b62b0 on lukasoppermann:master.

Thanks, maybe at some point you are interested in looking into #329


ESPNow-Mesh -> Connect to WiFi router with connection to internet ?

I have ESPNow-Mesh running.
Is it possible for one of the nodes to connect to an external WiFi router which has connection to the internet ?

Simultaneous operation of ESP-NOW (zh_network) and WiFI (internet connection) is possible. See https://github.com/aZholtikov/zh_gateway


YAML serializes numeric strings incorrectly

In YAML, a string containing only a number has to be represented with quotes to avoid being interpreted as a numeric value. The Crystal YAML library currently doesn't do this.
Example code:
require "yaml"

puts({ "n" => "2" }.to_yaml)

This yields n: 2, which would correctly be deserialized (e.g., by Ruby) as 2 instead of "2".
This issue is related to #4175, #3101, etc., but it seems a little bit narrower in scope since it's not about supporting a larger subset of YAML than Crystal currently does, just about supporting the current subset in a more correct way.

I think Asterite more or less directly addressed this in his comment on that issue:

It's just that the fail-safe schema was easier to implement at first, because everything is a string, and then you can parse the string in the way that you need it.

If you like, I wrote a macro lib that generates a bunch of converters for numeric types for ease of use in JSON and YAML mappings. It's very much tailored to my own needs at the moment and I would like to improve it, but maybe they would be of use to you: z64/string_converter

Sorry, I might not have been clear in my description of the problem. The issue I'm having only involves string data, not numeric data—specifically, string data that consists of numeric characters. The way Crystal currently serializes a string like "2" (without quotes) round-trips correctly in Crystal, but other languages parse it incorrectly.
I'm not familiar enough with the YAML spec to know if it's a requirement for an implementation of the fail-safe schema to quote these strings, but it seems like a good idea for Crystal to implement the subset of YAML that it supports in a way that interops with other parsers.
BTW, this monkey patch fixes my immediate problem, although I'm guessing there's a better way to get LibYAML to do the right thing:
class YAML::Builder
  def scalar(value)
    if value.is_a?(String)
      string = value
      style = value =~ /^\d+$/ ? LibYAML::ScalarStyle::DOUBLE_QUOTED : LibYAML::ScalarStyle::ANY
    else
      string = value.to_s
      style = LibYAML::ScalarStyle::ANY
    end

    emit scalar, nil, nil, string, string.bytesize, 1, 1, style
  end
end

#codetrieage:
YAML supports a plain style to write values without delimiters, which is good readable but has its limitations.
One such limitation is that a plain style value wich matches a number format can be interpreted as a number. Therefore, emitting a string which would produce such a value needs to wrap it in delimiters to avoid misinterpretation as wrong datataype. This is relevant for all formats described for Integer and Floating Point but also Boolean and null.
The core problem is, that Crystals YAML API currently only supports Failsafe Schema which has the datatypes mapping, sequence and string. It should be enhanced to support the Core Schema. So this is not actually a bug, when you're parsing the output with Ruby for example, you're just using the wrong JSON schema... but of course Crystal should be compatible to the full spec for parsing and formatting. I have created #4771 as a meta-issue.
All these string values should be wrapped in delimiters (carc.in):
require "yaml"

string = YAML.build do |yaml|
  yaml.sequence do
    yaml.scalar "1"
    yaml.scalar "1.2"
    yaml.scalar "-1.2"
    yaml.scalar "-1"
    yaml.scalar ".inf"
    yaml.scalar "-.inf"
    yaml.scalar ".nan"
    yaml.scalar "null"
    yaml.scalar "true"
    yaml.scalar "false"
  end
end
puts string