import version

Hi,
I am not a code specialist. when i try and run the main.py, I get this error: ImportError: attempted relative import with no known parent package, related to: from .version import version, line 38.
Can you help, please?
With my best regards!

Hi, I'm not sure why you're getting that error. Are you in the projects root directory when you try to launch main.py? Was that the whole error message?

Thank you so much for answering my request!
I certainly do not want you to loose time with me, and , as mentioned, I am not a coding expert. I have been able though to implement enough to really enjoy it.
To me, the experiment is not t set up the « frame » but implement applicable solutions within it. It will take time but not giving up.
I have attached 3 pictures that should allow us to solve the problem, it is definitely me making something wrong!
Thank you for your support,
With my best regards from Switzerland,
Stavros
￼￼￼

Le 11 mai 2024 à 01:42, jas3333 @.***> a écrit :
Hi, I'm not sure why you're getting that error. Are you in the projects root directory when you try to launch main.py? Was that the whole error message?
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2105385902, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWX2HMJLX4BIUFIXELDZBVLOLAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVGM4DKOJQGI.
You are receiving this because you authored the thread.

Hey there, the pictures unfortunately aren't showing up. I'm far from a coding expert too and also enjoy it. This was one of my keep learning projects that I found helpful for me. So it not working for you has me wanting to dig in and find out why.

Thank you for your answer!
Here is the detailed error in main.py:
Traceback (most recent call last):
File "/Users/stavros1/Desktop/AI stuff/GPT-Terminal/gpt_term/main.py", line 38, in
from .version import version
ImportError: attempted relative import with no known parent package
Content of _version.py:
file generated by setuptools_scm
don't change, don't track in version control
from typing import Tuple, Union
TYPE_CHECKING = False
if TYPE_CHECKING:
VERSION_TUPLE = Tuple[Union[int, str], ...]
else:
VERSION_TUPLE = object
class VersionInfo:
def init(self, version: str, version_tuple: Tuple[Union[int, str], ...]):
self.version = version
self.version = version
self.version_tuple = version_tuple
self.version_tuple = version_tuple
version_info = VersionInfo(version='1.3.1', version_tuple=(1, 3, 1))
The .env is set up correctly. I also have tried to create a package for version but it does not work…
With my best regards!

Le 11 mai 2024 à 19:13, jas3333 @.***> a écrit :
Hey there, the pictures unfortunately aren't showing up. I'm far from a coding expert too and also enjoy it. This was one of my keep learning projects that I found helpful for me. So it not working for you has me wanting to dig in and find out why.
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2105958361, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWRSYOAYQNQWXX2A5XLZBZGUFAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBVHE2TQMZWGE.
You are receiving this because you authored the thread.

It looks like you took a different route to get it going. The easiest way to get it going would be:
git clone https://github.com/jas3333/gpt_term
cd gpt_term

Then create a virtual environment with virtualenv. You might have to install it.
virtualenv env

Then activate the environment.
source env/bin/activate

Then install the requirements with pip
pip install -r requirements.txt

After that it should just run if you have your .env setup correctly.
python main.py

Thank you!
I followed as you said, and I think I am almost there, still have an error with « name ». I tried to give the name and also the id of my open ai assistant I would like to use also, but it does not work (or I do not do it properly):
Successfully installed Pygments-2.17.2 beautifulsoup4-4.12.2 certifi-2023.11.17 charset-normalizer-3.3.2 idna-3.4 markdown-it-py-3.0.0 mdurl-0.1.2 python-dotenv-1.0.0 requests-2.31.0 rich-13.7.0 soupsieve-2.5 urllib3-2.1.0
(env) @.*** gpt_term % python main.py
Traceback (most recent call last):
File "/Users/stavros1/gpt_term/main.py", line 66, in
main()
File "/Users/stavros1/gpt_term/main.py", line 21, in main
client.retrieve_assistant()
File "/Users/stavros1/gpt_term/lib/openlib.py", line 151, in retrieve_assistant
self.assistant_name = response.json()["name"]
~~~~~~~~~~~~~~~^^^^^^^^
KeyError: 'name'
(env) @.*** gpt_term %
Thank you so much for helping me!

Le 12 mai 2024 à 02:38, jas3333 @.***> a écrit :
It looks like you took a different route to get it going. The easiest way to get it going would be:
git clone https://github.com/jas3333/gpt_term
cd gpt_term
Then create a virtual environment with virtualenv. You might have to install it.
virtualenv env
Then activate the environment.
source env/bin/activate
Then install the requirements with pip
pip install -r requirements.txt
After that it should just run if you have your .env setup correctly.
python main.py
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2106072626, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWXNE3AKLSV6V4EYU43ZB22YTAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBWGA3TENRSGY.
You are receiving this because you authored the thread.

Can you try going into the project folder and do a git pull. I've updated it so it no longer needs an assistant_id. It should just default to your first created assistant. You can then change to whichever one you want by typing ca.

I want to tell you that the connection with the assistant works!!
Thank you!
Now, I will need and take time to understand everything correctly. Thank you once again!!
Stavros

Le 12 mai 2024 à 23:48, jas3333 @.***> a écrit :
Can you try going into the project folder and do a git pull. I've updated it so it no longer needs an assistant_id. It should just default to your first created assistant. You can then change to whichever one you want by typing ca.
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2106384461, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWVQIVOE6SISZQUWE6TZB7PSJAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBWGM4DINBWGE.
You are receiving this because you authored the thread.

Always happy to help, if you see something that needs changed or have any ideas for improvement you can open another issue.

I do not know if I should put this as an issue:
First, the script works very well, and I have almost created my first agency. This is great.
However, at some point I wanted to save the thread, and it « crashed ». So, I created a thread folder and could save a test thread in .json format. But then it seems complicated, or actually I do not know how to, open a past thread:
[Custom Assistant | Versatile Assistant Interaction Testing]: when i prompt lt (load threads), what do you need to actually open it?
As an AI, I don't have the capability to load or open threads. My primary
function is to assist with tasks, provide information, answer questions, and
carry out commands within my capabilities, such as web searches, etc. If the
system or platform you're using has a function to load threads, you might have
to follow its specific commands or procedures. Please refer to the documentation
or help center of the platform to know how to do it. If you need any other
information or assistance, feel free to ask!
[Custom Assistant | Versatile Assistant Interaction Testing]: lt 1
I'm sorry for the confusion, but as an AI, I don't have the ability to load
threads or sessions. I'm here to provide solutions, answer your questions and
execute tasks within my capabilities. "LT 1" seems like a command, but without
context or a linked functionality, I'm unable to process it. I recommend
checking the specific platform's user guide or help center for specific
instructions. Let me know how else I can assist you.
[Custom Assistant | Versatile Assistant Interaction Testing]:
What do you think?
With my best regards,
Stavros

Le 13 mai 2024 à 19:57, jas3333 @.***> a écrit :
Always happy to help, if you see something that needs changed or have any ideas for improvement you can open another issue.
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2108447986, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWXVYRWWEXNOB5327BDZCD5HFAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBYGQ2DOOJYGY.
You are receiving this because you authored the thread.

Ok yeah because of my bad design and I forgot to mention that you need to create a threads folder. I fixed it so it just creates the file in the lib folder. You can save the thread with st. The lt command will show a list of saved threads, you just need to select which one you want to load. Thanks for bringing this up. To update just git pull.

On my side, I would say that you have one of the only design that is working in all the people who claim they have a multi-agent system in place!
And I also know I am almost there to create a first agency.
So, I could save a thread with the new version, this is very good. However, when I try to load it again, below the error that appears:
Last login: Tue May 14 10:56:31 on ttys000
@.*** ~ % cd /Users/stavros1/gpt_term
@.*** gpt_term % python main.py
Traceback (most recent call last):
File "/Users/stavros1/gpt_term/main.py", line 64, in
main()
File "/Users/stavros1/gpt_term/main.py", line 23, in main
client.load_thread(0)
File "/Users/stavros1/gpt_term/lib/openlib.py", line 48, in load_thread
self.print_messages()
File "/Users/stavros1/gpt_term/lib/openlib.py", line 102, in print_messages
messages = [item["content"][0]["text"]["value"] for item in data]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/stavros1/gpt_term/lib/openlib.py", line 102, in
messages = [item["content"][0]["text"]["value"] for item in data]
~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
@.*** gpt_term %
It looks like it cannot « upload » a past thread. There were also some api not responding but I guess that it is due either to my network or something not related to the code.
Almost there!
With my best regards,
Stavros

Le 14 mai 2024 à 07:04, jas3333 @.***> a écrit :
Ok yeah because of my bad design and I forgot to mention that you need to create a threads folder. I fixed it so it just creates the file in the lib folder. You can save the thread with st. The lt command will show a list of saved threads, you just need to select which one you want to load. Thanks for bringing this up. To update just git pull.
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2109291508, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWXHPECMZBMJC3DWQPDZCGLNHAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBZGI4TCNJQHA.
You are receiving this because you authored the thread.

I'll work on fixing this up today, it also looks like they changed the API a bit for the new GPT-4o. I also need to clean it up a bit and put in some error handling to avoid these crashes.

