Research Findings on Mixpanel Event Tracking in Homebase-App

Research on Implementing and Configuring Event Tracking with Mixpanel in Homebase-App
Background
The Homebase-App had an existing, yet incomplete Mixpanel integration, particularly lacking in event tracking capabilities. The task assigned was to research and document necessary steps to enable comprehensive event tracking.
Research Conducted by Benefacto
Objective: To investigate the current state of Mixpanel integration and identify the necessary steps to enable effective event tracking.

Initial Assessment (20 Days Ago): Benefacto self-assigned the issue, aiming to understand the current state of Mixpanel integration.

Mixpanel Integration Status Check (19 Days Ago):

Identified that Mixpanel was not actively tracking any events.
Confirmed the setup of Mixpanel on the front end but noted its inactivity in tracking.
Found a relevant document delineating intended event tracking: Mixpanel Tracking Document.

Detailed Analysis (15-14 Days Ago):

Discovered code meant for generating events, yet not functional.
Planned to collaborate with team members (Manank, Andrei, and Ben) for deeper insights and performance tracking strategies.

Performance Event Tracking Plan (7 Days Ago):

Enumerated specific performance-related events to be tracked across various components such as Homebase, Agora, Tezos Explorer, etc.
Suggested integrating Google Lighthouse for assessing performance metrics.
Noted that some user events were already being tracked, as seen in the Mixpanel project: Mixpanel Project Insights.

Conclusion
Benefacto's research laid the groundwork for the subsequent phases of implementing and configuring Mixpanel event tracking in the Homebase-App. The findings highlighted the need for both front-end and back-end enhancements to fully realize the potential of event tracking for analytics and insights.
Recommendations

Proceed with the implementation of the identified performance-related events.
Utilize Google Lighthouse for performance assessment.
Further investigate the existing event-generating code and integrate it effectively with Mixpanel.

Next Steps
Based on the research, the team can now move forward with the actual implementation, ensuring that the Mixpanel integration is comprehensive and effectively tracks key user interactions and performance metrics as per the business requirements.

Details in comments of #743 on how to finish this one up


Feature Request: Knowing whether we are front end or backend?

It is essential while holding position of boyfriend to know whether we are Front-end only, Back-end only or full stack boyfriends.
Please add a flag so we are aware of our role.

UHHHHHHHHHHH


Add browser.closed and page.closed events

Fire browser.closed event when the underlying browser process gets closed / crashes
Fire page.closed event when the page gets closed / crashes

This will help to build reliable scripts that restart browser or reopen pages when they crash.

currently no PR to this right? Is it ok if i just take page.closed ?

Hi @aslushnikov , please correct me if i am wrong. With

Fire browser.closed event when the underlying browser process gets closed / crashes

My attempt was to close the browser when the page got crashed. But the result was 370 specs, 309 failures, This is what my attempt looks like. Here the travis build failure, and the raw log (too many error so the summary only available on raw log). Gladly awaiting your response :smile: .

For this to be closed, the 'page.disconnected' is also necessary.

For this to be closed, the 'page.disconnected' is also necessary.

@aslushnikov: is this currently in the works? If not I might be able to take a crack at it.

We now have browser.disconnected and page.close events.

is there anyway i can know either the browser is crashed or closed from the disconnected  event? i only want to relaunch the browser when it crashes, not when i called browser.close()


Disabled Option

It would be cool if there were an option to include but disable a record.

I'm not sure I understand what you want. You want an option that is not selectable? or all options when the select is disable?

The first option. If I have a list [cat, dog, fish] but somewhere on my page they selected "mammal" as criteria I want to show but disable "fish".

On May 2, 2018, at 2:44 AM, Valère<EMAIL_ADDRESS>wrote:
I'm not sure I understand what you want. You want an option that is not selectable? or all options when the select is disable?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

So it's possible in 3.3.0
I made an exemple in the doc https://vue-multi-select.tuturu.io/#custom_multi_select


Add SildePuzzle

Developer Checklist

[] Followed guidelines mentioned in the readme file.
[ ] Followed directory structure. (e.g. ProjectName/{USERNAME}/...yourfiles)
[ ] Starred ⭐ the Repo (Optional)

Summary
You can play the SildePuzzle game...
Screenshot

Live Project Link
add a working project link here

@PBJI hey bro I hope you're doing well. I have changed the name of the project, so please check the name and give feedback.


TTL test failure fixes

Disabled server near cache batching to make the invalidations faster. Also corrected the checks for the TTL expiry tests when near cache is used.
Our test was incorrectly testing when near cache is used on ttl expiry where the put sends invalidation and we were thinking that this was the invalidation due to the ttl expiry. This was incorrect test approach. I started to use invalidationRequest number in near cache statistics fo invalidations instead.
Build failure:
MixedMapAPITestInstance/MixedMapAPITest.testPutTtl/1:
00:39:52 Thread 1 (Thread 0xf661d780 (LWP 5472)):
00:39:52 #0  0xf6b1eb16 in std::string::compare(char const*) const () from /lib/libstdc++.so.6
00:39:52 No symbol table info available.
00:39:52 #1  0x08ba8fb6 in std::operator==<char, std::char_traits<char>, std::allocator<char> > (__lhs=<error reading variable: Cannot access memory at address 0x0>, __rhs=0x91917c4 "value1") at /usr/include/c++/4.8.2/bits/basic_string.h:2521
00:39:52 No locals.
00:39:52 #2  0x08bafe14 in testing::internal::CmpHelperEQ<std::string, char [7]> (expected_expression=0x91918f3 "*temp", actual_expression=0x9191c65 "\"value1\"", expected=<error reading variable: Cannot access memory at address 0x0>, actual=...) at /home/jenkins/jenkins/workspace/cpp-centos7-nightly-32-SHARED-Debug/hazelcast/test/googletest/googletest/include/gtest/gtest.h:1392
00:39:52 No locals.
00:39:52 #3  0x08baa25d in testing::internal::EqHelper<false>::Compare<std::string, char [7]> (expected_expression=0x91918f3 "*temp", actual_expression=0x9191c65 "\"value1\"", expected=<error reading variable: Cannot access memory at address 0x0>, actual=...) at /home/jenkins/jenkins/workspace/cpp-centos7-nightly-32-SHARED-Debug/hazelcast/test/googletest/googletest/include/gtest/gtest.h:1423
00:39:52 No locals.
00:39:52 #4  0x08e4a6d5 in hazelcast::client::test::mixedmap::MixedMapAPITest_testPutTtl_Test::TestBody (this=0xa8db2f0) at /home/jenkins/jenkins/workspace/cpp-centos7-nightly-32-SHARED-Debug/hazelcast/test/src/map/MixedMapAPITest.cpp:727
00:39:52         gtest_ar = {success_ = 34, message_ = {ptr_ = 0xa8e56ec}}
00:39:52         evict = {static CHECK_INTERVAL = 100, count = {<hazelcast::util::Atomic<int>> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, _vptr.Atomic = 0x9039358 <vtable for hazelcast::util::AtomicInt+8>, mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __kind = 0, __nusers = 0, {__spins = 0, __list = {__next = 0x0}}}, __size = '\000' <repeats 23 times>, __align = 0}}, v = 0}, <No data fields>}, static MILLISECONDS_IN_A_SECOND = 1000, static HZ_INFINITE =<PHONE_NUMBER>}
00:39:52         temp = {_M_ptr = 0x0}
00:39:52         dummy = {static CHECK_INTERVAL = 100, count = {<hazelcast::util::Atomic<int>> = {<boost::noncopyable_::noncopyable> = {<No data fields>}, _vptr.Atomic = 0x9039358 <vtable for hazelcast::util::AtomicInt+8>, mutex = {mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __kind = 0, __nusers = 0, {__spins = 0, __list = {__next = 0x0}}}, __size = '\000' <repeats 23 times>, __align = 0}}, v = 9}, <No data fields>}, static MILLISECONDS_IN_A_SECOND = 1000, static HZ_INFINITE =<PHONE_NUMBER>}
00:39:52         sampleEntryListener = {<hazelcast::client::mixedtype::MixedEntryListener> = {_vptr.MixedEntryListener = 0x9195a68 <vtable for hazelcast::client::test::mixedmap::CountdownListener+8>}, addLatch = @0xff83e438, removeLatch = @0xff83e438, updateLatch = @0xff83e438, evictLatch = @0xff83e458}
00:39:52         id = "0e0f080c-0e0b-470e-8209-090b0d090006"
00:39:52         temp2 = {_M_ptr = 0xffffffff}

Windows test PASSed.

Linux test PASSed.

Linux test PASSed.

Windows test PASSed.


consequent run prisma migrate reset --force does not run migrates

Bug description
I'm trying to setup integration testing using Prisma and Jest. I do run prisma migrate reset --force command for a testing database before running the test suite. The command runs great, but there are no tables that defined in my migrations. I believe it's not an expected behavior.
I could fix by running TRUNCATE _prisma_migrations before running prisma migrate reset --force, so it applies migrations one more time
How to reproduce

Run npx dotenv -e .env.test -- npx prisma migrate reset --force
See that migrations were ran well and all tables were created
Run npx dotenv -e .env.test -- npx prisma migrate reset --force  one more time
See that there are no tables (they were reset, but not re-created)

