[$500] Notifications - Reports removed from LHN can still show notifications leading to unremovable notifications

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:
For Web and Desktop:

Send a message in any report
Hover over the message and reply in thread
Right click on the thread and click mark as unread
Click out of the thread and notice a notification that you can no longer remove
Additionally if you remove the original message there's is no longer any possible way of removing the notification

For mobile

Go to any report and hold press on any message and reply in thread
While in the thread, click the three dots and click "pin"
Go back to the LHN list of reports and hold press the empty pinned thread and choose mark as unread
Hold press again on the pinned thread and choose unpin
Notice the thread getting hidden but the notification remaining

Expected Result:
The user should not be stuck with notifications that are impossible to remove.
Actual Result:
User is stuck with notifications that are impossible to remove, even unintentionally, I have notifications that I can't remove on all of my accounts.
Workaround:
Unknown
Platforms:

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

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
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
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/a560de5f-9ec4-4183-bdf0-05a04aa79dfc
https://github.com/Expensify/App/assets/93399543/bfb77f4e-2574-48eb-bbd9-05f89fbe56fe
https://github.com/Expensify/App/assets/93399543/e3be3eb4-7388-49de-877b-dd2a1412a3df
https://github.com/Expensify/App/assets/93399543/93897821-13cb-4b31-b71c-0e6208e4c4d2
https://github.com/Expensify/App/assets/93399543/97b614e0-a00c-4246-a705-4a35cf1de9c9
Expensify/Expensify Issue URL:
Issue reported by: @AmjedNazzal
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695916782976289
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01082d000584ab5766
Upwork Job ID:<PHONE_NUMBER>997794816
Last Price Increase: 2023-09-30