Ok, I think I have it fixed but you might have to delete threads.json. I'm still looking into why it will display an error when saving the thread, it's saying the thread_id exists already but it will still save it and keep on working. It might be a bug in the API, it's a really weird setup they use.

Take your time, there is no rush. You fixed everything very quickly so far! Once it will be running, I can do my part and implement « real life » case scenarios and applications. It will work at the end, and once again, to my non-coding point of view, gpt-term is the only solution I found where something actually truly happens.
With my best regards!

Le 15 mai 2024 à 01:22, jas3333 @.***> a écrit :
Ok, I think I have it fixed but you might have to delete threads.json. I'm still looking into why it will display an error when saving the thread, it's saying the thread_id exists already but it will still save it and keep on working. It might be a bug in the API, it's a really weird setup they use.
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2111317647, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWXVPEK3LOAEUUSG2SDZCKMFFAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJRGMYTONRUG4.
You are receiving this because you authored the thread.

Dear Friend,
I tested, first it really worked beautifully and I moved forward with the agency creation. Unfortunately, while doing a websearch, the system crashed. I started again but other problems appeared… Sorry! Below the history of « problems »:
Once you confirm the above structure and details, we can move forward with
implementing these steps. Let me know if any modifications are needed before
proceeding.
—
GPT is doing a websearch...
Traceback (most recent call last):
File "/Users/stavros1/gpt_term/main.py", line 54, in
main()
File "/Users/stavros1/gpt_term/main.py", line 44, in main
gpt_output = client.output()
^^^^^^^^^^^^^^^
File "/Users/stavros1/gpt_term/lib/openlib.py", line 218, in output
print(f"Query: {query_arg['query']}\n\n")
~~~~~~~~~^^^^^^^^^
KeyError: 'query'
(env) @.*** gpt_term % python main.py
Error: list index out of range [{'title': 'The run failed... API probably down
again...', 'thread_id':
'thread_LVjjSe6Xi11Be8wSyvaJVDgs'}].........................
[Custom Assistant |  The run failed... API probably... [? or help for a list of
commands]]
: we seem to have a problem with websearch: GPT is doing a websearch...
Traceback (most recent call last):
File "/Users/stavros1/gpt_term/main.py", line 54, in
main()
File "/Users/stavros1/gpt_term/main.py", line 44, in main
gpt_output = client.output()
^^^^^^^^^^^^^^^
File "/Users/stavros1/gpt_term/lib/openlib.py", line 218, in output
print(f"Query: {query_arg['query']}\n\n")
~~~~~~~~~^^^^^^^^^
KeyError: 'query'-------------------------------------------------------------------------
Error saving: 'id' {'error': {'message': 'Thread thread_LVjjSe6Xi11Be8wSyvaJVDgs
already has an active run run_m3IhYQatwDFFTHW557v8459l.', 'type':
'invalid_request_error', 'param': None, 'code': None}}
Traceback (most recent call last):
File "/Users/stavros1/gpt_term/main.py", line 54, in
main()
File "/Users/stavros1/gpt_term/main.py", line 44, in main
gpt_output = client.output()
^^^^^^^^^^^^^^^
File "/Users/stavros1/gpt_term/lib/openlib.py", line 200, in output
status = self.retrieve_run()["status"]
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
KeyError: 'status'
(env) @.*** gpt_term % Traceback (most recent call last):
zsh: no matches found: (most recent call last):
(env) @.*** gpt_term %   File "/Users/stavros1/gpt_term/main.
py", line 54, in
zsh: parse error near \n' (env<EMAIL_ADDRESS>gpt_term %     main() function>   File "/Users/stavros1/gpt_term/main.py", line 44, in main (env<EMAIL_ADDRESS>gpt_term %     gpt_output = client.output() function>                  ^^^^^^^^^^^^^^^ (env<EMAIL_ADDRESS>gpt_term %   File "/Users/stavros1/gpt_term/lib/o penlib.py", line 218, in output /Users/stavros1/gpt_term/lib/openlib.py,: cannot open /Users/stavros1/gpt_term/lib/openlib.py,' (No such file or directory)
line:                                     cannot open line' (No such file or directory) 218,:                                     cannot open 218,' (No such file or directory)
in:                                       cannot open in' (No such file or directory) output:                                   cannot open output' (No such file or directory)
(env) @.*** gpt_term %     print(f"Query: {query_arg['query']
}\n\n")
zsh: invalid mode specification
(env) @.*** gpt_term %                     ~~~~~~~~~^^^^^^^^^
zsh: command not found: ~~~~~~~~~^^^^^^^^^
(env) @.*** gpt_term % KeyError: 'query'
Last login: Wed May 15 20:48:18 on ttys001
@.*** ~ % cd /Users/stavros1/gpt_term
@.*** gpt_term % source env/bin/activate
(env) @.*** gpt_term % python main.py
Error: list index out of range [{'title': 'The run failed... API probably down
again...', 'thread_id':
'thread_LVjjSe6Xi11Be8wSyvaJVDgs'}].........................
[Custom Assistant |  The run failed... API probably... [? or help for a list of
commands]]
: we have a problem with wesearch, do you want to see the command lines, etc?
Error saving: 'id' {'error': {'message': 'Thread thread_LVjjSe6Xi11Be8wSyvaJVDgs
already has an active run run_m3IhYQatwDFFTHW557v8459l.', 'type':
'invalid_request_error', 'param': None, 'code': None}}
Traceback (most recent call last):
File "/Users/stavros1/gpt_term/main.py", line 54, in
main()
File "/Users/stavros1/gpt_term/main.py", line 44, in main
gpt_output = client.output()
^^^^^^^^^^^^^^^
File "/Users/stavros1/gpt_term/lib/openlib.py", line 200, in output
status = self.retrieve_run()["status"]
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
KeyError: 'status'
Hope it helps,
Best regards,
Stavros

Le 15 mai 2024 à 07:55, Stavros Therianos, Ph.D. @.***> a écrit :
Take your time, there is no rush. You fixed everything very quickly so far! Once it will be running, I can do my part and implement « real life » case scenarios and applications. It will work at the end, and once again, to my non-coding point of view, gpt-term is the only solution I found where something actually truly happens.
With my best regards!

Le 15 mai 2024 à 01:22, jas3333 @.***> a écrit :
Ok, I think I have it fixed but you might have to delete threads.json. I'm still looking into why it will display an error when saving the thread, it's saying the thread_id exists already but it will still save it and keep on working. It might be a bug in the API, it's a really weird setup they use.
—
Reply to this email directly, view it on GitHub https://github.com/jas3333/gpt_term/issues/1#issuecomment-2111317647, or unsubscribe https://github.com/notifications/unsubscribe-auth/BDD7GWXVPEK3LOAEUUSG2SDZCKMFFAVCNFSM6AAAAABHPTWFH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJRGMYTONRUG4.
You are receiving this because you authored the thread.

So web search is hard to get right. I remember getting it to a sort of works state and leaving it about 6 months ago. I had a semi working solution where it would just grab 3-4 links from a shuffled list and just parse it. The issue is sometimes the model will keep calling the function and it over loads the context window. So I rewrote it so that you would just select whichever links you wanted by selecting them like '0 1 2 5'. I've been playing around with it trying to replicate your crash but haven't been able to.
I've been experimenting with it in a scratch project to see if I could come up with something better. What I currently have is a separate thread that takes in the parsed content and summarizes it, then passes it to the active thread/agent. If it's good I'll update this with it.


Is it possible to save html that was manipulated using goquery?

If I understand correctly there are few methods that allow changing of HTML structure such as Add* and Remove*. I would like to change loaded document and then save it back to say, a file, or  using a io.Writer interface. Is it possible?

Hello,
Yes, you understand correctly and you're right, such a function to render the document back to an io.Writer is currently lacking.
If you (or anyone else reading this) is interested in preparing a PR, I think something like that would make sense:
// Render renders the html of the first item in the selection s to w.
func Render(w io.Writer, s *goquery.Selection) error

