Journals API should allow callers to specify created_at as part of entry creation request

Currently, POST /journals/<journal_id>/entries does not allow caller to specify the created_at date for the entry. It uses the time at which the request was made as the created_at time. (Reference.
Instead, users should be able to specify an entries created_at as part of the request.

Blocks https://github.com/bugout-dev/moonstream/issues/5


Add publishing pipeline builds

Overview
This adds two Jenkinsfiles for our publishing pipeline:

Jenkinsfile.tag, for tagging commits
Jenkinsfile.publish, for publishing commits to dockerhub

It's intended to be used in the upbound Jenkins, and is similar to existing publishing pipelines.
There are two types of builds:

Continuous, from master, whenever a commit is pushed
On-demand, from a release branch

This adds the functionality for both, but we will need additional setup to trigger the builds when a commit is pushed:

[ ] Configure a webhook to trigger the build for the master branch

Also, out of scope are labeled channel updates (such as alpha).
Note that some additional work will probably be needed in order to fit this into the template stacks version of the stack.
Testing done
I've done a bunch of testing in the upbound Jenkins, with a private dockerhub repository. I've done tagging and publishing and seen them succeed.
After this is merged
After this is merged, we'll need to clean up the existing job and try out the process:

[ ] Point the job back at crossplaneio instead of suskin
[ ] Run a release of 0.0.1 using the new jobs
[ ] Document the new release process

Since this is specific to the pre-template stack, I'm going to change this to point at release-0.0, which has the pre-template stack code.

Since this is specific to the pre-template stack, I'm going to change this to point at release-0.0, which has the pre-template stack code.

I am not sure whether that's something we should address. I think there will be a repo for pre-template stacks version that we can refer to as opposed to an old commit in this repo. We can build the pipeline in that repo instead of here.

Since this is specific to the pre-template stack, I'm going to change this to point at release-0.0, which has the pre-template stack code.

I am not sure whether that's something we should address. I think there will be a repo for pre-template stacks version that we can refer to as opposed to an old commit in this repo. We can build the pipeline in that repo instead of here.

Yeah, the idea with putting it in this branch is that we can use the old version as a test for the pipeline. I'm not sure when we'll create the repo for the controller variation of the wordpress stack. It isn't something which I sought to address just to address it; it's something that happens to be convenient in the course of creating the pipeline, and which is a good exercise of the system.


shm_put_var memory warning

Hey, guys.
I've looked through the issues and didn't find anything similar.
I'm having a problem when using the Server class.
Everything works fine for a while but after a few pushes, the allocated memory
with shm_attach() seems to fill up and any attempt to shm_put_var() gives a warning
about not having enough memory.
I looked quickly through the code and I couldn't find any spot where the messages were dealloc'ed with shm_remove_var().
Am I missing something or maybe this memory cleanup is really my responsibility instead of Apns's?
Thanks in advance,
Ricardo Pedroni

The shm_put_var() uses always the same variable, so it replaces the contents, there's no need for shm_remove_var().
Maybe you are experiencing the queue filling up? I don't see any queue limitation in the code. You can try reducing the rate at which you add messages to the server, and see if that fixes your problem.


Babel loose

Use loose mode for babel
Stop using Set, because its not handled properly in loose mode

Closes: #7448

It'd be helpful to document in the performance section that if you're using Babble with the ES6 build then you should use loose mode

Stop using Set, because its not handled properly in loose mode

that's too bad. are you sure it's the use of Set rather than your spreading of it into an array? IE11 has Set support.
have you guys considered not using classes in favor of composition (even without prototype or this. or something like:
function extend(parent, child, props) {
  child.__proto__ = parent;
  var proto = child.prototype = Object.create(parent.prototype);
  proto.constructor = child;
  for (var p in props)
    proto[p] = props[p];
  return child;
}

in uPlot i just stick to functions (most of them in a large instance closure) and have no issues with using Buble and the bundles are extremely compact. you have to avoid stuff for..of and occasionally spreads, but really those are really not on the usefulness level of e.g. async/await vs promises.

@leeoniya its the spread, but doing forEach with it removes the small speed gain it provides compared to simple object.
We've just about finished to conversion to classes, I doubt there are many volunteers to reverse that now. I testet buble and it created about the same code compared to babel loose, only 5kb bigger, because it did not alias this etc.


Document possible Terraform error on destroying Civo

What type of suggestions?
Missing Information
What page is concerned?
https://docs.kubefirst.io/civo/deprovision
What version of the docs?
2.1
What is the issue?
Document possible Terraform error on destroying Civo as it happen often the API return errors, and there's nothing we can do.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

from @echoboomer: It’s most commonly with networks and firewalls.

Seems like they may have fixed it! Please let us know or reopen if it happens again.


Challenge http://www.freecodecamp.com/challenges/waypoint-check-radio-buttons-and-checkboxes-by-default has an issue

Syntax error, unrecognized expression

Thank you, however without further description we'll be unable to address your specific issue!.


Add HuggingFaceH4/zephyr-7b-gemma-v0.1

[ ] Missing conversation template

Thank you for the PR! Would you please help confirm if the conversation template mapping would work for the model?
Link: https://github.com/allenai/WildBench/blob/main/src/fastchat_conversation.py#L11
Please add the changes here if needed. Thanks again!


typescript_auto_format breaks editorconfig's tab preference

When typescript_auto_format is enabled, it appears that certain operations will cause indentation to be replaced with tabs, even when the .editorconfig file specifies the use of tabs. The easiest way to replicate it is to enter a new line that is indented by the auto-format, then paste a variable from the same file. This took me a while to figure out, I thought it was .editorconfig not working, but it only occurs with .ts files.

This was an known issue before v1.4 release, but now it should work with sublime text's tab settings.
And I don't quite understand the repro procedure you mentioned. Do you mean the following:

(Here the typescript_auto_format is enabled, and the indent using spaces sublime view setting  is set to true).


Added angle as an attribute

Changed the angle parameter from the hardcoded '120' to a value from the attribute 'angle' with default of 120.

Thanks you very much, sure I will merge!
On Apr 13, 2015 9:29 AM, "Uri Fridland"<EMAIL_ADDRESS>wrote:

Changed the angle parameter from the hardcoded '120' to a value from the
attribute 'angle' with default of 120.
You can view, comment on, or merge this pull request online at:
https://github.com/stherrienaspnet/ngRadialGauge/pull/7
Commit Summary

Update ng-radial-gauge-dir.js

File Changes

M src/ng-radial-gauge-dir.js
https://github.com/stherrienaspnet/ngRadialGauge/pull/7/files#diff-0
(11)

Patch Links:

https://github.com/stherrienaspnet/ngRadialGauge/pull/7.patch
https://github.com/stherrienaspnet/ngRadialGauge/pull/7.diff

—
Reply to this email directly or view it on GitHub
https://github.com/stherrienaspnet/ngRadialGauge/pull/7.


Enhancement: Using Named routes instead of on the fly routes.

I think we should use named routes instead of on the fly routes. They are easy to manage and maintain. In the drawer, we should replace the pages instead of pop and push, because it makes the transition and animation look really bad.
I want to solve this problem. Please assign me this issue, under GSSOC 21.

can you mention the instances for it?

@anushbhatia what do you mean by instances ?

@anushbhatia wherever Navigator.push is used.

@anushbhatia I think we should use the routes table and Navigator.pushNamed

Be careful to check all navigation routes there

Be careful to check all navigation routes there

@anushbhatia Okay 👍

Issue resolved by #248


Docs: incorrect error span in documentation

https://www.typescriptlang.org/docs/handbook/enums.html#union-enums-and-enum-member-types
enum ShapeKind {
  Circle,
  Square,
}

interface Circle {
  kind: ShapeKind.Circle;
  radius: number;
}

interface Square {
  kind: ShapeKind.Square;
  sideLength: number;
}

let c: Circle = {
  kind: ShapeKind.Square,
  radius: 100,
};

I recently switched the shiki renderer to allow for a separate of different lines, this is doable now by moving the error underlines to live on their own div in-between the lines of source code.


Windows App is stuck loading

The Keybase desktop app for Windows is stuck loading, so it is not usable.  Have tried un/re-installing with no luck.  Other Windows users in my organizations are reporting the same problem.

I'm seeing the same thing on Keybase GUI Version: 5.9.0-20211216221810+9b33c9201f on Windows 11. The filesystem is not mapped to the K: drive (or any other) and the GUI never gets beyond the state in this

I saw this same problem on Fedora Linux 35. I downgraded

The Keybase desktop app for Windows is stuck loading, so it is not usable. Have tried un/re-installing with no luck. Other Windows users in my organizations are reporting the same problem.

I found the same on Win10.  and did all this

uninstalled and re-installed
uninstalled and removed all references I can from registry and reinstalled
upgraded from windows 10 to window 11
repeated step2
disabled VPN, disabled firewall
run “Keybase log send” and created a GitHub account to view my submission
spent some considerable time googling for help

I found the client eventually started after rean "c:\Keyabase whoami " from teh command prompt which started the service and the GUI kicked into life. I need to do this after each restart.
Still cant get the file browser to work though :(

Thanks James.
The command seems to work for me :)


there's a guide on the forums now.

Can we make it say Go here as opposed to just "here"?

  this.sendReplyBox("Want to know how to get bucks?  *Go*here.");

^ it's done


rule 583 working

closes #617
If more than one <DATE_PLACED> is present, then all but the latest <DATE_PLACED> must have <DATE_PLACED_CEASED>
(The latest <DATE_PLACED> may or may not have <DATE_PLACED_CEASED>)
Works on the assumption that this rule coding means that any child with more than one DATE_PLACED_CEASED NaN is a failing row. Does not check if the most recent date placed ceased has a value but an earlier one does not, which now that I submit this PR, I realise it should.

Codecov Report

Merging #719 (41828f0) into main (f3ae815) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main     #719      +/-   ##
==========================================
+ Coverage   95.52%   95.53%   +0.01%
==========================================
  Files         311      312       +1
  Lines        7549     7567      +18
==========================================
+ Hits         7211     7229      +18
  Misses        338      338

Files
Coverage Δ

lac_validator/rules/lac2022_23/rule_583.py
100.00% <100.00%> (ø)

tests/test_utils.py
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes
:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!


Race-condition when building kernel modules

When building out-of-tree kernel modules, we are sometimes are getting errors, even with no changes to source or recipes.  (Paths below are  truncated/modified.)
|   ERROR: Kernel configuration is invalid.
|          include/generated/autoconf.h or include/config/auto.conf are missing.
|          Run 'make oldconfig && make prepare' on kernel src to fix it.
And then:
| /bin/bash: scripts/basic/fixdep: No such file or directory
| build/tmp/work-shared/jetson-tx2i/kernel-source/scripts/Makefile.build:335: recipe for target '.../mykernelmodule.o' failed
I found this discussion that appears to be the same problem, and the comment linked to below mentions the solution.
https://github.com/balena-io-projects/kernel-module-build/issues/7#issuecomment-442013726
OE has added those depends to their kernel recipes (https://github.com/openembedded/openembedded-core/commit/148fd7a5bfea5d18952355a294e6d36ca82291d2).  Adding those to the linux-tegra recipe appears to have solved the problem for me.

Yeah, I've run into something similar in a past project that needed out-of-tree modules. Can you submit a PR for this?

It turns out I spoke too soon.  After further testing the problem did reoccur.  I'll post addition information if we find out anything more.  This is something that we need to solve for our automated build system.
We didn't have this problem with yocto 2.3.  It was only when we updated to yocto 2.7 (and the associated meta-tegra) that it started occurring.

I just ran into this today on another project that isn't using meta-tegra, but is also using 2.7/warrior.

No activity on this for over a year, so closing.


Rule suggestion: function-color-adjust

(split out of #1053)
Reports use of the deprecated function adjust-hue, and suggests using color.adjust / adjust-color instead.

Stylelint SCSS already has such a rule called no-global-function-names.


Added templates/PacketHandlerDefaultImplTrait.php from BedrockProtocol

I use deepl translations.

overview
Add missing template.
Please note that copyright is based on the current Bedrock Protocol and does not match other files.
Difference between BedrockProtocol 2041f03 and <IP_ADDRESS>.
<IP_ADDRESS>.diff
https://gist.github.com/DaisukeDaisuke/bae55eb048a13bfd470de726ddb2c83f

https://github.com/pmmp/BedrockProtocol/commit/2041f033ce618758cfd48069fbed8c13118f1ba5

Obsoleted by af068eddb5231d9e46de24763eb6cc8aa0fb4313. I had unstaged changes in my local workspace that I forgot to commit.


Added 'worleyd.html' to Friends directory

Fixed

Fixed Fixed. My bad.

um....
now you've put the link in the page title. it needs to be on the page.

...I did not know that wasn't allowed. Moved it. Fixed Fixed Fixed

good enough, thanks.


Recipes for CyclicMagic Items?

I'm loving your mod, and learning so much from my searches. But I can't seem to find any information on the actual recipes for the items in your mod. For example, how would I craft an exchange scepter on survival? I've been searching for weeks during my off time. Can you PLEASE point me in the right direction? Thanks so much for your fun mod!

easy, use Jei(Just enough Items) :
https://minecraft.curseforge.com/projects/just-enough-items-jei/files <--- link.
If you don't want to use the mod I can make a tutorial with the recipes for you.

Sorry, i havent got around to making a wiki page.Eventually I would like to make an ingame guidebook like so many other books have; but for now i just rely on JEI

Thank you so much for your kind reply. It would be great to see a tutorial for crafting all the items if you find time! But until then I really appreciate your advice to check out JEI. Thanks for the great mod. Your work is valued! We look forward to seeing more of your work in the future.
Sent from my Verizon, Samsung Galaxy smartphone
-------- Original message --------From: Sam Bassett<EMAIL_ADDRESS>Date: 3/6/17  6:20 PM  (GMT-08:00) To: PrinceOfAmber/Cyclic<EMAIL_ADDRESS>Cc: DesertRayne<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [PrinceOfAmber/Cyclic] Recipes for CyclicMagic Items? (#301)
Sorry, i havent got around to making a wiki page.Eventually I would like to make an ingame guidebook like so many other books have; but for now i just rely on JEI
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/PrinceOfAmber/Cyclic","title":"PrinceOfAmber/Cyclic","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/PrinceOfAmber/Cyclic"}},"updates":{"snippets":[{"icon":"PERSON","message":"@PrinceOfAmber in #301: Sorry, i havent got around to making a wiki page.Eventually I would like to make an ingame guidebook like so many other books have; but for now i just rely on JEI "}],"action":{"name":"View Issue","url":"https://github.com/PrinceOfAmber/Cyclic/issues/301#issuecomment-284600707"}}}

Yeah no problem.  Similar questions have been asked before. Previously i didnt even have tooltips in fact https://github.com/PrinceOfAmber/Cyclic/issues/140

Planning to look into making a guide book for the mod, seems like what many of the other mods are doing. https://mods.curse.com/mc-mods/minecraft/228832-guide-api

In game guide book is done https://minecraft.curseforge.com/projects/cyclic/files/2417735


[$2000] mWeb/Safari -The list of countries opens in different sizes when clicking on different lines

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:

Log in with a brand new account in iOS/ Safari
Navigate to Settings -> Profile -> Personal details->Home address
Click Country (a large file will open)
Сlick Address line 1 then click Country again. (a small sheet opens)

Expected Result:
The sheet with the list of countries should open in the same size
Actual Result:
The list of countries opens in different sizes when clicking on different lines
Workaround:
Uknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
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://user-images.githubusercontent.com/93399543/226010101-7e3e3202-7ad3-4132-85c6-0e59b327df98.mp4

Expensify/Expensify Issue URL:
Issue reported by: Applause- Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011bc5d3c6e8254d08
Upwork Job ID:<PHONE_NUMBER>436447744
Last Price Increase: 2023-04-03

Reproduced only on iOS/Safari

Triggered auto assignment to @tjferriss (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt (External)

Triggered auto assignment to @AndrewGable (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

It's not the same issue but these two seem like they could have a similar fix?

Dupe issue

For the sorting issue we must use _.sortBy instead of _.map .

📣 @hohner2008! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@hohner2008 Thanks for your interest but can you please follow the proposal template? (checkout contributing guide)

Proposal
Please re-state the problem that we are trying to solve in this issue.
mWeb/Safari -The list of countries opens in different sizes when clicking on different lines
What is the root cause of that problem?
When switching from an input to a select, the keyboard is not hidden yet, so the select popup list box can only occupy half of the screen height
What changes do you think we should make in order to solve the problem?
We can hide the keyboard before popping up the list box. In fact, the browser will hide the keyboard, but we hide the keyboard in advance so that the browser can correctly calculate the height of the list box
https://github.com/Expensify/App/blob/9fdc940f533556bdc1fe07e6e5fb343157ffefd3/src/components/Picker/Picker.js#L209-L213
onFocus: ...
onBlur: ...
+ onMouseEnter: () => {
+     Keyboard. dismiss()
+ },

What alternative solutions did you explore? (Optional)
None

Proposal
Please re-state the problem that we are trying to solve in this issue.
Country picker dropdown size differs when soft keybord is open on iOS Safari.
What is the root cause of that problem?
When user directly taps on the country picker, soft keyboard is not present and browser makes use of entire browser height to render the select dropdown. Once user focus any of the other inputs, soft keyboard opens up and reduces the available screen height of the page. Now if user tries to open country picker browser renders a smaller select dropdown because of reduced screen height.
What changes do you think we should make in order to solve the problem?
This issue is not specific to Country picker but applicable to Picker component in general. Soft keyboard should be dismissed before opening select dropdown. Otherwise browser will render a smaller picker component. Picker component is internally using react-native-picker-select which programatically dismiss the Keyboard before opening the modal for platforms other than Web. For web, a native 'Select' input is getting rendered. So we need to close the soft input before opening picker. This could be achieved by listening to onTouchEnd event from picker and blurring active element if it is not select input.
Add touchEnd listener to pickerProps like below
pickerProps={{
onFocus: this.enableHighlight,
...
onTouchEnd: (e) => {
  if (document.activeElement !== e.target) {
   document.activeElement.blur();
 }
}
},

📣 @aswin-s! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~010b194c3e145d5456

✅ Contributor details stored successfully. Thank you for contributing to Expensify!

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0150d8e3bbd1d46f2b

@hellohublot Thanks for the proposal. Your RCA seems about right. The idea of hiding the keyboard also makes sense to me. What I'm concerned about is when and where to hide the keyboard. Let's get this to the lowest level possible, and dismiss the keyboard just before opening the select menu.

@aswin-s Thanks for the proposal. Your RCA is correct and the fix of hiding the keyboard before opening the select menu is probably what we are looking for here. I'm interested in knowing more about this:

Picker component is internally using react-native-picker-select which programatically dismiss the Keyboard before opening the modal for platforms other than Web.

Can you link to the code? Why this is not being handled for Web. It would be best to extend the functionality and make it work for Web too (upstream fix).

@s77rt
react-native-picker-select dismiss the native keyboard whenevertogglePicker method is invoked for iOS.
https://github.com/lawnstarter/react-native-picker-select/blob/ca6488c2eef5c776a8071400c8b7987712d43397/src/index.js#L239
For Android it doesn't seem to dismiss keyboard, as the picker opens above the SoftKeyboard. However there is an open PR to fix this behaviour.
For Web platform, it is listening only to the onValueChange event from Select input. This is because RNPIckerSelect internally uses react-native-picker for rendering the Select component. ReactNativePicker has separate implementations for iOS, Android & Web.  For Web it simply returns a browser native Select input.
Render method for Web platform in react-native-picker select
https://github.com/lawnstarter/react-native-picker-select/blob/master/src/index.js#L563-L565
Web implementation for react-native-picker
https://github.com/lawnstarter/react-native-picker-select/blob/master/src/index.js#L563-L565
Select input on browser doesn't need any additional plumbing as selection happens at browser level and onChange listener will be triggered once user picks a value from select input. onChange listener in turn calls onValueChange callback for react-native-picker component.
https://github.com/react-native-picker/picker/blob/master/js/Picker.web.js#L59
So ideally the bug should be fixed in 'react-native-picker' repo as it is the component responsible for rendering select input. I can raise a PR at the upstream repo and link it back here.

@aswin-s Thanks for the quick update. We have a fork of react-native-picker-select. Do you think we can fix this there? Or to make my question more straightforward, what change should we make in either react-native-picker or react-native-picker-select to fix the bug?

@aswin-s Thanks for the update. Although onTouchStart/onTouchEnd may work they are not strictly coupled with opening the select menu. Can we get more closer to the event that occurs right before opening the select menu?

Proposal
Updated
@s77rt
Hello, I tested again, onTouchStart will conflict with the scroll event, this event will also respond outside the area, so I replaced it with onPointerUp
When to hide the keyboard
I tested ['onFocus', 'onFocusIn', 'onMouseUp', ''onTouchStart', "onPointerUp"', "onFullscreenChange"], in these events, focus and mouse are too late, touch will affect the scroll event, so I would recommend onPointerUp, onPointerUp will only respond in the browser, so it will not affect other scopes
Where to hide the keyboard
In fact, there are onFocus onBlur and additionalPickerEvents here, I suggest that we deal with it in this code block is the best, this is a problem that exists with input and select, I think the main thing in the upstream code react-native-picker-select is only do select, And we will facilitate the processing of other possible modals except input in the future
How to hide the keyboard
I suggest that we call the official method of react-native, which will handle a lot of details for us
Keyboard.dismiss() -> dismissKeyboard() -> TextInputState.blurTextInput(TextInputState.currentlyFocusedField()) -> if (textFieldNode !== null && document.activeElement === currentlyFocusedField) -> blur()
so Keyboard.dismiss() does not have other effects

@hellohublot I didn't really understand the part of where to apply the fix. Please provide a permlink.

@hellohublot I believe we want the fix to be upstream on our fork https://github.com/Expensify/react-native-picker-select. Any reasons you think it's better to apply the fix only on E/App repo?

@s77rt

@hellohublot Thanks for the proposal. Your RCA seems about right. The idea of hiding the keyboard also makes sense to me. What I'm concerned about is when and where to hide the keyboard. Let's get this to the lowest level possible, and dismiss the keyboard just before opening the select menu.

Hello, I have modified the original proposal, I also linked to the original proposal, I just explain where I modified (because you have read the original proposal and asked some questions), and answer you For some problems with the original proposal, my permlink remains unchanged in the original proposal. I am very sorry for the trouble. If you agree, I will send two messages when I update the proposal next time

@hellohublot I believe we want the fix to be upstream on our fork https://github.com/Expensify/react-native-picker-select. Any reasons you think it's better to apply the fix only on E/App repo?

Not yet

@hellohublot Can you update your proposal based on the fact that we want to apply the fix upstream.

@aswin-s Thanks for the update. Although onTouchStart/onTouchEnd may work they are not strictly coupled with opening the select menu. Can we get closer to the event that occurs right before opening the select menu?

@s77rt  Since HTML Select element is getting rendered inside Picker component for web platform, only limited set of events are fired when user interacts with the picker. Below are the list of events that are getting fired in the exact same order.
pointerover
pointerenter
pointerdown
touchstart
gotpointercapture
pointerup
lostpointercapture
pointerout
pointerleave
touchend
mouseover
mouseenter
mousemove
mousedown
focus
mouseup
click
animationstart
animationend

The picker menu gets opened once click event is triggered. So we need to blur any other active input and dismiss the keyboard before focus and click gets triggered on select element. As the is happening only on mobile devices it looks like touchend is the closest event that gets triggered before opening the select menu.
We could wrap the select element in a TouchableOpacity and capture any touch events that happens inside it. But to open the Select menu after the cleanup we'll have to manually trigger a click event on the Select element. This feels like too much of a hack for such a small issue.

@aswin-s Thanks for the update. If the picker is opened on click event, can't we dismiss the keyboard on that event?

@aswin-s Thanks for the update. If the picker is opened on click event, can't we dismiss the keyboard on that event?

Nope, as you can see from the order of events above, focus event on select element gets fired before click event. So if we try to blur the active element on click, that would be select itself. We need to blur the input even before focus event on select so that soft keyboard gets dismissed and browser takes entire screen height for computing select menu height.

@aswin-s Thanks for the clarification, but won't touchEnd fire if we are scrolling the view and happen to land on the picker input?
@s77rt
If user tries to scroll the page by pressing and scrolling over select input touchEnd will be fired. For this to happen scroll has to start from select input itself. If that happens touchMove will also be triggered before touchEnd. We can listen totouchMove event and cancel actions on touchEnd.

@aswin-s Thanks for the follow up. I'm really trying to be fair here but I find it hard to go with your proposal, I don't see a strong argument on using onTouchEnd over onPointerUp. Also I find it much cleaner to use Keyboard.dismiss() instead of the blur approach you suggested.

@aswin-s Thanks again for understanding. I appreciate your inputs here. I'm sure you can find more issues that you can work with, there is plenty. Checkout issues with Help Wanted label.

@hellohublot Given that you were the first person to get the correct RCA and proposed the appropriate fix. I think we will go with your proposal. However we are expecting the fix to be upstream on our fork here https://github.com/Expensify/react-native-picker-select.
:ribbon: :eyes: :ribbon: C+ reviewed
cc @AndrewGable

@AndrewGable I want to add that the approved proposal ^ has one slight drawback:

Current behavior: On long press the picker, nothing happens
New behavior: On long press the picker, the keyboard will be dismissed.

Difference in videos

Current behavior
New behavior

I think this is an edge case and not a blocker just worth mentioning to be clear. This is happening because pointerup event is not strictly coupled with opening the select menu, focus and click are but acting on those events is too late. pointerup is what looks best so far.

Proposal
Updated
@s77rt
I took a look at the upstream code, thanks for your suggestion, I have put the changes into the upstream code,
and updated my proposal

Not overdue. Waiting for @AndrewGable ^
@tjferriss Can you please revert the price $1K

Sorry @s77rt - I was looking into this comment and got distracted, doubling is fine. Can you please elaborate on this edge case? Does the updated proposal fix this?

@AndrewGable I'm not sure how to elaborate on this one. Did you check the attached videos explaining the difference?

Does the updated proposal fix this?

No, this is related to the event that we act on, it's still pointerup

I got distracted because I'm not sure we are "OK" with this edge case, I cannot think of a current case in which we want this specific behavior, but I am not 100% sure we want to dismiss the keyboard in all cases. I will investigate a bit further but we probably want to discuss this in the open source Slack room.

Upwork job price has been updated to $1000

@AndrewGable Please leave a link to Slack if a discussion has been opened.

@anmurali it looks like I was also assigned to this one somehow after you were initially assigned as the BZ team member. I'm going to un-assign myself now. Let me know if I'm misunderstanding.

@AndrewGable @anmurali @s77rt this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

We have a proposal already but with a slight drawback. Waiting for @AndrewGable's feedback

Same ^

Ok reviewed the proposal and it seems fine. @hellohublot - Please submit the PR to both the fork and upstream repo.

📣 @hellohublot You have been assigned to this job by @AndrewGable!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@anmurali Please revert the price to $1K

@AndrewGable
Hi, I have submitted the PR in Fork and Upstream.
Upstream looks like it hasn't been maintained in a few years.
Could you please help me to review the PR in the fork?
Thanks.

Fork PR was merged

Looks like react-native-picker-select was updated already by https://github.com/Expensify/App/pull/17456 so no need to merge https://github.com/Expensify/App/pull/16899 But how can we process payments and track regressions since the workflow wont work.

@hellohublot @s77rt - Please make sure to track this one and make sure all payouts are correct since we are not able to use the automation here.

@anmurali  Sorry to bother you, but this issue has not been paid yet, it has the same pay date as #16329, due to Expensify Reviewer's delay in doing the merge, so I guess me and C+ Reviewer can have +50% bounty, Thanks
cc: @AndrewGable

@anmurali Hello.. Bump^

@hellohublot can you clarify the amounts that need to be paid out. I see comments about reverting the price to $1000. Is that right?

@anmurali Yes, it's right !

Paid, added the $500 bonus to both as well.


add render async method to support making async calls

This just adds an async render method to make it easier for calling async methods while using the framework.

Hi! Can you please give some example of usage, when it is necessary? This function is sync, and it just creates a new object of Response.

Well any time you have to make async calls from your controller action/method, the whole method has to be async. And adding this small change allows it to just be supported out of the box. Otherwise you will have to wrap your return object, the inertia render method, in an inline async call that executes it synchronously.
I did find that if I change my return types to IActionResult though, this isn't needed. At the time I submitted the Merge I was wrapping the return calls. So if you'd rather not add it, there is a work around already.

That makes sense, we can add the RenderAsync method, preserving backwards compatibility. If you now have an idea how to do it better instead of wrapping it, you can make a commit with this change. Also, please remove from git the folder .vs.

ah, just to clarify, I meant that if the controller method itself returns IActionResult, the renderAsync isn't needed. But if for whatever reason that's not what gets returned it could be needed still.
Honestly, the project I'm using this on currently, I've gone back to the regular Render method. I could see some still needed the RenderAsync, but it's no longer needed for what I'm now doing. I'll at least remove the .vs folder and then let you decide either way.
Thanks for the feedback, I appreciate you getting back to me.

Removed the .vs folder from the merge.

Thanks, I'll test it before merging in a project to see how it works using IActionResult and decide whether this method is necessary.

I've just checked it and the problem was totally different. It doesn't matter if the method is async or not, the Inertia.Render returns custom Response class which implements IActionResult interface. If you set your controller function return type to ActionResult, it returns error because Response doesn't extend ActionResult.
If you have further questions, don't hesitate to ask. Anyway, thanks for your PR!


Add ShardMapping

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (6adb2eb) to head (c3ec80e).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #59   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           44        47    +3
  Lines          851       899   +48
  Branches        70        74    +4
=========================================
+ Hits           851       899   +48

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


chore(main): release project-cli-tools 1.0.1

:robot: I have created a release beep boop
1.0.1 (2024-12-02)
Bug Fixes

project-cli-tools: update dependency turbo to v2.3.2 (#372) (b922653)
project-cli-tools: update dependency turbo to v2.3.3 (#378) (9a3d888)
project-cli-tools: update lerna-lite monorepo to v3.10.1 (#380) (92a4253)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

project-cli-tools-v1.0.1
:sunflower:


tensorflow binary was not compile to use AVX2

I have a problem. What should I do?
![adsiz](https://user-images.githubusercontent.com/41289364/42754121-ede8db66-88fb-11e8-8ece-d31cee69f63b.png

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

It has been 15 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 29 days with no activity and the awaiting response label was assigned. Is this still an issue?

We are closing this issue for now due to lack of activity. Please comment if this is still an issue for you. Thanks!


SH256 hash mismatch between nuget and github DLL

Using nuget to install Newtonsoft.Json version 13.0.1, the SHA256 hash of the file net45/Newtonsoft.Json.dll:
b624949df8b0e3a6153fdfb730a7c6f4990b6592ee0d922e1788433d276610f3
does not match the hash of the dll downloaded directly from GitHub here: https://github.com/JamesNK/Newtonsoft.Json/releases/download/13.0.1/Json130r1.zip
285398ff2139b1dfd13e47b1374aaed11f15679c21d8ed5d5f5ba17d89f05554
Both have the same Windows file versions of <IP_ADDRESS>17. I do see differences when diffing the binaries.
Shouldn't these files be identical?

Any follow up on this? We are seeing the newtonsoft.json.dll flagged by Palo Alto since today

I believe the difference is the assemblies in the NuGet package are signed. The ones in the zip file aren't.

Any idea why version <IP_ADDRESS>17 (downloaded through nuget) gets flagged by anti virus? Virus/Win32.WGeneric.dvyfri.
Due to several supply chain attacks going on, we are very wary for these type of events.
Best regards!


Feature/seab 4033/gracefully handle GitHub apps parse errors

Description
This draft PR explores a potential approach to making .dockstore.yml more resistant to unexpected exceptions in the processing code, which currently cause processing to be aborted without any workflows being added/updated.  Thoughts, please.
The basic concept is to wrap addDockstoreYmlVersionToWorkflow(), which seems to do most of the heavy lifting, in a try-catch, and handle any emerging CustomWebApplicationExceptions by logging an error, evicting the in-process Workflow object from the cache so that it's not persisted in a half-baked state, and continuing to the next workflow.
In this implementation, the github-related IOException in addDockstoreYmlVersionToWorkflow() is handled similarly.
I believe this change makes the outer try-catch in createBioWorkflowsAndVersionsFromDockstoreYml obsolete.  I left it in there for now, so you could take a look at it.  I'm planning to use that problem case to test this change.
We're dancing kinda close to the third rail here, risky business. :)
Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-4033
Please make sure that you've checked the following before submitting your pull request. Thanks!

[ ] Check that you pass the basic style checks and unit tests by running mvn clean install
[ ] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[ ] Check the Snyk dashboard to ensure you are not introducing new high/critical vulnerabilities
[ ] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[ ] Do not serve user-uploaded binary images through the Dockstore API
[ ] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[ ] Do not create cookies, although this may change in the future

This is tricky. I think the right thing to do is to create the version and workflow and add a validation message, like here.
But a problem might be that an exception is thrown before the version is created...
I think it's tricky and might be worth holding off until 1.13.
But I wouldn't actively oppose this approach for 1.12.

Between Charles using the word "tricky" twice above, and my hair standing on end when I think about merging a polished version of this PR, maybe we wait until 1.13?  What's here might work without problems, but there's also a non-negligible chance it'll introduce some insidious bug that we won't find until it starts crashing the server days/weeks/months from now.  Since it's a major change on the main path of the entry import code, maybe it's best to have another release cycle to run it (or whatever complete solution we choose to implement here) through its paces.
For 1.12, maybe we stick to improving the github apps logs on abort (as much as we can without too much risk of breaking things)?


[Bug] Blade Flurry

Not work Curse and not correct show Average Hit and Skill hit damage.
Sry for my lng.
Build XML file:
double_2.zip

I don't see anyth wrong here, everything working as intended :|


Lights show as on

My 3 Govee lights show as on in Home Ass. even though they are turned off.
Anyone else experience this? Any help?
TIA

If you add this to your configuration.yaml and then restart home assistant, you'll get verbose logging that might reveal more about what's happening:
logger:
  logs:
    custom_components.govee_lan: debug
    govee_led_wez: debug

I had a similar issue with my lights responding slowly, erratically, and sometimes just showing the wrong state. I didn't realize that I had to follow the tips for enabling the LAN API for each device. After I did that, the devices worked much better!

@jason-curtis thanks for the feedback; I've made that a little clearer in the readme now

Thanks! Maybe you could also mention it somewhere in the Installation section? I didn’t actually scroll past that section initially!

Done.


Enable links from imgur titles/descriptions.

If a description has a URL in it, turn it into a clickable external link in the Sphinx HTML page.

No longer relevant.


Archi 222 clean up

Issue
https://github.com/gravitee-io/issues/issues/XXXXX
Description
A small description of what you did in that PR.
Additional context

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 4.4.0-archi-222-clean-up-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 4.4.0-alpha.3 :tada:
The release is available on:

4.4.0-alpha.3
GitHub release

Your semantic-release bot :package::rocket:


Update dcr

Fixed the dcr method, it was a problem with the path of the files, my initial thought was a problem with the change of directory in the subprocess. This should close #388

closes #388


2024.4.0

Looks good to me.  Once a beta version is available, I'd be happy to test on a live S30 system.


Display our name in mobile design

Currently only our logo is displayed at low width, which is not really enough to identify the website as ours.

This is a duplicate of #111

You're right, nevertheless this has not been solved (but closed) and imho #104 is (at least by now) about the layout/arrangement of content. I also don't see the advantage of one big, confusing thread when the topic can be easily split into several issues.


MeetingChatEnabled

As per MC392295
[-MeetingChatEnabledType ]
with current supported values Enabled, Disabled, or EnabledExceptAnonymous
now also supports EnabledExceptAnonymous
https://docs.microsoft.com/en-us/microsoftteams/meeting-policies-participants-and-guests#chat-in-meetings
Can the reference please be updated.

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

ID: 919bf080-1e20-1411-0d9e-41f559b883d8
Version Independent ID: 6a37be44-d957-2b7a-a563-53332cf59098
Content: Set-CsTeamsMeetingPolicy (SkypeForBusiness)
Content Source: skype/skype-ps/skype/Set-CsTeamsMeetingPolicy.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

Thanks for your feedback!


Fix EXC_BAD_ACCESS in done variable

Problem
We are getting an EXC_BAD_ACCESS in NetworkService.fetchInitialValues(for:sinceTime:completion:) on the line associated with the done variable. I believe this code crashes because done will be set to nil on L63. This will always occur on the main thread. At the same time, however, done could be accessed on the thread this method was invoked on (L82) or the thread used for the completion handler passed to makeAndSendRequest (L91, L97, ...). This only occurs when the cancellation and another invocation occur at almost the same time, so it is a bit hard to reproduce.
Crashed: com.apple.main-thread
0  libswiftCore.dylib             0x3d89ac swift_release + 44
1  ######                         0x5d7fd0 partial apply for closure #1 in closure #1 in NetworkService.fetchInitialValues(for:sinceTime:completion:) + 60 (NetworkService.swift:60)
2  ######                         0x5e5764 thunk for @escaping @callee_guaranteed () -> () +<PHONE_NUMBER> (<compiler-generated>:4334950244)
3  libdispatch.dylib              0x2460 _dispatch_call_block_and_release + 32
4  libdispatch.dylib              0x3f88 _dispatch_client_callout + 20
5  libdispatch.dylib              0x127f4 _dispatch_main_queue_drain + 928
6  libdispatch.dylib              0x12444 _dispatch_main_queue_callback_4CF + 44
7  CoreFoundation                 0x9a6c8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
8  CoreFoundation                 0x7c02c __CFRunLoopRun + 2036
9  CoreFoundation                 0x80eb0 CFRunLoopRunSpecific + 612
10 GraphicsServices               0x1368 GSEventRunModal + 164
11 UIKitCore                      0x3a1668 -[UIApplication _run] + 888
12 UIKitCore                      0x3a12cc UIApplicationMain + 340
13 ######                         0x4040c main + 46 (AppDelegate.swift:46)
14 ???                            0x1bc788960 (Missing)

Solution
Rather than setting done = nil to prevent multiple executions, this PR uses an NSLock to ensure the body is only executed once in a thread-safe way. Alternatively, the lock could be used to guard access to done, but because of the number of call sites, that implementation is a lot messier. I will provide two small snippets in the comments that can be pasted into a Playground to demonstrate the bug and fix.

Run this snippet in a Playground and you will see that it crashes with EXC_BAD_ACCESS
// `nil` the closure on main to prevent multiple executions
var count = 0
var increment: (() -> Void)? = nil
increment = {
    DispatchQueue.main.async {
        if increment == nil {
            group.leave()
            return
        }
        increment = nil
        count += 1
        group.leave()
    }
}

// Run 100 times and wait for all blocks to complete
let group = DispatchGroup()
for _ in 1 ... 100 {
    group.enter()
    DispatchQueue.global().async {
        increment?()
        group.leave()
    }
}

// Expected: 1, Received: "Playground execution terminated because the process stopped unexpectedly"
group.wait()
print(count)

This snippet will always print 1 as expected
// Use a lock to ensure closure body only executes once
var count = 0
var completed = false
let lock = NSLock()
let increment: () -> Void = {
    lock.lock()
    defer { lock.unlock() }
    guard !completed else { return }
    completed = true
    // note: not using DispatchQueue.main.async here because it makes the group.wait() more complicated
    count += 1
}

// Run 100 times and wait for all blocks to complete
let group = DispatchGroup()
for _ in 1 ... 100 {
    group.enter()
    DispatchQueue.global().async {
        increment()
        group.leave()
    }
}

// Expected: 1, Received: 1
group.wait()
print(count)

Thank you for the detail Pull request. I will merge and release this.


Using '$switch' in the aggregate pipeline causes OperationFailure

When executing aggregate functions via MongoEngine making use of the aggregation pipeline operation of $switch, mongomock raise an pymongo.errors.OperationFailure: Unrecognized expression '$switch' exception.
Example
pipeline = [{'$group': {'_id': {'$switch': {'branches': [
            {'case': {'$gte': ['$COLUMN_VALUE', 50]}, 'then': 'HIGH'},
            {'case': {'$gte': ['$COLUMN_VALUE, 30]}, 'then': 'MEDIUM'}
        ],
            'default': 'LOW'
        }},
      "totalSum": {'$sum': "$AMOUNT"}}}]

MongoObjectModel.objects.all().aggregate(pipeline)

It's a bug to raise an OperationFailure as it should raise a NotImplmentedError. However I think the real solution for you would be the implementation of the feature itself in mongomock.


Animation Error

Hello,
I'm getting the following error after updating to the latest release (0.9.6).
Unable to process animations due to the following failed trigger transitions @transformPanel has failed due to: - `query("@fadeInCalendar")` returned zero elements. (Use `query("@fadeInCalendar", { optional: true })` if you wish to allow this.)
Any ideas if this is something I can handle through configuration? Thanks.

Hi,
Maybe this is due to @angular/material issue #12199
I'm providing an example on stackblitz hoping that could help solving this exception quickly.
Please @matheo can you just confirm if compling using ng build --prod --build-optimizer can solve this issue ?
Sincerly

@xalhera I'm using Nx 6.1.1 with Angular* 6.1.0 and Angular Material 6.4.1 and I cannot reproduce the issue disabling/enabling buildOptimizer, maybe the latest version already fixed the issue?
I recently ng updateed all my project to Angular CLI 6.1.1 and it works tho.

@psenechal @gltorres If the latest versions of Angular, CLI and Material doesn't work for you guys, I can release a new version without that animation.

Ok, I've removed the animation from the calendar component and fixed some strict null checks. Sadly stackblitz didn't detect the latest 0.9.9 release and couldn't verify that it's ok now, but I bet it is :)

I confirm that the issue is gone with the 0.9.9 release.
Thanks a lot @matheo for your quick update and your great job :)

@xalhera Great :D


[Exercise 5c] Safari is always running in 10.11, blocking apps from autoupdating

I started setting this auto-update check up in my environment on a test machine.  I noticed that when every program was closed, anything that had Safari as a blocking program would not work as expected.  So I ran "pgrep Safari" and discovered that when Safari is closed, there are two processes running in the background under it.  OS X auto-starts these when they're killed, so they should be assumed to be always in place.  As a result of these two processes, Safari is always treated as running even if the program has been quit.
Fortunately, the three examples that used Safari as a blocking app no longer require Safari be closed while they install.  This means it can be removed from their blocking list without issue.  It's a minor tweak that should fix the issue.

Thanks @rougegoat. You may also find that using Safari$ as the blocking app string will fix that issue. I do a similar thing for Evernote, in order to prevent the Evernote Helper app from blocking updates.


CTerm._nomalize_constraints should remove useless constraints

In CTerm construction, the method CTerm._normalize_constraints is called. We can consider removing useless constraints at this time, which would be defined as constraints which do not mention variables that show up elsewhere in the configuration or constraints.
https://github.com/runtimeverification/pyk/blob/b46fdfbbf87bbd731f7fa00afca902ab2f86c705/src/pyk/cterm.py#L61
It's unclear if we should actually do this.

Haven't been any more calls for this.


Observability Gramian for discrete-time systems

I noticed in the source code for the gram function that it says only continuous-time systems are supported for now:
https://github.com/python-control/python-control/blob/85328d9d57e1148c04f1314b27c4ab0fa103d5ce/control/statefbk.py#L1122-L1127
I checked and it doesn't raise an exception when you pass a discrete time system but I don't think this means it is calculating a gramian for a discrete-time system:
A = [[-0.31,  0.21], [-0.68, -0.57]]
B = [[1.23], [1.42]]
C = [[ 1.32, -0.55]]
D = [[0.]]
sysd = ct.ss(A, B, C, D, dt=1)
assert sysd.isdtime()
Wo = ct.gram(sysd, 'o')
print(Wo)

array([[ 3.24632551, -0.19876604],
       [-0.19876604,  0.19212128]])

What would it take to get it working for discrete time systems?  Is it simply a different call to the same slycot module, sb03md, or is it more involved?
Since I need it I'd be happy to try implementing it.

Expected output should be this I think:
array([[ 2.06193690, -0.57482614],
       [-0.57482614,  0.78661650]])

Where is the documentation on slycot?  I tried googling and found the API but couldn't find anything specific on sb03md.
From wikipedia, the two equations that need to be solved are quite similar:
Observability Gramian for a continuous-time system:
$$A^T W_o + W_o A = -C^T C$$
Observability Gramian for a discrete-time system:
$$A^T W_{o} A - W_{o} = -C^T C$$
So I guess I just need to figure out how to do the second one.
Any advice/pointers would be appreciated.

There is no hosted doc of Slycot (yet) (https://github.com/python-control/Slycot/pull/202).

You can look at the documentation of SLICOT's SB03MD
There are the docstrings, which are used by IDEs like spyder to render documentation on-the-fly.

You are probably looking for the dico='D' parameter of slycot.sb03md57.

Okay well that was easy.  If I simply allow dico='D' option it calculates the correct Gramians.
The code is all there, just commented-out:
    # TODO: Check for continuous or discrete, only continuous supported for now
        # if isCont():
        #    dico = 'C'
        # elif isDisc():
        #    dico = 'D'
        # else:

If I simply replace above with:
    if sys.isctime():
       dico = 'C'
    elif sys.isdtime():
       dico = 'D'
    else:
        raise ValueError("sys")

Is there a reason this wasn't implemented?  Maybe at the time of writing isCont and isDisc didn't exist and the author was planning to come back and finish it but didn't perhaps?

Unless anyone knows of a problem with this, I'll just go ahead and implement it, including updated unit tests.

I noticed this check for stability in the continuous-time case:
    # Check for continuous or discrete
    if sys.isctime():
        dico = 'C'

        # TODO: Check system is stable, perhaps a utility in ctrlutil.py
        # or a method of the StateSpace class?
        if np.any(np.linalg.eigvals(sys.A).real >= 0.0):
            raise ValueError("Oops, the system is unstable!")

Is this the right way to do this for discrete-time systems?
    elif sys.isdtime():
        dico = 'D'

        if np.any(np.abs(sys.poles()) > 1.):
            raise ValueError("Oops, the system is unstable!")

Correct me if I'm wrong but we don't have an sys.isstable method yet.

I've submitted the pull request.
One other thing I noticed, the gram function has an argument type which is a Python keyword.

Fixed in #969.


refactor: Factor out stalled top-level await reporting

Extracted from https://github.com/denoland/deno_core/pull/41.

Ooops, I just noticed the comment - I had auto-merge enabled. I'll look into fixing the clone here.


Event Notifications don't work

Describe The Bug:

Tried to setup Event notifications to have offset time for turn on / off the sensor, but it not working, the main sensor is is turned on at the start of the event, and offset time is completely ignored.
To Reproduce:

I tried few different configurations, to no avail.

Event "Sora", Event Notification "Sora", start offset: -10, end offset: 10.

Event "Sora", Event Notification: "Sora Start", start offset: -10, end offset: --, Event Notification: "Sora End", start offset: --, end offset: 10.

Event "Sora", Event Notification: "SoraStart", start offset: -10, end offset: 10, Event Notification: "SoraEnd", start offset: -10, end offset: 10.

Event "Sora", Event Notification "SoraNotification", start offset: -10, end offset: 10.

Expected
Expected to have sensor on 10 minutes before the event, and turned off 10 minutes after the event.
Logs:
[3/4/2023, 4:23:38 PM] [CalendarScheduler] Initializing CalendarScheduler platform...
[3/4/2023, 4:23:38 PM] [CalendarScheduler] Initializing child bridge 0E:

Not other Calendar logs in the Homebrdige status window
Plugin Config:
{
    "caseInsensitiveEventsMatching": true,
    "debug": false,
    "calendars": [
        {
            "calendarName": "Online",
            "calendarUrl": "webcal://p31-<redacted>",
            "calendarUpdateInterval": 2,
            "calendarUpdateButton": false,
            "calendarTriggerOnUpdates": false,
            "calendarTriggerOnAllEvents": false,
            "caseInsensitiveEventsMatching": true,
            "calendarEvents": [
                {
                    "eventName": "Sora",
                    "eventTriggerOnUpdates": false,
                    "caseInsensitiveEventsMatching": false,
                    "calendarEventNotifications": [
                        {
                            "notificationName": "SoraNotification",
                            "notificationStartOffset": -10,
                            "notificationEndOffset": 10
                        }
                    ]
                }
            ]
        }
    ],
    "_bridge": {
        "username": "<redacted>",
        "port": <redacted>
    },
    "platform": "CalendarScheduler"
}

Screenshots:

Environment:

Plugin Version:  v2.1.2
Homebridge Version: 1.6.0
Node.js Version: v18.13.0
NPM Version: 8.19.3
Operating System: Ubuntu 20.04.5 LTS (Docker)

Hey, @alexindigo
Thank you for your issue, it seems like documentation is not clear enough on how notifications working and how to configure them properly.
Notifications not changing starting or ending time of calendar event, as it can lead to misunderstanding on how event should be handled. Instead plugin creates additional accessory for each notification and triggers it depending on provided offsets. Name of notification used for accessory name.
Also notification configuration supports only one of the offsets and when configuring both only start one would be used.
Your configuration should look like this:
{
    "caseInsensitiveEventsMatching": true,
    "debug": false,
    "calendars": [
        {
            "calendarName": "Online",
            "calendarUrl": "webcal://p31-<redacted>",
            "calendarUpdateInterval": 2,
            "calendarUpdateButton": false,
            "calendarTriggerOnUpdates": false,
            "calendarTriggerOnAllEvents": false,
            "caseInsensitiveEventsMatching": true,
            "calendarEvents": [
                {
                    "eventName": "Sora",
                    "eventTriggerOnUpdates": false,
                    "caseInsensitiveEventsMatching": false,
                    "calendarEventNotifications": [
                        {
                            "notificationName": "SoraStartNotification",
                            "notificationStartOffset": -10
                        },
                        {
                            "notificationName": "SoraEndNotification",
                            "notificationEndOffset": 10
                        }
                    ]
                }
            ]
        }
    ],
    "_bridge": {
        "username": "<redacted>",
        "port": <redacted>
    },
    "platform": "CalendarScheduler"
}

Using this config, plugin will create two accessories with names:

SoraStartNotification for notification 10 minutes before event start
SoraEndNotification for notification 10 minutes after event end

Hope this answer is helpful and would solve your issue.
Stay Safe!

Thanks for the quick response.
Yep, I've tried that setup us as well

Event "Sora", Event Notification: "Sora Start", start offset: -10, end offset: --, Event Notification: "Sora End", start offset: --, end offset: 10.

And I did pay attention to the new sensors that showed up, but they never turned on.
(This is why I started experimenting with further options).
Also what is not clear, for that new sensors:
SoraStartNotification - if it turns on 10 minutes before, when would it turn off, right away, or same time as the main event?
SoraEndNotification - if it turns off 10 minutes after, when would it turn on? Same time as the main event, or just a second before?
And in general why it needs to be two different events?
How about?
                    "calendarEventNotifications": [
                        {
                            "notificationName": "SoraNotification",
                            "notificationStartOffset": -10
                            "notificationEndOffset": 10
                        }
                    ]

And I'd love to better understand what do you mean by "it can lead to misunderstanding on how event should be handled", as just having two simple fields "activate minutes before" and "deactivate minutes after" – would be very clear for users what's going on, and all the "operational complexity" could be handled under the hood, as this is the only information plugin needs to understand what user wants. And just exposing single sensor that would be activate said minutes before and deactivated said minutes after would make it very intuitive how to use it, rather than trying to catching new sensors.

Notification sensors are flicking their state, it may not be visible from Home app UI but it works if Home app has automation bound to notification sensors.
The idea was to use same approach as calendar notifications do - notify  user automation about calendar event start or end time with before or after offsets.
Separate notifications are required for several reasons:

Single responsibility of notification. Notification is used for binding automation to them and for complex scenarios it's crucial to be able to determine which notification accessory changed state and why.
More use-cases. Such notifications allows to have non-fixed list of notifications, which again is useful for complex automations.
No event mutation. Event states unchanged and it allows to track it's progress with or without notifications configured.

So to be clear on how calendar event accessory tracks progress and at which time it enabled or disabled, notification separated into their own accessories, it adds more advantages than disadvantages and unlocks variety of scenarios to use.

Let me check issue by myself, as I tested everything before publishing.
Also please create feature request with detailed description of use-cases and possible solution.

I increased timer to be 10 secs instead of 1 to give home app more time for getting accessory updates.


"OSError : No such file or directory" when running fakemenot

I tried to run fakemenot but the error occured
Traceback (most recent call last):
  File "/usr/local/bin/fakemenot", line 11, in <module>
    load_entry_point('fakemenot==0.0.2', 'console_scripts', 'fakemenot')()
  File "build/bdist.linux-x86_64/egg/fakemenot/__init__.py", line 136, in main
  File "build/bdist.linux-x86_64/egg/fakemenot/__init__.py", line 45, in _do_ocr_and_lookup
  File "build/bdist.linux-x86_64/egg/pytesseract/pytesseract.py", line 122, in image_to_string
  File "build/bdist.linux-x86_64/egg/pytesseract/pytesseract.py", line 46, in run_tesseract
  File "/usr/lib/python2.7/subprocess.py", line 390, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

I'm running this on lubuntu. The subprocess.py is existed.

@Hori75 Did you install tesseract and tesseract data.
I think it's tesseract-ocr and tesseract-ocr-eng on Ubuntu.

I have mentioned about this in the README file. It'll also make sense to add sudo apt-get install tesseract-ocr tesseract-ocr-eng to the installation instructions
Let me know if that works and I'll add it to the README file.

I just installed tesseract-ocr and tesseract-ocr-eng. The other error occured.
Traceback (most recent call last):
  File "/usr/local/bin/fakemenot", line 11, in <module>
    load_entry_point('fakemenot==0.0.2', 'console_scripts', 'fakemenot')()
  File "build/bdist.linux-x86_64/egg/fakemenot/__init__.py", line 136, in main
  File "build/bdist.linux-x86_64/egg/fakemenot/__init__.py", line 59, in _do_ocr_and_lookup
UnboundLocalError: local variable 'potential_user' referenced before assignment

@Hori75 That's kinda known. It happens when the OCR fails to find a handle in the screenshot. I need to handle that. Can you try another screenshot which is properly cropped? The program doesn't handle any cropping atm so make sure to screenshot like shown in the sample.

I tested with a blurry tweet from the sample you made in README.md but that error occured. I didn't use any cropping tools. Also when I try it from the sample in README.md, it didn't show any output.

@Hori75 Can you try again now? I have added a few commits to fix this. This should hopefully resolve the problems :)


Has anyone successfully gotten this to run lately?

I tried to use the 2.13 version of Gradle as suggested, but nothing happens. Tried Burp Pro on latest Kali and Ubuntu.

I just did.
I got it working with headless=false
https://github.com/vmware/burp-rest-api/issues/60

Please provide more details if you have any specific problem.


Add metal

Just started reviewing :) :octocat: Sent from GH.

Hey @bryceosterhaus,
I'm guessing 2e56534 is the only commit that matters here?

Yeah I believe so

why didnt u ever merge this?

I do what I want.


fix: font size on legal attributes

closes #1143

It looks good on desktop but in mobile we could not see that part completely.

@sevilayerkan nothing to do for that. needs UI design, it is unacceptable smaller font size for these

@sevilayerkan i am gonna merge this, please open a new issue for design problems


Nested data plane scripts and flux

Mosquitto broker with bridging implementation in scripts (leveraging the published Helm charts)
Bicep added network expose port 8883 to above level of the network
New Flux structure for two layers separately, deploying one chart per layer
Some minor changes and fixes, including passing GH branch name for flux and scripts
Developer bootstrapper now deploys three layers, with option to use single layer details in comments
Initial (very light) documentation in readme and new MD file in /docs folder. More detailed documentation will be subsequent PR to ensure we don't block other team members that need to add to the new script structure.

Moved back to Draft PR as I will implement the changes discussed. I also realized there is one file that was not updated: build-and-deploy-images.ps1 for the developer loop is still referring to the old Helm chart so will fail.


proposal: affected/package: removing modules

Hello,
The idea behind modules is broken, a sane multiparadigm programming language must have shared link library capability,
While you are removing shared library support:
cmd/go: remove -buildmode=shared (not c-shared) #47788
Without even caring about legal issues,
We have been using shared libraries since 2016 with go and yet you claim nobody uses it,
Modules break shared library why not removing or modifying modules,
I have very good reason, legal licenses,
It is not possible to statically link all code in a commercial project if the license does not allow it.

Duplicate of #37755

I dispute this is not duplicate?!

This is really a dup of #47788.

For context: note that GOPATH is the only build mode that existed before modules, and is being deprecated/removed. We can't have zero build modes, so removing modules is equivalent to keeping GOPATH builds.


feat: disable github login step

Signed-off-by: João Vanzuita<EMAIL_ADDRESS>

sounds like there is another easy way to bypass our current issue, pls dont merge it yet

sounds like there is another easy way to bypass our current issue, pls dont merge it yet

i just pushed a quick change commenting out the flag value not used
error:
cmd/init.go:43:3: cloudValue declared but not used```

we found a better way to solve it. now GitHub login step will handler the GitHub token issue step


⚠ Bofrost.fr has degraded performance

In 34f8a7a, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 855 ms

Resolved: Bofrost.fr performance has improved in cbd9b14.


Applied fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Travis CI failed but there aren't any tests. Travis doesn't need to be enabled, so I've changed it only to run if there's a .travis.yml file present.


I can't sign in

Hi! I've been a member of nhentai.net since about a year ago. I recently encountered a problem not too long ago when previous updates of NClientV2 came out which is that I can't sign myself in via the app. It says 'Invalid credentials'. I've made sure that my username and password are correct and my vpn is turned on as well. Please fix this problem. Thank you.

Oh, and for the detail. I'm still having this problem on the current version (version 2.3.2)

I changed the mode used to login, now it should work in a more reliable way


Machine linux-35 lost connection from the external Android phone.

Machine linux-35 lost connection from the external Android phone.

The external connection has been restore by tapping "yes" diaglog on the phone.


Accessibility Audit: Static site Misc sections

Background
The SimpleReport team performs quarterly accessibility audits as a proactive approach to ensure our products comply with Section 508 of the Rehabilitation Act.
Action requested
Use Axe DevTools to perform an accessibility audit of the pages in the following miscellaneous sections of the static site. Do the page scan as well as any relevant guided tests.
Pages to visit:

https://www.simplereport.gov/
https://www.simplereport.gov/about-us/
https://www.simplereport.gov/covid-19-results/
https://www.simplereport.gov/contact-us
https://www.simplereport.gov/support/
https://www.simplereport.gov/exit-disclaimer/
https://www.simplereport.gov/terms-of-service/
https://www.simplereport.gov/unsupported-browser/
https://www.simplereport.gov/waitlist/

Components to test:

Header
Footer
Touchpoints modal

Acceptance Criteria
Full audit completed and tickets created for any accessibility violations.

added this as well:
Components to test:

Header
Footer
Touchpoints modal

Opened tickets:
https://github.com/CDCgov/prime-simplereport/issues/5788
https://github.com/CDCgov/prime-simplereport/issues/5789
https://github.com/CDCgov/prime-simplereport/issues/5790


Can't use the gem outide rails?

Thanks for this awesome gem. Anyway, I'm trying to gemify all the models and use it outside Rails (Grape) and now when I include the gem it doesn't seems to be working?
I added the gem to my models.gemspec like spec.add_dependency "gutentag","~> 0.6.0".
Now when I try to use has_many_tags in my model I get:
undefined local variable or method `has_many_tags' for #<Class:0x007fde9d9cac38> (NameError)

When I try to require the gem in the model I get this error:
/Users/info/.rvm/gems/ruby-2.2.2/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in `require':LoadError: cannot load such file -- rails/engine

Any help would be appreciated.

I've just made some changes so it can be loaded without Rails, and it'll make sure the models are loaded automatically as well. The one catch is that you won't get the automatic migrations added in. I'm not yet sure if there's an elegant way to do this though…
If you have a moment and can test this in your gem before I push a new release, that'd be great:
gem 'gutentag',
  :git    => 'git://github.com/pat/gutentag.git',
  :branch => 'master',
  :ref    => 'b4a26561dd'

Thanks for your swift response mate, This is awesome.
I have to say tho that I had to create my own implementation for tags.
Not sure if your changes working fine for me. What I did is I added the new
gem to my Gemfile and then required that gem at the model and added
has_many_tags burt got this error:
/Users/info/.rvm/gems/ruby-2.2.2/bundler/gems/gutentag-b4a26561ddbb/app/models/gutentag/tag.rb:7:in
`class:Tag': uninitialized constant Gutentag::Tag::Rails (NameError)
On Thu, Aug 27, 2015 at 5:26 PM, Pat Allan<EMAIL_ADDRESS>wrote:

I've just made some changes so it can be loaded without Rails, and it'll
make sure the models are loaded automatically as well. The one catch is
that you won't get the automatic migrations added in. I'm not yet sure if
there's an elegant way to do this though…
If you have a moment and can test this in your gem before I push a new
release, that'd be great:
gem 'gutentag',
:git    => 'git://github.com/pat/gutentag.git',
:branch => 'master',
:ref    => 'b4a26561dd'
—
Reply to this email directly or view it on GitHub
https://github.com/pat/gutentag/issues/16#issuecomment-135451962.

Just checked your modifications and I think this should work fine tho, I
mean for:
+if defined?(Rails::Engine)

require 'gutentag/engine'
+else
require 'active_record'
ActiveRecord::Base.include Gutentag::ActiveRecord
require File.expand_path(
'./../app/models/gutentag/tag', File.dirname(FILE)
)
require File.expand_path(
'./../app/models/gutentag/tagging', File.dirname(FILE)
)
+end

Aw checking why having some conflict with the name space and I'll keep u
updated.
Cheers
On Thu, Aug 27, 2015 at 5:58 PM, Eqbal Eki<EMAIL_ADDRESS>wrote:

Thanks for your swift response mate, This is awesome.
I have to say tho that I had to create my own implementation for tags.
Not sure if your changes working fine for me. What I did is I added the
new gem to my Gemfile and then required that gem at the model and added
has_many_tags burt got this error:
/Users/info/.rvm/gems/ruby-2.2.2/bundler/gems/gutentag-b4a26561ddbb/app/models/gutentag/tag.rb:7:in
`class:Tag': uninitialized constant Gutentag::Tag::Rails (NameError)
On Thu, Aug 27, 2015 at 5:26 PM, Pat Allan<EMAIL_ADDRESS>wrote:

I've just made some changes so it can be loaded without Rails, and it'll
make sure the models are loaded automatically as well. The one catch is
that you won't get the automatic migrations added in. I'm not yet sure if
there's an elegant way to do this though…
If you have a moment and can test this in your gem before I push a new
release, that'd be great:
gem 'gutentag',
:git    => 'git://github.com/pat/gutentag.git',
:branch => 'master',
:ref    => 'b4a26561dd'
—
Reply to this email directly or view it on GitHub
https://github.com/pat/gutentag/issues/16#issuecomment-135451962.

Ah, I had a reference to the Rails constant in Gutentag::Tag - fixed in 1e6f9ad0a9f69c1122314dd5ede283a9b2f7dfc6.

Do I need to change the ref number or anything ?
As I'm getting this error for now:
/Users/info/.rvm/gems/ruby-2.2.2/bundler/gems/gutentag-b4a26561ddbb/app/models/gutentag/tag.rb:7:in
`class:Tag': uninitialized constant Gutentag::Tag::Rails (NameError)
On Thu, Aug 27, 2015 at 6:21 PM, Pat Allan<EMAIL_ADDRESS>wrote:

Ah, I had a reference to the Rails constant in Gutentag::Tag - fixed in
1e6f9ad
https://github.com/pat/gutentag/commit/1e6f9ad0a9f69c1122314dd5ede283a9b2f7dfc6
.
—
Reply to this email directly or view it on GitHub
https://github.com/pat/gutentag/issues/16#issuecomment-135467000.

Oh my bad, changed to 1e6f9ad and now working like charm.
Thanks mate
Eki
On Thu, Aug 27, 2015 at 7:03 PM, Eqbal Eki<EMAIL_ADDRESS>wrote:

Do I need to change the ref number or anything ?
As I'm getting this error for now:
/Users/info/.rvm/gems/ruby-2.2.2/bundler/gems/gutentag-b4a26561ddbb/app/models/gutentag/tag.rb:7:in
`class:Tag': uninitialized constant Gutentag::Tag::Rails (NameError)
On Thu, Aug 27, 2015 at 6:21 PM, Pat Allan<EMAIL_ADDRESS>wrote:

Ah, I had a reference to the Rails constant in Gutentag::Tag - fixed in
1e6f9ad
https://github.com/pat/gutentag/commit/1e6f9ad0a9f69c1122314dd5ede283a9b2f7dfc6
.
—
Reply to this email directly or view it on GitHub
https://github.com/pat/gutentag/issues/16#issuecomment-135467000.

Just released 0.7.0 with these changes :)

Awesome.
Cheers mate.
On Thursday, August 27, 2015, Pat Allan<EMAIL_ADDRESS>wrote:

Just released 0.7.0 with these changes :)
—
Reply to this email directly or view it on GitHub
https://github.com/pat/gutentag/issues/16#issuecomment-135541685.


Eleven Multilingual v2

Hi, the Eleven Multilingual v2 model of elevenlabs has come out and supports 28 languages, do you have an update plan to support more languages?

Thanks for asking. Yes, I'm going to test and upgrade soon

Added!

Added!

Hi, what a great job, will the ios app support Eleven Multilingual v2 model too? Its pretty useful.

It's enabled in the backend, so iOS app should be using v2 already

But it is still 8 languages of v1 model instead of 28 languages of V2 model

It's enabled in the backend, so iOS app should be using v2 already

But it is still 8 languages of v1 model instead of 28 languages of V2 model.


Ollama hung after 30 minute of use

I'm running Ollama on my mac M1 and I'm trying to use the 7b models for processing batches of questions / answers.
I noticed that after a while ollama just hang and the process stay there forever.
Is there a way to know what's going on?
I did not find a way to get to the logs.
Thank you in advance

Hi @lfoppiano
How much memory you have on your Mac M1 and which 7B model do you use?
This command displays Ollama's log on Mac
cat ~/.ollama/logs/server.log

Thanks. I have 32Gb of memory.

I am also having this issue. Ollama is working great for small batches and single messages however with a very large batch (running more than 30 minutes) it eventually stalls. I have to quit Ollama and restart it for it resume functionality properly.

Same issue for me.. running ollama in Docker image, works great on fresh startup. after a few prompts or about 30 mins it goes to lala land and I have to bounce my container. doesn't matter which model I'm running.

Hi everyone, thanks for submitting this issue. Which models are being used here? The original poster said it was a 7billion parameter model so I would love to get an example and try to reproduce. Then someone mentioned mixtral which is closer to 50 billion parameters. It shouldn't happen anywhere. I just want to start looking in the right place.

@technovangelist Thank you so much for looking into this! For me, I am using mixtral instruct 8bit and fp16 on an M3 128GB RAM. My code is something as follows:
import json
import time
import threading
from typing import Optional

from langchain_experimental.llms.ollama_functions import OllamaFunctions
from langchain.prompts import PromptTemplate
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain.chains.openai_functions.utils import _convert_schema, _resolve_schema_references, get_llm_kwargs

llm = OllamaFunctions(model="jmorgan/mixtral", temperature=0.1)

class FunctionThread(threading.Thread):
    def __init__(self, func, args):
        threading.Thread.__init__(self)
        self.func = func
        self.args = args
        self.result = None
        self.exception = None

    def run(self):
        try:
            self.result = self.func(*self.args)
        except Exception as e:
            self.exception = e

def call_llm_with_timeout(func, args, timeout=10 * 60):
    thread = FunctionThread(func, args)
    thread.start()
    thread.join(timeout)
    if thread.is_alive():
        raise TimeoutError("Function call exceeded time limit")
    if thread.exception:
        raise thread.exception
    return thread.result

def call_llm(template, reply_shape, arguments):
    """Calls the language model with the provided template and arguments."""

    openai_schema = reply_shape.schema()
    openai_schema = _resolve_schema_references(
        openai_schema, openai_schema.get("definitions", {})
    )

    function = {
        "name": "information_extraction",
        "description": "Extracts the relevant information from the pathology report.",
        "parameters": {
            "type": "object",
            "properties": {
                "info": _convert_schema(openai_schema)
            },
            "required": ["info"],
        },
    }

    prompt = PromptTemplate(
        template=template,
        input_variables=["report"]
    )
    input = prompt.format_prompt(**arguments)

    debug_print(f"Calling LLM with input: {input.to_string()}")

    retries = 3
    for attempt in range(retries):
        try:
            output = call_llm_with_timeout(
                lambda: llm.bind(**get_llm_kwargs(function)).invoke(input.to_string()),
                args=()
            )
            debug_print('Unprocessed output:', output.additional_kwargs['function_call'])
            output = json.loads(output.additional_kwargs['function_call']['arguments'])['info']
            debug_print('Processed output:', output)
            return output
        except Exception as e:
            debug_print(f'Error parsing output: {e}')
            if attempt < retries - 1:
                debug_print(f'Retrying... Attempt {attempt + 2}/{retries}')
                time.sleep(1)  # Wait for 1 second before retrying
            else:
                debug_print(f'Retries exhausted. Returning None.')
                return None

I added the timeout logic as a first attempt to get around this issue (but also to ensure the function call return conforms to the expected shape. I didn't find a way to do this via LangChain. I then run a for loop which executes many call_llm calls and runs for 2-3 hours sometimes before stopping to respond. Five different prompts/inputs are used throughout each for loop iteration. If you need me to share more code if it would help let me know please.
Thank you!

m3+64g  macos
i7+64g+4090+windows+docker+wsl2
I found this problem on both systems. When I output long novels, I usually get stuck after typing three times in the same conversation without any error. Just the output stopped.

We made some updates to the models pretty recently. Can you try repulling the models (ollama pull mixtral) to ensure you have the latest? @lfoppiano @modeseven @tubnt
and @salbahra I see you are using Jeff's first version of mixtral. Can you try switching over to the library version at https://ollama.ai/library/mixtral

I think I found something similar.  Using (version HEAD-6164f37) with the command for instance in $(seq 1 17); do ollama run nous-hermes2:10.7b-solar-q4_K_M Hello; done, the ollama serve will stop generating text on the 17th run and won't process requests normally until ollama serve is restarted.

@cloudnativeengineer I am also seeing issues with Nous Hermes. In fact I can consistently reproduce it with nous-hermes:70b-llama2-q6_K after just a few runs. One thing to note, when I quit Ollama from the status bar, it continued running as shown in the Activity Monitor and after force quitting it and relaunching things worked again.
@technovangelist After pulling the latest Mixtral model, I cannot reproduce the hanging with that model. This is making me think it is model specific and right now the Nous Hermes is the most affected in my testing.

OK, I will take back to problem. I will run @technovangelist script on all models. Il will try to modify the script to run 1000 call for each api. It could be nice to have a memory status at the end of each 1000 api call. We will see if it's a problem of ollama or a problem running some models.
@jmorganca Do you run those kind of tests?

We do – this is an issue that's been fixed as of the last release. I'll close this for now but please do report if the issue is still happening

Encountering the issue described above:
I have downloaded the latest version of ollama (as of March 3, 2024) and am trying to run the nomic-embed-text with about 500 words - it works on the first two prompts for embeddings and then the process hangs - I'm running on M1 Ultra (Mac Studio first edition - 128G ram). Calling the api via node-fetch.
async function getEmbeddings(prompt: string): Promise<EmbeddingsResponse> {
  const response = await fetch('http://<IP_ADDRESS>:11434/api/embeddings', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      // model: 'nomic-embed-text',
      model: 'all-minilm',
      prompt
    })
  });

  if (!response.ok) {
    throw new Error(`HTTP error! status: ${response.status}`);
  }
  // TODO validate response data
  return response.json() as Promise<EmbeddingsResponse>;
}

Output from process running ollama serve
❯ ollama serve
time=2024-03-03T12:54:37.029-08:00 level=INFO source=images.go:710 msg="total blobs: 29"
time=2024-03-03T12:54:37.031-08:00 level=INFO source=images.go:717 msg="total unused blobs removed: 0"
time=2024-03-03T12:54:37.032-08:00 level=INFO source=routes.go:1019 msg="Listening on <IP_ADDRESS>:11434 (version 0.1.27)"
time=2024-03-03T12:54:37.032-08:00 level=INFO source=payload_common.go:107 msg="Extracting dynamic libraries..."
time=2024-03-03T12:54:37.049-08:00 level=INFO source=payload_common.go:146 msg="Dynamic LLM libraries [metal]"
loading library /var/folders/p0/03k5z_zj1jx511bsflprb9mr0000gn/T/ollama1188978798/metal/libext_server.dylib
time=2024-03-03T12:54:52.976-08:00 level=INFO source=dyn_ext_server.go:90 msg="Loading Dynamic llm server: /var/folders/p0/03k5z_zj1jx511bsflprb9mr0000gn/T/ollama1188978798/metal/libext_server.dylib"
time=2024-03-03T12:54:52.976-08:00 level=INFO source=dyn_ext_server.go:150 msg="Initializing llama server"
llama_model_loader: loaded meta data with 23 key-value pairs and 101 tensors from /Users/kuccello/.ollama/models/blobs/sha256:797b70c4edf85907fe0a49eb85811256f65fa0f7bf52166b147fd16be2be4662 (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = bert
llama_model_loader: - kv   1:                               general.name str              = all-MiniLM-L6-v2
llama_model_loader: - kv   2:                           bert.block_count u32              = 6
llama_model_loader: - kv   3:                        bert.context_length u32              = 512
llama_model_loader: - kv   4:                      bert.embedding_length u32              = 384
llama_model_loader: - kv   5:                   bert.feed_forward_length u32              = 1536
llama_model_loader: - kv   6:                  bert.attention.head_count u32              = 12
llama_model_loader: - kv   7:          bert.attention.layer_norm_epsilon f32              = 0.000000
llama_model_loader: - kv   8:                          general.file_type u32              = 1
llama_model_loader: - kv   9:                      bert.attention.causal bool             = false
llama_model_loader: - kv  10:                          bert.pooling_type u32              = 1
llama_model_loader: - kv  11:            tokenizer.ggml.token_type_count u32              = 2
llama_model_loader: - kv  12:                tokenizer.ggml.bos_token_id u32              = 101
llama_model_loader: - kv  13:                tokenizer.ggml.eos_token_id u32              = 102
llama_model_loader: - kv  14:                       tokenizer.ggml.model str              = bert
llama_model_loader: - kv  15:                      tokenizer.ggml.tokens arr[str,30522]   = ["[PAD]", "[unused0]", "[unused1]", "...
llama_model_loader: - kv  16:                      tokenizer.ggml.scores arr[f32,30522]   = [-1000.000000, -1000.000000, -1000.00...
llama_model_loader: - kv  17:                  tokenizer.ggml.token_type arr[i32,30522]   = [3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
llama_model_loader: - kv  18:            tokenizer.ggml.unknown_token_id u32              = 100
llama_model_loader: - kv  19:          tokenizer.ggml.seperator_token_id u32              = 102
llama_model_loader: - kv  20:            tokenizer.ggml.padding_token_id u32              = 0
llama_model_loader: - kv  21:                tokenizer.ggml.cls_token_id u32              = 101
llama_model_loader: - kv  22:               tokenizer.ggml.mask_token_id u32              = 103
llama_model_loader: - type  f32:   63 tensors
llama_model_loader: - type  f16:   38 tensors
llm_load_vocab: mismatch in special tokens definition ( 7104/30522 vs 5/30522 ).
llm_load_print_meta: format           = GGUF V3 (latest)
llm_load_print_meta: arch             = bert
llm_load_print_meta: vocab type       = WPM
llm_load_print_meta: n_vocab          = 30522
llm_load_print_meta: n_merges         = 0
llm_load_print_meta: n_ctx_train      = 512
llm_load_print_meta: n_embd           = 384
llm_load_print_meta: n_head           = 12
llm_load_print_meta: n_head_kv        = 12
llm_load_print_meta: n_layer          = 6
llm_load_print_meta: n_rot            = 32
llm_load_print_meta: n_embd_head_k    = 32
llm_load_print_meta: n_embd_head_v    = 32
llm_load_print_meta: n_gqa            = 1
llm_load_print_meta: n_embd_k_gqa     = 384
llm_load_print_meta: n_embd_v_gqa     = 384
llm_load_print_meta: f_norm_eps       = 1.0e-12
llm_load_print_meta: f_norm_rms_eps   = 0.0e+00
llm_load_print_meta: f_clamp_kqv      = 0.0e+00
llm_load_print_meta: f_max_alibi_bias = 0.0e+00
llm_load_print_meta: n_ff             = 1536
llm_load_print_meta: n_expert         = 0
llm_load_print_meta: n_expert_used    = 0
llm_load_print_meta: rope scaling     = linear
llm_load_print_meta: freq_base_train  = 10000.0
llm_load_print_meta: freq_scale_train = 1
llm_load_print_meta: n_yarn_orig_ctx  = 512
llm_load_print_meta: rope_finetuned   = unknown
llm_load_print_meta: model type       = 22M
llm_load_print_meta: model ftype      = F16
llm_load_print_meta: model params     = 22.57 M
llm_load_print_meta: model size       = 43.10 MiB (16.02 BPW)
llm_load_print_meta: general.name     = all-MiniLM-L6-v2
llm_load_print_meta: BOS token        = 101 '[CLS]'
llm_load_print_meta: EOS token        = 102 '[SEP]'
llm_load_print_meta: UNK token        = 100 '[UNK]'
llm_load_print_meta: SEP token        = 102 '[SEP]'
llm_load_print_meta: PAD token        = 0 '[PAD]'
llm_load_tensors: ggml ctx size =    0.08 MiB
ggml_backend_metal_buffer_from_ptr: allocated buffer, size =    20.38 MiB, (   20.44 / 98304.00)
llm_load_tensors: offloading 6 repeating layers to GPU
llm_load_tensors: offloading non-repeating layers to GPU
llm_load_tensors: offloaded 7/7 layers to GPU
llm_load_tensors:        CPU buffer size =    22.73 MiB
llm_load_tensors:      Metal buffer size =    20.37 MiB
...............................
llama_new_context_with_model: n_ctx      = 256
llama_new_context_with_model: freq_base  = 10000.0
llama_new_context_with_model: freq_scale = 1
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1 Ultra
ggml_metal_init: picking default device: Apple M1 Ultra
ggml_metal_init: default.metallib not found, loading from source
ggml_metal_init: GGML_METAL_PATH_RESOURCES = /var/folders/p0/03k5z_zj1jx511bsflprb9mr0000gn/T/ollama1188978798
ggml_metal_init: loading '/var/folders/p0/03k5z_zj1jx511bsflprb9mr0000gn/T/ollama1188978798/ggml-metal.metal'
ggml_metal_init: GPU name:   Apple M1 Ultra
ggml_metal_init: GPU family: MTLGPUFamilyApple7  (1007)
ggml_metal_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_init: GPU family: MTLGPUFamilyMetal3  (5001)
ggml_metal_init: simdgroup reduction support   = true
ggml_metal_init: simdgroup matrix mul. support = true
ggml_metal_init: hasUnifiedMemory              = true
ggml_metal_init: recommendedMaxWorkingSetSize  = 103079.22 MB
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size =     2.25 MiB, (   24.50 / 98304.00)
llama_kv_cache_init:      Metal KV buffer size =     2.25 MiB
llama_new_context_with_model: KV self size  =    2.25 MiB, K (f16):    1.12 MiB, V (f16):    1.12 MiB
llama_new_context_with_model:        CPU input buffer size   =     2.26 MiB
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size =     4.27 MiB, (   28.77 / 98304.00)
llama_new_context_with_model:      Metal compute buffer size =     4.25 MiB
llama_new_context_with_model:        CPU compute buffer size =     0.75 MiB
llama_new_context_with_model: graph splits (measure): 2
time=2024-03-03T12:54:53.051-08:00 level=INFO source=dyn_ext_server.go:161 msg="Starting llama main loop"
[GIN] 2024/03/03 - 12:54:53 | 200 |  328.300208ms |       <IP_ADDRESS> | POST     "/api/embeddings"
[GIN] 2024/03/03 - 12:54:53 | 200 |     473.209µs |       <IP_ADDRESS> | POST     "/api/embeddings"
[1]    57562 killed     ollama serve

I'm running into this myself with mistral:7b-instruct-v0.2-q6_K.  I've got a repeating process that does 8 interactions on an input file and then moves on to the next file.  I'm actually using the 7B to test on a linux workstation with an NVIDIA GPU but have also been running on an M2 Max 64GB laptop to use a larger model.  Both seem to stall with high GPU/CPU utilization after the 40th or so interaction.  At the same time, I've left ollama up for weeks on end backing a Big-AGI intstance and never had any issues, on the same machine.  Could there be something going on with either the rapid injection of chats or possibly the model context creeping up?  I know there was a ticket out for resetting context state to an initial state, that's why I'm wondering.  At this point I'm just considering restarting ollama and taking the model reload hit every 4 runs or so, that would solve it, but be a real waste of time.

Just grabbed 0.1.32.... this MAY have been fixed, it's progressing MUCH further than it had previously.

Another update, this seems to be related to mistral.  I've run gemma2b just to test it out quickly and it completed all 100 test input files.  I'll try a 7B and 13b model and post updates.

final update.  I was able to mitigate this in my workflow by swapping out model files.  The unload and reload of a new model with each group (no more than 8) prompts eliminated the lock issue.  It's a bug for sure that is still in 0.1.32.  Certain models (mistral and llama3 I'm looking at you) seem to exhibit it faster.  Upping the ctx to 4096 helped a bit but didn't eliminate the issue.

@smarti57 thanks for sharing that unload trick!  I hadn't heard of or even considered it a possibility.

Another update, this seems to be related to mistral. I've run gemma2b just to test it out quickly and it completed all 100 test input files. I'll try a 7B and 13b model and post updates.

It also is happening with llava.  I'll try your unload trick.

was able to mitigate this in my workflow by swapping out model files. The unload and reload of a new model with each group (no more than 8) prompts eliminated the lock issue

Hi @smarti57 , i try to solve this by upping ctx. Could you share how? because this is still happening on 0.1.33


getLoadBalancerByName

https://docs.hetzner.cloud/#load-balancers-get-all-load-balancers

Could you please fix your commit message to this scheme: <component>: <short summary in present>
E.g.: loadbalancer: add getByName

I have no clue why github closes the MR...
Anyway, I'll merge it via cherry-pick. Thanks!