Proposal
AmjedNazzal on GH
Please re-state the problem that we are trying to solve in this issue.
Reports removed from LHN can still show notifications leading to unremovable notifications
What is the root cause of that problem?
This is a problem with the logic of the notifications system colliding with the logic of LHN, in LHN we remove any report/thread that does not have replies in it by using isEmptyChat in ReportUtils.shouldReportBeInOptionList, on the other hand, ReportUtils.isUnread function takes all of the reports, doesn't check if reports are hidden or not and just shows notifications for any report where lastReadTime < lastVisibleActionCreated leading to this issue.
What changes do you think we should make in order to solve the problem?
ReportUtils.isUnread should not show notifications for hidden reports or reports with no replies since that doesn't make sense and since the user can no longer click on them or mark them as read.
function isUnread(report) {
..
const lastVisibleMessage = ReportActionsUtils.getLastVisibleMessage(report.reportID);
const isEmptyChat = !report.lastMessageText && !report.lastMessageTranslationKey && !lastVisibleMessage.lastMessageText && !lastVisibleMessage.lastMessageTranslationKey;
if (isEmptyChat) {
    return false;
}

To keep things DRY we can move const lastVisibleMessage and const isEmptyChat to a higher level so we can use isEmptyChat in both ReportUtils.isUnread and ReportUtils.shouldReportBeInOptionList
Result
https://github.com/Expensify/App/assets/74202751/036da4e1-e0c1-412b-8561-98e16ab4a73c

@allroundexperts What's the point of letting the user mark something as unread when the user is A) Viewing that thread already, and B) That thread is empty? if anything we should just remove mark as unread for empty threads or at least ignore the marking as unread to begin with because otherwise there will be a whole bunch of hidden reports that are marked as unread in the Onyx store

@AmjedNazzal @allroundexperts
What's the use of those reports that are hidden in the LHN? Does the app reason about them at all? In which places we want not to exclude them from any processing?

@cubuspl42 I don't know but what we seem to be doing is just hide empty threads rather than removing them from the store:
    const isEmptyChat = !report.lastMessageText && !report.lastMessageTranslationKey && !lastVisibleMessage.lastMessageText && !lastVisibleMessage.lastMessageTranslationKey;
    const canHideReport = shouldHideReport(report, currentReportId);

    // Hide only chat threads that haven't been commented on (other threads are actionable)
    if (isChatThread(report) && canHideReport && isEmptyChat) {
        return false;
    }```

@cubuspl42 If removing empty threads is a better solution, what we can do is create a utility to check if there are threads that should be removed:
function shouldRemoveThread(report, currentReportId) {
    const lastVisibleMessage = ReportActionsUtils.getLastVisibleMessage(report.reportID);
    const isEmptyChat = !report.lastMessageText && !report.lastMessageTranslationKey && !lastVisibleMessage.lastMessageText && !lastVisibleMessage.lastMessageTranslationKey;
    const isCurentReport = report.reportID === currentReportId;

    if (isChatThread(report) && isEmptyChat && !isCurentReport) {
        return true;
    }
}

We can call this in SidebarLinksData whenever a change happens in the LHN meaning an empty thread could've been created and then hidden, and from there we could remove the empty thread from the onyx:
useEffect(() => {

        if (currentReportID) {
        const threadsToRemove = _.filter(chatReports, (report) => ReportUtils.shouldRemoveThread(report, currentReportID));

        threadsToRemove.forEach((thread) => {
            const { reportID } = thread;

            Report.leaveRoom(reportID);
          });
        }
      }, [optionListItemsWithCurrentReport]);

@cubuspl42 Whispers is something like:
{:width="100%"}
Depending on the severity of the offense, messages can be hidden (with an option to reveal) or fully removed, and in extreme cases, the sender of the message can be temporarily or permanently blocked from posting.
You will receive a whisper from Concierge any time your content has been flagged, as well as when you have successfully flagged a piece of content.
It's messages that only you can see that are sent to you automatically I think

I don't think whispers are relevant here, we are hiding empty threads even when there's a whisper in them.

Coming in late, but I am able to reproduce the bug.

The existing proposals are still not satisfying. In my opinion, we should introduce a notion of active reports and:

Only present the active reports on the LHN
Only consider the active reports when displaying the unread indicator
...and possibly only consider active reports in other places (?)

In one of the previous comments, I used the adjective "existing", but "active" may be a better name. Still, it's more about a concept. And pragmatically, it would end up as a helper in ReportUtils.
I'm not suggesting something with significant observable differences from what was proposed so far, but rather I disagree with the way things were modeled in the solutions proposed so far.
Please let me know if you see any flaw in this model.

@cubuspl42 we can consolidate both calls into one utility like so:
function isActiveAndUnread(report, currentReportID = null) {
    return shouldReportBeInOptionList(report, currentReportID) && isUnread(report);
}

And from there we can call this whenever needed, for example:
Onyx.connect({
   key: ONYXKEYS.COLLECTION.REPORT,
   waitForCollectionCallback: true,
   callback: (reportsFromOnyx) => {
       const unreadReports = _.filter(reportsFromOnyx, report => ReportUtils.isActiveAndUnread(report));
       updateUnread(_.size(unreadReports));
   },
});

useEffect(() => {
        if (currentReportID) {
            const unreadReports = _.filter(chatReports, report => ReportUtils.isActiveAndUnread(report, currentReportID));
            updateUnread(_.size(unreadReports));
        }
}, [optionListItemsWithCurrentReport]);

To clarify, the reason I'm calling this utility in SidebarLinksData is to insure that any changes in the list of reports such as a report being added or the currentReportID changing is captured and used to determine the shown notifications.

Okay, that's not exactly what I meant, but I'm starting to feel that I might have focused on details that can be a part of PR-level discussion.
The fundamental idea of the proposal by @AmjedNazzal makes sense to me.
Thank you, @allroundexperts, for testing it and finding the issue you described! This will need to be handled. At the same time, the primary solution proposed by you (ReportUtils.isUread(report) && ReportUtils.isEmptyReport(report)) is a slightly less elegant solution in my opinion (as the logic is not shared), while the alternative one (ReportUtils.shouldReportBeInOptionList(report, null, true, ..., true)) is quite similar to the original proposal by @AmjedNazzal.
Thank you for both proposals and the following discussion!
I say we go with @AmjedNazzal
C+ reviewed 🎀 👀 🎀

@cubuspl42 Actually to be fair I updated my proposal at some point and I happened to also use const unreadReports = _.filter(reportsFromOnyx, (report) => ReportUtils.shouldReportBeInOptionList but @allroundexperts didn't change his proposal I think so if that's the main focus then he used it first, my edited proposal was less about the specific use of const unreadReports = _.filter(reportsFromOnyx, (report) => ReportUtils.shouldReportBeInOptionList and more about updating the unread in SidebarLinksData too as I felt it makes sure everything is working in a consistent way between the LHN current view and the unread status. if the main idea here is the specific usage of ReportUtils.shouldReportBeInOptionList in unreadReports within UnreadIndicatorUpdater then I wasn't the first to do that. again my updated proposal was more concerned with how to tie in LHN current view and the unread count based on the most current changes in the LHN.

I didn't notice that the first proposal (by @AmjedNazzal) was at some point inspired by the later one (by @allroundexperts).
In my opinion, it is crucial to share as much logic as possible between the presentation of the reports in the LHN and the update indicator, as in the user mental model (as I see it), they relate to the same thing. I'm notified about some updates to the things I see. If I'm notified about something I can't see, this is a paradox and leads to issues like this one.
As it's now clear that the first contributor to propose such solution was @allroundexperts, I'd like to change my recommendation to @allroundexperts.
C+ reviewed 🎀 👀 🎀 (again)
Thanks, everyone, for the honesty, but let's use the "## Proposal [Updated]" marker next time when one proposal takes strong inspiration from the other.

@Gonals Bump

Assigned!

Bump, any updates?

Oh my 😳

@AmjedNazzal Thanks! I bumped a question on the PR. I'm not sure why Melvin gave up on this issue 😶

@cubuspl42 No worries! yeah I noticed Melv has been sometimes letting go of things especially when they become a little old 😅

FWIW I am using staging web and the bug is still there (same happens in latest mode):

Waiting on hold period before sending payment

The PR that introduced the bug has been identified. Link to the PR:

This can be treated as a clarification of the expected behavior; the notifications referred to existing entities that just couldn't be navigated to

The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

N/A

A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

No need for additional discussion

Determine if we should create a regression test for this bug.

Up to the QA team

If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Note your notification count (let's say it's 10)
Send a message in any report
Replay in a thread to that message
Mark the first message in the thread (the one you're replying to) as unread

[ ] Verify that the notification count increased (in our case, to 11)

Navigate out of the thread

[ ] Verify that you can't see the thread just left in the LHN
[ ] Verify that the notification count is now as initially (in our case, 10)

@cubuspl42 @AmjedNazzal payments have been made via Upworks

Hi @tjferriss!
This got merged after about a month. Back then, we had a late merge penalty. So this is not eligible for any payment to me and @cubuspl42.
However, I think the delay was on my part and @cubuspl42 was pretty prompt throughout. I would request to not apply the late penalty for him. It's fine if it applies to me.

However, I think the delay was on my part and @cubuspl42 was pretty prompt throughout. I would request to not apply the late penalty for him.

I'll agree with you. I think we're all set here.

@allroundexperts Thank you for these words.
From my perspective, this is a workflow thing. My primary tool for handling all issues I'm assigned to is the GitHub inbox. When some action is needed on the Contributor side, I inform them or ask a question and mark the notification as "Done".
Very rarely (it might be the first or second time), the Contributor misses the question and I move on. The issue and PR get forgotten.
I'm not sure if it's Melvin's malfunction or just a blind spot in Melvin's logic. It would be great if he could remind us about such stalled issues.

That does happen but in this case, I think it was more of my fault. I saw your reminder but was at an airport (preparing for a 5h flight) and just completely forgot about this 😄

@tjferriss Hm, as I understand this...

either you disagree with @allroundexperts and we're all set here
...or you agree with him and we hold on the C+ payment (mine)

Unless I missed something

Taking into consideration that this caused a regression, and the time it took to merge, let's just agree we're all set and payments do not apply.
Let' move on.


test build

Overview

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.89-alpha.119584.0@codecademy/gamut-labs@31.0.1-alpha.119584.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://623e24764738c028b27b77e1--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.89-alpha.68bec4.0@codecademy/gamut-labs@31.0.1-alpha.68bec4.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://623e2ac3ac90e22e3421252d--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-illustrations@0.25.0-alpha.84af5b.0@codecademy/gamut-kit@0.6.89-alpha.84af5b.0@codecademy/gamut-labs@31.0.1-alpha.84af5b.0@codecademy/gamut@46.0.1-alpha.84af5b.0@codecademy/monaco@0.6.30-alpha.84af5b.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://623e3ae9a8b5c6008566d8e3--gamut-preview.netlify.appDeploy Logs


Flatline rule with dynamic threshold

Hey everyone,
I would like to create a rule that would throw an error if the today's result count is less than 25% of the average count per day in the past two weeks.
For the lack of a better idea I tried creating a new ruletype that would accept a thresholdQuery value execute it and set the threshold according to it's results, but I struck out... I couldn't get it to work, mostly because I don't know how to execute the thresholdQuery.
From the new rule type (DynamicFlatline):
def __init__(self, *args):
        super(DynamicFlatlineRule, self).__init__(*args)
        thresholdQuery = self.rules['thresholdQuery']

        self.check_for_match(thresholdQuery)
        self.threshold = (self.occurrences[thresholdQuery].count()) / 14 * 0.75

        # Dictionary mapping query keys to the first events
        self.first_event = {}

The rule yaml:
filter:
- query:
    query_string:
      query: "app_name: MAS AND NOT email_categories: CAT1 AND client_identifier: CLN"

thresholdQuery: "app_name: MAS AND NOT email_categories: CAT1 AND client_identifier: CLN AND @timestamp:[now-14d/d TO now]"
threshold: 5000

And the error I got was:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/Users/myUser/Projects/CustomElastalert/elastalert/elastalert/elastalert.py", line 1783, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/Users/myUser/Projects/CustomElastalert/elastalert/elastalert/elastalert.py", line 1777, in main
    client = ElastAlerter(args)
  File "/Users/myUser/Projects/CustomElastalert/elastalert/elastalert/elastalert.py", line 123, in __init__
    self.conf = load_rules(self.args)
  File "elastalert/config.py", line 454, in load_rules
    raise EAException('Error loading file %s: %s' % (rule_file, e))
elastalert.util.EAException: Error loading file example_rules/my_rules.yaml: Error initializing rule

Any ideas on why this is not working?
I realise this might not be the best way to tackle the problem, so if anyone has any other ideas, you are more than welcome to share.

I'd recommend subclassing PercentageMatchRule. You'd need two changes, a new init and a new percentage_violation function.
In init, you'll need to create an Elasticsearch object and run the query to get your 2 week average number. init would be something like
from elasticsearch.client import Elasticsearch
query = self.rule['thresholdQuery']
es = Elasticsearch(host=self.rule['es_host'], port=self.rule['es_port'])
res = es.search(index='index here', doc_type='_type here', body=query, search_type='count', size=0)
self.threshold = res['wherever the number is']

and  percentage_violation would be something like
def percentage_violation(self, match_percentage):
        if match_percentage < self.threshold:
            return True
        return False

Obviously this code is not complete. you'll have to mess around with using Elasticsearch-python to get the correct way to make this query and get the results.  Check out https://github.com/Yelp/elastalert/blob/master/elastalert/elastalert.py#L489


DO NOT MERGE: tentative tipbot buildfix

Not sure what's happening with tipbot. Here's a tentative fix.
Signed-off-by: Leandro Pereira<EMAIL_ADDRESS>

Something's wrong with the tipbot compiler.


No hosts listed - ws handshake 500

Rancher Versions:
Server: rancher/server:v1.6.0
healthcheck: -
ipsec: -
network-services: -
scheduler: -
kubernetes (if applicable): -
Docker Version:
Docker version 1.12.5, build 7392c3b
OS and where are the hosts located? (cloud, bare metal, etc):
Linux Debian-86-jessie-64-minimal 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)

Single node
Internal DB
Apache Proxy SSL

Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
I just installed rancher regarding https://docs.rancher.com/rancher/v1.2/en/installing-rancher/installing-server/basic-ssl-config/
docker run --name=inari.kagu-chan.de-rancher -d --restart=unless-stopped -p <IP_ADDRESS>:8080:8080 rancher/server
HTTP Configuration:
<VirtualHost *:80>
        ServerName foo.example.com
        Redirect / https://foo.example.com/
</VirtualHost>

HTTP Configuration:
<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName foo.example.com

        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/foo.example.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/foo.example.com/privkey.pem

        ProxyRequests Off
        ProxyPreserveHost On

        RewriteEngine On
        RewriteCond %{HTTP:Connection} Upgrade [NC]
        RewriteCond %{HTTP:Upgrade} websocket [NC]
        RewriteRule /(.*) ws://<IP_ADDRESS>:8080/$1 [P,L]

        RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-Forwarded-Port "443"

        <Location />
                ProxyPass "http://<IP_ADDRESS>:8080/"
                ProxyPassReverse "http://<IP_ADDRESS>:8080/"
        </Location>
</VirtualHost>
</IfModule>

Authorization without third party series is enabled
Results:
WebSocket connection to 'wss://foo.exmaple.com/v2-beta/projects/1a7/subscribe?eventNames=resource.change&limit=-1&sockId=31' failed: Error during WebSocket handshake: Unexpected response code: 500
socket.js:217 Socket error (state=connecting, id=31)
socket.js:169 Socket 31 closed
socket.js:48 Socket connecting (id=32, url=wss://foo.example.com/v2-beta/projects/1a7/subscribe...)

Due to the unknown host the host does not know to install ipsec or other stuff (happoens in Default env as well as a cattle env i created to test and play arround...
Logs
Every few seconds i see the following log in rancher-agent:
INFO: Starting agent for 89XXX7EFE9DA4923AE0C
INFO: Access Key: 89XXX7EFE9DA4923AE0C
INFO: Config URL: https://foo.example.com/v1
INFO: Storage URL: https://foo.example.com/v1
INFO: API URL: https://foo.example.com/v1
INFO: IP: <IP_ADDRESS>
INFO: Port:
INFO: Required Image: rancher/agent:v1.2.2
INFO: Current Image: rancher/agent:v1.2.2
INFO: Using image rancher/agent:v1.2.2
INFO: Downloading agent https://foo.example.com/v1/configcontent/configscripts
INFO: Updating configscripts
INFO: Downloading https://foo.example.com/v1//configcontent//configscripts current=
INFO: Running /var/lib/cattle/download/configscripts/configscripts-1-f0f3fb2e1110b5ada7c441705981f93a480313a324294321cff467f0c3e12319/apply.sh
INFO: Sending configscripts applied 1-f0f3fb2e1110b5ada7c441705981f93a480313a324294321cff467f0c3e12319
INFO: Updating pyagent
INFO: Downloading https://foo.example.com/v1//configcontent//pyagent current=
INFO: Running /var/lib/cattle/download/pyagent/pyagent-1-9e3dcab12585149a65d818082279708965cd826df1937a55b24f48428f8f0c0644fc1033b5be15c88dcf9540b1c04c67/apply.sh
INFO: Updating host-api
INFO: Downloading https://foo.example.com/v1//configcontent//host-api current=1-9608ead804f8cebbfe95b9f114701d8a5ac4244d603d196068043c902b1a0bdf
INFO: Already up to date
INFO: Sending host-api applied 1-9608ead804f8cebbfe95b9f114701d8a5ac4244d603d196068043c902b1a0bdf
INFO: Updating python-agent
INFO: Downloading https://foo.example.com/v1//configcontent//python-agent current=1-918fce9b146747246ab10cb82346dea2f1b7b21de4dfecf3e9f1499931f8600c
INFO: Already up to date
INFO: Sending python-agent applied 1-918fce9b146747246ab10cb82346dea2f1b7b21de4dfecf3e9f1499931f8600c
INFO: Sending pyagent applied 1-9e3dcab12585149a65d818082279708965cd826df1937a55b24f48428f8f0c0644fc1033b5be15c88dcf9540b1c04c67
INFO: Starting agent /var/lib/cattle/pyagent/apply.sh
INFO: Executing /var/lib/cattle/pyagent/agent
INFO: Updating host-config
INFO: Downloading https://foo.example.com/v1//configcontent//host-config current=host-config-1-9e1ed015a73746f343cd2247307a9eae9101149345e3882043f5d29e6e56ed38
INFO: Already up to date
INFO: Sending host-config applied 1-9e1ed015a73746f343cd2247307a9eae9101149345e3882043f5d29e6e56ed38
time="2017-05-05T19:02:26Z" level=info msg="Launching agent"
time="2017-05-05T19:02:26Z" level=info msg="https://foo.example.com/v1893D27EFE9DA4923AE0CA8jE7p7H31br9xk1f65paRDAUJv2ha2sUdTYuYNF"
time="2017-05-05T19:02:26Z" level=info msg="Listening for events on https://foo.example.com/v1"
time="2017-05-05T19:02:26Z" level=info msg="launching hostapi"
time="2017-05-05T19:02:26Z" level=info msg="Serialize compute requests: false, driver: aufs"
time="2017-05-05T19:02:26Z" level=info msg="Initializing event router" workerCount=250
time="2017-05-05T19:02:26Z" level=info msg="Starting event router."
time="2017-05-05T19:02:26Z" level=error msg="Error subscribing to events: websocket: bad handshake" subscribeUrl="wss://foo.example.com/v1/subscribe?eventNames=compute.instance.activate&eventNames=compute.instance.deactivate&eventNames=ping&eventNames=compute.instance.remove&eventNames=storage.image.activate&eventNames=storage.volume.activate&eventNames=storage.volume.remove&eventNames=config.update&eventNames=compute.instance.force.stop&eventNames=compute.instance.inspect&eventNames=compute.instance.pull"
time="2017-05-05T19:02:26Z" level=error msg="Got error response" responseHeaders=map[Content-Type:[text/html; charset=iso-8859-1] Date:[Fri, 05 May 2017 19:02:26 GMT] Server:[Apache/2.4.10 (Debian)] Content-Length:[618]] status="500 Internal Server Error" statusCode=500
time="2017-05-05T19:02:26Z" level=error msg="Error response: <!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n\n<title>500 Internal Server Error</title>\n\n
Internal Server Error
\n
The server encountered an internal error or\nmisconfiguration and was unable to complete\nyour request.
\n
Please contact the server administrator at \n [no address given] to inform them of the time this error occurred,\n and the actions you performed just before this error.
\n
More information about this error may be available\nin the server error log.
\n
\n<address>Apache/2.4.10 (Debian) Server at foo.example.com Port 443</address>\n\n"
time="2017-05-05T19:02:26Z" level=fatal msg="Exiting. Error: websocket: bad handshake"

In the server itself (likely the moment i tried to create the host...)
2017-05-05 18:33:47,440 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Failed to get ping from agent [1] count [3]
2017-05-05 18:33:52,442 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Failed to get ping from agent [1] count [4]
2017-05-05 18:33:57,444 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Failed to get ping from agent [1] count [5]
2017-05-05 18:34:02,446 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Failed to get ping from agent [1] count [6]
2017-05-05 18:34:02,447 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Scheduling reconnect for [1]
2017-05-05 18:34:07,651 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Failed to get ping from agent [1] count [7]
2017-05-05 18:34:12,653 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Failed to get ping from agent [1] count [8]
2017-05-05 18:34:17,654 ERROR [:] [] [] [] [TaskScheduler-1] [i.c.p.a.s.ping.impl.PingMonitorImpl ] Failed to get ping from agent [1] count [9]

Websocket proxying seems to be missing, can you try enabling proxy_wstunnel, restarting Apache and try again?
a2enmod proxy_wstunnel
service apache2 restart

(I would expect to get an email if someone answers...)
Ill try it later, thanks

@superseb Its working now. For any reason the module was enabled, but an graceful was required. Thanks for your help.


Remove deprecated produce block apis

This removes previously deprecated produce blocks apis

GET /eth/v2/validator/blocks/{slot}
GET /eth/v1/validator/blinded_blocks/{slot}

Those were replaced / consolidated by GET /eth/v3/validator/blocks/{slot} during Capella and part of spec release for Deneb.
Implementations should be able to safely remove the apis after Electra fork.

I do agree with the sentiment, but we probably want to hold off merging this until electra or they'll no longer be listed...
I know at least teku is still calling v2 in several deneb releases, so if other clients are not publishing those endpoints that could be a potential problem.
I guess equally if we said 2.5.0 is what is expected in deneb, this would be able to be merged... We don't really have a great way of articulating that maybe?

In favor of removing.


Add a track loader

Implement an ogg track loader for the game radio stations and stuff.

Done as of f7944530173e021e989215533cae19b719a77059, tho not ogg directly as SAAT legacy makes it hard.


Fix the android status bar color change on app launch

Details
Fixed the color change glitch where it occurs on android when launching the app.
Fixed Issues

$ https://github.com/Expensify/App/issues/6284

QA Steps

Quit the app completely on android (make sure you are running on release variant)
Launch the app
Verify there's no glitch with the status bar

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots
https://user-images.githubusercontent.com/11542415/141608747-b4116825-a57f-4ee8-b794-b3ecd5d4739a.mp4

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @Julesssss in version: 1.1.16-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.1.17-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Place info from"Transcriber Details" page onto Detailed results page

Create/Design "Transcriber Details" page
Link to this page is dynamic, reached from results page where the transcriber's name is hyperlinked to a page like this:

Links as given are dependent on the database and will go out of date and therefore be unobtainable. Please use screen shots instead.

So a link such as https://www.freebmd.org.uk/cgi/transcriber.pl?s=8174&f=1788410&d=bmd_1586250123 is unstable?
I don't think screenshots are a viable alternative.
What would be viable is a link to https://www.freebmd.org.uk/db-latest.shtml  and text 'you can find out more about this transcriber here'

@PatReynolds  Yes, that is correct, although ephemeral rather than unstable. This can be demonstrated by clicking on the original link (in the post of 13th August 2019).
I don't understand why screenshots don't work (e.g. MonetizeMore use them a lot). Amost all links have the danger that the data will have changed (e.g. this is true of FreeREG citations).

Hi @archerbarrie penny has dropped:  use screenshots on Github, not use screenshots in FreeBMD2.

Potential to enhance - ask if people would like to join the volunteers (link to the Volunteer tab) and possibly repeat message about other ways to support from the Volunteer tab?

Needs review - is it better for this information to appear in the Detailed Results (in the Transcriber slot) or a separate page (perhaps linked from Detailed Results by an icon in the More informatin slot.

I'm personally veering towards having the transcribers name (if transcriber wants) and number of records they have transcribed) as part of the Entry information Page  - there is already a slot there, but not currently linked to the database.    What do you think @archerbarrie ?

At the moment we provide the transcriber's name (if they agree) and number of records, but only as a link from the user id. Don't forget that there may be several transcribers for any one record. Without seeing what it would look like it is difficult to comment but it sounds like it might be rather cluttered. I don't think it is information that researchers would be interested in ... apart from wanting to get in touch with them because they think they are researching the records they have transcribed!

@Vino-S please develop so we can see the layout

Sorry, @Vino-S didn't assign you to this - have now assigned you and taken myself and Denise off (temporarily)

It would help to have a spec! BMD1 has this:

Is the intention to replicate this within the single table cell provided, or to simply have the transcriber's ID?

To test on Test3

Transcriber info blank:

Checked several records, all blank

Try searching for forenames "Ada Maria", exact match, all event types, 1837-1850. The first one (Ada Maria HARVEY) has a transcriber with a link to their name and no. of records transcribed. The eleventh (Ada Maria LEIGH) has two transcribers, both linked. The sixteenth (Corringham) has one. They are the only records in the first 20 hits with any transcriber info: I think that's a reflection on the test3 data, rather than my code.

All fine upon testing.

@Vino-S has this been deployed?

Done, closing


EEw turns into garbage.

Please start EEw by Windows! When eew help is carried out, it turns into garbage.

Is this a problem with the exe version?

jar filing is being carried out by a command prompt in Windows10, but everything turns into garbage.

Specify -Dfile.encoding=UTF-8 as a Java command option.
I'll try to fix it when compiling from the next release, but this can be solved for the time being.

Thank you very much.


Add .proto files to classpath

Is there a way to instruct the plugin to add the .proto files into the JAR at build time? So that the .proto files can be found on the classpath, like in protobuf-java-3.3.1.jar  where the standard types are located in google.protobuf.

For the standard types you can specify <includeStdTypes>true</includeStdTypes> (they come bundled with the plugin)

I know but what I mean here is to have any given set of .proto files added to the built JAR archive. So that we can distribute the JAR file and the .proto files come bundled with it.

Sorry, I first misread this as the same as issue #19. Shouldn't the packaging step take care of this?

@os72  which packaging step?


Version confusion

The readme suggests there is a v0.10.0 available, but there is no branch on GitHub or release on Cargo to use.

Yeah, sorry, i was a bit hasty with the version in the readme. I ran into a problem while updating to Bevy 0.10 and didn't find any time to solve it, until today. There should now be a new version available on crates.io.


Replace the show-hide.ogg with a slide whistle noise

I just needed a quick file to test but a slide whistle would be better suited. :cat2:

And make sure it's an open source file


Interpreting Learned Offsets

Hi,
Thanks for your works.While I am curious about the Figure5 in the paper. How you visualize the motion offsets?
It follows "Visualizing and Understanding Convolutional Networks" to use deconv layers?
I really hope you can solve my confusion 😊

We use the same code as for visualizing optical flow. Each pair of consecutive channels in the offsets defines an offset flow that we can visualize.

Your method posewarper follows top-down framework. But In Figure 5 of your paper, why your visualized result is on the global image (multi-person image)? can you tell me the detail ?


Be able to specify both runtime and client versions

In order to perform upgrade tests, it would be useful to be able to specify separate runtime and client versions on a built chain.
For example:

Acala Node, Client version: 2.4.0
Acala Chain, Spec version: 2.3.3

Currently when using the generate CLI command, only the most uptodate chain data is generated for that docker image e.g. - image: acala/acala-node:2.4.0

What I did was to generate the spec with old image, and manually edit the output docker compose file to update the image.


armv8m/clang.cmake: add armv8m clang config

Summary
Its makefile is implemented in arch/arm/src/armv8-m/Toolchain.defs as follows:
ifeq ($(CONFIG_ARM_TOOLCHAIN_CLANG),y)
ifeq ($(CONFIG_ARCH_CORTEXM23),y)
TOOLCHAIN_CLANG_CONFIG = armv8m.main_soft_nofp
else ifeq ($(CONFIG_ARCH_CORTEXM33),y)
ifeq ($(CONFIG_ARCH_FPU),y)
TOOLCHAIN_CLANG_CONFIG = armv8m.main_hard_fp
else
TOOLCHAIN_CLANG_CONFIG = armv8m.main_soft_nofp
endif
else ifeq ($(CONFIG_ARCH_CORTEXM35P),y)
ifeq ($(CONFIG_ARCH_FPU),y)
TOOLCHAIN_CLANG_CONFIG = armv8m.main_hard_fp
else
TOOLCHAIN_CLANG_CONFIG = armv8m.main_soft_nofp
endif
else ifeq ($(CONFIG_ARCH_CORTEXM55),y)
ifeq ($(CONFIG_ARCH_FPU),y)
TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_hard_fp
else
TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_soft_nofp_nomve
endif
else ifeq ($(CONFIG_ARCH_CORTEXM85),y)
ifeq ($(CONFIG_ARCH_FPU),y)
TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_hard_fp
else
TOOLCHAIN_CLANG_CONFIG = armv8.1m.main_soft_nofp_nomve
endif
endif
Impact
Testing

[Experimental Bot, please feedback here]
Let's break down whether this Pull Request (PR) information meets the NuttX requirements.
What's Missing & How to Improve

Summary:

Insufficient Information: You've only included a code snippet. This doesn't tell us:

Why: What problem are you solving? Is this a bug fix, performance improvement, new feature for Cortex-M?
What: Which files are modified beyond the makefile? Be specific (e.g., "Added support for X feature in the Y driver").
How: Briefly explain how the code snippet addresses the issue. What logic does it implement?

No Issue References: Are there any related issues on the NuttX or NuttX Apps repositories? Link them here!

Impact:

Address All Points: You've left this section blank. Go through each bullet point (new feature, build changes, hardware impact, etc.) and provide a "YES/NO" along with a description if applicable.

Testing:

Incomplete:

Build Hosts: Specify the operating system, processor architecture, and compiler you used for testing (e.g., "Linux, x86_64, GCC 10.3.0").
Targets: List the specific architectures and boards you tested on (e.g., "sim:qemu-arm, arm:stm32f4discovery").
Logs:  Provide relevant snippets from your testing logs. Focus on demonstrating that the change works and doesn't introduce regressions.

Example for Improved Summary
"Fix: Add Missing CLANG Configuration for Cortex-M35P and Cortex-M85
This PR addresses a missing configuration in the ARMv8-M toolchain definitions for CLANG. Currently, there are no specific entries for Cortex-M35P and Cortex-M85 when using the CLANG compiler.  This results in build failures when targeting these architectures with CLANG.
The change adds the necessary TOOLCHAIN_CLANG_CONFIG settings for both Cortex-M35P and Cortex-M85, ensuring correct compilation with both hard and soft FPU configurations."
Remember: A well-written PR description makes it much easier for reviewers to understand and merge your code. Provide context, be specific about the changes, and clearly demonstrate that your code works as intended.


add Chinese translation

I think this repo is very nice. So I add Chinese translations for it.

Thank you for the Chinese translation!  I would love to have the instructions in multiple languages. But I am not sure that interspersing text in different languages is the way to go. It does not scale well to multiple languages.
Would you be able to separate the Chinese version into a different file, e.g. README.zh.md? Then I can link each language version from the main README.
It is not a problem if the translation is not complete. It is fine if it contains only the essentials.

I add a new file called README.zh_cn.md ,which contains the Chinese version.

Thanks! It's now merged.


*: Update rust-rocksdb to fix build with clang 16

What is changed and how it works?

Issue Number: Close https://github.com/tikv/tikv/issues/14950
What's Changed:

*: Update rust-rocksdb to fix build with clang 16

Related changes

No

Check List
Tests

No code

Side effects

No

Release note
None

/run-all-tests

/run-all-tests

/merge


New Django ORM backend

👏

Spent a couple of hours starting this today, see #127

It's all on the develop branch now, also documentation here: http://eventsourcing.readthedocs.io/en/latest/topics/infrastructure.html#django-orm


Document core classes

Each (major?) class

Core class

survey.Survey
All actions and computations are orchestrated from this class

computation

computation.transect_results.ComputeTransectVariables
computation.semivariogram.SemiVariogram
computation.kriging.Kriging
computation.kriging_variables.ComputeKrigingVariables
computation.bootstrapping.Bootstrapping

data loaders

data_loader.kriging_mesh.KrigingMesh
data_loader.biological_data.LoadBioData
data_loader.stratification_data.LoadStrataData

report generation

reports.Reports

Other notes

bio_calc: From computation.transect_results.ComputeTransectVariables; and also from Kriging?

Categorize the long list of df's and gdf's available on bio_calc; eg, kriging, kriging_bin, transect, weight_fraction, etc. These can be categorized either by prefix or suffix
Only the 6 "results" tables are gdf's: transect vs kriging, and sex (all[empty]/male/female). eg, transect_results_male_gdf
bin_ds is an xarray dataset
Most of the other objects are dataframes (_df), but there are a few others that don't have a clarifying suffix: strata_sig_b, all_strata, missing_strata, percentage_transects_selected, sel_tran_strata_choice (a dict), stratum_choices (a dict)

For the classes, separate out public from private methods
To get all the methods and attributes/properties of an object (a class), use this: [(name, type(myobject.__getattribute__(name))) for name in dir(myobject) if not name.startswith("__")]

I've been working on this. I'll finalize PR #131 on Friday.

I'll close this now as I just closed #131 and the data structure is being changed.


Write a C++ program to find area of a rectangle

Description
Write a C++ program to find area of a rectangle
Area of rectangle = Length × Width
Length : 2
Width  : 3

Area : 6

How to contribute

Save the solution in program/FindAreaOfARectangle.cpp file
Add FindAreaOfARectangle.cpp file in find-area-of-a-rectangle folder

!assign


[tool_crash] _Exception

Command
flutter upgrade

Steps to Reproduce

...
...
...

Logs
_Exception
#0      Cache.devToolsVersion (package:flutter_tools/src/cache.dart:384:9)
#1      FlutterVersion.devToolsVersion (package:flutter_tools/src/version.dart:160:47)
#2      FlutterVersion.toString (package:flutter_tools/src/version.dart:177:72)
#3      _StringBase._interpolateSingle (dart:core-patch/string_patch.dart:831:17)
#4      UpgradeCommandRunner.runCommandFirstHalf (package:flutter_tools/src/commands/upgrade.dart:124:44)
<asynchronous suspension>
#5      UpgradeCommandRunner.runCommand (package:flutter_tools/src/commands/upgrade.dart:101:7)
<asynchronous suspension>
#6      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1209:27)
<asynchronous suspension>
#7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#8      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#9      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:281:9)
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#11     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#12     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#14     main (package:flutter_tools/executable.dart:91:3)

[☠] Flutter (the doctor check crashed)
    ✗ Due to an error, the doctor check did not complete. If the error message below is not helpful, please let us know
      about this issue at https://github.com/flutter/flutter/issues.
    ✗ Exception: Could not find directory at C:\dev\flutter\bin\cache\dart-sdk/bin/resources/devtools
    • #0      Cache.devToolsVersion (package:flutter_tools/src/cache.dart:384:9)
      #1      _DefaultDoctorValidatorsProvider.validators.<anonymous closure>
      (package:flutter_tools/src/doctor.dart:125:46)
      #2      FlutterValidator.validate (package:flutter_tools/src/doctor.dart:520:84)
      #3      Doctor.startValidatorTasks.<anonymous closure> (package:flutter_tools/src/doctor.dart:245:72)
      #4      asyncGuard.<anonymous closure> (package:flutter_tools/src/base/async_guard.dart:111:32)
      #5      _rootRun (dart:async/zone.dart:1398:13)
      #6      _CustomZone.run (dart:async/zone.dart:1300:19)
      #7      _runZoned (dart:async/zone.dart:1803:10)
      #8      runZonedGuarded (dart:async/zone.dart:1791:12)
      #9      runZoned (dart:async/zone.dart:1743:12)
      #10     asyncGuard (package:flutter_tools/src/base/async_guard.dart:109:3)
      #11     Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:237:9)
      #12     DoctorText._validatorTasks (package:flutter_tools/src/doctor.dart:687:60)
      #13     DoctorText._validatorTasks (package:flutter_tools/src/doctor.dart)
      #14     DoctorText._runDiagnosis (package:flutter_tools/src/doctor.dart:691:53)
      #15     DoctorText.text (package:flutter_tools/src/doctor.dart:683:36)
      #16     DoctorText.text (package:flutter_tools/src/doctor.dart)
      #17     _createLocalCrashReport (package:flutter_tools/runner.dart:209:51)
      #18     _handleToolError (package:flutter_tools/runner.dart:165:31)
      <asynchronous suspension>
      #19     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
      <asynchronous suspension>
      #20     main (package:flutter_tools/executable.dart:91:3)
      <asynchronous suspension>

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at C:\Users\dell\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2022 17.3.6)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.3.32929.385
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2021.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.76.2)
    • VS Code at C:\Users\dell\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.60.0

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.2728]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 111.0.5563.111
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 111.0.1661.54

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Flutter Application Metadata
No pubspec in working directory.

I think the exception occured due to below, taken from flutter doctor -v log:
Exception: Could not find directory at C:\dev\flutter\bin\cache\dart-sdk/bin/resources/devtools
Keeping this issue open for team's attention.
/cc @christopherfujino

@Doanlly are you still having this problem?


Print e2e tests durations

Description
Print e2e tests durations

where will these values be visible?  prow is already showing the test durations:

it should sort tests according to durations + print slowest ones at beginning. It's just test if it's useful or not (looking at BAM-slownes)

It doesn't really change what is displayed in the CI UI. You can find the test duration in the build-log.txt if needed.
/lgtm

/approve


new installation problem

Hello, i have installed new versions of aurelia and grid.
I have errors when included plugin aurelia-bs-grid
Unhandled promise rejection Error: (0 , _aureliaFramework.skipContentProcessing) is not a function(…)(anonymous function) @ es6.promise.js:138
es6.promise.js:138 Unhandled promise rejection Error: (0 , _aureliaFramework.skipContentProcessing) is not a function(…)(anonymous function) @ es6.promise.js:138
es6.promise.js:138 Unhandled promise rejection Error: (0 , _aureliaFramework.skipContentProcessing) is not a function(…)

Looking at this, it seems like changes from 0.0.4 vs master. I'm guessing Aurelia, being pre-beta, is evolving faster than developers can release updates to address breaking API changes.
The quick fix for this particular is, in package.json find the line for aurelia-bs-grid, which will look something like:
"charlespockert/aurelia-bs-grid"<EMAIL_ADDRESS>
replace the @^0.0.4 with @master
Do the same in config.js.
This may or may not solve your problem. I'm getting a different error now that doesn't reference aurelia-bs-grid, but that goes away when I remove the .plugin() line for aurelia-bs-grid, so is obviously related to aurelia-bs-grid.
Unhandled promise rejection
Error: Error invoking TaskQueue. Check the inner error for details. ------------------------------------------------
inner error:
makeRequestFlushFromMutationObserver@http://localhost:9000/jspm_packages/github/aurelia/task-queue@0.8.0/aurelia-task-queue.js:13:20
TaskQueue@http://localhost:9000/jspm_packages/github/aurelia/task-queue@0.8.0/aurelia-task-queue.js:59:41
invoke@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:334:14
invoke@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:309:155
invoke@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:557:16
get@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:145:27
get@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:488:18
invoke@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:354:23
invoke@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:309:155
invoke@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:557:16
get@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:145:27
get@http://localhost:9000/jspm_packages/github/aurelia/dependency-injection@0.12.0/aurelia-dependency-injection.js:488:18
initialize@http://localhost:9000/jspm_packages/github/aurelia/templating@0.16.0/aurelia-templating.js:3109:30
initialize@http://localhost:9000/jspm_packages/github/aurelia/templating@0.17.1/aurelia-templating.js:2337:7
initialize@http://localhost:9000/jspm_packages/github/aurelia/templating@0.17.1/aurelia-templating.js:2256:9
importViewResources/<@http://localhost:9000/jspm_packages/github/aurelia/templating@0.17.1/aurelia-templating.js:2617:11
l/</h@http://localhost:9000/jspm_packages/npm/core-js@1.2.6/client/shim.min.js:1773:66
l/<@http://localhost:9000/jspm_packages/npm/core-js@1.2.6/client/shim.min.js:1778:19
e@http://localhost:9000/jspm_packages/npm/core-js@1.2.6/client/shim.min.js:1958:55

I also note that when I install with jspm, aurelia-bs-grid uses different versions than the latest Aurelia skeleton, so it may be some conflict related to that. (task-queue above is 0.8.0, but skeleton 0.20.0 uses 0.9.0, so there are two different versions, possibly creating conflicts.) I'm going to try to step back to skeleton 0.19.0 and see if that resolves anything. More to come.

Followup: Using Skeleton 0.19.0 instead of 0.20.0 looks like it will solve the problems, maybe. I'm down to an issue with aurelia-http-client:
Unhandled promise rejection
TypeError: _this.XHRType is not a constructor

It is pulling newer versions of a couple of Aurelia packages, so I'm guessing it needs to be forced to a newer version too. Or maybe swapped out for the fetch client. Hopefully, I'll get this working today.
After, I may try to beat together a 0.20.0 compatible branch, but want to see the unmodified code working first so I know what the issues are. Although, given official beta's impending release (according to the latest on the Aurelia blog), it may be wiser to wait until that's settled.

thanks for help, i have try with master but still not working ...
i will wait an update ...

After further research, aurelia-templating 0.17.0 removes viewSlot.swap(). See
this blog post and this commit. Apparently, no one uses viewSlot.swap()... except aurelia-bs-grid (oops). So I copied the viewSlot.swap() code and worked it into grid.js.
Then I discovered that bindingEngine is now BindingEngine, set up to inject it, but the grids in the sample all come up blank, so I'm guessing I'm doing something wrong and don't understand what's going on well enough to untangle it.
@charlespockert: If it helps get this plugin functioning with current versions of Aurelia, you can see my work on the plugin so far at: https://github.com/jmjf/aurelia-bs-grid/tree/skeleton-0.20.0. I've also pushed the repo I've been using to test at https://github.com/jmjf/skel-0.20.0--which is navigation-skeleton 0.20.0 with the aurelia-bs-grid sample app copied to src, aurelia-http-client 0.13.0, and aurelia-bs-grid from my repo's skeleton-0.20.0 branch.
@denimaaark: Until this repo is updated, you can clone the navigation-skeleton repo, checkout 0.19.0, npm install, jspm install and jspm install github:charlespockert/aurelia-bs-grid@master and it should work. I was able to get the sample app working with those versions and<EMAIL_ADDRESS>and a few adjustments to config.js (to add the css alias for<EMAIL_ADDRESS>and main.js (adding charlespockert/ to the plugin line).

The skeleton-0.20.0 branch of https://github.com/jmjf/aurelia-bs-grid/tree/skeleton-0.20.0 is fixed for skeleton 0.20.0, I think.
After updating the dependencies, there were three breaking API changes between skeleton 0.19.0 and 0.20.0.
I fixed the bindingEngine -> BindingEngine change noted above by injecting BindingEngine and assigning it to this.bindingEngine and replacing the one use of bindingEngine with this.bindingEngine.
I fixed the viewSlot.swap() removal by copying the code from skeleton 0.19.0 and making minor adjustments to fit the context.
The major issue turned out to be a change in the API for ViewFactory.create(). In the previous release, it accepted a bindingContext parameter. In the current release, bindingContext must be set after the view is created with view.bind(bindingContext). That is why nothing displayed in the grid container in the previous note. It works for all examples, I think.
See Pull #69 and the repo branch noted above for details.
Scary thing is, I think I'm staring to understand Babelified ES5.

I always look at the ES5 and not the pre-transpiled code :) - you get used to it
Thanks for the work so far!


vcores is not a valid parameter

vcores is not a valid parameter, I had to use --capacity

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

ID: 06c9a36f-c18a-748b-559a-927c7f4988fb
Version Independent ID: 7af90d97-d085-b8fa-4e02-d3e601a1846d
Content: az sql mi
Content Source: src/command_modules/azure-cli-sql/azure/cli/command_modules/sql/_help.py
Service: sql-database
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

See #8023.

This has been fixed.


Redirect to /login leads to Not Found

Hello, just installed the app on my Centos 7 VPS as explained on https://www.bookstackapp.com/docs/admin/installation/.
Installation seems completed successfully, but when reaching the website it redirects to domain.com/login, and shows a "Not Found" error page.
A phpinfo.php file in the /public folder is opened correctly, so DNS resolution and DocumentRoot setting are fine.
The mod_rewrite module is enabled, /storage folder has apache as user.
No /login folder in the /public folder.
Ask me, and I'll provide any other necessary information for troubleshooting.
Thank you in advance :)

Hi @Fuuzz,
Sorry to hear you are having issues.
So I assume you're using Apache?
Have you added BookStack as it's own virtualhost in Apache?
If so are the re-write rules in the virtualhost block or are you instead using the rewrite rules .htaccess file?
If using the .htaccess file, have you done anything to enable use of these? (I think they are disabled by default on many systems for security).

Hello @ssddanbrown, thank you for the reply.
Yes, i forgot to specify I'm using Apache.
Just to understand, what do you mean with the virtualhost for Bookstack?
I tried both using and removing the .htaccess file in the /public folder, and while i verified that the .htaccess file is indeed working, there is no difference whether the .htaccess file is present in the public folder or not.
To be sure, there should be a /login folder inside /public, or it's a redirection? Because i actually see no /login folder in /public.
Thank you in advance :)

There's no /login folder, All requests are routed through public/index.php which is what the redirects enable.
In regards to a VirtualHost, With apache you'd often define a virtualhost block in the apache config files, something like this:
<VirtualHost *:80>
	ServerName my.domain.com

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/bookstack/public/

    <Directory /var/www/bookstack/public/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        <IfModule mod_rewrite.c>
            <IfModule mod_negotiation.c>
                Options -MultiViews -Indexes
            </IfModule>

            RewriteEngine On

            # Handle Authorization Header
            RewriteCond %{HTTP:Authorization} .
            RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

            # Redirect Trailing Slashes If Not A Folder...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_URI} (.+)/$
            RewriteRule ^ %1 [L,R=301]

            # Handle Front Controller...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^ index.php [L]
        </IfModule>
    </Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Thank you for the reply!
My virtualhost was not set like this, only contained the main virtualhost instructions.
I tried to copy the  block content, restarted the httpd service, but I don't see any notable change in the redirection, still showing "404 Not Found".
Error display on the .env file is set, i solved some error messages, but right now it doesn't seems like there is any error in processing the files.

I'm not really familiar with CentOS but I wanted a minecraft server so have set up a little VPS and am using CentOS to learn the OS a little better. I'll have a play at the weekend with BookStack and apache on it and see if I can put together some steps or a quick guide.

Sounds nice, let me know if you encounter this issue or you think of a possible solution!
If you need any other log or info on the configuration i set just ask, i'll try to find out other ways to workaround the problem in the meanwhile.

@Fuuzz I've now created a CentOS 7 installation script which can be found here:
https://github.com/BookStackApp/devops/blob/master/scripts/installation-centos-7.sh
I've tested this on a virtual machine. Note that this is designed for a fresh instance only since it performs full system setup for BookStack but hopefully there are bits you can use.
The Apache virtualhost setup is this part:
https://github.com/BookStackApp/devops/blob/c85b867acb3b620f69dcdc0a4256aaafd2c58308/scripts/installation-centos-7.sh#L79-L125
If you're not running the whole script, you'll need to change the ServerName parameter to be your domain name for BookStack (eg. docs.example.com).
Let me know if that helps or if you run into any other issues.

Hello @ssddanbrown, thank you for taking it this far :)
After checking and messing around a bit, i found out there was a wrong line on the .conf file for my domain in Apache folder, and it was messing up everything.
Just a quick, last question, dunno if 'm blind or dumb, but I don't find where logins credentials for my panel are stored, and how to set new login infos; I didn't manage to find anything about this at https://www.bookstackapp.com/docs/.
Thank you again :)

@Fuuzz Glad to hear you got things working! Will close this off then.

Just a quick, last question, dunno if 'm blind or dumb, but I don't find where logins credentials for my panel are stored.

Not really sure what's meant by this. The default admin user account is<EMAIL_ADDRESS>with a password of password. Obviously this should be changed after first logging in.
New users can be created in the "Settings" > "Users" area when logged in via the admin account.

After checking and messing around a bit, i found out there was a wrong line on the .conf file for my domain in Apache folder, and it was messing up everything.

May I know what is the name of .conf file you modified in Apache folder?

Hi, the .conf file was the one for the domain I installed bookstack on, like domain.conf in domain folder in var/www.

There's no /login folder, All requests are routed through public/index.php which is what the redirects enable.
In regards to a VirtualHost, With apache you'd often define a virtualhost block in the apache config files, something like this:
<VirtualHost *:80>
	ServerName my.domain.com

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www/bookstack/public/

    <Directory /var/www/bookstack/public/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        <IfModule mod_rewrite.c>
            <IfModule mod_negotiation.c>
                Options -MultiViews -Indexes
            </IfModule>

            RewriteEngine On

            # Handle Authorization Header
            RewriteCond %{HTTP:Authorization} .
            RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

            # Redirect Trailing Slashes If Not A Folder...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_URI} (.+)/$
            RewriteRule ^ %1 [L,R=301]

            # Handle Front Controller...
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^ index.php [L]
        </IfModule>
    </Directory>

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Hello im using windows 10 and xampp, and im having the same issues
where do i copy paste this virtual host script? thanks

@Fuuzz You'd need to alter the config for Windows use. I have a guide for XAMPP/Windows use here: https://www.youtube.com/watch?v=_v-4BhVz7OI


Can import csv file ?

i see this tool can export csv file,how about import csv and show in dashboard ? if ok,this tool can enhanced SIEM or ASM tool

The CSV exported can be used for reporting or to ingest findings into a report in the Findings upload section


Move UnsupportedFormatError from encoders to errors module

This is a breaking change for how to import the UnsupportedFormatError class, but it makes more sense logically to have all the error classes defined in the errors module.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #104 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #104   +/-   ##
=======================================
  Coverage   96.32%   96.32%
=======================================
  Files          18       18
  Lines         707      707
  Branches       53       53
=======================================
  Hits          681      681
  Misses         17       17
  Partials        9        9

Impacted Files
Coverage Δ

src/sagemaker_containers/_errors.py
96.29% <100%> (+0.84%)
:arrow_up:

src/sagemaker_containers/_transformer.py
100% <100%> (ø)
:arrow_up:

src/sagemaker_containers/_encoders.py
100% <100%> (ø)
:arrow_up:

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 8988a98...9d067cf. Read the comment docs.


importing annotations from future changes type

seems to breaks the typecheck for enum and causes a TypeError

seems that this changes a bunch of the types to typing.ForwardRefs which are not introspectable as easily.
Would need to ._evaulate(globals(), locals(), frozenset()), am not sure how that works when not in the file context itself and when Im resolving the type in the autotui.serialize file

maybe related https://github.com/karlicoss/cachew/pull/58/files


Use empty Dir for work directory

What
The runner creates a working directory after starting the pod.
https://github.com/cybozu-go/meows/blob/1c355d707b15c23a91e17ac03416b08b27814b31/runner/runner.go#L47-L49
But it's better to use emptyDir.
How
Describe how to address the issue.
Checklist

[ ] Finish implementation of the issue
[ ] Test all functions
[ ] Have enough logs to trace activities
[ ] Notify developers of necessary actions

I'm curious about how much storage will be consumed by the runner.
Do you have any idea? @masa213f


Android studio cannot attach devices on Flutter project

Steps to Reproduce

open a flutter project
run flutter run everything is ok，and the app was running on my device perfectly
try to click the run button on Android Studio, nothing happen but saying "No connected devices found"

Logs
This is my flutter doctor output
 flutter_demo git:(master) flutter doctor -v
[✓] Flutter (Channel stable, v1.17.4, on Mac OS X 10.15.5 19F101, locale zh-Hans-CN)
    • Flutter version 1.17.4 at /Users/joe/Developer/Flutter/flutter
    • Framework revision 1ad9baa8b9 (2 weeks ago), 2020-06-17 14:41:16 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/joe/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✗] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install:
        sudo gem install cocoapods

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[!] IntelliJ IDEA Community Edition (version 2020.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.1

[✓] Connected device (1 available)
    • PCT AL10 • 46HDU19307000114 • android-arm64 • Android 10 (API 29)

! Doctor found issues in 2 categories.

It work fine on an Android project but only has problem on Flutter project.
I have tried IntelliJ IDEA and it has the same problem.
But VS code work fine for me.
I have tried the advice from https://github.com/flutter/flutter-intellij/issues/2084#issuecomment-414164342 but it's not work for me
Please help ~

Hi @GeeJoe
please follow up on https://github.com/flutter/flutter-intellij/issues/4642,
I'm closing current issue as duplicate


[State Sync] Remove the pending_li_queue and use a single highest target for full node sync.

Motivation
This PR replaces the PendingLedgerInfos structure from state sync with a single (rolling) highest target ledger info. PendingLedgerInfos is used by full nodes in state sync. It maintains a queue of ledger info's that have been received from other nodes. This allows a full node to incrementally sync to these ledger infos as it catches up to the head of the blockchain (as opposed to, e.g., syncing to a ledger info only on an epoch change).
Unfortunately, the use of PendingLedgerInfos makes state sync a lot more complicated than it needs to be. This PR maintains "incremental commit" for state sync, but replaces PendingLedgerInfos with a single ledger info as the next highest target. When that target is reached, a new one is selected based on the responses of the peers.
This PR offers several commits:

Remove the structure entirely and replace it with a single target.
Update the failing tests and add a new test for a full node that is trying to catch up to a moving target without epoch changes.
Small clean up to code duplication in tests.

Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
All tests pass locally (including the newly added one).
Related PRs
This relates to: https://github.com/diem/diem/issues/6795

/canary

:sunny: Canary successful

/canary

:sunny: Canary successful

it's not only about proof requests, it's about everything, storage only exposes data that's covered by LedgerInfo. agree that the pending queue complicates the code, but also I feel incremental commit does add some value. but it's @davidiw 's call

it's not only about proof requests, it's about everything, storage only exposes data that's covered by LedgerInfo. agree that the pending queue complicates the code, but also I feel incremental commit does add some value. but it's @davidiw 's call

@zekun000 , do you think it is valuable to have a ledger queue or a single ledger? (Asking cause maybe you missed my comment on the topic). I think target might not necessarily complicate things. Also same to you @JoshLind.

it's not only about proof requests, it's about everything, storage only exposes data that's covered by LedgerInfo.

@zekun000, so you're saying no ledger info means no JSON RPC responses at all? Not just for proof requests? If that's true, that's news to me, and then I agree removing all ledger infos isn't great.
@davidiw, assuming we'd like to keep some form of incremental commit, perhaps a single rolling target_li stored internally (as opposed to a queue). A node will first request None, then use the highest returned as the next incremental ledger info. Once the node syncs to that ledger info, it will delete it and can then repeat the cycle (request None to learn about a new one). We're essentially removing the queue here and storing a single target at a time. Thoughts?

@zekun000 is a liar (:trollface: ), kind of, you can query any data storage has, but the problem is if you don't know the version, you can't query that which does not have an LI.

You actually don't need to restart, you can just piggyback on the highest that was received and make that the new target.

You actually don't need to restart, you can just piggyback on the highest that was received and make that the new target.

The issue with this is that you then might get into the same problem regarding trying to sync to a validator that is also moving forward: if the validator is making progress upstream and returns a higher ledger info, you may never catch up and thus never "incrementally commit".

You actually don't need to restart, you can just piggyback on the highest that was received and make that the new target.

The issue with this is that you then might get into the same problem regarding trying to sync to a validator that is also moving forward: if the validator is making progress upstream and returns a higher ledger info each time you make a request, you may never catch up and thus never "incrementally commit".

Oh I meant you have two cases:

I receive a response and it is < target
I receive a response and it is == target

In the former, we simply specify target as current target
In the latter, we can specify target as current highest (the highest we just received)
That way you get chained incremental commits and you never just chase after the highest except when you're fully and continuously caught up

yeah, I roughly remember I proposed to use target as intermediate commit to christina, it seems a good tradeoff.

so you're saying no ledger info means no JSON RPC responses since the last ledger info at all?

from what I understand, if you query the storage what's the latest version it'll give you 0 until it reaches epoch end or latest without incremental commit.

Cool, thanks @zekun000 and @davidiw 😄 I'll update the PR and then ping you here to let you know when it's ready!

Ok

@davidiw ❤
/land


feat(swizzling): REM-24817 Rewrite WKWebView swizzling

use IMP blocks for swizzling (instead of the approach where new selector methods were created on categories) so that selectors are unchanged
move the force tracking check to before init’s disable tracking call
remove unit tests that relied on the old selector IMP swapping approach
remove WKWebView swizzling category because it is incompatible with the new approach
fix pragma typos in tests source
remove doxygen Standard metrics group because we don't have exposed standard metrics now

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@c7f8104). Click here to learn what that means.
The diff coverage is 81.05%.

@@           Coverage Diff            @@
##             master     #14   +/-   ##
========================================
  Coverage          ?   86.6%
========================================
  Files             ?      30
  Lines             ?    1217
  Branches          ?       0
========================================
  Hits              ?    1054
  Misses            ?     163
  Partials          ?       0

Impacted Files
Coverage Δ

RPerformanceTracking/Private/_RPTTrackingManager.m
97.1% <100%> (ø)

...PerformanceTracking/Private/_RPTClassManipulator.m
75.22% <68.18%> (ø)

...eTracking/Private/_RPTClassManipulator+WKWebView.m
84.61% <84.61%> (ø)

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 c7f8104...cc4a454. Read the comment docs.


Specify Environment Kindly

I tried the code on Wine first in Ubuntu to a myriad of issues then moved to Windows 10 because you used pywin32 libraries.
I followed this procedure:
conda create -n pygame_aimbot python=3.8 #works well with TF
conda activate pygame_aimbot
conda install pip
pip install numpy
pip install tensorflow
pip install opencv-python
pip install pyautogui
pip install pywin32
pip install tensorflow_hub

Post installation:
#remove TF DLL issues

Make sure to install x64 from: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

#pyWin32 post install
2. python env\Scripts\pywin32_postinstall.py -install
All these worked well to allow all imports but the issue comes up when running:
rect = win32gui.GetWindowRect(hwnd)
What OS did you use?
What python version?
What library versions?

If hwnd did not find window, GetWindowRect will return an error.
You can easily check with print(hwnd) and it should not be 0.
I am using Windows 10 and python 3.6.8.
libraries are the latest version.


Bug 2276825: [release-4.14] Remove default value of waitTimeoutForHealthyOSDInMinutes

Remove default value of waitTimeoutForHealthyOSDInMinutes from ocs-operator, and only update the SC CR, if a value is provided by the user.

/bugzilla refresh


bug: File Not Found Notification when Dropping a Conversation Element

Bug Report
Description
When left-clicking and dragging a conversation element and attempting to drop it in the chat, the WebUI should not allow the chat to be dragged and dropped. Instead, the WebUI should maintain the current state and not display any notifications.
Environment
Operating System:
Windows 11 Pro Insider Preview
Version	22H2
Installed on	2/4/2024
OS build	23620.1000
Experience	Windows Feature Experience Pack 1000.23620.1000.0
Browser: FireFox v123.0.1 (64-bit)
Reproduction Details
Steps to Reproduce:

Left-click and drag a conversation element.
Attempt to drop it in the chat as a document.
Observe that the chat being dragged is treated as a document and the File Not Found notification.

Confirmation:

[x] I have read and followed all the instructions provided in the README.md.
[x] I am on the latest version of both Open WebUI and Ollama.
[x] I have included Screenshots.

Screenshots

Installation Method
Docker container installation command if Ollama is installed.
Additional Information
This issue can be reproduced consistently.

I want to make it know that this issue still exists for the New Chat, Modelfiles, Prompts, and Documents.


Update groupId of flink processor archetype

Purpose
Since version 0.66.0 the groupId of this archetype is org.apache.streampipes
Approach
Update example

Thanks for pointing this out and fixing it @obermeier . Appreciate it.


THRIFT-3528 Fix warnings in thrift.ll

Could you explain what is going on here and why these entries have to be changed/removed? I just don't get it, sorry.

Sure, that's the whole point of putting this as a PR.
In a nutshell I believe it does not change any behavior except that it fixes 3 warnings pasted to JIRA.
Those 3 rules are exact duplicates that never match because precedent ones (Line 182, 267 and 409) always match over these.
You may want to also check git blame output to see which patches caused these. It seems simple mistakes to me.

thrift_reserved_keyword(yytext); is used to report "Cannot use reserved language keyword: " (reserved in Thrift target languages, not Thrift itself). As "union" is already used by Thrift, it does not need to be additionally reserved. "Public" is just repeated (looks like typo).
So for those changes: +1
But last one seems more complicated - at least looking at comment (I hate comments, but still, sometimes it's good to read them). I'm not sure which 'default' block should we keep. Why someone needed '*' in parser? Is it still needed? If we stay with "unexpected_token" (I'd prefer that) I think that comment should be killed too.

235f8b5899b2c5b75cb83975695da1377f0cac0c is the commit that added current (preceding) one which is THRIFT-1274.
According to the JIRA ticket

Currently, if the thrift lexer encounters a token it does not expect, it prints the token it to stdout and continues. (This is the default behavior of flex when a token is unmatched.) This updates thriftl.ll to fail with an error message when it sees an unexpected character.

So according to this, older one does nothing and we wanted Thrift compiler to fail on unexpected token, which seems perfectly reasonable to me.
Removing the comment makes sense. unexpected_token call is already more informative than the comment.

Comment is from older version, which for some reason passed all unexpected tokens to bison.. strange :)
So with comment removal this patch has my +1 :+1:

@hcorg oh I actually got your point, thanks for catching this. Comments are harder to read than C++ :p


Question about implicit zero padding

Hi,
Does the implicit zero-padding, when the modulo of the number of channels with 8 and/or 16 isn't zero,  happening in all primitives and with all memory formats?
For example a inner product with 10 input/output channels in a plain nc format.
thanks

Hi @zeno40,
Implicit zero-padding happens only when constructing memory objects. But you are right, primitives are the driver factor for that.
In theory, zero-padding might happen for any memory format. Even with nc. But in practice, we only use padding for the blocked formats like nChw8c, nChw16c for activations, and like OIhw4i16o4i for weights.
Moreover, for the blocked formats it is a requirement for padded dims to be multiple of the block size. That is for nChw8c and nChw16c the padding for dim 1 (c) must be multiple of 8 and 16 respectively. For OIhw4i16o4i padding for dims 0 (o) and dim 1 (i) must both be multiple of 16.

For example a inner product with 10 input/output channels in a plain nc format.

In this case the current implementation would not require any padding.

Does the memory of the biases for primitives like conv or pooling also need zero padding when there's a optimized weight data format used? Or can we safely leave it to the nummer of output channels?
thanks

Bias is left as is. We decided it would be too much to ask to reorder bias, so we do padding internally. :)

thanks

You are welcome!
I am closing this issue. Feel free to reopen this one or create a new one if you have any further questions.


Clean up base patch build toolchain

fixy9.exe is a closed-source windows utility for updating the y9.bin manifest after making changes to overlay files. Since our docker image for running the toolchain is based on debian, running this tiny utility requires downloading and installing Wine, which adds several minutes to the build time.

CUE's compression tools are a set of C programs for decompressing/compressing various GBA/NDS compression formats. We use it to (de)compress the arm9.bin and overlay executables which are in BLZ format. Unfortunately, the original code is written using some windows-exclusive library functions, so I forked it and changed those function calls to more standardized libc calls so we can use it in our Debian-based docker image.

As far as a solution, ndspy has support for extracting/inserting arm9.bin and overlay files from roms, and handles any (de)compression and y9.bin updates automatically. So, I think the best thing to do would be write a Python script that effectively does what the arm9.bin overlay Makefile target does, except using ndspy's code API

Coming back to this now. More specifically what needs to happen is

[ ] Replace usage of CUE's BLZ tool with ndspy_codeCompression CLI
[ ] Get rid of this horrible one-line inline python script. Hopefully ndspy can replace that + the slicing and dicing of the arm9.bin file with dd earlier on in that file.
[ ] Write a script using the ndspy.code API to update the y9.bin manifest with the new overlay information and drop wine as a dependency in the Dockerfile.


[SYSTEMML-445] Compilation bugfix for Mac OS and PowerPC arch.

@nakul02 @bertholdreinwald can you please test this PR on Mac OS ?

Can an Admin verify this patch?

Nope.
➜  systemml git:(bugfix_jcuda_apple) ✗ mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------< org.apache.systemml:systemml >--------------------
[INFO] Building SystemML 1.2.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.070 s
[INFO] Finished at: 2018-05-31T14:11:41-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project systemml: Could not resolve dependencies for project org.apache.systemml:systemml:jar:1.2.0-SNAPSHOT: The following artifacts could not be resolved: org.jcuda:jcuda-natives:jar:apple-x86_64:0.9.0d, org.jcuda:jcublas-natives:jar:apple-x86_64:0.9.0d, org.jcuda:jcusparse-natives:jar:apple-x86_64:0.9.0d, org.jcuda:jcusolver-natives:jar:apple-x86_64:0.9.0d, org.jcuda:jcudnn-natives:jar:apple-x86_64:0.9.0d: Failure to find org.jcuda:jcuda-natives:jar:apple-x86_64:0.9.0d in https://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
➜  systemml git:(bugfix_jcuda_apple) ✗

@nakul02 can you try again ?

LGTM


1.12.2 server crash with ad 3.5.2

I updated attained drops from 3.5.1 to 3.5.2 and I am getting this crash on my 1.12.2 server:
https://pastebin.com/cHTDZ1g1
mc 1.12.2
forge <IP_ADDRESS>1
attained drops 3.5.2

I'll 2nd this report.  I'm having the same issue on a server I'm setting up
https://pastebin.com/PSewA5uf
MInecraft 1.12.2
forge <IP_ADDRESS>3
Attained Drops 3.5.2

I guess I never got the email for this one.  Fixed in 3.5.3


[AutoPR authorization/resource-manager] Python conf for Authorization 2018-09-01-preview

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4347

Build output:

dist/com.microsoft.azure.authorization.v2015_07_01/azure-mgmt-authorization-1.0.0-beta-sources.jar
dist/com.microsoft.azure.authorization.v2015_07_01/azure-mgmt-authorization-1.0.0-beta-javadoc.jar
dist/com.microsoft.azure.authorization.v2015_07_01/azure-mgmt-authorization-1.0.0-beta.pom
dist/com.microsoft.azure.authorization.v2015_07_01/azure-mgmt-authorization-1.0.0-beta.jar


pb with symfony installation

When using skyflow SF create the files and folder of SF are downloaded but :

.env, .env.test and .gitignore are not in the main folder, they are in the Symfony_XXXX folder
there's still the Symfony_XXXX folder that should be removed.

There's a .gitignore file in nearly every folder

First sorry for the response delay, Skyflow is school project and we working very hard for our year-end presentation so we have not much time with the all ecosystem we've created.
But in few day we will finish our school year and be able to help you.


linux6 failing tests randomly

Seems like linux 6 is failing tests randomly. We need to manually quarantine the bot and investigate:
https://ci.chromium.org/p/flutter/builders/prod/Linux flutter_gallery__transition_perf_hybrid/2165
https://ci.chromium.org/p/flutter/builders/prod/Linux flutter_gallery__transition_perf_with_semantics/2136

Bot has been manually quarantined.

Moved linux6 to staging pool for investigation, and moved linux8 to prod to save queue time for linux tasks.

Linux6 is quarantined due to undetectable phone. File b/195660036 for recovery.

Device has been recovered.


Update testnet to beta8

Description of proposed changes:
Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Codecov Report

Merging #648 (f5b1da0) into testnet (3a0b2e0) will increase coverage by 3.51%.
The diff coverage is 96.09%.

@@             Coverage Diff             @@
##           testnet     #648      +/-   ##
===========================================
+ Coverage    76.27%   79.79%   +3.51%
===========================================
  Files           45       47       +2
  Lines         8532     8867     +335
===========================================
+ Hits          6508     7075     +567
+ Misses        2024     1792     -232

Impacted Files
Coverage Δ

node/src/rpc.rs
0.00% <0.00%> (ø)

node/src/service.rs
0.00% <0.00%> (ø)

pallets/creditcoin/src/mock.rs
97.58% <0.00%> (-0.02%)
:arrow_down:

pallets/creditcoin/src/ocw/tasks/tests.rs
100.00% <ø> (ø)

test/client/src/lib.rs
81.81% <ø> (ø)

pallets/creditcoin/src/ocw/errors.rs
80.55% <50.00%> (-2.31%)
:arrow_down:

runtime/src/lib.rs
24.04% <50.00%> (+6.65%)
:arrow_up:

pallets/creditcoin/src/lib.rs
88.63% <81.08%> (-0.08%)
:arrow_down:

node/rpc/src/task.rs
84.21% <84.21%> (ø)

node/rpc/src/lib.rs
39.28% <86.95%> (+38.43%)
:arrow_up:

... and 39 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Implement the non-cloud loadbalancer support

Nginx acting as a loadbalancer for the control plane running in an autoscaling group will need to handle the normal autoscaling lifecycle.

probably won't use nginx for this.  apparently the license is weird.  escort is a viable replacement.

this is github.com/samsung-cnct/flipbit


spirv-diff: Match OpSpecConstantComposite correctly

OpSpecConstantComposite is not decorated with SpecId, and so is matched
similarly to OpConstantComposite.

@sfricke-samsung Fixes the assertion failure here: https://github.com/KhronosGroup/SPIRV-Tools/pull/4700#issuecomment-1033047229


Implement Largest Rectangular Area in Histogram Stack C++

🚀 Feature
I want to contribute to the solution of the Largest Rectangular Area in Histogram in C-Plus-Plus using Stack as part of GSSoC 2021.
Have you read the Contributing Guidelines on Pull Requests?
YES.

I want to do this using Divide and Conquer algorithm as a part of GSSoC'21.Please assign it to me.


Add no time log at start of trainer

Issue #, if available:
Description of changes:

Add no time log at start of trainer
This provides a more informative error message in case the time limit was exceeded during feature preprocessing.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1870-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1870/1/index.html


.maintain/monitoring/alerting-rules: Adjust transaction queue size alert

The transaction queue size alert has been firing with a constant 10
transactions in the queue. While maybe problematic those 10 transactions
don't need to be the same across scrape intervals.
Instead of alerting with a size above 10, alert based on two things:

Monotonically increasing queue size

Upper limit queue size reached

//CC @fgimenez

@fgimenez as far as I can tell polkadot_sub_txpool_validations_finished includes all validations detached from validation result. @NikVolf (who implemented them) can you confirm?
https://github.com/paritytech/substrate/blob/c8c16d1803c5d84565ffb788ab35e2cedf289530/client/transaction-pool/src/lib.rs#L271-L277

@gabreal @ddorgan @tomaka could one of you approve this pull request in case you have no objections?


Enhancement ground truth generation file

We should be able to compute the ground truth with a point cloud P coming from the extrinsic calibration file.

Done in the ground truth pipeline


Espresso Intents for select multiple images Intent.EXTRA_ALLOW_MULTIPLE not working

This is first time I am using espresso intents, I followed BasicSamle provided in the android-testing project but no solved.
In my app I have a activity where user selects multiple images and then returned images are shown in the gridview, Now by using the espresso intents I want to mock this without going to actual image picker and return some specified images everytime.
No error but still opens the image chooser window when I run the test. I feel I am doing it wrong but I am not getting how it works.
I am testing using apk.
This is how photo picker is called
App code
This is how I am calling select images Intent and result is handled in onActivityResult.
if (ApiUtils.checkApiLevel(18)) {
        intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
    }
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent,      getActivity().getString(R.string.fragment_image_selection_select_picture)), 1);

Testing Code
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ImagesTests {

private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = "com.company.recorder.RecorderActivity";
private static Class<? extends Activity> activityClass;
private ServiceValidatorIdlingResource serviceValidatorIdlingResource;

static {
    try {
        activityClass = (Class<? extends Activity>) Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
    } catch (ClassNotFoundException e) {
        throw new RuntimeException(e);
    }
}

/**
 * Change espresso default view idling time
 * so that test can wait for long time
 */
@Before
public void registerWaitService() {
    EspressoSolo.setIdlingResourceTimeout(30);

    Instrumentation.ActivityResult result = createImageCaptureActivityResultStub();

    // Stub the Intent.
    intending(hasAction(Intent.ACTION_GET_CONTENT)).respondWith(result);

   //For API 18 and above
    intending(hasAction(Intent.EXTRA_ALLOW_MULTIPLE)).respondWith(result);

    //intending(not(isInternal())).respondWith(result);
}

private Instrumentation.ActivityResult createImageCaptureActivityResultStub() {
    // Put the drawable in a bundle.
    Bundle bundle = new Bundle();
    Uri imageUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" +
            InstrumentationRegistry.getTargetContext().getPackageName()+ '/' +
            InstrumentationRegistry.getTargetContext().getResources().getResourceTypeName(R.drawable.abc_ic_menu_copy_mtrl_am_alpha) + '/' +
            InstrumentationRegistry.getTargetContext().getResources().getResourceEntryName(R.drawable.abc_ic_menu_copy_mtrl_am_alpha) );

    Parcelable parcelable = (Parcelable)imageUri;

    ArrayList<Parcelable> parcels = new ArrayList<>();
    parcels.add(parcelable);

    bundle.putParcelableArrayList(Intent.EXTRA_STREAM, parcels);

    // Create the Intent that will include the bundle.
    Intent resultData = new Intent();
    resultData.putExtras(bundle);

    // Create the ActivityResult with the Intent.
    return new Instrumentation.ActivityResult(Activity.RESULT_OK, resultData);
}

@Rule
public IntentsTestRule<?> mIntentsRule = new IntentsTestRule<>(
        activityClass);

/**
 * In this test images are taken during the recording
 * add the images taken during the recording through add photos card
 * displayed after recording is stopped.
 *
 * @throws Exception
 */
@Test
public void testAddImagesFromPhotosCard() throws Exception {

    onView(withId(Recorder.getId("recorderpage_record"))).perform(click());

    Log.d("called", "other package");
    IdlingResource idlingResource0 = new RecordingWaitIdlingResource(5000);
    Espresso.registerIdlingResources(idlingResource0);

    Log.d("called", "other package");
    onView(withId(Recorder.getId("card_topText"))).perform(click());
    Espresso.unregisterIdlingResources(idlingResource0);
    onView(withId(Recorder.getId("recorderpage_stop"))).perform(click());
    //Log.d("called", "other package");
    IdlingResource idlingResource2 = new RecordingWaitIdlingResource(2000);
    Espresso.registerIdlingResources(idlingResource2);
    onView(withId(Recorder.getId("recorderpage_statustext")))
            .perform(click());
    Espresso.unregisterIdlingResources(idlingResource2);

    onView(withId(Recorder.getId("pager"))).perform(swipeLeft());

    onData(allOf()).onChildView(withId(Recorder.getId("recordsOverflow"))).
            atPosition(0).perform(click());

    IdlingResource idlingResource3 = new RecordingWaitIdlingResource(2000);
    Espresso.registerIdlingResources(idlingResource3);
    onData(allOf()).onChildView(withId(Recorder.getId("recordsOverflow"))).
            atPosition(0).perform(click());
    Espresso.unregisterIdlingResources(idlingResource3);
    onView(withText("Add an image")).perform(click());

    Instrumentation.ActivityResult result = createImageCaptureActivityResultStub();
    intending(toPackage("com.android.documentsui")).respondWith(result);

     /* I actually dont know which preinstalled app is opened by intent, I saw this com.android.documentsui, also tried with photos and gallery package names */

    intending(toPackage("com.android.documentsui.DocumentsActivity")).respondWith(result);

    intending(hasAction(Intent.ACTION_GET_CONTENT)).respondWith(result);

    //Now click on add images
    onView(withId(Recorder.getId("menu_fragment_imagewizard_selection_add"))).perform(click());

    //Just waits for 2seconds
    IdlingResource idlingResource4 = new RecordingWaitIdlingResource(2000);
    Espresso.registerIdlingResources(idlingResource4);
    onView(withText("Add images")).perform(click());
    Espresso.unregisterIdlingResources(idlingResource4);

}
}

**PS:- **
Espresson not waiting for all views to become visible, that's why I implemented my own idling resource to wait for few seconds[Which is exactly opposite to espresso], I have no idea why its happening.

Thanks for reporting this issue, can you pls file a bug on our issue tracker for ATSL as this is not related to the sample repository. You can file an issue here: https://code.google.com/p/android/issues/entry?template=Test Support Library bug