This would be a top-level function, so it would be called as err := goquery.Render(w, s). Rendering a complete document would be done by passing doc.Selection as s. This is similar in signature and implementation to OuterHtml and as such  should also be implemented in utilities.go, and tests should be provided for a few scenarios (i.e. render a top-level document, a Selection with 0, 1 and many items). Internally it would use html.Render (https://pkg.go.dev/golang.org/x/net/html#Render) from the net/html package.
I think this is a good first issue/first PR for someone interested in collaborating to goquery, not too complex and well isolated change.
Martin

Thanks for the quick reply, I'll start working on this issue then.


Implement publish action

Could potentially do this. It will auto publish to npmjs and github registry when we create a release.

Create a release in GitHub? Or just update the package version?


⚠ Bofrost.fr has degraded performance

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

HTTP code: 200
Response time: 1262 ms

Resolved: Bofrost.fr performance has improved in 3a24e5b after 6 minutes.


Strange interaction with better-escape.nvim

Cross posting my issue on their repository to see if you have any idea of what could be causing this interaction and what can be done

I can't get the problem...


Installing .net 6.0 on zsh

Problem encountered on https://dotnet.microsoft.com/en-us/learn/dotnet/hello-world-tutorial/install
Operating System: macos
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.
I am running into a command not found error and I am not sure how to fix it. I am new to .net and trying to learn C#.

Check if the SDK installed successfully:
https://docs.microsoft.com/en-us/dotnet/core/install/how-to-detect-installed-versions?pivots=os-macos
Are you on a M1 machine?

You have to create a symbolic link, ln -s  /usr/local/share/dotnet/dotnet /usr/local/bin
close and open terminal and your terminal will recognize the "dotnet" command.


Bug(documentation): disabled select in dark mode

Sometimes the disabled multiple version looks like in the picture. Not sure what we can do about that.

This is probably a bug in the dark mode (which we don't have to support right now).
Create a bug ticket where you write down the findings, and we're fine.
Originally posted by @oliverschuerch in https://github.com/swisspost/design-system/issues/1817#issuecomment-1682158160

@b1aserlu is this still a problem?


Fix changelog

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

Comparison is base (c158504) 47.27% compared to head (702ea65) 47.27%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #107   +/-   ##
=======================================
  Coverage   47.27%   47.27%
=======================================
  Files          62       62
  Lines       10377    10377
=======================================
  Hits         4906     4906
  Misses       5471     5471

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


Middle element of array in C, Fibonacci Series without recursion in C

Description 📜
Fixed issue "Middle element of array" by adding a relevant code in C, where user can find the middle elements of an n size array.
Fixes #1729

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

@apeksha235 Done!

Description 📜
Fixed issue "Fibonacci Series in C without recursion" by adding a relevant code in C, where the user can find the Fibonacci series of n number.
Fixes  #1924

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

@apeksha235 Can you guide me on how to separate this two now? Because when I try to make a pull request on the issue 1924 it shows me this pull request page & I can't see the "create new pull request option".

Hey please delete or close this pr..

And make two individual PRs for different issues.


Status access violation on Intel HD Graphics 520

Describe the bug
Program gives a STATUS_ACCESS_VIOLATION on the example programs hello_world_par and screenshot

To Reproduce
Steps to reproduce the behavior:

Execute cargo run -p hello_world_par or cargo run -p screenshot
The error STATUS_ACCESS_VIOLATION will occur

Expected behavior
The example to run without problems

Screenshots

Desktop (please complete the following information):

OS: Windows 10
GPU: Intel HD Graphics 520

Describe the bug Program gives a STATUS_ACCESS_VIOLATION on the example programs hello_world_par and screenshot
To Reproduce Steps to reproduce the behavior:

Execute cargo run -p hello_world_par or cargo run -p screenshot
The error STATUS_ACCESS_VIOLATION will occur

Expected behavior The example to run without problems
Screenshots
Desktop (please complete the following information):

OS: Windows 10
GPU: Intel HD Graphics 520

Update the graphics card driver, need opengl. try?

Thanks. I thought my driver was updated by windows, but I needed to install something else.


Fix an Event constructor bug where eventType is left unset.

This can then cause failed queries.

Good catch.


DDEVertex

I am sufficiently confident this works, doesn't brake anything and adds exciting new possibilites. However for DDEs there are no tests, which should be added soon (https://github.com/FHell/NetworkDynamics.jl/issues/42)
There are still some open issue regarding full DDE support and performance improvements, see https://github.com/FHell/NetworkDynamics.jl/issues/39.

I'll keep the branch for further work on the above issues


Automated Package Upgrade

:tada: This PR is included in version 5.0.358 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


SIGFPE when running FFT with 0 fft_length

The following code
from jax import lax
from jaxlib import xla_client
import numpy as np

x = np.ones((14, 15))
kwargs = { "fft_type": xla_client.FftType.FFT
         , "fft_lengths": [0]
         }

lax.fft(x, **kwargs)

triggers a floating point exception and thus crashes.

It seems that in general, JAX is missing a shape rule for FFT, leading to RuntimeErrors for other examples such as
from jax import lax
from jaxlib import xla_client
import numpy as np

x = np.ones((14, 15))
kwargs = { "fft_type": xla_client.FftType.IRFFT
         , "fft_lengths": [1]
         }

lax.fft(x, **kwargs)

that results in a
RuntimeError: Invalid argument: IRFFT requires innermost dimension matches fft_length/2+1, but dimension 1 is 15 and should be 1.:
This is a bug in JAX's shape-checking rules; please report it!
https://github.com/google/jax/issues


Sync latest from bazel-build/bazel-central-registry

Type of change

Bug fix (change which fixes an issue)
New feature or functionality (change which adds functionality)
Style (white-space, formatting, etc...)
Refactor (a code change that neither fixes a bug or adds a new feature)
Performance (a code change that improves performance)
Documentation (updates to documentation or READMEs)
Chore (any other change that doesn't affect source or test files, such as configuration)

For changes visible to end-users

Breaking change (this change will force users to change their own code or config)
Relevant documentation has been updated
Suggested release notes are provided below:

Test plan

Covered by existing test cases
New test cases added
Manual testing; please provide instructions so we can reproduce:

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 13 committers have signed the CLA.:white_check_mark: mgred:white_check_mark: fmeum:x: mering:x: publish-to-bcr-bot[bot]:x: meteorcloudy:x: Bencodes:x: junyer:x: lalten:x: mattyclarkson:x: jondo2010:x: wep21:x: phaedon:x: VertexwahnYou have signed the CLA already but the status is still pending? Let us recheck it.


[don't merge] Test hfh v0.23.0.rc1

Reference Issues/PRs

What does this implement/fix? Explain your changes.
Any other comments?

CI looks good. MacOS CI fails for unrelated reasons, but I think it's pretty safe to say that it would pass if the tests ran.


Allow for .x68k extension or any custom extension for files

I'm in a college class in a group project where we need to use Easy68k, which uses the .x68k extension for files, but it's a Windows only application and I'm on an Apple Silicon Macbook, so I'm looking for some way that I can spend more time developing on Mac and minimizing my time with Easy68k on my PC.
I can try to write a script to automatically change the file extensions every time I git push, but I was hoping for a simpler solution.

It seems to work for me. I can open, modify and save .x86k files and of course compile and run them.

I should have checked better. Tricky68k was showing the file as being .x68k, but in reality it was .x68k.asm.

It's ok. It's not exactly the only hurdle I would need to overcome in order to use it for my college course. I found a solution by using VS Code with one of the extensions for syntax highlighting. Then, I installed EASy68K through PlayOnMac on my Apple M1 Macbook. Then I just drag and drop the .X68 files I wrote from Finder to the EASy68K editor. It seems to work fine for what I need it to.
I do think it's cool that the progress you've made on this project so far, though. I'd close my issue here if I didn't think that it's a good idea in general for a text editor not to force a particular file extension, not just for my intended use case.


Doesn't work on LTE cellphone data

Maybe I'm missing something, but this does not work with LTE (or any other type of cellphone data) at all. Even if I'm already in a video chat, it stops working when I turn off wifi; when I turn it back on it continues to work again. Surprised I haven't seen anything on this yet.

As you may understand, the issue you report is not related to the plugin itself.

As you may understand, the issue you report is not related to the plugin itself.

@snakeman21 take a look at STUN/TURN servers and relay through them.

The issue was that my TURN server wasn't working. I think I read somewhere that STUN is attempted about 85% of the time (on wifi), but from my own mobile phone testing, if wifi is turned off, then it will never use STUN unfortunately. I guess mobile networks (at least the ones I've tested) always have some sort of firewall that prevents STUN from ever working.


Events fire differently on mobile

On desktop, change events fire when there is any change.  On some mobile devices, change events do not fire until the user clicks out of the editor to hide the keyboard.  Keyboard events are also different.  While keyboard events all fire when you'd expect on both mobile and desktop, mobile has blank values that should be filled in.
Issue reproduced on: Pixel 2, Pixel, Nexus 6P
Couldn't reproduce issue: iPhone X, iPhone 8, Galaxy S9, Galaxy S8
Note: iPhone testing was done using safari browser; all else was on Chrome
Here's my code:
import React, { PropTypes } from 'react';
import {Controlled as CodeMirror} from 'react-codemirror2';
import 'codemirror/lib/codemirror.css';
import './FG-Theme.css';

class CodeAndPreview extends React.Component {
    constructor(props) {
        super(props);

        this.state = {
            editorCode: '',
        };
        this.handleRequests = this.handleRequests.bind(this);
    }

    handleRequests(newCode) {
console.log(newCode);
        this.setState({editorCode: newCode});
    }

    render() {
        const CodeMirrorOptions = {
            theme: 'knowledge default',
            lineNumbers: true,
            mode: 'htmlmixed',
            indentWithTabs: true,
            indentUnit: 2,
            tabSize: 2,
        };

        const CodeMirrorElem = <CodeMirror
                value={this.state.editorCode}
                onBeforeChange={ (editor, metadata, newCode) => {
console.log('%c onBeforeChange', 'color: #0af');
                    this.handleRequests(newCode);
                }}
                onChange={ (editor, metadata, newCode) => {
console.log('%c onChange', 'color: #0af');
                    this.handleRequests(newCode);
                }}
                onKeyUp={(editor, event) => {
console.log('%c onKeyUp', 'color: #0af');
console.log(event);
console.log(editor.getValue());
                    this.handleRequests(editor.getValue());
                }}
                options={CodeMirrorOptions}
            />;

        return (
            <div>
                {CodeMirrorElem}
            </div>
        );
    }
}

With the code above the following is logged to the console when typing the character "a" and when the editor was previously blank:
Desktop (Chrome 67 on Mac):

Mobile (Chrome on Nexus 6P using BrowserStack):

onBeforeChange and onChange do not fire at all on mobile, and the keyboard event is not the same (you can see in the screenshot that code is blank on mobile).  Trying to grab the editor's value inside the onKeyUp function is empty.  It's strange because the letter a appears in the editor on mobile, but the editor's value is blank until closing out of the keyboard.
Any thoughts?
I'm on version 5.1.0

@john-harding I'm sorry but I simply do not have the capacity to debug or support browser inconsistencies, especially mobile browsers. If it works in Chrome latest on my end it gets shipped - and that'll be the stance moving forward.
While I appreciate the interest and research here, I need to give a "PR's are welcomed" answer. Hope you can understand. My first thought is that codemirror events are the culprit here as this library simply piggy backs from them. Perhaps there's some gotchas within that lib itself.


Broken pipe error occuring at random times for webhook handling

(Describe your issue and goal here)
Hello everyone!
I have been running into this issue for a while now at different space within my got and I hope I can get some support/advice on how to solve this.
At random times, I have been getting a random broken pipe error looking as such:
BrokenPipeError: [Errno 32] Broken pipe
The error occurs at random times and especially when my app hits an endpoint for instance /slack/event or /slack/test
Here is an example on how i handle my endpoints:
@app.route("/slack/events", methods=["POST"])
def slack_events():
    try:
        return handler.handle(request)

    except IOError as e:
        if e.errno == errno.EPIPE:
            # handle the error here
            return handler.handle(request)

I have attempted trying to catch the error, however, since it is a webhook, I am unsure on how to request that event to be made once again. I have run into a similar issue with other components of the app, however, having a loop requesting that seemed to have solved it. In the case of webhooks, it seems like the error is not quite solveable.
Reproducible in:
pip freeze | grep slack
python --version
sw_vers && uname -v # or `ver`

The slack_bolt version
slack-bolt==1.5.0
slack-cleaner==0.7.4
slack-sdk==3.5.1
slackclient==2.9.3
slacker==0.14.0
Python runtime version
Python 3.8.6
OS info
ProductName:	macOS
ProductVersion:	11.4
BuildVersion:	20F71
Darwin Kernel Version 20.5.0: Sat May  8 05:10:33 PDT 2021; root:xnu-7195.121.3~9/RELEASE_X86_64
Steps to reproduce:
It is hard to reproduce the error since it happens at random times. I have observed the error to be occurring often during evening/late nights according to the Mountain Standard Time zone.
Expected result:
The expected result was to get a 200 response from the request
Actual result:
The broken pipe error occurs. Here is a sample log:
  File "/Users/project/venv/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/project/venv/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/project/venv/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/project/venv/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/Users/project/venv/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/project/venv/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "main.py", line 463, in install
  File "/Users/project/venv/lib/python3.8/site-packages/slack_bolt/adapter/flask/handler.py", line 34, in handle
    bolt_resp = oauth_flow.handle_installation(to_bolt_request(req))
  File "/Users/project/venv/lib/python3.8/site-packages/slack_bolt/oauth/oauth_flow.py", line 159, in handle_installation
    state = self.issue_new_state(request)
  File "/Users/project/venv/lib/python3.8/site-packages/slack_bolt/oauth/oauth_flow.py", line 189, in issue_new_state
    return self.settings.state_store.issue()
  File "/Users/project/venv/lib/python3.8/site-packages/slack_sdk/oauth/state_store/sqlalchemy/__init__.py", line 55, in issue
    conn.execute(
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
    return meth(self, multiparams, params)
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
    ret = self._execute_context(
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
    self._handle_dbapi_exception(
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1514, in _handle_dbapi_exception
    util.raise_(exc_info[1], with_traceback=exc_info[2])
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
    raise exception
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
    self.dialect.do_execute(
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
  File "/Users/project/venv/lib/python3.8/site-packages/pg8000/legacy.py", line 175, in execute
    self._c.execute_unnamed("begin transaction")
  File "/Users/project/venv/lib/python3.8/site-packages/pg8000/core.py", line 727, in execute_unnamed
    self._flush()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/socket.py", line 687, in write
    return self._sock.send(b)
BrokenPipeError: [Errno 32] Broken pipe

Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

Hi @ArnoldGihozo, thanks for asking the question with the details (that's really helpful to understand your issue)!
According the following parts of the stacktrace you've shared, it seems that the connectivity issue is not occurring between Slack and your Flask app. The error is about the database connection towards your PostgreSQL database.
  File "/Users/project/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 608, in do_execute
    cursor.execute(statement, parameters)
  File "/Users/project/venv/lib/python3.8/site-packages/pg8000/legacy.py", line 175, in execute
    self._c.execute_unnamed("begin transaction")
  File "/Users/project/venv/lib/python3.8/site-packages/pg8000/core.py", line 727, in execute_unnamed
    self._flush()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/socket.py", line 687, in write
    return self._sock.send(b)
BrokenPipeError: [Errno 32] Broken pipe

As a general suggestion from me, you may find similar questions/discussions somewhere else on the internet. Searching by the keywords like your PostgreSQL version, the cloud provider and the managed service you use (e.g., AWS VPC, Aura database, etc.), and the used database library and it underlying database connector (SQLAlchemy and PG driver in your case) would be a good way to fine an answer for your issue.
As we are not the maintainers of SQLAlchemy, the database driver, and the infra you use, we may not be able to help you more. Let us close this issue now but feel free to ask follow up questions whenever you have something specific to bolt-python.


[backport] Doc: Add more footnotes to comparison table

Backport of #6073 by @kmaehashi

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 73bba13bd88d051bbc93cc0b2219469da306fd3e, target branch v10) failed with status FAILURE.


feat: [wip] threeten deprecation in gax

This introduces the use of java.time in replacement of org.threeten backport classes.
Implementation
It preserves method signatures using threeten. The cases are:
@AutoValue clases and classes with public interface involving time objects
Autovalues will have an internal threeten variable with a convenience java.time wrapper method. For example:
https://github.com/googleapis/sdk-platform-java/blob/667f2da15d0800d87d0866e36627ac23955c0b01/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetrySettings.java#L78-L89
and
https://github.com/googleapis/sdk-platform-java/blob/a99d3c1acd4b25a28bd571c8c6f7f7f5d74e1365/gax-java/gax/src/main/java/com/google/api/gax/retrying/RetrySettings.java#L243-L262
Internal variables
Duration or Instant private variables are switched to java.time. In this case, the wrappers are of threeten clasess. For example
https://github.com/googleapis/sdk-platform-java/blob/667f2da15d0800d87d0866e36627ac23955c0b01/gax-java/gax-httpjson/src/main/java/com/google/api/gax/httpjson/HttpJsonCallContext.java#L237-L247
Deprecation warning
threeten methods will now have an @ObsoleteApi annotation. For example:
https://github.com/googleapis/sdk-platform-java/blob/667f2da15d0800d87d0866e36627ac23955c0b01/gax-java/gax/src/main/java/com/google/api/gax/batching/BatchingSettings.java#L106
CLIRR checks
gax-java/gax
[ERROR] 7005: com.google.api.gax.retrying.DirectRetryingExecutor: Parameter 1 of 'protected void sleep(org.threeten.bp.Duration)' has changed its type to java.time.Duration
[ERROR] 7012: com.google.api.gax.rpc.ApiCallContext: Method 'public java.time.Duration getStreamIdleTimeoutDuration()' has been added to an interface
[ERROR] 7012: com.google.api.gax.rpc.ApiCallContext: Method 'public java.time.Duration getStreamWaitTimeoutDuration()' has been added to an interface
[ERROR] 7012: com.google.api.gax.rpc.ApiCallContext: Method 'public java.time.Duration getTimeoutDuration()' has been added to an interface
[ERROR] 7012: com.google.api.gax.rpc.ApiCallContext: Method 'public com.google.api.gax.rpc.ApiCallContext withStreamIdleTimeout(java.time.Duration)' has been added to an interface
[ERROR] 7012: com.google.api.gax.rpc.ApiCallContext: Method 'public com.google.api.gax.rpc.ApiCallContext withStreamWaitTimeout(java.time.Duration)' has been added to an interface
[ERROR] 7012: com.google.api.gax.rpc.ApiCallContext: Method 'public com.google.api.gax.rpc.ApiCallContext withTimeout(java.time.Duration)' has been added to an interface
[ERROR] 7005: com.google.api.gax.rpc.Watchdog: Parameter 2 of 'public com.google.api.gax.rpc.Watchdog create(com.google.api.core.ApiClock, org.threeten.bp.Duration, java.util.concurrent.ScheduledExecutorService)' has changed its type to java.time.Duration
[ERROR] 7012: com.google.api.gax.rpc.WatchdogProvider: Method 'public com.google.api.gax.rpc.WatchdogProvider withCheckInterval(java.time.Duration)' has been added to an interface
[ERROR] 7005: com.google.api.gax.tracing.ApiTracer: Parameter 2 of 'public void attemptFailed(java.lang.Throwable, org.threeten.bp.Duration)' has changed its type to java.time.Duration
[ERROR] 7005: com.google.api.gax.tracing.BaseApiTracer: Parameter 2 of 'public void attemptFailed(java.lang.Throwable, org.threeten.bp.Duration)' has changed its type to java.time.Duration
[ERROR] 7005: com.google.api.gax.tracing.OpencensusTracer: Parameter 2 of 'public void attemptFailed(java.lang.Throwable, org.threeten.bp.Duration)' has changed its type to java.time.Duration

google-cloud-core
[ERROR] 7005: com.google.cloud.testing.BaseEmulatorHelper: Parameter 1 of 'public void stop(org.threeten.bp.Duration)' has changed its type to java.time.Duration
[ERROR] 7005: com.google.cloud.testing.BaseEmulatorHelper: Parameter 1 of 'protected int waitForProcess(org.threeten.bp.Duration)' has changed its type to java.time.Duration
[ERROR] 7005: com.google.cloud.testing.BaseEmulatorHelper$DownloadableEmulatorRunner: Parameter 1 of 'public int waitFor(org.threeten.bp.Duration)' has changed its type to java.time.Duration
[ERROR] 7005: com.google.cloud.testing.BaseEmulatorHelper$EmulatorRunner: Parameter 1 of 'public int waitFor(org.threeten.bp.Duration)' has changed its type to java.time.Duration
[ERROR] 7005: com.google.cloud.testing.BaseEmulatorHelper$GcloudEmulatorRunner: Parameter 1 of 'public int waitFor(org.threeten.bp.Duration)' has changed its type to java.time.Duration

Some downstreams are failing. At least this one in pubsub fails due to a null value passed to a overloaded setter. @blakeli0 is this some expected work on the hanwritten libraries?
https://github.com/googleapis/java-pubsub/blob/88d5968862c54327a2538e7b0fd611fd131cb6cc/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/PublisherImplTest.java#L900-L904

Autovalues will have an internal threeten variable with a convenience java.time wrapper method.

Might be missing some details, but why not have an internal java.time variable and the existing threeten methods wrap to the new java.time wrapper methods? I think it would be easier to remove the threeten methods from autovalue in the future since  the java.time methods wouldn't need to be rewritten.

For the PR title, can it be changed from feat: [wip] threeten deprecation in gax to feat: Introduce java.time to Gax-Java since we are not actually deprecating any methods yet?

Autovalues will have an internal threeten variable with a convenience java.time wrapper method.

Might be missing some details, but why not have an internal java.time variable and the existing threeten methods wrap to the new java.time wrapper methods? I think it would be easier to remove the threeten methods from autovalue in the future since the java.time methods wouldn't need to be rewritten.

@lqiu96 that's a good point. Unfortunately I don't have the rationale handy for this. @blakeli0 WDYT? I'll make the change anyways since we can roll back to this point.

The java-bigtable downstream is flaky in other PRs as well. I created https://github.com/googleapis/java-bigtable/issues/2230

In the pull request description, would you add a section "Message to library users (release note)"?
What's rationale for CLIRR check failures?

In the pull request description, would you add a section "Message to library users (release note)"?
What's rationale for CLIRR check failures? (Can you add the rationale "why the CLIRR errors are not breaking changes to users" in the pull request description?)

@suztomo I added a note at the end of the PR description.

BatchingSettings' new methods are covered with a new test suite BatchingSettingsTest
Example ci job:
[INFO] Running com.google.api.gax.batching.BatchingSettingsTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s -- in com.google.api.gax.batching.BatchingSettingsTest

However SonarCloud doesn't show it as hit

@diegomarquezp @blakeli0 I think I found the root cause of the sonar issues listed in https://github.com/googleapis/sdk-platform-java/issues/2520.
I believe it's due to this line in the surefire maven plugin for the gax module: https://github.com/googleapis/sdk-platform-java/blob/74f20a253e65d9d4253541c4c8250d75abe8d0b8/gax-java/gax/pom.xml#L106
Jacoco Coverage plugin injects a java agent which I believe is added into surefire's argline. If you add in a custom value, then then surefire will not read the property and coverage won't be run.
From the logs of the previous sonar run:

The agent is inject into the gax module, but it is not run:

I followed this blog to preserve the existing surefire argline params and added it to this PR to test. I believe the code coverage percentage is back to a normal-ish percentage.
Also, I took a look at the PR which introduced it: https://github.com/googleapis/sdk-platform-java/pull/2285. It was added on Dec 6th and it looks like the first occurance where it stopped working is a PR on the next day: https://github.com/googleapis/sdk-platform-java/pull/2275

@diegomarquezp @blakeli0 I think I found the root cause of the sonar issues listed in #2520.
I believe it's due to this line in the surefire maven plugin for the gax module:
https://github.com/googleapis/sdk-platform-java/blob/74f20a253e65d9d4253541c4c8250d75abe8d0b8/gax-java/gax/pom.xml#L106
Jacoco Coverage plugin injects a java agent which I believe is added into surefire's argline. If you set a custom value in the pom, then surefire will not read the property and coverage won't be run for the module.
From the logs of the previous sonar run:  The agent looks to be injected into the gax module, but it is not run for the module:
I followed this blog to preserve the existing surefire argline params and added it to this PR to test if coverage would be fixed. I believe the code coverage percentage is back to a normal-ish percentage.
Also, I took a look at the PR which introduced it: #2285. It was added on Dec 6th and it looks like the first occurance where it sonar code coverage percentage dropped is in a PR on the next day: #2275

@lqiu96 the coverage indeed looks closer to what we expected. Thank you!

The java-spanner downstream check is failing because a new method attemptFailedDuration was added to BaseApiTracer.
Error:  Failures:
Error:    CompositeTracerTest.testMethodsOverrideMetricsTracer:238 Method not found in compositeTracerMethods: public void com.google.api.gax.tracing.MetricsTracer.attemptFailedDuration(java.lang.Throwable,java.time.Duration)

The test CompositeTracerTest.testMethodsOverrideMetricsTracer verifies that the class CompositeTracer has an overridden declaration of each method of BaseApiTracer, which is not true as of July 4th.


Move take concat, concat_ws, ends_with, initcap, to datafusion-functions

Is your feature request related to a problem or challenge?
As part of https://github.com/apache/arrow-datafusion/issues/9285 the remaining datetime functions should be migrated to the new datafusion-functions crate in the new structure
Describe the solution you'd like
Functions are migrated to the new crate and use the new patterns as described in https://github.com/apache/arrow-datafusion/issues/9286 & https://github.com/apache/arrow-datafusion/pull/9216
Describe alternatives you've considered
No response
Additional context
No response

How is the progress going on this ticket @Tangruilin ?

take

take

You can work with it.
Thanks~~~

This is ready to push but I'm going to wait for #9939 to land first before pushing this as this will mean that BuiltinScalarFunction will be removed along with everything that depends on it.


Update session jobs endpoint

Add some usability to the api/sessions/{session_id}/jobs endpoint.
All jobs related to the session (run on acquisitions or analyses) will return in ascending created order. If join=containers is in the query params, a map of referenced containers (analyses and acquisitions) and their ids will also be included.
Updates to raml and schemas coming.
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

Planning to merge at the end of the day, let me know if you see any issues.

Quick review looks fine :+1:


Fix: fix bug with cache miss lookup for 'object' part of statement

Firstly, thanks for the super useful plugin. I was seeing some weird behaviour when loading ~35 million triples where most relationships I looked at were wrong. They either pointed back to the same node or where they pointed to another node, it wasn't the right one.
I eventually traced it back to a cache miss and in the lookup, there was a typo that used the subject of the triple, not the object like it should.
I've committed a failing test and then the fix for it so you can verify.
Steps to reproduce:

perform a load with the cache size set to lower than the number of triples to load (so we get cache misses)

Expected behaviour:
The loaded graph has the same relationships as the source RDF.
Actual behaviour:
Many relationships in the Neo4J graph don't mirror the RDF. They either point back to the same node (self relationship) or point to another, wrong node.

You can grab a binary of this fix at https://github.com/tomsaleeba/neosemantics/releases/tag/<IP_ADDRESS>-a5f67ab.


The integrated terminal spills over to the workbench sidebar

VSCode Version: Latest insiders version as at the time of writing this bug report
OS Version: macOS High Sierra: Version 10.13.5 (17F77)

Steps to Reproduce:

Open a directory in code insiders in full screen
Set "workbench.sideBar.location": "right" in your user settings
Open the file explorer and the integrated terminal so that they are visible at the same time
You'll notice that the integrated terminal spills over to the workbench sidebar

Does this issue occur when all extensions are disabled?: Yes
I have used the Light+ (default light) theme for this screenshot

Noted @yume-chan


Customize the shards and replicaCount of clickhouse

I want to change the shards number and replicaCount of the clickhouse databases. I try to do :

clickhouse:
  enabled: true
  shards: 1
  replicaCount: 2

  zookeeper:
    enabled: true
    replicaCount: 1

but it does not seem to affect anything. How are we suppoed to do that?

My bad, it works well.

FYI, to get only 1 kafka controller, you can do :
kafka:
  extraConfig: |
    offsets.topic.replication.factor=1
    transaction.state.log.replication.factor=1
  controller:
    replicaCount: 1


The 'request' packages is not used?

There is a dev dependency in package.json - "request": "=2.81.0", but I don't see it's used anywhere.

That's to pin down the version of request that's used by node-gyp. There was a change in<EMAIL_ADDRESS>that breaks old Node.js versions. See commit 4525cbc4.
As a node-gyp maintainer, I'd say depending on a specific version of node-gyp rather than what is shipped with npm is kind of an anti-pattern but hey.


Revert HHH-14770 Optimise access to EntityPersister in Metamodel via Class type

https://hibernate.atlassian.net/browse/HHH-14770
It causes memory leaks (SessionFactory instances are never garbage collected, for some reason. See the comments on the JIRA issue.

Tests pass, I will merge this.
@Sanne Be aware I reverted your commit because it caused memory leaks.
Feel free to apply your patch again if you know how to fix the memory leak; I don't, and I'm leaving shortly so unfortunately I don't have time to find a solution.


Allow other file format(s) for structure file input

Currently, only .xyz file format can be read for the structure.
While this is a simple and convenient file format for isolated structures, it is necessary to allow crystallographic structure files as input for future features of the program.
.cif files can be extremely complicated to read as the coordinates are based on the unit cell parameters (instead of cartesian coordinates in angtröm) and only a portion of the atoms are localized if there are symmetry elements (the other atoms are implied based on the symmetry).
.pbd files are much simpler to read (see format at http://www.wwpdb.org/documentation/file-format ):
We only need to read the line starting with CRYST1 for the unit cell parameters and the lines starting with ATOM or HETATM for the atom coordinates.
If we allow the .pdb file format as an input, we need to add two options (boxes to tick):

ask if HETATM should be read or not. Often, for proteins, the HETATM (such as solvent molecules) should not be taken into account for the calculation. For non biomolecules however, it is likely that all important atoms will be labeled HETATM. Thus this option is crucial.
ask if the program should consider simply the isolated molecule (same atom mapping as with .xyz files) or the crystal structure. In the latter case, the program would need to generate the neighboring unit cells at least in part for the atom mapping to make sure that there won't be artificial empty space accessible by probes. Yet, the voxels should only fill the main unit cell.

I just came across different formats of .xyz files for chemical structures. The ones generated from Mercury (XMol file .xyz) and the ones generated from Chem3D (Tinker input file .xyz) are different. There might be more formats that I am unaware of.
isobutane XMol.xyz generated via Mercury:
    1  C   -7.945000   -0.100000   -0.336000    1    2    3    4    5
    2  C   -9.269000   -0.881000   -0.362000    1    1    6    7    8
    3  C   -8.208000    1.414000   -0.366000    1    1    9   10   11
    4  C   -7.114000   -0.482000    0.899000    1    1   12   13   14
    5  H   -7.359000   -0.372000   -1.251000    5    1
    6  H   -9.892000   -0.646000    0.530000    5    2
    7  H   -9.865000   -0.632000   -1.270000    5    2
    8  H   -9.087000   -1.980000   -0.371000    5    2
    9  H   -7.253000    1.988000   -0.377000    5    3
   10  H   -8.784000    1.705000   -1.274000    5    3
   11  H   -8.790000    1.739000    0.526000    5    3
   12  H   -6.139000    0.057000    0.911000    5    4
   13  H   -6.893000   -1.574000    0.913000    5    4
   14  H   -7.654000   -0.231000    1.840000    5    4

isobutane Tinker.xyz generated via Chem3D:
    1  C   -7.945000   -0.100000   -0.336000    1    2    3    4    5
    2  C   -9.269000   -0.881000   -0.362000    1    1    6    7    8
    3  C   -8.208000    1.414000   -0.366000    1    1    9   10   11
    4  C   -7.114000   -0.482000    0.899000    1    1   12   13   14
    5  H   -7.359000   -0.372000   -1.251000    5    1
    6  H   -9.892000   -0.646000    0.530000    5    2
    7  H   -9.865000   -0.632000   -1.270000    5    2
    8  H   -9.087000   -1.980000   -0.371000    5    2
    9  H   -7.253000    1.988000   -0.377000    5    3
   10  H   -8.784000    1.705000   -1.274000    5    3
   11  H   -8.790000    1.739000    0.526000    5    3
   12  H   -6.139000    0.057000    0.911000    5    4
   13  H   -6.893000   -1.574000    0.913000    5    4
   14  H   -7.654000   -0.231000    1.840000    5    4

We should make sure that the future user manual prevent any possible confusion and probably keep working with XMol files since they can be generated from the freely available Mercury software (as opposed to the paid Chem3D software).

It seems like we will have to look into a lot of exception cases, since xyz files are not standardised. I agree that as least for now it's best to focus on a single case, and just keep in mind that we may need to expand the code down the line.

I am planning to include .pdb as an accepted structure input file format and add two options.
The way I picture is would be like that in the browser panel:

The pdb file reading will natively only focus on ATOM lines and store for coordinates and element symbols according to the official file format ( http://www.wwpdb.org/documentation/file-format ). Then the rest of the program will handle the data similarly to how it is working with the .xyz file.
The user can choose to include HETATM lines as well.
The last option will be the most complicated to add. I intend to allow the user to choose to analyze not only an isolated structure but the full unit cell. Indeed, it is sometimes interesting to analyze the cavities within a crystal rather than within a molecule. So even for molecules with no inner cavities, there can be cavities between the molecules in the crystal.
For this, the program will have to read the crystallographic information from the pdb file, generate the atoms from symmetry elements and neighboring unit cells, then analyze voxels only within the main unit cells (even if there are atoms are outside).
So this option will modify some aspects of the calculations in the back-end and will require to hard code all the symmetry elements for each space group.
Is there any suggestion before I work on this task?

Intuitively, it seems to me that it's better to use config files rather than hardcode large amounts of information into the code. Maybe that's what you mean though.
I recommend you begin working on the .pdb import by writing methods that obtain the information you'd get from an .xyz file. What I mean is that the result from the .pbd import should be the same as the result from the .xyz import. Then make a pull request for me to review. Smaller changes will make life easier for me.
Afterwards I suggest working on the GUI. A few points though:

Why do we need a checkbox, for the user to select between filetypes? It's quite trivial for the program to determine whether it's receiving a .xyz or a .pdb file.
What does including HETATM lines do? What are HETATM lines?
I think the space you have carved out for these options should be exclusively for import options. Having the options to include HETATM lines in there makes sense to me. However, the option whether to analyse the crystal unit cell should, imo, be in the parameter panel, meaning the panel where the calculation options are. The structuring of the GUI makes sense at the moment, with the import being devoted completely to the left side and the calculation being devoted completely to the right.

As for the last point, I think we can tackle that, once I've implemented the cavity volume algorithm. I will keep the intermolecular cavities in mind.

Intuitively, it seems to me that it's better to use config files rather than hardcode large amounts of information into the code. Maybe that's what you mean though.

I am hesitating between the two options. The point is that space groups are absolute mathematical concepts (contrary to element radii that are measured in different ways), so I would prefer that this information is not stored in an external file in order to prevent users from messing with the file and the definitions of the space groups.
I am not strongly vouching for one solution over another. I am simply stating the results of me overthinking about what could go wrong.
It could be a good idea to directly ask a crystallographer about their opinion on the question.

I recommend you begin working on the .pdb import by writing methods that obtain the information you'd get from an .xyz file. What I mean is that the result from the .pbd import should be the same as the result from the .xyz import. Then make a pull request for me to review. Smaller changes will make life easier for me.

This part should be easy. I'll work on that asap.

* Why do we need a checkbox, for the user to select between filetypes? It's quite trivial for the program to determine whether it's receiving a .xyz or a .pdb file.

The radio button (not exactly a checkbox) only serves to enable or disable the HETATM and unit cell check boxes. Indeed, these options are only meaningful for pdb files. We could also simply write "Options for pdb files" and the user will have to determine what file he is loading and if the options are compatible.

* What does including HETATM lines do? What are HETATM lines?

I thought you saw the first message of this issue. I already described what do HETATM do. Basically they stand for hetero atoms (not in the usual sense in organic chemistry) which are atoms not belonging to the biomolecule (more specifically protein). For example a protein crystal structure can have solvent molecules or other small molecules in the unit cell and their atoms will be flagged as HETATM in pdb files to differentiate from the protein itself which is the main thing the biochemist wants to study. It simplifies the analysis of the crystal structures of proteins in softwares.
However, since the program developed here is not only designed for biomolecules, the structures in the pdb files loaded by users could have only HETATM flagged atoms. Therefore, we need to allow the reading of either only ATOM, or both ATOM and HETATM (I don't think that there is a reason to allow for the reading of only HETATM so I am not planning to add such an option).

* I think the space you have carved out for these options should be exclusively for import options. Having the options to include HETATM lines in there makes sense to me. However, the option whether to analyse the crystal unit cell should, imo, be in the parameter panel, meaning the panel where the calculation options are. The structuring of the GUI makes sense at the moment, with the import being devoted completely to the left side and the calculation being devoted completely to the right.

I agree to some extent. My point here is that these two options (HETATM and unit cell) are both linked to the type of file in input while all other parameters from the parameter panel apply to both xyz and pdb files.
If we only put the option HETATM in the browser panel and the unit cell option in the parameter panel, it will be necessary to repeat for each "Option for pdb files" or something along this line.

As for the last point, I think we can tackle that, once I've implemented the cavity volume algorithm. I will keep the intermolecular cavities in mind.

Yes, this part can be added at a later stage. I don't know exactly how the cavity volume algorithm will look like but if you are planning on working only on the single-probe mode for now, you might want to prepare the code so it is easier to implement the 2-probes mode.


chore: add test reports to acceptance tests workflow

Description:
This PR adds config for generating reports from Acceptance Tests and publishes the results to the action summary and the PR.
Related issue(s):
Fixes #1943
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (1e57ed4) 77.84% compared to head (c83a8ad) 77.83%.
 Consider uploading reports for the commit 50a88d6 to get more accurate results

Files
Patch %
Lines

packages/relay/src/lib/eth.ts
50.00%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2049      +/-   ##
==========================================
- Coverage   77.84%   77.83%   -0.01%
==========================================
  Files          40       40
  Lines        3087     3086       -1
  Branches      626      626
==========================================
- Hits         2403     2402       -1
  Misses        479      479
  Partials      205      205

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


Do not delete pinned messages

Feature request

Added it as an undocumented command line option "--protect-pins" in d1b2490b54694d1b06ca90b4bbf8ae293f9ba28e and 9c04047b68a55e6983e41d2c338fd2d9214aad72. Grab the latest version of the repo to try it out (there is no new release for now).
This isn't a default and is still considered experimental because it adds a performance penalty.

Normally, this bot issues deletion requests through the Discord API without actually fetching the message, so obtaining that information takes extra API requests.
In the worst case, fetching each message would double the API requests involved in deletion.
The implementation I added includes an optimization so that when multiple messages are being deleted out of the same channel, it uses one API request to get the full list of pins, and then compares (unfetched) message IDs against that list.

That still incurs overhead for anyone who doesn't care about retaining pins, and it changes the behaviour of the bot, so it's still optional, but it should work alright.

I haven't tested the implementation myself yet, so if you run into any issues, please let me know.


Test case 5

May I know what is this test case testing for?

I think this is to catch certain edge cases (for example, if the point is just within the circle)...

So what you do next is…
Check the original question (and the code) to see what they need from you.

Hi I am facing the same issue, could anyone provide a hint?


Use electron-winstaller

This PR moves us to use electron-winstaller instead of duplicating the code between the Grunt task and the library version

I think this PR is correct but it looks like on Windows we're hitting a weirdo bug in electron-winstaller

Went ahead and got this off CoffeeScript and a grunt-based build as well in this pull request, thanks for getting this going.

Hey @kevinsawicki! Is there anything else that should be done in this PR? I polished PR a little bit in the #107 on top of the current one.

@kevinsawicki Once this build is :gem: this should finally be good to go, sorry this took forever

:+1:

Published as 2.0.0


Version 3 - again :)

prettier appscript.json

Looks like you still need to run npm run fix.

I can't run "npm run fix"  -> what is the "fix"?
I run:
npm run prettier
npm run update_production
prettier --check '**/*.js'
Checking formatting...
All matched files use Prettier code style!

You need to navigate to the top-level directory (probably called community-connectors), it's the one a level above the senuto directory, then you should be able to run npm run fix

Thanks a lot :)
ps.I had a newer version of prettier


Certificate import error.

ilo_https_cert 'import certificate' do
  ilo ilo1
  certificate cert
  action :import
  not_if { valid || cert.nil? }
end

The above block does not work as the error as no "cert" function.
NoMethodError
undefined method `cert' for IloCookbook::HTTPSCert

@vivekbhatia14 , cert is actually a user-supplied variable.
In the README, directly above the block you coppied above, it says:
# Here you'll need to have a step that submits the CSR to a certificate authority
# (or self-signs it) and gets back the signed certificate. It will look something like:
# -----BEGIN CERTIFICATE-----
# lines_of_secret_text
# -----END CERTIFICATE-----
# For this example, we're assuming we've read in the content of the certificate to the
# "cert" variable (as a string).

Basically, there's 3 steps for creating a new cert:

Generate a certificate signing request (CSR).
Sign the CSR with a certificate authority (CA), producing a new cert.
Upload the new cert to the iLO.

However, we have no way of doing step 2. That step must be filled in by the user, according to their company's certificate signing process.
However, for the sake of making a complete example in the README, I think we could add in some example code that signs the CSR with an arbitrarily-generated CA. The user will still have to replace that section.
Thoughts?

ReadMe contains the updated example usage. Hence closing it.


Update version in README

Make it a bit more clear what the current version is.

Nice, didn't know about that. I've been asdf list-alling this whole time!

Haha, appreciate your contribution!


Implement ServiceNow Controller

<!--- This repository only accepts pull requests related to open issues, please link the open issue in description below. See https://help.github.com/articles/closing-issues-using-keywords/ to learn about automation.
ITSMSkill needs to be able to process ServiceNow Events this PR enables a Controller for the same.

### Purpose
*What is the context of this pull request? Why is it being done?*
Implement ServiceNow API controller to receive callback and create EventActivity

### Changes
*Are there any changes that need to be called out as significant or particularly difficult to grasp? (Include illustrative screenshots for context if applicable.)*
a. Add ServiceNowController
b. Add ServiceNowMessageReceiver
c. Update DefaultActivityHandler to process Proactive Event and update conversation

### Tests
*Is this covered by existing tests or new ones? If no, why not?*
a. Added UT for ServiceNowController
b. Need to E2E notification Test

### Feature Plan
*Are there any remaining steps or dependencies before this issue can be fully resolved? If so, describe and link to any relevant pull requests or issues.*
None

### Checklist

#### General
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated the appropriate tests
- [ ] I have updated related documentation

@okulygin @ryanlengel @lzc850612 https://github.com/microsoft/botframework-solutions/pull/3232 is here now

Hi @sidmore It is ready to merge now, please merge the branch yourself.
In case you have some updates/fixes, approvers will not merge the pr.
Thanks


#1664 Data preview fails when creating data source

Description
Data preview fails when creating data source.
Related Issue : #1664

How Has This Been Tested?

create datasource
select database
select hive connection
select table or execute select query
show preview

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project. it will be added soon
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document. it will be added soon
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Additional Context

run build
deploy to 4


Implement File / Image Storing and Hosting API using AWS

Story:

As a CSXL Developer, I want an API for file/image storage and hosting, so that my features can have images.

Example use cases:

Profile photos of registered members
Logos for student organizations and resources
Promotional photos for workshops

Looping in @KrisJordan's ideas from a while ago regarding a 523 project:
"File uploads backed by AWS S3 (and linked to developer API token) - with a path that works for development and production"


Reduce font size in small variation of progress component

Change font-size of the text in the small variation to 14px. Leave the icon size as it is.

cc @mceledonia

:tada: This issue has been resolved in version 2.14.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


New Scenario in Spanish: Tras la puerta

New scenario in spanish for Mansions of Madness: https://github.com/ZombieJuanma/EscenariosMoM/tree/master/TrasLaPuerta

Hi! I'll get this added for you today

I have added this to the scenario explorer and to the stats spreadsheet.


Use require.resolve() to check if Prism plugin files exist

The old approach implied that the filesystem layout of the node_modules folder is flat, but this does not necessarily have to be the case. For example, when using pnpm as a package manager, the prism package will be resolvable from ember-prism, but it will not be at the location that the old approach expects. This commit should fix the problem by relying on the node module resolution algorithm to determine if certain files of the Prism package exist or not.
/cc @rwwagner90

LGTM! Thanks for the PR.


Delayed Job with multiple rails apps

This might be a rare situation for a lot of people but I thought I'd share (and maybe find a solution!). I was developing two rails apps at the same time on my local machine on two different ports. Rather than set them up each time I just leave them running so context switching is faster. However, as I introduced Delayed Job to the second of the two applications, and ran rake jobs:work, the query would look in the database of the first application, and log output to its log file. This took me about an hour to figure out and not sure if there is any preventative measure.

Rake tasks are purely dependent on the directory in which they are run. You must have accidentally run both instances of rake jobs:work in the one project's directory.


Let's make sure it's called Pipelines as Code

Let's make sure it's called Pipelines as Code
Allow symlink tkn-pac to pipelines-as-code

Codecov Report

Merging #170 (a4ecb12) into main (01b2aa3) will increase coverage by 2.44%.
The diff coverage is 67.35%.

@@            Coverage Diff             @@
##             main     #170      +/-   ##
==========================================
+ Coverage   66.90%   69.34%   +2.44%
==========================================
  Files           8       22      +14
  Lines         568     1383     +815
==========================================
+ Hits          380      959     +579
- Misses        139      315     +176
- Partials       49      109      +60

Impacted Files
Coverage Δ

pkg/cmd/completion/completion.go
0.00% <0.00%> (ø)

pkg/pipelineascode/sort_repository_status.go
0.00% <0.00%> (ø)

pkg/pipelineascode/templating.go
100.00% <ø> (ø)

cmd/pipelines-as-code/main.go
36.36% <33.33%> (ø)

pkg/cmd/repository/create.go
51.72% <51.72%> (ø)

pkg/cmd/repository/describe.go
53.84% <53.84%> (ø)

pkg/hub/get.go
58.13% <58.13%> (ø)

pkg/cmd/pipelineascode/pipelineascode.go
64.28% <62.06%> (+29.43%)
:arrow_up:

pkg/webvcs/github.go
73.50% <65.85%> (-2.74%)
:arrow_down:

pkg/pipelineascode/acl.go
68.08% <67.74%> (-4.14%)
:arrow_down:

... and 29 more

Continue to review full report at Codecov.

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


[BUG] Microsoft.Playwright.PlaywrightException: Executable doesn't exist at ~\AppData\Local\ms-playwright\ffmpeg-1007\ffmpeg-win64.exe

Context:

Playwright Version: 1.18.1
Operating System: Windows
.NET version: 6
Browser: Chrome / All
Extra:

Code Snippet
              //BrowserContext
                BrowserNewContextOptions browserNewContextOptions = new();
                browserNewContextOptions.StorageStatePath = "state.json";
                if (!String.IsNullOrEmpty(BaseConfig.Device))
                {
                    browserNewContextOptions = _playwright.Devices[BaseConfig.Device];
                }
                if (BaseConfig.Video)
                {
                    browserNewContextOptions.RecordVideoDir = VideoPath;
                    browserNewContextOptions.RecordVideoSize = new RecordVideoSize() { Height = 720, Width = 1280 };
                }
                if (BaseConfig.HAR)
                {
                    browserNewContextOptions.RecordHarPath = ResultsPath +<EMAIL_ADDRESS>                }
                browserNewContextOptions.ViewportSize = new ViewportSize() { Height = 720, Width = 1280 };
                var browserContext = await _browser.NewContextAsync(browserNewContextOptions);

Describe the bug
After updating and running playwright install it appears to be looking for a different folder name for ffmpeg
if i rename the folder in appdata it works
for some reason even deleting all browsers and re-running playwright install still downloads 1006 and we need 1007
Microsoft.Playwright.PlaywrightException: 'Executable doesn't exist at C:\Users<myusername>\AppData\Local\ms-playwright\ffmpeg-1007\ffmpeg-win64.exe
╔═════════════════════════════════════════════════════════════════════════╗

Try installing the browsers and dependencies with: pwsh bin\Debug\net6.0\playwright.ps1 install.

No luck,
i added .dotnet\tools and rebooted.
.\bin\Debug\net6.0\playwright.ps1
Unable to find type [Microsoft.Playwright.Program].
At C:\Users<myusername>\source\repos\Test_UI\TestUI\bin\Debug\net6.0\playwright.ps1:5 char:6

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (Microsoft.Playwright.Program:TypeName) [], RuntimeException
FullyQualifiedErrorId : TypeNotFound

Try this:
# If the pwsh command does not work (throws TypeNotFound), make sure to use an up-to-date version of PowerShell.
dotnet tool update --global PowerShell

(we have it soon in the docs)

This Solved the issue, updating PowerShell. is the CLI not the preferred method for downloading the browsers now ?
Happy to close this issue

Yes, we did not continue with advertising the CLI because the CLI injects itself into the global PATH and the PowerShell approach is not global and more relative to the project.

related https://github.com/microsoft/playwright-dotnet/issues/2239


Update pureconfig, pureconfig-cats to 0.17.6

About this PR
📦 Updates

com.github.pureconfig:pureconfig
com.github.pureconfig:pureconfig-cats

from 0.17.3 to 0.17.6
📜 GitHub Release Notes - Changelog - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.pureconfig" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.github.pureconfig" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-1.6%) to 75.049%

Files with Coverage Reduction
New Missed Lines
%

scassandra/src/main/scala/com/evolutiongaming/scassandra/SocketConfig.scala
3
53.85%

Totals

Change from base Build<PHONE_NUMBER>:
-1.6%

Covered Lines:
382

Relevant Lines:
509

💛  - Coveralls


[doc] fix broken link in form-recognizer CHANGELOG

resolves #26789

API change check
API changes are not detected in this pull request.


Update EpiCurl.php for -1 Response

Had a situation where CURL was returning a -1.  This results in an infinite loop in this function.
In research found this http://curl.haxx.se/libcurl/c/libcurl-errors.html where it says:
"This is not really an error. It means you should call curl_multi_perform again without doing select() or similar in between. Before version 7.20.0 this could be returned by curl_multi_perform, but in later versions this return code is never used."
By changing to use the return code constant instead of 0 the function worked perfectly as expected.

Thanks for this pull request.

glad to be of help!


Is there a way to access to the build context from state class?

I put the event handlers of the widgets (such as buttons) to inside the state class. Sometimes, such as when routing to another path, I need to access BuildContext. Currently I solved it by passing context to the handler function. Wouldn't it be better if June provides access to the build context by default?
My current approach is like this:
class WelcomeScreenVM extends JuneState {
  int selectedPage = 0;

  // Methods
  bool isLastPage() {
    return selectedPage == WELCOME_PAGES.length - 1;
  }

  void changePage(int index) {
    selectedPage = index;
    setState();
  }

  // Events
  void onForwardClick(BuildContext context) {
    if (!isLastPage()) {
      changePage(++selectedPage);
      setState();
    } else {
      context.go("/dashboard");
    }
  }
}

The widget:

  @override
  Widget build(BuildContext context) {
    return JuneBuilder(() => WelcomeScreenVM(),
        builder: (vm) =>  IconButton(
            onPressed: () => vm.onForwardClick(context),
            icon: Icon(vm.isLastPage()
                ? Icons.check
                : Icons.arrow_forward));
  }

As far as I understand, June is aiming to 'feel' like vanilla Flutter, and in vanilla Flutter it's pretty normal to send the context as parameter around the code. So I'd say your approach is the expected one.

@CodingWill0, thank you for explaining it so well! You've perfectly captured the intention behind the design, and I really appreciate your clear explanation. It's been very helpful! 😊


Return group roles as part of /users/me response.

Summary:

What: Add groups & group roles to /v2/users/me response.
Ticket: sc192742
Env: <rdev link>

Notes:
This builds on #1184
Demos:
The response format looks like this for now, we can tweak it as necessary if it helps with anything @mmmmmmaya

[ ] I merged latest <base branch>
[x] I manually verified the change
[x] I added labels to my PR
[ ] I tested in multiple browsers
[x] I added relevant unit tests
[ ] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

I assume this is right but confirming top level group = currently authed group and the rest is just all group user belongs to?
this is 😻

I assume this is right but confirming top level group = currently authed group and the groups is just all group user belongs to?
this is 😻

We can do this two ways.
First way (my preference): The top level group and group_admin flag are going away once we finish this migration. A user will always have access to all their groups, and it's up to the front end to send the current group context to the backend when asking for samples/trees/etc.
Second way, also will work fine but seems a little weird to me?: The frontend is welcome to send a group ID to the /users/me endpoint (it'll be like /v2/orgs/1234/users/me and I can populate the top level group and group admin fields with the group referenced in the URL.

The first way you proposed sounds good to me!


Map

A live 2d minimap upon which:
the DE’s location and path are displayed
The rover’s location and path are displayed
POIs which are displayed and can be added to (by the LMCC AND/OR the HMD).
Pins and POIs are synced across both HMD and LMCC
Pin labels should be customizable
GPS data must use GeoJSON (NASA says the goal should be accuracy up to 1m)

PLEASE ASSIGN 2 PEOPLE MAX TO THIS


Feature request: XML Docs also for the interface

I noticed that XML docs are copied to the interface but only for members. They are not copied to the interface itself. Maybe they should be also copied when XML docs are defined on the class?

Thanks for the heads up, I've just added this in v1.0.8


AtlanClient.asset.find_connections_by_name method does not return 'NotFoundError' when connection does not exist

Describe the Bug
The find_connections_by_name method here returns an empty list instead of the NotFoundError as described in the doc string
Steps to reproduce
NOTE: This expects the variables atlan_base_url and atlan_api_key to be set, not included here

from pyatlan.client.atlan import AtlanClient
from pyatlan.errors import NotFoundError
from pyatlan.model.enums import AtlanConnectorType

# atlan_base_url = "myatlaninstance"
# atlan_api_key = "mykey"

atlan_client = AtlanClient(base_url=atlan_base_url, api_key=atlan_api_key)

try:
  results = atlan_client.asset.find_connections("my_non_existent_connection",AtlanConnectorType.GCS)
  print(len(results))
except NotFoundError:
  print("Exception thrown, connection does not exist")

Instead of throwing the NotFoundError exception, it instead returns an empty list.
This could be expected behaviour if the doc string itself is wrong in the method

Hi @jcarpenter12 👋 – thanks for bringing this to our attention.
Indeed this method (I think you meant find_connections_by_name?) is inconsistent compared to other methods like find_glossary_by_name, which do throw a NotFoundError.
@Aryamanz29 we should ideally fix this, too, prior to the 2.0.0 release (since moving from an empty list to throwing an exception will be a potential breaking change for folks).