Expected behavior
prisma migrate reset --force should be idempotent and maintain the clean and latest state of the database
Prisma information

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["multiSchema"]
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
  schemas  = ["sync", "paap"]
}

model SalesforceAccount {
  id                String              @id(map: "salesforce_accounts_pk")
  description       String?
  baseUrl           String              @map("base_url")
  clientId          String              @map("client_id")
  clientSecret      String              @map("client_secret")
  username          String
  password          String
  discovery         Json?
  salesforceTables  SalesforceTable[]

  @@schema("sync")
  @@map("salesforce_accounts")
}

model SalesforceTable {
  accountId              String              @map("id_account")
  name                   String
  table                  String
  columns                String[]
  intervalMinutes        Int                 @map("interval_minutes")
  lastSynchronizedAt     DateTime?           @db.Timestamptz(6) @map("date_last_synchronized")
  account                SalesforceAccount   @relation(fields: [accountId], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "salesforce_tables_fk")

  @@id([accountId, name], map: "salesforce_tables_pk")
  @@map("salesforce_tables")
  @@schema("sync")
}

// Add your code using Prisma Client

Environment & setup

OS: macOS
Database: PostgreSQL
Node.js version: v19.7.0

Prisma Version
prisma                  : 4.11.0
@prisma/client          : 4.11.0
Current platform        : darwin-arm64
Query Engine (Node-API) : libquery-engine 8fde8fef4033376662cad983758335009d522acb (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 8fde8fef4033376662cad983758335009d522acb (at node_modules/@prisma/engines/migration-engine-darwin-arm64)
Format Wasm             : @prisma/prisma-fmt-wasm 4.11.0-57.8fde8fef4033376662cad983758335009d522acb
Default Engines Hash    : 8fde8fef4033376662cad983758335009d522acb
Studio                  : 0.483.0
Preview Features        : multiSchema

It's interesting, now I have multiple migrations in my project and it runs good. The bug occured when I had a single 0_init migration. I might need to create a github repo that reproduces the bug

just had this one too.


@ApplicationModuleTest fails to bootstrap external dependencies

I have encountered an issue that is only reproducible during testing with @ApplicationModuleTest. The issue comes from the fact that for some reason not all Autowire candidates that are coming from external dependencies will be registered by the test and it will fail to bootstrap and we get the following exception:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type '[Dependency]' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
The issue can be solved if the external packages are added to @Modulithic(additionalPackages=[Dependency]), but this requires the packages to be exposed with @NamedInterface, which might not be possible in all cases.
Also, noticed that there is no issue with any spring dependencies or Jackson. The issues only came during test run and only with our external dependencies so far.

The setup is as follows.
We have a main application for a realistic example let's call it TransactionEngine, this is a Modulithic application with multiple modules. We have another application that functions as a dependency for other projects, e.g. an IpLookup module. This is a completely different project from the previous one.
The IpLookup project has a service exposed on it called IpLookupService annotated only with @Service. So it's this application that registers the Bean and not the TransactionEngine.
We include this dependency into the TransactionEngine project with maven, then inject the IpLookupService in other services like any other bean.
When I tried to spin up only 1 module of the project, it failed to find the Dependency IpLookupService. I tried all modes on the @ApplicationModuleTest.
I got it working by updating the IpLookupService to have an @NamedInterface on it.
In the TransactionEngine I used @Modulithic(additionalPackages= "org.iplookup")
This made it work for me, but I would expect since the IpLookup module is included with maven, and the modules share maven dependencies across modules since they are a single project, that the IpLookup service is available without any additional changes needed on the library

This works as designed. A standard Spring Boot application also only considers types located under the application's base package. Moving away from that approach would mean we'd have to scan all dependencies. Furthermore, the default notion of a module is “direct child packages of the application base package”. That convention would fall apart completely. Finally, as you have discovered, a mechanism to include additional packages as root packages already exists.


Add support for Elantris annotations

It adds two scripts: elantris-annotations, which will create an eBook consisting only of the annotations, and annotate-elantris, which will take a provided Elantris EPUB and add the annotations to the end, as well as adding a link to the annotations for each chapter at the start and end of each chapter (and links back to the chapter in the annotation).
Few things:
One, code's probably messy. Never been great at coding, haven't touched coding in months, and have never used Ruby. So uh, if something's terrible, please point it out to me lol.
Two, it requires you to put the EPUB in a folder within the program's files, which I don't think works with Docker. Not sure how to get it to take a filename as input or anything. So for now, you have to download the repo and run the Ruby file directly.
Three, no idea how generalizable it is or isn't for other books, or even other editions of Elantris. It definitely will require tweaking for other books, and possibly even for other versions of Elantris, but not super sure how much effort it takes. Might look into that over the next few days.
Also, not super sure on if a license thing needs to be put somewhere for rubyzip or the rubyzip sample.

Erm. I broke something with Git. Oops.


Fix get_base_dir returning same path, if slash is in the end

Fixes https://github.com/godotengine/godot/issues/58504

Would be good to rebase to make sure it still builds and works fine, and to add some test cases to tests/core/string/test_string.h.
Notably it should test a few combinations of paths with a trailing slash, like:
some/nested/path/
some/
/absolute/nested/path/
/absolute/
/
../


Fail to composer install on master

What steps will reproduce the problem?
run composer install in docker image:
root@3afd23a1a357:/app# composer install
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - yiisoft/yii-cycle dev-master requires cycle/orm ^2.0 -> found cycle/orm[v2.0.0, ..., 2.x-dev] but it conflicts with your root composer.json require (^1.2).
    - yiisoft/yii-cycle 3.0.x-dev is an alias of yiisoft/yii-cycle dev-master and thus requires it to be installed too.
    - Root composer.json requires yiisoft/yii-cycle ^3.0@dev -> satisfiable by yiisoft/yii-cycle[3.0.x-dev (alias of dev-master)].

root@3afd23a1a357:/app#

What is the expected result?
composer install successfully

You may switch to https://github.com/yiisoft/demo-api/pull/101 temporary


[$500] Web- Attachment - Up and down arrow key does not work for scrolling PDF file.

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

Action Performed:

Go to staging.new.expensifail.com
Log in with expensifail account
Select any user
Click the plus button to the left of the message input, and select "Add attachment"
Select a password-protected PDF
Verify that the password form appears
Enter the password and Click Confirm
Use up and down key for scrolling the issue

Expected Result:
Up and down arrow key works for scrolling PDF file.
Actual Result:
Up and down arrow key does not work for scrolling PDF file.
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/188494383-1249d286-81b6-4436-b652-5000fb8c5768.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Yeah, I was able to reproduce this, it happens mostly when previewing the attachment before sending it.

Missed this in the end of offshore shuffle. Posting now.

Upwork job created here: https://www.upwork.com/jobs/~0135398a55eee993ef. We're open for proposals.

Proposal
Problem
The scrollable pdf container is not focusable because tabIndex=-1 by default. In order to scroll using the arrow keys, you have to click the container first.
Solution
In order to programatically focus the pdf container, we'll add a ref. Then in the callback for successfully loading the pdf, set the tabIndex=0 and call .focus().
https://github.com/Expensify/App/blob/ddd34f8945d7cd74b03373b38bac6e9634d9de34/src/components/PDFView/index.js#L48-L54
    onDocumentLoadSuccess({numPages}) {
        this.setState({
            numPages,
            shouldRequestPassword: false,
            isPasswordInvalid: false,
        });

+       this.pdfContainer.tabIndex = 0;
+       this.pdfContainer.focus();
    }

https://github.com/Expensify/App/blob/ddd34f8945d7cd74b03373b38bac6e9634d9de34/src/components/PDFView/index.js#L120-L156
                <View
                    style={pdfContainerStyle}
                    onLayout={event => this.setState({windowWidth: event.nativeEvent.layout.width})}
+                   ref={node => this.pdfContainer = node}
                >

Result
https://user-images.githubusercontent.com/8475244/190286395-f4d69d80-8503-48e5-b2c9-74a627e4168d.mp4

Reviewing this now!

@andrewlor
When you open a pdf that is already received, after clicking on it we are able to scroll using the up/arrow. But why isn't working while sending alone?
Can you check on that, we don't want to auto set focus.

@Santhosh-Sellavel
Interesting findings: I believe you're only unable to scroll a new PDF if you have opened an existing PDF sent in the chat. So it may have to do with the fact that there are multiple PDFView components rendered.
Before I was not actually recreating the bug, I just misunderstood and thought we wanted to avoid the extra click before scrolling with arrow keys.
As you can see in this video:

If there is no existing PDF in the chat, I can scroll while uploading a new PDF
If there is an existing PDF in the chat, but I haven't opened it, I can still scroll while uploading a new PDF
However if I open an existing PDF in the chat and scroll it, can't scroll while uploading a new PDF

https://user-images.githubusercontent.com/8475244/191359431-2400d7f4-2d64-45b4-b0db-2da8e34b31e3.mp4
I'll continue looking into this and come back with an updated proposal.

Yeah Sounds good! @andrewlor

@Santhosh-Sellavel What do you think about setting the tabindex, but not auto focusing? This seems to solve the issue as you can see below, I'm just setting tabIndex = -1 manually in the console on the scrollable div wrapping the pdf document.
https://user-images.githubusercontent.com/8475244/191598371-6d906744-af62-40b8-b3b8-a4cbd70905d8.mp4
This behaviour can be explained here: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex

A negative value (usually tabindex="-1") means that the element is not reachable via sequential keyboard navigation, but could be focused with JavaScript or visually by clicking with the mouse.

So my updated proposal's code change would be:
https://github.com/Expensify/App/blob/ddd34f8945d7cd74b03373b38bac6e9634d9de34/src/components/PDFView/index.js#L48-L54
    onDocumentLoadSuccess({numPages}) {
        this.setState({
            numPages,
            shouldRequestPassword: false,
            isPasswordInvalid: false,
        });

+       this.pdfContainer.tabIndex = -1;
    }

https://github.com/Expensify/App/blob/ddd34f8945d7cd74b03373b38bac6e9634d9de34/src/components/PDFView/index.js#L120-L156
                <View
                    style={pdfContainerStyle}
                    onLayout={event => this.setState({windowWidth: event.nativeEvent.layout.width})}
+                   ref={node => this.pdfContainer = node}
                >

@Santhosh-Sellavel Checking in. Will you be able to review Andrew's proposal above in the coming days?

Sorry for the delay @andrewlor
But this kind of sound's like a workaround

Given that we're still waiting for an approved proposal, I'm going to double the price of this issue.

Posted in Slack for visibility as well.

Still waiting for proposals.

Waiting for proposals. Let's look into why "you're only unable to scroll a new PDF if you have opened an existing PDF sent in the chat" as @andrewlor mentioned here https://github.com/Expensify/App/issues/10824#issuecomment-1252886009.

Sounds great. In the meantime, I'm going to double the price of the issue.

Still waiting on proposals

Proposal
RCA

Proposal
RCA
https://user-images.githubusercontent.com/25520267/195977800-a22c31a9-abb6-44f6-8d5b-626fc90f0fea.mov
After closing the attachment modal from the report chat, something is setting the tabindex of <body> to -1.
https://user-images.githubusercontent.com/25520267/195978131-e97a899f-d142-4f9c-8f66-0416b37f6267.mov
As you can see here, with the tabindex=-1 on the <body> trying to scroll the pdf with the arrow key makes the focus move to the button. But after I remove the tabindex=-1 from the <body> tag and try to scroll the pdf file with the arrow key, it's working.

Some things still not clear to me is:

What setting the tabindex=-1 to the <body> tag
Why is the scroll of pdf  report chat still working

The answer for number 1 might be from react-native-web. react-native-modal is using native Modal from RN, so the Modal component for the web must come from RNW. Also, RNW doing a lot of things to handle the accessibility and have the modal focus trap on the modal logic.
Solution
My solution is to remove the tabindex=-1 from the <body> after the modal is hidden.
diff --git a/src/components/Modal/index.js b/src/components/Modal/index.js
index add8feef0..4b95080f9 100644
--- a/src/components/Modal/index.js
+++ b/src/components/Modal/index.js
@@ -42,6 +42,12 @@ class Modal extends Component {
                 ref={el => this.baseModalRef = el}
                 // eslint-disable-next-line react/jsx-props-no-spreading
                 {...this.props}
+                onModalHide={() => {
+                    setTimeout(() => {
+                        document.querySelector('body').removeAttribute('tabindex');
+                    });
+                    this.props.onModalHide();
+                }}
             >
                 {this.props.children}
             </BaseModal>

Result
https://user-images.githubusercontent.com/25520267/195979601-99cae183-59d8-4efc-a475-f266fa4b105a.mov

I think we probably want a solution without setTimeout. Let's not use a workaround fix.

We should start with this?

What setting the tabindex=-1 to the  tag

We don't prefer proposals with setTimeout.

@neil-marcellini I was typing the same! 😃

Proposal

What setting the tabindex=-1 to the tag

I found the answer to this. Is set from RNW on UIManager.focus from ModalFocusTrap. The comment about setting tabindex=-1 is:
// A tabIndex of -1 allows element to be programmatically focused but
      // prevents keyboard focus, so we don't want to set the value on elements
      // that support keyboard focus by default.

Also on Firefox when we open second time the uploaded PDF and try to scroll with the arrow key, we need to click twice to make it work.
https://user-images.githubusercontent.com/25520267/196378126-47aaefa5-6922-47ce-b29f-44c147735251.mov
https://github.com/Expensify/react-native-web/blob/154f2cc6096372b451fa4c9ebff2ad24710f70ec/packages/react-native-web/src/exports/UIManager/index.js#L60
https://github.com/Expensify/react-native-web/blob/154f2cc6096372b451fa4c9ebff2ad24710f70ec/packages/react-native-web/src/exports/Modal/ModalFocusTrap.js#L144-L156
We also not seeing the tabindex=-1 to <body> when closing the send attachment modal mostly because the lastFocusedElementOutsideTrap value is the composer input.  The UIManager.focus will skip node.setAttribute('tabIndex', '-1') because INPUT is on the exceptional list.
var focusableElements = {
  A: true,
  INPUT: true,
  SELECT: true,
  TEXTAREA: true,
};

On the other hand, when we try open the attachment from the chat list, the lastFocusedElementOutsideTrap is <body> so that's why at the end the tabindex=-1 to <body>.

Why is the scroll of pdf report chat still working

On the uploaded PDF, there's no button inside the modal so when we use the arrow key, the focus stays on the <body>. While on the upload modal view there's a button Confirm and when we use the arrow key, the focus is moved to the button.
Solution
Couple of things we can do to solve this:

Removing the tabindex from <body> when the modal is open

diff --git a/src/components/AttachmentModal.js b/src/components/AttachmentModal.js
index bac249e87..6876c2faf 100755
--- a/src/components/AttachmentModal.js
+++ b/src/components/AttachmentModal.js
@@ -90,6 +90,13 @@ class AttachmentModal extends PureComponent {
         this.updateConfirmButtonVisibility = this.updateConfirmButtonVisibility.bind(this);
     }

+    componentDidUpdate(prevProps, prevState) {
+        if (prevState.isModalOpen === this.state.isModalOpen || !this.state.isModalOpen) {
+            return;
+        }
+        document.body.removeAttribute('tabindex');
+    }
+
     /**
      * If our attachment is a PDF, return the unswipeable Modal type.
      * @param {String} sourceUrl

Updating our RNW fork and adding BODY to focusableElements on the RNW UIManager function. In this way, it will skip adding the tabindex=-1 to <body> on ModalFocusTrap.
https://github.com/Expensify/react-native-web/blob/154f2cc6096372b451fa4c9ebff2ad24710f70ec/packages/react-native-web/src/exports/UIManager/index.js#L36-L41

var focusableElements = {
  A: true,
  INPUT: true,
  SELECT: true,
  TEXTAREA: true,
+  BODY: true
};

Result
Solution 1
https://user-images.githubusercontent.com/25520267/196384733-fadae50d-178a-4502-b7c6-2b22ae8e70dd.mov
Solution 2
https://user-images.githubusercontent.com/25520267/196387598-3a97eac4-2dea-4efc-8bb5-026f396a444b.mov

@Santhosh-Sellavel what do you think of the proposal above?

@Santhosh-Sellavel Bump

@neil-marcellini
Solution 2 looks good to me, but I am open to your thoughts also on this one!

Ok @neil-marcellini @Santhosh-Sellavel - let's close the loop on this one. Looks like we're going with @mollfpr's proposal above? If so, let's assign the Contributor to this issue and I'll hire via Upwork.

Sorry, @JmillsExpensify @neil-marcellini I would like to dig further on this one, ignore my comment here for now.

Also, let's make sure we're all on the same page about the bug we are trying to solve. As I understand it this is the problem.
Action Performed:
Sign into NewDot with any account
Select a chat with any user
Click the plus button to the left of the message input, and select "Add attachment"
Select a PDF
Click send
After the PDF uploads, click to open it
Close it (notice that tabIndex=-1 on the body html element)
Click the plus button to the left of the message input, and select "Add attachment"
Select a PDF
Click on it
Click the down arrow key to scroll the PDF down
Expected Result:
The PDF scrolls down
Actual Result:
The PDF does not scroll down
https://user-images.githubusercontent.com/26260477/198105956-3d1910b6-82dc-4ca0-8b1e-4f34344f29b9.mov

@neil-marcellini I think we can't. We used PressableWithoutFocus which blurs the element before calling the onPress and the blurs set the last focus to <body>.
We could replace PressableWithoutFocus with regular Pressable but I'm afraid it will create regression.

Another thing we can do is set <body> to have tabindex="0". It will prevent setting the element tabindex="1".
https://github.com/Expensify/react-native-web/blob/154f2cc6096372b451fa4c9ebff2ad24710f70ec/packages/react-native-web/src/exports/UIManager/index.js#L52-L62

Hey @mollfpr @Santhosh-Sellavel I'm having a hard time figuring out what the best way forward is here.
I don't want to go for solution 1 above because I think that the tabIndex should be -1 on the body so that the focus is trapped in the modal. For solution 2, I don't think the body should be keyboard focusable.
Could you please give me a breakdown of how the focus is working through each of these steps? Also, when we click the PDF in step 10 why is it not focused?

Sign into NewDot with any account
Select a chat with any user
Click the plus button to the left of the message input, and select "Add attachment"
Select a PDF
Click send
After the PDF uploads, click to open it
Close it (notice that tabIndex=-1 on the body html element)
Click the plus button to the left of the message input, and select "Add attachment"
Select a PDF
Click on it
Click the down arrow key to scroll the PDF down

Could you please give me a breakdown of how the focus is working through each of these steps? Also, when we click the PDF in step 10 why is it not focused?

Sure!

From steps 1 to 5 there's no tab index set to the <body> tag.
In step 6, we used PressableWithoutFocus for the handle user pressed on the attachment report. So when the user clicks the attachment, it will blur first then open the modal. When blurring the last focused element trapped is <body>.
In step 7, from step 6 the last focused element trapped is <body> the UIManager.focus will set tabindex=-1 to the <body>.
In steps 8 to 11, the tab index of <body> is already -1.
In step 10, the focus element is the modal wrapper. But if we try to send the attachment before the tab index is set to -1 to <body> tag, the focus element when clicking on the document is the <body>
In step 11, when we use the arrow key, the focus is moved to the confirm button where it should be focused on the <body> or to the parent element that has tabindex="0"

I also notice that the tabindex=-1 in the <body> tag behaves differently on different browsers when clicking on the element and scrolling with the arrow key.
On Chrome and Safari, after focusing on another element (download button) then clicking the pdf and pressing the arrow key, it will scroll the document.
On Firefox, after focusing on another element (download button) and then clicking the pdf and pressing the arrow key, it will not scroll the document, instead, we need to click again on the document and the scroll with the arrow key will work.
https://user-images.githubusercontent.com/25520267/199179802-2bd918f6-f34c-47dc-aac1-aaaf19a3db9f.mov

Proposal
Another solution I suggest is adding focusable props to the View wrapper of the PDFDocument element. So we can use the keyboard navigation on pdf content.
diff --git a/src/components/PDFView/index.js b/src/components/PDFView/index.js
index b4c9079ca..137c87b70 100644
--- a/src/components/PDFView/index.js
+++ b/src/components/PDFView/index.js
@@ -114,14 +114,15 @@ class PDFView extends Component {
         // If we're requesting a password then we need to hide - but still render -
         // the PDF component.
         const pdfContainerStyle = this.state.shouldRequestPassword
-            ? [styles.PDFView, this.props.style, styles.invisible]
-            : [styles.PDFView, this.props.style];
+            ? [styles.PDFView, styles.noSelect, this.props.style, styles.invisible]
+            : [styles.PDFView, styles.noSelect, this.props.style];

         return (
             <View style={outerContainerStyle}>
                 <View
                     style={pdfContainerStyle}
                     onLayout={event => this.setState({windowWidth: event.nativeEvent.layout.width})}
+                    focusable
                 >
                     <Document
                         loading={<FullScreenLoadingIndicator />}

Chrome
https://user-images.githubusercontent.com/25520267/199183893-87a7ded9-dc87-42a9-81ab-d29de377c18d.mp4
Safari
https://user-images.githubusercontent.com/25520267/199185586-292c22ee-5114-4894-a045-7b330713ffb0.mov
Firefox
https://user-images.githubusercontent.com/25520267/199182051-149fc78d-1537-4b3a-8759-bd8516e0def6.mov
cc @neil-marcellini @Santhosh-Sellavel

Awesome @mollfpr, thanks for detailing those steps. I like your proposal outline here https://github.com/Expensify/App/issues/10824#issuecomment-1298176088. It fixes the issue in a simple way that makes sense; the PDF container should be focusable. I also noticed that keyboard navigation via the tab button works well with this solution, which is important for accessibility.
What do you think about that proposal @Santhosh-Sellavel?
https://user-images.githubusercontent.com/26260477/199281317-a8336b74-bc45-4b77-86ab-ab1dde75c053.mov

Awesome, as soon as @Santhosh-Sellavel is good with this direction, we can get @mollfpr assigned and hire via Upwork. I'm re-posting the job here since it's far up in the scroll and the previous link expired. https://www.upwork.com/jobs/~015f8ae228449711e2

Looks good, If I am understanding correctly.
After the proposal, the pdf Container is now focusable using tab navigation. Either after focusing on the pdf view using Tab or Tap/click, it will scrollable using the up & down arrow right?
@neil-marcellini @mollfpr

That’s correct @Santhosh-Sellavel

@JmillsExpensify Applied to the Upwork, thanks!

Thanks hired! cc @Santhosh-Sellavel job is here for you as well: https://www.upwork.com/jobs/~015f8ae228449711e2.

@mollfpr I wanted to circle back on this issue and get better clarity when you expect the linked PR to be ready for review?

@JmillsExpensify Seems PR is ready for Review. I'll review it.
Also applied for the job, thanks!!

I'll have to circle back to this one tomorrow. I'm finishing my day.

Probably, fix of this issue is causing this regression
cc: @neil-marcellini @Santhosh-Sellavel

Per this comment I agree the PDF container should be focusable so the user can scroll through the PDF with their arrow key. But maybe we should leave the outline style there to give the user vision that they focus on the PDF file?

I commented in the linked PR, but in order to have a discussion in Slack, I love to see a summary of the following from any of @mollfpr, @sobitneupane and/or @neil-marcellini. Basically,

Overview of the bug. Feel free to link to a comprehensive summary if one already exists.
Root cause of the issue. What was the specific line that introduced the regression?
And finally, what could we do to ensure that this doesn't happen again.

Thanks all!

I'll start, feel free to add more context @sobitneupane @neil-marcellini.

Overview of the bug. Feel free to link to a comprehensive summary if one already exists

https://expensify.slack.com/archives/C049HHMV9SM/p1668433791785489

Root cause of the issue. What was the specific line that introduced the regression?

We add a new focusable to the PDF container element and remove the outline style but it seems to make the focus lost after a specific tab. https://github.com/Expensify/App/blob/e09d22847b476e9a5bc864e4722aa3e5dd4d50ac/src/components/PDFView/index.js#L123

And finally, what could we do to ensure that this doesn't happen again

I think we should have more abroad discussion when the issue related to the tab navigation, so the others will know and agree to the changes.

Ok that's super helpful. I'm happy to kick off a discussion in #expensify-bugs as BZ, though I think it'd be more productive if one of you get this kicked off, as you are closer to the code and the actual root cause. We're actually discussing this change moving forward, so that more people can participate in the discussion.

Posted in Slack here.

Alright, so circling back on the discussion in Slack, I think I should:

Create a fresh issue for adding a new QA test to TestRail
Start by building off the original QA and incorporating the root cause issue
CC everyone in this testing issue to ensure we're appropriately covering cases moving forward

Does that sound right?

Lots going on in the open source world right now and the priority of this issue has slipped for me. I'll work on closing the loop as soon as I can, at the latest when the regression period ends.

Circling back to pay out contributors. I still need to dig into the regression test, but let me first quickly issue payments since no regressions have arisen.

Yes, we've discussed this regression above as well.

Issue not reproducible during KI retests. (Second week)

not overdue

Closing the loop on this today. Apologies again for the delay on the regression tests!

Alrighty, closing the loop. I created/linked the regression test. @neil-marcellini would you mind taking a look in the linked issue? I've added the up/down navigation to one of the existing tests, though we've since decided that tab navigation isn't officially supported, so I didn't add anything around that case. Closing the issue now that the regression test is added.

@JmillsExpensify Am I eligible for payment for reporting the regression?

While we don''t consider these bugs moving forward, as TAB is an accessibility feature we haven't built, yes I think that's fair game for a reporting bonus. Upwork job is here: https://www.upwork.com/jobs/~018a6911f84f687773.

@JmillsExpensify Proposal submitted.

Offer sent.

 Paid out!

@JmillsExpensify regarding these accessibility bugs I have reported similar 2 bugs/regression #12058 is related to this bug on the same component, am I eligible for reporting those?
https://github.com/Expensify/App/issues/12058
https://github.com/Expensify/App/issues/12010

Please take that question to open source in Slack. However for clarity we only compensate for merged PRs. This specific issue was reported by our regression testing partner.


[HHH-17192] Register join for TableGroupJoinProducer

https://hibernate.atlassian.net/jira/software/c/projects/HHH/issues/HHH-17192
Thanks to beikov for help :blush:

Thanks for the fix @The-Huginn, I adapted it a bit and will merge it via https://github.com/hibernate/hibernate-orm/pull/7375

Thanks as well for your help with the issue @beikov


SLIM Models - OSError: [WinError -1073741795] Windows Error 0xc000001d in 0.2.4

I'm getting a weird error when using LLMware 0.2.4 from pip, originally thought it was my code but I get the same error in one of the examples:
(.venv) PS C:\Users\MYUSERNAME\Documents\projects\llmware> python .\examples\SLIM-Agents\agent-multistep-analysis.py
update: Starting example - agent-multistep-analysis
update: Loading sample files
update: attempting to create source input folder at path:  C:\Users\MYUSERNAME\llmware_data\tmp\example_microsoft
update: creating library and parsing source document
update: executing query to filter to key passages - ibm - results found - 20
update: Launching LLMfx process
step -  1 -     creating object - ready to start processing.
step -  2 -     loading tool - sentiment
  File "C:\Users\MYUSERNAME\Documents\projects\llmware\examples\SLIM-Agents\agent-multistep-analysis.py", line 100, in <module>
    multistep_analysis()
  File "C:\Users\MYUSERNAME\Documents\projects\llmware\examples\SLIM-Agents\agent-multistep-analysis.py", line 66, in multistep_analysis
    agent.load_tool_list(["sentiment", "emotions", "topic", "tags", "ner", "answer"])
  File "C:\Users\MYUSERNAME\Documents\projects\llmwareproject\.venv\Lib\site-packages\llmware\agents.py", line 425, in load_tool_list
    self.load_tool(tool_type)
  File "C:\Users\MYUSERNAME\Documents\projects\llmwareproject\.venv\Lib\site-packages\llmware\agents.py", line 405, in load_tool
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\MYUSERNAME\Documents\projects\llmwareproject\.venv\Lib\site-packages\llmware\models.py", line 675, in load_model
    my_model = my_model.load_model_for_inference(loading_directions, model_card=model_card)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\MYUSERNAME\Documents\projects\llmwareproject\.venv\Lib\site-packages\llmware\models.py", line 4699, in load_model_for_inference
    self._model = _LlamaModel(self._lib, path_model=self.model_path, params=self.model_params)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\MYUSERNAME\Documents\projects\llmwareproject\.venv\Lib\site-packages\llmware\gguf_configs.py", line 643, in __init__
    self.model = _lib.llama_load_model_from_file(self.path_model.encode("utf-8"), self.params)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError -1073741795] Windows Error 0xc000001d

This was working previously on 0.2.2 so I downgraded to test if it was an environment issue
(.venv) PS C:\Users\MYUSERNAME\Documents\projects\llmware> pip uninstall llmware
Found existing installation: llmware 0.2.4
Uninstalling llmware-0.2.4:
  Would remove:
    c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages\llmware-0.2.4.dist-info\*
    c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages\llmware\*
Proceed (Y/n)? y
  Successfully uninstalled llmware-0.2.4
(.venv) PS C:\Users\MYUSERNAME\Documents\projects\llmware> pip install llmware==0.2.2
Collecting llmware==0.2.2
  Using cached llmware-0.2.2-py3-none-any.whl.metadata (46 kB)
Requirement already satisfied: ai21==1.0.3 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (1.0.3)
Requirement already satisfied: anthropic==0.3.11 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.3.11)
Requirement already satisfied: beautifulsoup4==4.11.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (4.11.1)
Requirement already satisfied: boto3==1.24.53 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (1.24.53)
Requirement already satisfied: cohere==4.1.3 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (4.1.3)
Requirement already satisfied: datasets==2.15.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (2.15.0)
Requirement already satisfied: faiss-cpu==1.7.4 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (1.7.4)
Requirement already satisfied: huggingface-hub==0.19.4 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.19.4)
Requirement already satisfied: lxml==4.9.3 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (4.9.3)
Requirement already satisfied: numpy>=1.23.2 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (1.23.2)
Collecting openai==0.27.7 (from llmware==0.2.2)
  Downloading openai-0.27.7-py3-none-any.whl.metadata (13 kB)
Requirement already satisfied: pdf2image==1.16.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (1.16.0)
Requirement already satisfied: pymilvus==2.3.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (2.3.0)
Requirement already satisfied: pymongo==4.5.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (4.5.0)
Requirement already satisfied: pytesseract==0.3.10 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.3.10)
Requirement already satisfied: sentence-transformers==2.2.2 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (2.2.2)
Requirement already satisfied: tabulate==0.9.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.9.0)
Requirement already satisfied: tokenizers>=0.15.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.15.0)
Requirement already satisfied: torch>=1.13.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (2.1.2)
Requirement already satisfied: transformers>=4.36.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (4.37.1)
Requirement already satisfied: Werkzeug==3.0.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (3.0.1)
Requirement already satisfied: word2number==1.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (1.1)
Requirement already satisfied: Wikipedia-API==0.6.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.6.0)
Requirement already satisfied: yfinance==0.2.28 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.2.28)
Requirement already satisfied: psycopg-binary==3.1.17 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (3.1.17)
Requirement already satisfied: psycopg==3.1.17 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (3.1.17)
Requirement already satisfied: pgvector==0.2.4 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.2.4)
Requirement already satisfied: colorama==0.4.6 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from llmware==0.2.2) (0.4.6)
Requirement already satisfied: requests in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from ai21==1.0.3->llmware==0.2.2) (2.31.0)
Requirement already satisfied: anyio<4,>=3.5.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from anthropic==0.3.11->llmware==0.2.2) (3.7.1)
Requirement already satisfied: distro<2,>=1.7.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from anthropic==0.3.11->llmware==0.2.2) (1.8.0)
Requirement already satisfied: httpx<1,>=0.23.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from anthropic==0.3.11->llmware==0.2.2) (0.25.2)
Requirement already satisfied: pydantic<3,>=1.9.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from anthropic==0.3.11->llmware==0.2.2) (2.5.2)
Requirement already satisfied: typing-extensions<5,>=4.5 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from anthropic==0.3.11->llmware==0.2.2) (4.9.0)
Requirement already satisfied: soupsieve>1.2 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from beautifulsoup4==4.11.1->llmware==0.2.2) (2.5)
Requirement already satisfied: botocore<1.28.0,>=1.27.53 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from boto3==1.24.53->llmware==0.2.2) (1.27.96)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from boto3==1.24.53->llmware==0.2.2) (1.0.1)
Requirement already satisfied: s3transfer<0.7.0,>=0.6.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from boto3==1.24.53->llmware==0.2.2) (0.6.2)
Requirement already satisfied: aiohttp<4.0,>=3.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from cohere==4.1.3->llmware==0.2.2) (3.9.1)
Requirement already satisfied: backoff<3.0,>=2.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from cohere==4.1.3->llmware==0.2.2) (2.2.1)
Requirement already satisfied: pyarrow>=8.0.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (14.0.1)
Requirement already satisfied: pyarrow-hotfix in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (0.6)
Requirement already satisfied: dill<0.3.8,>=0.3.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (0.3.7)
Requirement already satisfied: pandas in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (2.1.1)
Requirement already satisfied: tqdm>=4.62.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (4.66.1)
Requirement already satisfied: xxhash in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (3.4.1)
Requirement already satisfied: multiprocess in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (0.70.15)
Requirement already satisfied: fsspec<=2023.10.0,>=2023.1.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from fsspec[http]<=2023.10.0,>=2023.1.0->datasets==2.15.0->llmware==0.2.2) (2023.10.0)
Requirement already satisfied: packaging in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (23.2)
Requirement already satisfied: pyyaml>=5.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from datasets==2.15.0->llmware==0.2.2) (6.0.1)
Requirement already satisfied: filelock in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from huggingface-hub==0.19.4->llmware==0.2.2) (3.13.1)
Requirement already satisfied: pillow in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pdf2image==1.16.0->llmware==0.2.2) (10.0.1)
Requirement already satisfied: tzdata in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from psycopg==3.1.17->llmware==0.2.2) (2023.3)
Requirement already satisfied: grpcio<=1.56.0,>=1.49.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pymilvus==2.3.0->llmware==0.2.2) (1.56.0)
Requirement already satisfied: protobuf>=3.20.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pymilvus==2.3.0->llmware==0.2.2) (4.25.1)
Requirement already satisfied: environs<=9.5.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pymilvus==2.3.0->llmware==0.2.2) (9.5.0)
Requirement already satisfied: ujson>=2.0.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pymilvus==2.3.0->llmware==0.2.2) (5.9.0)
Requirement already satisfied: dnspython<3.0.0,>=1.16.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pymongo==4.5.0->llmware==0.2.2) (2.4.2)
Requirement already satisfied: torchvision in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from sentence-transformers==2.2.2->llmware==0.2.2) (0.16.2)
Requirement already satisfied: scikit-learn in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from sentence-transformers==2.2.2->llmware==0.2.2) (1.3.1)
Requirement already satisfied: scipy in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from sentence-transformers==2.2.2->llmware==0.2.2) (1.11.2)
Requirement already satisfied: nltk in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from sentence-transformers==2.2.2->llmware==0.2.2) (3.8.1)
Requirement already satisfied: sentencepiece in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from sentence-transformers==2.2.2->llmware==0.2.2) (0.1.99)
Requirement already satisfied: MarkupSafe>=2.1.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from Werkzeug==3.0.1->llmware==0.2.2) (2.1.3)
Requirement already satisfied: multitasking>=0.0.7 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from yfinance==0.2.28->llmware==0.2.2) (0.0.11)
Requirement already satisfied: appdirs>=1.4.4 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from yfinance==0.2.28->llmware==0.2.2) (1.4.4)
Requirement already satisfied: pytz>=2022.5 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from yfinance==0.2.28->llmware==0.2.2) (2023.3.post1)
Requirement already satisfied: frozendict>=2.3.4 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from yfinance==0.2.28->llmware==0.2.2) (2.3.10)
Requirement already satisfied: html5lib>=1.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from yfinance==0.2.28->llmware==0.2.2) (1.1)
Requirement already satisfied: sympy in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from torch>=1.13.1->llmware==0.2.2) (1.12)
Requirement already satisfied: networkx in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from torch>=1.13.1->llmware==0.2.2) (3.2.1)
Requirement already satisfied: jinja2 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from torch>=1.13.1->llmware==0.2.2) (3.1.2)
Requirement already satisfied: regex!=2019.12.17 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from transformers>=4.36.0->llmware==0.2.2) (2023.10.3)
Requirement already satisfied: safetensors>=0.3.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from transformers>=4.36.0->llmware==0.2.2) (0.4.1)
Requirement already satisfied: attrs>=17.3.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from aiohttp<4.0,>=3.0->cohere==4.1.3->llmware==0.2.2) (23.1.0)
Requirement already satisfied: multidict<7.0,>=4.5 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from aiohttp<4.0,>=3.0->cohere==4.1.3->llmware==0.2.2) (6.0.4)
Requirement already satisfied: yarl<2.0,>=1.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from aiohttp<4.0,>=3.0->cohere==4.1.3->llmware==0.2.2) (1.9.4)
Requirement already satisfied: frozenlist>=1.1.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from aiohttp<4.0,>=3.0->cohere==4.1.3->llmware==0.2.2) (1.4.1)
Requirement already satisfied: aiosignal>=1.1.2 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from aiohttp<4.0,>=3.0->cohere==4.1.3->llmware==0.2.2) (1.3.1)
Requirement already satisfied: idna>=2.8 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from anyio<4,>=3.5.0->anthropic==0.3.11->llmware==0.2.2) (3.6)
Requirement already satisfied: sniffio>=1.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from anyio<4,>=3.5.0->anthropic==0.3.11->llmware==0.2.2) (1.3.0)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from botocore<1.28.0,>=1.27.53->boto3==1.24.53->llmware==0.2.2) (2.8.2)
Requirement already satisfied: urllib3<1.27,>=1.25.4 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from botocore<1.28.0,>=1.27.53->boto3==1.24.53->llmware==0.2.2) (1.26.18)
Requirement already satisfied: marshmallow>=3.0.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from environs<=9.5.0->pymilvus==2.3.0->llmware==0.2.2) (3.20.1)
Requirement already satisfied: python-dotenv in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from environs<=9.5.0->pymilvus==2.3.0->llmware==0.2.2) (1.0.0)
Requirement already satisfied: six>=1.9 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from html5lib>=1.1->yfinance==0.2.28->llmware==0.2.2) (1.16.0)
Requirement already satisfied: webencodings in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from html5lib>=1.1->yfinance==0.2.28->llmware==0.2.2) (0.5.1)
Requirement already satisfied: certifi in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from httpx<1,>=0.23.0->anthropic==0.3.11->llmware==0.2.2) (2023.11.17)
Requirement already satisfied: httpcore==1.* in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from httpx<1,>=0.23.0->anthropic==0.3.11->llmware==0.2.2) (1.0.2)
Requirement already satisfied: annotated-types>=0.4.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pydantic<3,>=1.9.0->anthropic==0.3.11->llmware==0.2.2) (0.6.0)
Requirement already satisfied: pydantic-core==2.14.5 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from pydantic<3,>=1.9.0->anthropic==0.3.11->llmware==0.2.2) (2.14.5)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from requests->ai21==1.0.3->llmware==0.2.2) (3.3.2)
Requirement already satisfied: click in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from nltk->sentence-transformers==2.2.2->llmware==0.2.2) (8.1.7)
Requirement already satisfied: joblib in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from nltk->sentence-transformers==2.2.2->llmware==0.2.2) (1.3.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from scikit-learn->sentence-transformers==2.2.2->llmware==0.2.2) (3.2.0)
Requirement already satisfied: mpmath>=0.19 in c:\users\MYUSERNAME\documents\projects\llmwareproject\.venv\lib\site-packages (from sympy->torch>=1.13.1->llmware==0.2.2) (1.3.0)
Using cached llmware-0.2.2-py3-none-any.whl (40.0 MB)
Downloading openai-0.27.7-py3-none-any.whl (71 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.0/72.0 kB 4.1 MB/s eta 0:00:00
Installing collected packages: openai, llmware
  Attempting uninstall: openai
    Found existing installation: openai 1.13.3
    Uninstalling openai-1.13.3:
      Successfully uninstalled openai-1.13.3
Successfully installed llmware-0.2.2 openai-0.27.7

[notice] A new release of pip is available: 23.3.2 -> 24.0
[notice] To update, run: python.exe -m pip install --upgrade pip
(.venv) PS C:\Users\MYUSERNAME\Documents\projects\llmware> python .\examples\SLIM-Agents\agent-multistep-analysis.py
update: Starting example - agent-multistep-analysis
update: Loading sample files
update: attempting to create source input folder at path:  C:\Users\MYUSERNAME\llmware_data\tmp\example_microsoft
update: creating library and parsing source document
update: executing query to filter to key passages - ibm - results found - 20
update: Launching LLMfx process
step -  1 -     creating object - ready to start processing.
step -  2 -     loading tool - sentiment
step -  3 -     loading tool - emotions
step -  4 -     loading tool - tags
step -  5 -     loading tool - ner
step -  6 -     loading tool - answer
step -  7 -     loading new processing text - 20 new entries
step -  8 -     executing function call - deploying - sentiment
step -  9 -     executing function call - getting response - sentiment

I killed the script at step 9 as this had got past the original break point.
It's a super vague OS error (so probably my environments screwed somewhere) but it's strange it works on 0.2.2.
I will dig further and try to find what's causing it.

@shneeba - could you share some details about your Windows environment?   Does it have CUDA (Nvidia GPU) ?

Hey @doberst sure thing, I do indeed:
GPU - RTX 3090TI
Driver Version - 551.76
Processor - AMD Ryzen 9 3900X
RAM - 32Gb
OS - Windows 10 Pro
Version - 22H2
Build version - 19045.4046
Windows Feature Experience Pack 1000.19053.1000.0

@shneeba - OK ... I suspect it is the CUDA driver being out of date.   I added an option in 0.2.4 to support CUDA on Windows for GGUF), which is automatically loaded if CUDA is detected.   Could you check nvcc --version ?    Also, you can 'turn off' GPU by setting GGUFConfigs().set_config("use_gpu", False) -> in that case, the GGUF will pull the non-CUDA binary and should run on CPU ...

Thanks for the quick replies and pointers. I actually didn't have the specific CUDA drivers installed, got this sorted however I'm still seeing the issue (for reference this is my nvcc --version output):
(.venv) PS C:\Users\MYUSERNAME\Documents\projects\llmware> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Feb_27_16:28:36_Pacific_Standard_Time_2024
Cuda compilation tools, release 12.4, V12.4.99
Build cuda_12.4.r12.4/compiler.33961263_0

I did try setting GGUFConfigs().set_config("use_gpu", False) however I still seem to get the same super vague error from Windows, for reference I just update the agent_multistep_analysis.py with:
from llmware.setup import Setup
from llmware.gguf_configs import GGUFConfigs

def multistep_analysis():

    GGUFConfigs().set_config("use_gpu", False)

    """ In this example, our objective is to research Microsoft history and rivalry in the 1980s with IBM. """

Setting use_gpu to False directly within the gguf_config.py file also didn't seem to fix it.
I'm still digging around but it does feel like something local to my setup somewhere. I've switched back to 0.2.2 for now whilst working on the SLIM model side of things.

@shneeba - could you check if you have AVX512 enabled?   On Windows machines with AVX512, the GGUF engine seems to be working as expected, but I am able to replicate exactly your error on machines without AVX512 enabled.    A good easy way to check is as follows:
pip install cpufeature import cpufeature
`cpufeature.print_features()
Working on a fix .....

@doberst sounds like this is it, my CPU doesn't support AVX-512, I didn't realise it had got that old! It seems AMD 7xxx series and onwards do. Just for reference:
>>> import cpufeature
>>> cpufeature.print_features()
=== CPU FEATURES ===
    VendorId                : AuthenticAMD
    num_virtual_cores       : 24
    num_physical_cores      : 12
    num_threads_per_core    : 2
    num_cpus                : 1
    cache_line_size         : 64
    cache_L1_size           : 0
    cache_L2_size           : 0
    cache_L3_size           : 0
    OS_x64                  : True
    OS_AVX                  : True
    OS_AVX512               : False
    MMX                     : True
    x64                     : True
    ABM                     : True
    RDRAND                  : True
    BMI1                    : True
    BMI2                    : True
    ADX                     : True
    PREFETCHWT1             : False
    MPX                     : False
    SSE                     : True
    SSE2                    : True
    SSE3                    : True
    SSSE3                   : True
    SSE4.1                  : True
    SSE4.2                  : True
    SSE4.a                  : True
    AES                     : True
    SHA                     : True
    AVX                     : True
    XOP                     : False
    FMA3                    : True
    FMA4                    : False
    AVX2                    : True
    AVX512f                 : False
    AVX512pf                : False
    AVX512er                : False
    AVX512cd                : False
    AVX512vl                : False
    AVX512bw                : False
    AVX512dq                : False
    AVX512ifma              : False
    AVX512vbmi              : False
    AVX512vbmi2             : False
    AVX512vnni              : False
>>>

Thank you 🙇♂

@shneeba - hope you had a nice weekend!   I have recompiled the gguf engine for windows to use only AVX/AVX2 (and not AVX512 - it seems not uncommon that Windows machines de-activate AVX512 even if the underlying chip supports it) - if you clone the main repo, you will have the fix - small update in the gguf_configs file, and then the new libllama_win.dll binary.     If your CUDA drivers are up-to-date, then CUDA should kick-in automatically - if you are getting any errors from that, then please set use_gpu = False, and it will fall back to the CPU only version ...

@doberst I did thank you, hope you did too (and weren't too deep in this bug)!
You are awesome. This has fixed it and it's working on CPU again, no errors seen. Interesting note about AVX512 on Windows.
It doesn't seem to be picking up my GPU, I've tried setting use_gpu to True or False and sending a larger query to the dragon-yi-6b-gguf model just to be sure and can sadly confirm it still doesn't utilise it. When you say:

If your CUDA drivers are up-to-date, then CUDA should kick-in automatically

Do you happen to know what it's specifically look for? I've got the latest drivers as per my earlier post so I'm unsure what else it requires.

@shneeba - I finally got the win-cuda gguf lib to build on CUDA 12.1 - with blazing speed- really awesome.   I have merged in the main code with an updated libllama_cuda_win.dll binary (no other changes).   I have not yet tested if CUDA 12.2-12.4 will work (hope so).   Could you pull the new code and try again - first with 12.4 (fingers crossed), and then fall-back to 12.1 drivers if needed?

@doberst thanks again for taking more time looking into this. I tried the updated binary and tested with CUDA 12.4 and 12.1 this evening however it's still using the CPU instead of GPU. Is there any additional logging I can enable to maybe catch why it's not using the GPU? I turned llama_cpp_verbose to ON but that didn't give me much info (although not 100% sure what I'm looking for).
As the original error that was blocking the SLIM models from working is fixed would it be better to open a new issue?

@shneeba - thanks for testing, and glad that at least it is up and "working" now - yes, please go ahead and close the original issue - and then open up a new one to look at improving performance for Win CUDA with GGUF.   Will share a few ideas in the new thread once opened.


Link Code of Conduct

See this policy rule for more details.

Docs Build status updates of commit 655cecc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

CODE-OF-CONDUCT.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@dend


FixedwingPositionControl: fix air_gnd_angle judgement condition.

air_gnd_angle is calculated from acosf() function, and will never return a value that bigger than M_PI_F, and the comments said it should be M_PI/2.
@MaEtUgR can you have a check.

@mujahid-abdulrahim-p care to review?

@ToppingXu , good catch.  This was a mistake and the comparison should be with respect to pi/2, rather than pi.  It is possible to make this angle smaller, which will have the effect of being increasingly sensitive to the wind.  In general, using track is the right approach to navigation except when the error between heading and track becomes very large.
If it's not obvious from the code, the purpose of this check is to allow a graceful degradation of the trajectory when the wind speed exceeds the airspeed.  Without this code, the GPS course will never be in the direction of the waypoint during these high winds, and the vehicle will command a constant turn while exhibiting a 'scalloping' downwind ground path.  When a vehicle uses heading for navigation in high winds, it will direct the vehicle into the wind, even as the ground path is downwind.  Doing so will limit the downwind position error caused by the high winds.


NEW PR fixed research button

remove unused variables it will work

Removed all the unused variable I don't know why this error is occurring in
creating pull request
On Wed, Mar 9, 2022, 23:14 Anush Bhatia @.***> wrote:

remove unused variables it will work
—
Reply to this email directly, view it on GitHub
https://github.com/smaranjitghose/awesome-portfolio-websites/pull/1287#issuecomment-1063190956,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVX6YTPYMHVSDFQLL352CEDU7DPQNANCNFSM5QKHJCEA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you modified the open/close state.Message
ID: <smaranjitghose/awesome-portfolio-websites/pull/1287/c1063190956@
github.com>

please check now is it fine or not?
On Wed, 9 Mar 2022 at 23:14, Anush Bhatia @.***> wrote:

remove unused variables it will work
—
Reply to this email directly, view it on GitHub
https://github.com/smaranjitghose/awesome-portfolio-websites/pull/1287#issuecomment-1063190956,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVX6YTPYMHVSDFQLL352CEDU7DPQNANCNFSM5QKHJCEA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you modified the open/close state.Message
ID: <smaranjitghose/awesome-portfolio-websites/pull/1287/c1063190956@
github.com>


Removed incorrect autoreleases

Fixes issue #18

I had to merge this before doing major work for another issue.


Create YamlDataSource failed in moudle transaction-base-seata-raw-jdbc-example

Question
When I run  the entry class ExampleMain by using master_slave yaml file, it doesn't work well and throw Exception:
Caused by: org.yaml.snakeyaml.error.YAMLException: Unable to find property 'masterSlaveRule' on class: org.apache.shardingsphere.core.yaml.config.sharding.YamlRootShardingConfiguration
then I find these in class ExampleMain:
DataSource dataSource = YamlShardingDataSourceFactory.createDataSource(getFile(configFile));
I change "YamlShardingDataSourceFactory" to "YamlMasterSlaveDataSourceFactory", it works well.
Using version
incubator-shardingsphere-example-dev  latest
incubator-shardingsphere-dev  latest

I can fix it.


completed assignment_1 complete

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

A1 incomplete - need to use group_by ticker to compute features and rolling_avg
Last question unanswered as well

Done. You can check it.
On Mon, Nov 11, 2024 at 10:51 PM ananyajha2000 @.***>
wrote:

A1 incomplete - need to use group_by ticker to compute features and
rolling_avg
Last question unanswered as well
—
Reply to this email directly, view it on GitHub
https://github.com/khirmas67/production/pull/1#issuecomment-2469536416,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BKQW3TDTEMD6SITWKYCZV6D2AF3KLAVCNFSM6AAAAABQT4HLDCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRZGUZTMNBRGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Bug in com.impetus.kundera.classreading.Reader - getResourceIterator

A Spring project was created with name that have spaces.
When persistence.xml doesn't have any  configured, it scans for entity classes in classpath.
Since the path is URL encoded, spaces converts to %20 and the URL String doesn't seem to read the file.
Suggestion: String urlString = url.toString(); can be changed to url.getFile() in Line 137

@Kinle url.getFile() will also return string with spaces converts to %20

I've also encountered this issue, it'd be nice if someone could look into resolving it.


User IOS framework directly in flutter

I am using flutter and i have already one native IOS framework that is being used by native IOS app.
now i want that same ios framework to use in flutter app
How can i import my ios framework in flutter and use it with flutter.
Thank you.

Hi @SagarPrajapati98
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
If you want to use Flutter in you existing iOS app, please see https://flutter.dev/docs/development/add-to-app.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

Hi @SagarPrajapati98
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
If you want to use Flutter in you existing iOS app, please see https://flutter.dev/docs/development/add-to-app.
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Add binary search to get bucket for node

What was wrong?
Change get bucket for node search from linear to binary
How was it fixed?
Used total_ordering and bisect modules
Cute Animal Picture

👍  looks good to merge.


Error deploying

cloned this project and tried to use slack deploy and received the error in above screenshot. all system dependencies are up to date. Am i doing something wrong?

Thank you!!! Glad it wasn’t me being dumb Kevin @.*** Mar 2, 2023, at 10:34 AM, Ashley @.***> wrote:
Hi, @kluptowski! Thanks so much for submitting this, and apologies for the trouble you're running into to deploy this app!
I had been able to successfully deploy this a few weeks ago, so I am unsure what could've changed to cause this issue, but today I have been able to reproduce the errors you're getting when attempting to deploy with the most up-to-date system dependencies. I will take a look into this, I have a tentative solution that I will put into a PR that has gotten me past the "deploy" command.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@kluptowski - the PR that should fix this has been merged in! I recommend trying to create a new project using the template to try it out (slack create -t slack-samples/deno-triage-rotation), and let me know if you're still experiencing any issues with deploying!

Still having issues deploying when using only the template with no modifications, but with a different error.
🚫 Error: The provided manifest file does not validate against schema. Consult the additional errors field to locate specific issues (invalid_manifest)

Error Details:

1: Missing value for parameter `interactivity` (invalid_trigger_inputs)
Source: /workflows/advance_rotation/steps/0

The above errors were returned by the following Slack API method: /api/apps.manifest.validate

@mm-chrisspencer What version of the CLI are you using?

@mm-chrisspencer What version of the CLI are you using? You can check using slack version!

@hello-ashleyintech I'm using v2.3.0, and no updates are available when checking with slack update. Thanks!

@mm-chrisspencer I'm going to take a look at this more in depth since I'm able to repro. Since this is a different error, could you please open a separate issue for this error using this link and assign me to it? Thank you! 🙌


Get sql login password complexity policy

This is a followup for https://github.com/microsoft/azuredatastudio/issues/22231
We need to investigate whether it is possible to get the actual complexity requirement from the server and then enforce it in the UI.

cc @alanrenmsft @kburtram
This appears to be impossible via a query. From SQL Server doc

SQL Server can apply the same complexity and expiration policies used in Windows to passwords used inside SQL Server. This functionality depends on the NetValidatePasswordPolicy API.

Password policy depends on Windows/OS level info which is not available/exposed within SQL Server.
Since inner exceptions are now being exposed, I think it's fine to inform users about the password policy related error via the error dialog.
Ref:
https://stackoverflow.com/questions/32943902/using-sql-or-smo-to-retrieve-sql-server-password-complexity-requirements
https://dba.stackexchange.com/questions/118136/is-it-possible-to-know-the-remaining-expiration-of-sql-login-password-date
https://learn.microsoft.com/en-us/sql/relational-databases/security/password-policy?view=sql-server-ver16#:~:text=NetValidatePasswordPolicy


After Upgrade of HA 2024.12.0 fglair does not run any more

System Health details
System Information

version
core-2024.12.0

installation_type
Home Assistant OS

dev
false

hassio
true

docker
true

user
root

virtualenv
false

python_version
3.13.0

os_name
Linux

os_version
6.6.51-haos-raspi

arch
aarch64

timezone
Europe/Berlin

config_dir
/config

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

HACS Data
ok

GitHub API Calls Remaining
5000

Installed Version
2.0.1

Stage
running

Available Repositories
1479

Downloaded Repositories
7

Home Assistant Cloud

logged_in
false

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Home Assistant Supervisor

host_os
Home Assistant OS 14.0

update_channel
stable

supervisor_version
supervisor-2024.11.4

agent_version
1.6.0

docker_version
27.2.0

disk_total
234.0 GB

disk_used
8.6 GB

healthy
true

supported
true

host_connectivity
true

supervisor_connectivity
true

ntp_synchronized
true

virtualization

board
rpi4-64

supervisor_api
ok

version_api
ok

installed_addons
File editor (5.8.0), Samba share (12.3.2), Advanced SSH & Web Terminal (19.0.0), RaspberryMatic CCU (<IP_ADDRESS>41122), Mosquitto broker (6.4.1)

Dashboards

dashboards
3

resources
2

views
7

mode
storage

Recorder

oldest_recorder_run
17. November 2024 um 15:48

current_recorder_run
6. Dezember 2024 um 19:34

estimated_db_size
87.25 MiB

database_engine
sqlite

database_version
3.45.3

Checklist

[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

Describe the issue
Custom integration "fglair_heatpump_controller" does not start after upgrading to HA 2024.12.0
Reproduction steps

Restart HA
View log files

Debug logs
Logger: homeassistant.util.package
Quelle: util/package.py:152
Erstmals aufgetreten: 6. Dezember 2024 um 19:34:23 (3 Vorkommnisse)
Zuletzt protokolliert: 6. Dezember 2024 um 19:34:25

Unable to install package aiofiles==23.2.1: × No solution found when resolving dependencies: ╰─▶ Because you require aiofiles==23.2.1 and aiofiles>=24.1.0, we can conclude that your requirements are unsatisfiable.

Logger: homeassistant.setup
Quelle: setup.py:269
Erstmals aufgetreten: 6. Dezember 2024 um 19:34:25 (1 Vorkommnisse)
Zuletzt protokolliert: 6. Dezember 2024 um 19:34:25

Setup failed for custom integration 'fglair_heatpump_controller': Requirements for fglair_heatpump_controller not found: ['aiofiles==23.2.1'].

Diagnostics dump
No response

Did upgrade to HA 2024.12.1 but still same problem
System Information

version
core-2024.12.1

installation_type
Home Assistant OS

dev
false

hassio
true

docker
true

user
root

virtualenv
false

python_version
3.13.0

os_name
Linux

os_version
6.6.51-haos-raspi

arch
aarch64

timezone
Europe/Berlin

config_dir
/config

Home Assistant Community Store

GitHub API
ok

GitHub Content
ok

GitHub Web
ok

HACS Data
ok

GitHub API Calls Remaining
5000

Installed Version
2.0.1

Stage
running

Available Repositories
1479

Downloaded Repositories
7

Home Assistant Cloud

logged_in
false

can_reach_cert_server
ok

can_reach_cloud_auth
ok

can_reach_cloud
ok

Home Assistant Supervisor

host_os
Home Assistant OS 14.0

update_channel
stable

supervisor_version
supervisor-2024.11.4

agent_version
1.6.0

docker_version
27.2.0

disk_total
234.0 GB

disk_used
8.7 GB

healthy
true

supported
true

host_connectivity
true

supervisor_connectivity
true

ntp_synchronized
true

virtualization

board
rpi4-64

supervisor_api
ok

version_api
ok

installed_addons
File editor (5.8.0), Samba share (12.3.2), Advanced SSH & Web Terminal (19.0.0), RaspberryMatic CCU (<IP_ADDRESS>41122), Mosquitto broker (6.4.1)

Dashboards

dashboards
3

resources
2

views
7

mode
storage

Recorder

oldest_recorder_run
17. November 2024 um 15:48

current_recorder_run
7. Dezember 2024 um 12:17

estimated_db_size
87.25 MiB

database_engine
sqlite

database_version
3.45.3

Can confirm. I am assuming this is because HAOS or HA now comes with 24.1.0. Assuming no breaking changes in aiofiles, I assume a simple change in the requirements is all that's needed, I am willing to helot test this if possible.

Thank you. when will this be released?

Hi guys, it has been solved some days ago with: https://github.com/bigmoby/fglair_for_homeassistant/releases/tag/v0.3.26

How do i get this latest version in HA?  Everything up-to-date and still using v0.3.25

Yes but for some reason it didn't show the new version. I forced the update manually and it works now.
Thanks

Thx for fixing so quickly. I can confirm that it is up-and-running with V0.3.26 again.


Can't find LLVMConfig.cmake

That issue's solution (https://github.com/EOSIO/eos/issues/43) doesn't work for me.
Here the error message:
CMake Error at libraries/wasm-jit/Source/Runtime/CMakeLists.txt:26 (find_package):
Could not find a package configuration file provided by "LLVM" (requested
version 4.0) with any of the following names:
LLVMConfig.cmake
llvm-config.cmake

Add the installation prefix of "LLVM" to CMAKE_PREFIX_PATH or set
"LLVM_DIR" to a directory containing one of the above files.  If "LLVM"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
I don't understand.
Thanks.

Solved.
Thanks to @hh3755, view issue on this page: https://github.com/EOSIO/eos/issues/99.

Hi ,
Am new to LLVM , I follow the LLVM getting started.
Downloaded latest source of LLVM (9.0) and try to build ..but am stuck , as my cmake/llvm installation did not have LLVMconfig.cmake
could any one throw some light on it ?

Hi, @MNGanesan. Have you solved the problem? If you do, please share info about that.


Fixed bad conditional, fixed nvm install for lts

Updated nvm commands to install a specific version, or lts properly. Fixes #987

#990 should fix this in a slightly different way.


can't Import a ES Module [Extension]

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

VS Code Version: 1.68
OS Version: Win10

Steps to Reproduce:

Extension's "main" .js
"use strict";
Object.defineProperty (exports, "__esModule", { value: true });
exports.activate = void 0;
const vscode = require("vscode");

function activate (ExtensionContext) {

	const OutputChannel = vscode.window.createOutputChannel("test");
	OutputChannel.appendLine("");
	OutputChannel.appendLine("version 1.0");

	import ("<<path to 1.js>>").then (
		(value) => {
			OutputChannel.appendLine(value);
		} , (error) => {
			OutputChannel.appendLine("");
			OutputChannel.appendLine(error);
		}
	);

};
exports.activate = activate;

1.js
export default function test () {
	OutputChannel.appendLine("1");
};

outputs TypeError: Invalid host defined options .
if changing "1.js" to "1.mjs" -- TypeError [ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING]: A dynamic import callback was not specified. .

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


SP-2156 - Backport of PDI-13616 - Import leaves the 'Reference' field blank when resolution error occurs (5.4 Suite)

@mattyb149, here is first part of backport of https://github.com/pentaho/pentaho-kettle/pull/1823#event-427943402 (pentaho-kettle)

The unit tests need copyright headers, strangely they are in the master commits but not these backports...

@mattyb149, yep, sorry, it was a little bit complicated than just cherry-picking. Already done.

@mattyb149, here is the other part: https://github.com/pentaho/pdi-ee-plugin/pull/293 of fix.


Allow path to be entered when uploading to file share

Right now, you can only enter a file name when uploading (no slashes). It's limiting because this means you can only upload to the file share root.

Fixed in https://github.com/microsoft/vscode-azurestorage/pull/822


Can this work with shadows?

Can this work with shadows?
By the way good work!

Can this work with shadows? By the way good work!

Yes, this effect works with shadows if your shader on models will work with them.
The principle is very simple:

We first call the pass for all DepthNormals objects. If an object must accept Cavity, then its shader must have this pass.
Based on the normals and depth, we draw a Cavity texture.
Further, all objects in the scene are drawn with your shaders, and you yourself decide who to use Cavity, and at what moment.

Samples:
Effect disabled

Enabled

Debug

Oh I se, but could you please include some code on how to implement shadow casting in your ToonyLit shader?