Reported download speed is utterly wrong

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.04.07
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log
$ yt -v https://youtu.be/jFa5ssSAXZA
[debug] System config: []
[debug] User config: ['--user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4280.66 Safari/537.36', '--add-header', 'DNT: 1', '--output', '%(title)s.%(ext)s', '--force-ipv4', '--add-metadata']
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://youtu.be/jFa5ssSAXZA']
[debug] Adding header from command line option DNT: 1
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.04.07
[debug] Python version 3.9.1 (CPython) - Linux-5.10.16-arch1-1-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg 4.3.1, ffprobe 4.3.1
[debug] Proxy map: {}
[youtube] jFa5ssSAXZA: Downloading webpage
[youtube] jFa5ssSAXZA: Downloading MPD manifest
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on 'https://manifest.googlevideo.com/api/manifest/dash/expire/...'
[dashsegments] Total fragments: 702
[download] Destination: WTC7 Evaluation Progress Report - 06SEP2017 - UAF.f247.webm
[download]  54.8% of ~140.77MiB at 12.49MiB/s ETA 05:40

Description
Every time I download something (I mostly use YouTube) and I look at the reported download speed I start feeling really bad.
Speed is constantly reported to be in the range (10-)15-20MiB/s, periodically jumps down to 700KiB/s-2MiB/s. However these numbers cannot be good since when I look at the interface transfer speed, I see about 150KiB/s real traffic.
(I was a little surprised that I have not found any related issues, so maybe it has something to do with my configuration?)

The code for this has been updated. If the latest nightly release shows similar behaviour, please open a new issue.


Allow DropdownMenuItem that does not close DropdownButton

There is sometimes a need to add separators to DropdownButton's list. One can do this by adding a DropdownMenuItem with Divider for a child, or by subclassing DropdownMenuItem to not be affected by items' min height. But such a separator is still tappable, and it does close the dropdown.
I propose to:

Add some field to DropdownMenuItem to indicate that it is not interactive.
Check this field in _DropdownMenuItemButtonState._handleOnTap and do not pop the route. Also such item should not appear as InkWell.

I would like to work on this if you don't mind.
Can you provide some pointers?

Hi @MahmoudMehisen
I would start by reading the contributor guide.

I guess this issue has been resolved by the PR #76968 so it should be closed.

Closing as a duplicate of #75609, resolved by #76968


Fail to update settings through migrations when using encryptionEnv

I want to update some settings using migrations. I'm using the example from documentation: https://pocketbase.io/docs/go-migrations/#examples, especially the dao.FindSettings method.
But when using it on a Pocketbase instance already running, initiated with --encryptionEnv, this method raise an error telling the encryption key is missing. It seems normal but how to specify the value of the --encryptionEnv flag on migration file ? We don't have access to a pocketbase.App instance.
func init() {
	m.Register(func(db dbx.Builder) error {
		dao := daos.New(db)

		settings, err := dao.FindSettings()
		if err != nil {
			return fmt.Errorf("failed to load settings: %s", err)
		}

		// some settings tweaks
	}
}

Migrations currently doesn't have access to the app instance because the runner needs only access to the database. This may change in the future but for now if you use settings encryption you need to pass the env variable as argument to the FindSettings call.
The variable can be read for example with os.Getenv("YOUR_ENV").
If that doesn't help, feel free to let me know and I'll investigate it further.

Also note that when saving the settings you need to pass again the encryption key as second argument in dao.SaveSettings(newSettings, encryptionKey).


Exception while saving

Hey, I use this module in a project with django-rest-framwork, gunicorn and nginx.
When I try to upload a new file from my client/frontend in production I get this:
Exception ignored in: <function _TemporaryFileCloser.__del__ at 0x7fa1d196a680>
Traceback (most recent call last):
  File "/usr/lib/python3.10/tempfile.py", line 589, in __del__
    self.close()
  File "/usr/lib/python3.10/tempfile.py", line 585, in close
    unlink(self.name)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmph9zpjln8.upload.jpg'

Locally with runserver I didn't have any problems.
Any ideas what I can do about that? I don't quite understand what is going on.
I found this: random issue
But it doen't really help me.

Okay I fixed it for now with increasing timeouts.
Nginx:
 proxy_send_timeout 600;
 proxy_read_timeout 600;

Gunicorn:
gunicorn -t 600

I think I should use celery :S

Yes, that is highly recommended. That's why we default to asynchronous processing, when available. You really don't want to do image compression on the same system that serves requests. Since image compression requires more CPU and RAM and has almost no slow IO.


Support new sap-converged-cloud plan region: ap-au-1

AC

[ ] 0) enhance sap-convereged-cloud plan witn possibility to display given ccee regions for given BTP regions. That means KEB must support mapping between a given BTP region e.g. "cf-eu21" and a list of CCEE regions per Landscape. Configuration must be applied here: https://github.tools.sap/kyma/management-plane-config/tree/main/argoenv/keb for all landscapes. Prepare configuration syntax and defina behaviour (with corner cases too) present to PO and team.
[ ] 1.1) For BTP region cf-ap10 the sap-converged-cloud plan catalog must return ap-au-1 region only, add feature flag per landscape:

"region": {
	"enum": [
     		"ap-au-1"
	],
	"minLength": 1,
	"type": "string"
}

[ ] 1.2) For BTP region cf-eu20 the sap-converged-cloud plan catalog must return eu-de-1 region only. This is already done, but has old implementation. Must be adjusted.

"region": {
	"enum": [
     		"eu-de-1"
	],
	"minLength": 1,
	"type": "string"
}

[ ] 2) Check if /catalog and /createInstance validates region value
[ ] 3) Adjust documentation
[ ] 4) Prepare RN
[ ] 5) ON DEV we have mapping: "cf-eu20-staging "<-> ["eu-de-1"]
[ ] 6) ON STAGE we have mapping: "cf-eu21 "<-> ["eu-de-1", "ap-au-1"]
[ ] 7) ON PROD we have mapping: "cf-eu20"<-> ["eu-de-1"] ; "cf-ap10"<-> ["ap-au-1"]

I have create a simple test to check our options when using github.com/vrischmann/envconfig. Reading the lib's readme I have learnt bout possible parsing mapping as shown in https://github.com/kyma-project/kyma-environment-broker/pull/812. It would work for short lists, however, the longer the lists, the more troublesome its maintenance would be.

We have decided to use functionality from whitelisted eu regions in KEB https://github.com/kyma-project/kyma-environment-broker/tree/main/internal/whitelist.

A decision has been made with the team that when region from the path is not present then sap-converged-cloud plan is not returned in the schema.


fix msal token cache issue

msal lib will cache token and the cache will not be removed automatically by default
to fix this partially, do this refactor

Closing this PR since we've merged this in #18257.


Remove broken links

[x ] My submission is formatted according to the guidelines in the contributing guide
[x ] My addition is ordered alphabetically
[x ] My submission has a useful description
[x ] The description does not end with punctuation
[x ] Each table column is padded with one space on either side
[x ] I have searched the repository for any relevant issues or pull requests
[ ] Any category I am creating has the minimum requirement of 3 items
[ ] All changes have been squashed into a single commit

Problem
Broken links in repository (Issue #1590 and #1590)

Problem Description
There are about 800 api links among them there are some broken links need to be removed

Solution
Instead of manually checking the them I suggest a program(bad_link_filter.py) that would save bad links in separate file so that can be reviewed later

The program successfully narrowed 800 links to 32 links (Executed on 23-05-2020)
However some of links works return error because of bot security feature in respective webpage
Hence a manual test only on those filtered records in needed
I've done the manual check also and saved them in broken-links.md

Hey @iamjoker021
Thank you so much for making this PR. We appreciate it.
Since its a PR regarding enhancement. All the collaborators need to approve it. So I'll be requesting their reviews as well while giving my own.

Sorry I'm new to GitHub could you kindly elaborate what checks failed so that I could correct them. Thanks in advance!

What if we add to automatically remove the links which return 404 and we don't want to check them manually before?

I particularly prefer to do a manual check in these cases. So I can check if the link is broken due to the discontinuation of the service or change in the address of the page. So in case of discontinuation I can delete it and in case of changing the address of the page I can create a issue informing that the url needs to be updated. 🤔

The PR author deleted the fork and it looks like we've already made a decision here.
Fechando este PR.


navbar menu doesn't work in IE

Error for IE 11:
Object doesn't support property or method 'from'
at script.docs.js (844,1)
This breaks navigation menus for IE 11 visitors. It is OK to look/behave differently for older browsers, but being the only IE version compatible for some Windows versions, we can't necessarily have the subpages not available at all.
Probably should just work around with a polyfill https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill unless there's an easy-to-identify alternative that works everywhere.

33dc4c8c3c2304e41493e8f14404eba1a2f44bb2
Tested on IE11 Windows 7 VM, would be great to test it on real machine.

Tested on IE11 on Windows 10


Ask Command

Resolves #291
Adding the /ask command using OpenAI.

I have some concerns about this implementation.
Since creating the task, ChatGPT rolled out the capability to share full conversations which has been pretty sufficient for this purpose.
However in order to enhance the developer experience, we should automatically provide gpt4 with as much context as possible (it will be faster than manually copy pasting all of the relevant details into ChatGPT normally.)
I know this isn't in the specification, my apologies. But the prompt you provided signals to me that the answers are low quality without all of the context, which makes this inferior to just going to ChatGPT directly and asking the question.

So when it comes to "memory", you have to keep in mind that this one instance will be running over all of the issues/repos. In order to feed the previous context we'd need to store each prompt, feeding it into the next so that gpt actually has context for a given interaction.
As for additional context, I tried to limit follow-ons and follow-ups because it's not possible to feed prompt after prompt into gpt effectively here I don't think unless you guys will have an openai key that can be aggressively ran as the fact that is, the bigger the input the more tokens which are used as input token size is priced in as well as output token size. So that sort of "memory" isn't cost effective long term.
The way I read the issue was this:
You are having a debate, discussion, pondering a problem, solution or idea and while you and team are all doing the heavy lifting maybe there's a one off question or one off need for inspiration then this solution is near perfect. You have all the context as you are debating the problem, solution whatever.

@pavlovcik My backend is running right now and will be for the next 5 mins if you want to fire a few different tester queries at the current prompt setup on my repo but I'm happy to discuss and try to implement other setups.
I recently placed 2nd in a hackathon for building an AI Therapist ChatBot, it had the sort of "memory" that you speak of but it was a lot easier as it was a single instance so there was never the possibility of previous context being confused as it would reset on window reload.
Thinking out loud: To store context, for each line of questioning for each user on each issue and track all of that would be hell.
Is the /ask command supposed to be well-versed in all things UBQ/Web3 or is it just an easy route to GPT directly in issues? The latter obviously being a more generalized approach and I guess would infer it's own context like GPT does with near free reign and the other would have to be guard railed not to hallucinate it's own context like it often does in that sort of context.

I am unfamiliar with what exactly is returned by the GitHub API to view a full conversation of an issue or pull request, but from what I understand it's a JSON object that describes every contributor and every interaction (reactions and comments.)
We can scrub the unnecessary output like the node IDs, and reactions and pass in this entire conversation as context to the /ask command behind the scenes.
Even better if we can pass in the original issue specification as well, which would require some page navigation if the /ask command is being invoked from the pull request. Fortunately, we already implemented similar logic for the comment incentives on pull request feature which was recently merged into development.

Hmm I'll have a think about it and try to set something up tomorrow.
Can anyone use the /ask command?
Is there a limit to questions per interaction?

In this implementation I had not considered a limit but it seems responsible.

We could check if they are added as a contributor to the repository/organization.
We also have a simple access control system built in (which might already be able to take care of this?) please see the code for /allow although it might only be for adding labels.

https://github.com/Keyrxng/didactic-octo-train/issues/15
So the way things are at the moment:
command = '/ask didactic-octo-train pull 16<PHONE_NUMBER> "Provide some examples"'

repoName
issue or pull
issue or pull number
commentID
question

If commentID is zero, it's a standalone single interaction with no previous context.
If it's defined then it's fed the original context and produces results, you could chain context together using the AI response commentID but it would be superficial as it would only have the context of that response but your query verbatim.
Is that sufficient or should it be possible to reference a comment on another issue or pull, and then chain together say 4 or 5 questions relating to that?
The trouble I'm having right now is trying to think of a way to allow for multiple users to create multiple chains of interactions all on the one issue but so far it's been pretty messy.
I assume there will be multiple concurrent chains of interactions being run, the most rudimental way is what we have currently and it does the job but is it to spec?
Would it be cleaner to allow multiple commentIDs to be passed in and we manually give it context from potentially a variety of sources?
Or have the bot handle previous interactions on the issue or pull and try to find a way to distinguish the chain of interactions in amongst potentially multiple other user's interactions as well as potentially multiple single-user chains of interactions too?
I need some perspective, cheers

I'm going to spend some time researching today by looking through the GitHub API docs and passing in the full conversation context JSON of a single pull request or issue.
I imagine that the interface would only be:
/ask is it possible to implement the todo list with react hooks?

And ChatGPT would be able to read the full conversation leading up to that question before providing a response.
I'll post back here later today.

So you are wanting to be able to traverse repos, issues and pulls and pull individual context from a comment onto a separate issue/pull and then feed the entire conversation object of the current issue/pull and not the context source?
Feeding the current issue/pull conversation is easily done as is, I had it collecting previous answers it had posted for a specific user along with all of the relevant question but once I started new interactions it got messy. The only thing to consider if feeding an entire conversation into it with every call I think is token usage and costs in that sense.
I think some more thought into it would be great mate I feel we are not really close to being on the same page with it at the moment, the bounds and objectives are a bit unclear for me at least.
No rush, I'm going to look at picking up something else in the meantime.

As a heads up I haven't had the chance to look into it yet. But, at the risk of veering a bit off topic, just so that you have perspective of what I have in mind for the future, I looked into https://github.com/ubiquity/telegram-ubiquibot/issues/20 which is a tool from Microsoft which allows you to store a whole repository in context for ChatGPT. This could probably be useful for a future version and extension (Telegram Chatbot version) of this command.

So you are wanting to be able to traverse repos, issues and pulls and pull individual context from a comment onto a
separate issue/pull and then feed the entire conversation object of the current issue/pull and not the context source?

More simple. There are two types of locations I anticipate the invocation of this command:

On an issue

Generally this is for when a bounty is being clarified and still being adjusted. Conversation usually only happens here early in the lifecycle of a bounty if the original specification is not clear enough. I imagine that it would be very straightforward to collect the full conversation history from the GitHub API and pass it in as context to ChatGPT. At minimum it should pass in the original specification (the original comment) for context on the question asked.

On a pull request

Pull requests usually are associated with an issue, which has a specification. It would be useful to pass in at minimum the issue specification, then the pull request entire conversation, then the issue entire conversation (if there's enough capacity)

I dont see a situation where a user needs to define which issue or pull request to pass in as arguments. This should be handled automatically based on the above list.

Feeding the current issue/pull conversation is easily done as is, I had it collecting previous answers it had posted for a specific user along with all of the relevant question but once I started new interactions it got messy. The only thing to consider if feeding an entire conversation into it with every call I think is token usage and costs in that sense.

I think you had a far more complex implementation in mind.

I think some more thought into it would be great mate I feel we are not really close to being on the same page with it at the moment, the bounds and objectives are a bit unclear for me at least.
No rush, I'm going to look at picking up something else in the meantime.

Seems like you haven't had great luck with the last two bounties so I want to try and rectify this. Usually bounties are pretty straightforward sorry about this!

https://api.github.com/repos/ubiquity/ubiquibot/issues/663/comments
Scrubbed:
[
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "netlify[bot]",
      "id": 40209326,
      "type": "Bot"
    },
    "created_at": "2023-08-23T16:40:21Z",
    "updated_at": "2023-08-25T19:50:48Z",
    "body": "### ❌ Deploy Preview for *ubiquibot-staging* failed.\n\n\n|  Name | Link |\n|:-:|------------------------|\n|🔨 Latest commit | 8e6b42b183dbff14c2d3bf63fb9cbbf066cf753e |\n|🔍 Latest deploy log | https://app.netlify.com/sites/ubiquibot-staging/deploys/64e905dee1b3550008d6b2d0 |"
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "pavlovcik",
      "id": 4975670,
      "type": "User"
    },
    "created_at": "2023-08-23T22:29:41Z",
    "updated_at": "2023-08-23T22:29:41Z",
    "body": "I have some concerns about this implementation. \n\nSince creating the task, ChatGPT rolled out the capability to share full conversations which has been pretty sufficient for this purpose. \n\nHowever in order to enhance the developer experience, we should automatically provide gpt4 with as much context as possible (it will be faster than manually copy pasting all of the relevant details into ChatGPT normally.)\n\nI know this isn't in the specification, my apologies. But the prompt you provided signals to me that the answers are low quality without all of the context, which makes this inferior to just going to ChatGPT directly and asking the question. "
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "Keyrxng",
      "id": 106303466,
      "type": "User"
    },
    "created_at": "2023-08-23T22:52:58Z",
    "updated_at": "2023-08-23T22:52:58Z",
    "body": "So when it comes to \"memory\", you have to keep in mind that this one instance will be running over all of the issues/repos. In order to feed the previous context we'd need to store each prompt, feeding it into the next so that gpt actually has context for a given interaction.\r\n\r\nAs for additional context, I tried to limit follow-ons and follow-ups because it's not possible to feed prompt after prompt into gpt effectively here I don't think unless you guys will have an openai key that can be aggressively ran as the fact that is, the bigger the input the more tokens which are used as input token size is priced in as well as output token size. So that sort of \"memory\" isn't cost effective long term.\r\n\r\nThe way I read the issue was this:\r\n\r\nYou are having a debate, discussion, pondering a problem, solution or idea and while you and team are all doing the heavy lifting maybe there's a one off question or one off need for inspiration then this solution is near perfect. You have all the context as you are debating the problem, solution whatever."
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "Keyrxng",
      "id": 106303466,
      "type": "User"
    },
    "created_at": "2023-08-23T23:06:54Z",
    "updated_at": "2023-08-23T23:06:54Z",
    "body": "@pavlovcik My backend is running right now and will be for the next 5 mins if you want to fire a few different tester queries at the current prompt setup on my repo but I'm happy to discuss and try to implement other setups.\r\n\r\nI recently placed 2nd in a hackathon for building an AI Therapist ChatBot, it had the sort of \"memory\" that you speak of but it was a lot easier as it was a single instance so there was never the possibility of previous context being confused as it would reset on window reload. \r\n\r\nThinking out loud: To store context, for each line of questioning for each user on each issue and track all of that would be hell.\r\n\r\nIs the /ask command supposed to be well-versed in all things UBQ/Web3 or is it just an easy route to GPT directly in issues? The latter obviously being a more generalized approach and I guess would infer it's own context like GPT does with near free reign and the other would have to be guard railed not to hallucinate it's own context like it often does in that sort of context."
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "pavlovcik",
      "id": 4975670,
      "type": "User"
    },
    "created_at": "2023-08-23T23:36:59Z",
    "updated_at": "2023-08-23T23:40:13Z"
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "Keyrxng",
      "id": 106303466,
      "type": "User"
    },
    "created_at": "2023-08-23T23:47:15Z",
    "updated_at": "2023-08-23T23:47:15Z",
    "body": "Hmm I'll have a think about it and try to set something up tomorrow.\r\n\r\nCan anyone use the /ask command?\r\n\r\nIs there a limit to questions per interaction?\r\n"
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "pavlovcik",
      "id": 4975670,
      "type": "User"
    },
    "created_at": "2023-08-24T00:09:06Z",
    "updated_at": "2023-08-24T00:09:55Z",
    "body": "In this implementation I had not considered limitations but it seems responsible. \n- We could check if they are added as a contributor to the repository/organization.\n- We also have a simple access control system built in (which might already be able to take care of this?) please see the code for `/allow` although it might only be for adding labels. \n- No limits for now, a contributor can keep asking. "
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "Keyrxng",
      "id": 106303466,
      "type": "User"
    },
    "created_at": "2023-08-25T20:07:36Z",
    "updated_at": "2023-08-25T20:08:39Z",
    "body": "https://github.com/Keyrxng/didactic-octo-train/issues/15\r\n\r\nSo the way things are at the moment:\r\n\r\ncommand = '/ask didactic-octo-train pull 16<PHONE_NUMBER> \"Provide some examples\"'\r\n\r\n- repoName\r\n- issue or pull\r\n- issue or pull number\r\n- commentID\r\n- question\r\n\r\nIf commentID is zero, it's a standalone single interaction with no previous context. \r\n\r\nIf it's defined then it's fed the original context and produces results, you could chain context together using the AI response commentID but it would be superficial as it would only have the context of that response but not your query verbatim.\r\n\r\nIs that sufficient or should it be possible to reference a comment on another issue or pull, and then chain together say 4 or 5 questions relating to that?\r\n\r\nThe trouble I'm having right now is trying to think of a way to allow for multiple users to create multiple chains of interactions all on the one issue but so far it's been pretty messy.\r\n\r\nI assume there will be multiple concurrent chains of interactions being run, the most rudimental way is what we have currently and it does the job but is it to spec?\r\n\r\nWould it be cleaner to allow multiple commentIDs to be passed in and we manually give it context from potentially a variety of sources? \r\n\r\nOr have the bot handle previous interactions on the issue or pull and try to find a way to distinguish the chain of interactions in amongst potentially multiple other user's interactions as well as potentially multiple single-user chains of interactions too?\r\n\r\nI need some perspective, cheers"
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "pavlovcik",
      "id": 4975670,
      "type": "User"
    },
    "created_at": "2023-08-25T21:29:07Z",
    "updated_at": "2023-08-25T21:29:07Z",
    "body": "I'm going to spend some time researching today by looking through the GitHub API docs and passing in the full conversation context JSON of a single pull request or issue. \n\nI imagine that the interface would only be:\n\n```\n/ask is it possible to implement the todo list with react hooks?\n```\n\nAnd ChatGPT would be able to read the full conversation leading up to that question before providing a response. \n\nI'll post back here later today. "
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "Keyrxng",
      "id": 106303466,
      "type": "User"
    },
    "created_at": "2023-08-25T21:43:10Z",
    "updated_at": "2023-08-25T21:43:10Z",
    "body": "So you are wanting to be able to traverse repos, issues and pulls and pull individual context from a comment onto a separate issue/pull and then feed the entire conversation object of the current issue/pull and not the context source?\r\n\r\nFeeding the current issue/pull conversation is easily done as is, I had it collecting previous answers it had posted for a specific user along with all of the relevant question but once I started new interactions it got messy. The only thing to consider if feeding an entire conversation into it with every call I think is token usage and costs in that sense.\r\n\r\nI think some more thought into it would be great mate I feel we are not really close to being on the same page with it at the moment, the bounds and objectives are a bit unclear for me at least. \r\n\r\nNo rush, I'm going to look at picking up something else in the meantime."
  },
  {
    "id":<PHONE_NUMBER>,
    "user": {
      "login": "pavlovcik",
      "id": 4975670,
      "type": "User"
    },
    "created_at": "2023-08-26T05:59:24Z",
    "updated_at": "2023-08-26T06:03:44Z",
    "body": "As a heads up I haven't had the chance to look into it yet. But, at the risk of veering a bit off topic, just so that you have perspective of what I have in mind for the future, I looked into https://github.com/ubiquity/telegram-ubiquibot/issues/20 which is a tool from Microsoft which allows you to store a whole repository in context for ChatGPT. This could probably be useful for a future version and extension (Telegram Chatbot version) of this command.\r\n\r\n> So you are wanting to be able to traverse repos, issues and pulls and pull individual context from a comment onto a \r\nseparate issue/pull and then feed the entire conversation object of the current issue/pull and not the context source?\r\n\r\nMore simple. There are two types of locations I anticipate the invocation of this command:\r\n1. On an issue\r\n  - Generally this is for when a bounty is being clarified and still being adjusted. Conversation usually only happens here early in the lifecycle of a bounty if the original specification is not clear enough. I imagine that it would be very straightforward to collect the full conversation history from the GitHub API and pass it in as context to ChatGPT. At minimum it should pass in the original specification (the original comment) for context on the question asked.\r\n2. On a pull request\r\n  - Pull requests usually are associated with an issue, which has a specification. It would be useful to pass in at minimum the issue specification, then the pull request entire conversation, then the issue entire conversation (if there's enough capacity)\r\n\r\nI dont see a situation where a user needs to define which issue or pull request to pass in as arguments. This should be handled automatically based on the instructions above. \r\n\r\n> Feeding the current issue/pull conversation is easily done as is, I had it collecting previous answers it had posted for a specific user along with all of the relevant question but once I started new interactions it got messy. The only thing to consider if feeding an entire conversation into it with every call I think is token usage and costs in that sense.\r\n\r\nI think you had a far more complex implementation in mind. \r\n\r\n> I think some more thought into it would be great mate I feel we are not really close to being on the same page with it at the moment, the bounds and objectives are a bit unclear for me at least.\r\n> \r\n> No rush, I'm going to look at picking up something else in the meantime.\r\n\r\nSeems like you haven't had great luck with the last two bounties so I want to try and rectify this. Usually bounties are pretty straightforward sorry about this!"
  }
]

Scrubbed bots and other metadata for super streamlined information:
[
  {
    "login": "pavlovcik",
    "body": "I have some concerns about this implementation. \n\nSince creating the task, ChatGPT rolled out the capability to share full conversations which has been pretty sufficient for this purpose. \n\nHowever in order to enhance the developer experience, we should automatically provide gpt4 with as much context as possible (it will be faster than manually copy pasting all of the relevant details into ChatGPT normally.)\n\nI know this isn't in the specification, my apologies. But the prompt you provided signals to me that the answers are low quality without all of the context, which makes this inferior to just going to ChatGPT directly and asking the question. "
  },
  {
    "login": "Keyrxng",
    "body": "So when it comes to \"memory\", you have to keep in mind that this one instance will be running over all of the issues/repos. In order to feed the previous context we'd need to store each prompt, feeding it into the next so that gpt actually has context for a given interaction.\r\n\r\nAs for additional context, I tried to limit follow-ons and follow-ups because it's not possible to feed prompt after prompt into gpt effectively here I don't think unless you guys will have an openai key that can be aggressively ran as the fact that is, the bigger the input the more tokens which are used as input token size is priced in as well as output token size. So that sort of \"memory\" isn't cost effective long term.\r\n\r\nThe way I read the issue was this:\r\n\r\nYou are having a debate, discussion, pondering a problem, solution or idea and while you and team are all doing the heavy lifting maybe there's a one off question or one off need for inspiration then this solution is near perfect. You have all the context as you are debating the problem, solution whatever."
  },
  {
    "login": "Keyrxng",
    "body": "@pavlovcik My backend is running right now and will be for the next 5 mins if you want to fire a few different tester queries at the current prompt setup on my repo but I'm happy to discuss and try to implement other setups.\r\n\r\nI recently placed 2nd in a hackathon for building an AI Therapist ChatBot, it had the sort of \"memory\" that you speak of but it was a lot easier as it was a single instance so there was never the possibility of previous context being confused as it would reset on window reload. \r\n\r\nThinking out loud: To store context, for each line of questioning for each user on each issue and track all of that would be hell.\r\n\r\nIs the /ask command supposed to be well-versed in all things UBQ/Web3 or is it just an easy route to GPT directly in issues? The latter obviously being a more generalized approach and I guess would infer it's own context like GPT does with near free reign and the other would have to be guard railed not to hallucinate it's own context like it often does in that sort of context."
  },
  {
    "login": "pavlovcik",
  },
  {
    "login": "Keyrxng",
    "body": "Hmm I'll have a think about it and try to set something up tomorrow.\r\n\r\nCan anyone use the /ask command?\r\n\r\nIs there a limit to questions per interaction?\r\n"
  },
  {
    "login": "pavlovcik",
    "body": "In this implementation I had not considered limitations but it seems responsible. \n- We could check if they are added as a contributor to the repository/organization.\n- We also have a simple access control system built in (which might already be able to take care of this?) please see the code for `/allow` although it might only be for adding labels. \n- No limits for now, a contributor can keep asking. "
  },
  {
    "login": "Keyrxng",
    "body": "https://github.com/Keyrxng/didactic-octo-train/issues/15\r\n\r\nSo the way things are at the moment:\r\n\r\ncommand = '/ask didactic-octo-train pull 16<PHONE_NUMBER> \"Provide some examples\"'\r\n\r\n- repoName\r\n- issue or pull\r\n- issue or pull number\r\n- commentID\r\n- question\r\n\r\nIf commentID is zero, it's a standalone single interaction with no previous context. \r\n\r\nIf it's defined then it's fed the original context and produces results, you could chain context together using the AI response commentID but it would be superficial as it would only have the context of that response but not your query verbatim.\r\n\r\nIs that sufficient or should it be possible to reference a comment on another issue or pull, and then chain together say 4 or 5 questions relating to that?\r\n\r\nThe trouble I'm having right now is trying to think of a way to allow for multiple users to create multiple chains of interactions all on the one issue but so far it's been pretty messy.\r\n\r\nI assume there will be multiple concurrent chains of interactions being run, the most rudimental way is what we have currently and it does the job but is it to spec?\r\n\r\nWould it be cleaner to allow multiple commentIDs to be passed in and we manually give it context from potentially a variety of sources? \r\n\r\nOr have the bot handle previous interactions on the issue or pull and try to find a way to distinguish the chain of interactions in amongst potentially multiple other user's interactions as well as potentially multiple single-user chains of interactions too?\r\n\r\nI need some perspective, cheers"
  },
  {
    "login": "pavlovcik",
    "body": "I'm going to spend some time researching today by looking through the GitHub API docs and passing in the full conversation context JSON of a single pull request or issue. \n\nI imagine that the interface would only be:\n\n```\n/ask is it possible to implement the todo list with react hooks?\n```\n\nAnd ChatGPT would be able to read the full conversation leading up to that question before providing a response. \n\nI'll post back here later today. "
  },
  {
    "login": "Keyrxng",
    "body": "So you are wanting to be able to traverse repos, issues and pulls and pull individual context from a comment onto a separate issue/pull and then feed the entire conversation object of the current issue/pull and not the context source?\r\n\r\nFeeding the current issue/pull conversation is easily done as is, I had it collecting previous answers it had posted for a specific user along with all of the relevant question but once I started new interactions it got messy. The only thing to consider if feeding an entire conversation into it with every call I think is token usage and costs in that sense.\r\n\r\nI think some more thought into it would be great mate I feel we are not really close to being on the same page with it at the moment, the bounds and objectives are a bit unclear for me at least. \r\n\r\nNo rush, I'm going to look at picking up something else in the meantime."
  },
  {
    "login": "pavlovcik",
    "body": "As a heads up I haven't had the chance to look into it yet. But, at the risk of veering a bit off topic, just so that you have perspective of what I have in mind for the future, I looked into https://github.com/ubiquity/telegram-ubiquibot/issues/20 which is a tool from Microsoft which allows you to store a whole repository in context for ChatGPT. This could probably be useful for a future version and extension (Telegram Chatbot version) of this command.\r\n\r\n> So you are wanting to be able to traverse repos, issues and pulls and pull individual context from a comment onto a \r\nseparate issue/pull and then feed the entire conversation object of the current issue/pull and not the context source?\r\n\r\nMore simple. There are two types of locations I anticipate the invocation of this command:\r\n1. On an issue\r\n  - Generally this is for when a bounty is being clarified and still being adjusted. Conversation usually only happens here early in the lifecycle of a bounty if the original specification is not clear enough. I imagine that it would be very straightforward to collect the full conversation history from the GitHub API and pass it in as context to ChatGPT. At minimum it should pass in the original specification (the original comment) for context on the question asked.\r\n2. On a pull request\r\n  - Pull requests usually are associated with an issue, which has a specification. It would be useful to pass in at minimum the issue specification, then the pull request entire conversation, then the issue entire conversation (if there's enough capacity)\r\n\r\nI dont see a situation where a user needs to define which issue or pull request to pass in as arguments. This should be handled automatically based on the instructions above. \r\n\r\n> Feeding the current issue/pull conversation is easily done as is, I had it collecting previous answers it had posted for a specific user along with all of the relevant question but once I started new interactions it got messy. The only thing to consider if feeding an entire conversation into it with every call I think is token usage and costs in that sense.\r\n\r\nI think you had a far more complex implementation in mind. \r\n\r\n> I think some more thought into it would be great mate I feel we are not really close to being on the same page with it at the moment, the bounds and objectives are a bit unclear for me at least.\r\n> \r\n> No rush, I'm going to look at picking up something else in the meantime.\r\n\r\nSeems like you haven't had great luck with the last two bounties so I want to try and rectify this. Usually bounties are pretty straightforward sorry about this!"
  }
]

Seems like you haven't had great luck with the last two bounties so I want to try and rectify this. Usually bounties are pretty straightforward sorry about this!

Nothing to apologise for mate, I'm having a great time and it's been a smooth experience the whole way. Can't expect to go from A-Z without friction on every bounty and anyone who does has lost it but I appreciate it, cheers!
I'm following you much better now but I'm still a bit unsure how you want to grab original context from another issue or pull request that may be in another repo without passing in an identifier for it either the repo or pr/issue number?  Am I missing something lmao, is every single fresh issue or pr that is opened guaranteed to have a backlink to original context? What if the original context isn't where the hashtag url points to, how do we then locate it with only passing in the question body?
I'm just thinking that as you said it's typically at the beginning of the life cycle but if it's the case it's used much further down the line on juicy threads we'll max our token usage, unless you plan on running the 32k token api which I doubt could be maxed based on only using it at the beginning of life cycles as it's ~6k vs ~24k words.
"...where 1,000 tokens is about 750 words. "

Model
Input
Output

8K context
$0.03 / 1K tokens
$0.06 / 1K tokens

32K context
$0.06 / 1K tokens
$0.12 / 1K tokens

but I'm still a bit unsure how you want to grab original context from another issue or pull request that may be in another repo without passing in an identifier for it either the repo or pr/issue number?

https://github.com/ubiquity/ubiquibot/pull/657/files#diff-0031f10c8304cb81d02e83ba1b26c8f9273cc02fea992e27df58ea2abc63074eR29-R57
@wannacfuture not sure if you have anything to add

Looking at your enhanced scrubbing, have I only to add comments from users or should I also include any gpt responses in the streamlined conversation?
So I'm thinking, we don't have to declare issue or pull as the counter is shared between them for any one repo and we have current repo context so we can ID it as a pull or an issue and we have the current issue/repo number.
If it's a PR then it'll have a backlink to the context issue which may be on another repo, so we grab the entire conversation and feed that to gpt.
So that leaves identifying a specific comment & context that is on a different repo without passing in the repoName and isn't called from a PR with a backlink.
Idk but would it be impractical (possible even?) to loop all repos, all issues and pulls for all comments and match the passed in commentID?
Without a comment ID I don't see a way to ID a comment that is sent from any user arbitrarily numbered and located within it's own issue/pull and potentially on another repo unless called from within a PR.
And without a repoName then when called within an issue it'll only be able to fetch the current repo's issue and pull comments.
ubiquity/ubiquibot/pull/663#issuecomment-1694355778
ubiquity/ubiquity-dollar/issues/728#issuecomment-1628379186

/*
 Called from an issue: grabs specific comment, that convo as well as current convo
 Called from a pull: grabs specific comment, that convo, the hashtag convo and current convo
*/
/ask<PHONE_NUMBER> "provide some examples"

/*
 Called from an issue: only grabs the current issue convo as context
 Called from a pull: uses hashtag url to grab issue convo as well as current
*/
/ask 0 "an error is occurring due to... how would you approach this?"

^ I can't find any docs on whether or not commentIDs are unique across various repos within an org/acc or if there is a collision issue there potentially with that approach of looping of all repos, their issues and pulls and their comments. I'm hoping you guys might know more. As I'm thinking it may happen even when called from within any scenario just passing in the commentID, if both are true then I think we'll need all three: repoName, issue/pull ID & commentID.
I'm probably wrong so looking forward to any more insight.

Looking at your enhanced scrubbing, have I only to add comments from users or should I also include any gpt responses in the streamlined conversation?

It's a good idea to preserve the ChatGPT replies for context as well.

So I'm thinking, we don't have to declare issue or pull as the counter is shared between them for any one repo and we have current repo context so we can ID it as a pull or an issue and we have the current issue/repo number.

I don't follow

If it's a PR then it'll have a backlink to the context issue which may be on another repo, so we grab the entire conversation and feed that to gpt.

Yes sounds good.

So that leaves identifying a specific comment & context that is on a different repo without passing in the repoName and isn't called from a PR with a backlink.

If the users comment is saved in the json object that represents the conversation context, I don't see why our bot needs to know the comment node ID. There isn't a reason for the bot to edit the comment.

Idk but would it be impractical (possible even?) to loop all repos, all issues and pulls for all comments and match the passed in commentID?
Without a comment ID I don't see a way to ID a comment that is sent from any user arbitrarily numbered and located within it's own issue/pull and potentially on another repo unless called from within a PR.
And without a repoName then when called within an issue it'll only be able to fetch the current repo's issue and pull comments.

ubiquity/ubiquibot/pull/663#issuecomment-1694355778

ubiquity/ubiquity-dollar/issues/728#issuecomment-1628379186

/*

 Called from an issue: grabs specific comment, that convo as well as current convo

 Called from a pull: grabs specific comment, that convo, the hashtag convo and current convo

*/

/ask<PHONE_NUMBER> "provide some examples"

/*

 Called from an issue: only grabs the current issue convo as context

 Called from a pull: uses hashtag url to grab issue convo as well as current

*/

/ask 0 "an error is occurring due to... how would you approach this?"

^ I can't find any docs on whether or not commentIDs are unique across various repos within an org/acc or if there is a collision issue there potentially with that approach of looping of all repos, their issues and pulls and their comments. I'm hoping you guys might know more. As I'm thinking it may happen even when called from within any scenario just passing in the commentID, if both are true then I think we'll need all three: repoName, issue/pull ID & commentID.
I'm probably wrong so looking forward to any more insight.

The only interface is "/ask question"
Any other parameters should be automatically inferred. If you want to ask a question based on another users input, just like using normal ChatGPT you repeat the input and ask the question.

Fact check example
Issue pulling context from other issue example
PR pulling context from issue example
Sort of difficult for me to test lots of users engaging in chat and create mock issues that are representative of actual issues but what are your thoughts on this?

Fact check example
Issue pulling context from other issue example
PR pulling context from issue example
Sort of difficult for me to test lots of users engaging in chat and create mock issues that are representative of actual issues but what are your thoughts on this?

The examples are cool and helpful thanks for sharing them. Can you remove the "answered" prefix?
It would be really useful if I could test in a real world situation (a repo with several real contributors)

Great stuff, although the prefix makes it much easier to grab the responses from the bot that are actually gpt responses, can it be prefixed with something else instead, UbuiquityAI, UBQ-AI, idk? I'm streamlining the chats and removing all bot comments besides the gpt response and it's hard to distinguish one from the other without an identifier of sorts. Open to ideas to work around it otherwise.
      if (comment.user.type == UserType.User || comment.body.includes("Answered:") == true) {

I mean unless you can arrange for one of my issues to get swamped I doubt it's possible like you say.
Sure, I'll use this bounty as the example once we clear up this identifier issue above.

The internal chat message is identified via name but not when read as a comment from github ofc
chatHistory:  [
  {
    role: 'system',
    content: 'You are the UbiquityAI, designed to provide accurate technical answers. \n' +
      '\n' +
      'Whenever appropriate, format your response using GitHub Flavored Markdown. Utilize tables, lists, and code blocks for clear and organized answers. \n' +
      '\n' +
      'Do not make up answers. If you are unsure, say so. \n' +
      '\n' +
      'Original Context exists only to provide you with additional information to the current question, use it to formulate answers. \n' +
      '\n' +
      'Infer the context of the question from the Original Context using your best judgement. \n' +
      '\n' +
      'All replies MUST begin "Answered: " followed by your response. \n' +
      '\n',
    name: 'UbiquityAI'
  },
  {
    role: 'system',
    content: `Original Context: [
    {"login":"Keyrxng","body":"The current manual steps are in the initial setup..."},
    {"login":"KxyChain","body":"A couple of clarifications.\\r\\n\\r\\nIs a new Private Key..."},
    {"login":"Keyrxng","body":"> Is a new Private Key being generated only once? Or is a new one..."}]`,
    name: 'UbiquityAI'
  },
  {
    role: 'user',
    content: `Question: [
    {"login":"Keyrxng","body":"/ask consider the context and think of an alternative automated solution"},
    {"login":"ubqbot[bot]","body":"Answered: One alternative automated solution....."},
    {"login":"KxyChain","body":"I think this new approach is solid but have we considered the security implications of this?"},
    {"login":"Keyrxng","body":"/ask KxyChain makes a good point, what do you think?"},
    {"login":"ubqbot[bot]","body":"Answered: When considering the...."},
    {"login":"Keyrxng","body":"/ask show me the logs"}]`,
    name: 'user'
  }

Another idea we explored is adding metadata in an html comment inside of a comment source code markdown.
We need to still figure a global standard schema but we can iterate towards it.

Consider this approach because it does not render when viewing the comment.
Be sure to return the raw response of the comment to receive the metadata.

I would like to see a better pull request example with a real specification as the issue description to see if we can ask about if the pull request achieves the spec etc.

I've been trying to think of the best way to do this. In order for the AI to be accurate it would need more context than just spec & pr comments but I guess just passing it the changed & unchanged files would work for trivial - mid issues but those that require a deep understanding of the codebase would suck probs. Any thoughts on this?
I've been reading through the rest of the AI plans and related issues . Is it still the case you are not interested in using a vectordb, not even the Supabase one or are you thinking it's the right thing to do? I saw you mentioned it here
I saw also that you were against Langchain for production, have you pivoted on that yet?
If you did decide to work with Supabase vectordb for instance, it would make quite a few issues a bit easier I'm thinking. With each repo you could use Langchain's GithubRepoLoader once per repo to easily index every file for that repo, create the embeddings and save it to Supa. This would allow easy semantic searching for every repo as well as original spec vs implemented pr changes, easy "how do I setup?" questions as it knows every file and doc in the repo.
You'd ofc be able to do the same with issue similarity but has already been worked around without it.
With agents they'd be able to pick and choose which repo vector to work with if say, individual AI trained agent assistants for the team got rolled out their agent would be able to answer questions about the entire protocol codebase with extreme precision by having access to every set of embeddings through supa which could be extended also to the ask command as well maybe.
Plus the intercepting of prs that don't meet the spec is much more manageable.

Another idea we explored is adding metadata in an html comment inside of a comment source code markdown.
We need to still figure a global standard schema but we can iterate towards it.

Consider this approach because it does not render when viewing the comment.
Be sure to return the raw response of the comment to receive the metadata.

That is very interesting, I'll give this a whirl

Issue spec vs pr first run
What are your thoughts?

Hey @Keyrxng my apologies on the slow response. This feature is really interesting and I want to contribute research and reviewing time but I'm at a conference until next week with almost no time on GitHub. @rndquu is filling in for me in the interim!

So as a part of this issue a new /ask command should've been added.
When user comments with /ask question then:

The bot grabs issue description
The bot grabs issue comments
The bot grabs comments from a related PR
The bot calls openapi API with the question providing necessary context (issue description, issue comments, PR comments)

@Keyrxng Is it implemented this way?

It sure it mate yes, I believe we've achieved the spec here with this one.

@rndquu when I'm resolving conflicts and I resolve them them it asks me to commit merge. Is that committing to this pr or merging into the working branch?
Other CI issues resolved

@rndquu when I'm resolving conflicts and I resolve them it asks me to commit merge. Is that committing to this pr or merging into the working branch?
Other CI issues resolved

I suppose you mean resolving conflicts via github UI. It is committing to the current PR.

As far as I understand issue and PR comments should be combined together in a chat history and passed to the openai API

    '\n',
    name: 'UbiquityAI'
  },
  { role: 'system', content: 'Original Context: []', name: 'system' },
  {
    role: 'user',
    content: 'Question: [{"login":"Keyrxng","body":"We need to

When called from within an issue, the only way to fill "original context" is for there to be a hashtag url in the issue body, which yours does not so it's only passing in the current issue conversation, just like my log above ^.
   '\n',
    name: 'UbiquityAI'
  },
  {
    role: 'system',
    content: 'Original Context: [{"login":"Keyrxng","body":"We need to update the counter smart contract and make it UUPS upgradeable and then update the wagmi config and remove unused networks.\\r\\n\\r\\nTake Counter.sol and implement UUPS upgradeable proxy pattern, initialize the counter starting at 5.\\r\\n\\r\\nWrite a foundry deployment script and a test suite proving logic function and upgradeability."},{"login":"Keyrxng","body":"/ask what are your thoughts on implementing this?"}]',
    name: 'system'
  },
  {
    role: 'user',
    content: 'Question: [{"login":"Keyrxng","body":"Resolves #38

When called within a pr it'll use the hashtag to fetch the issue context and feed that as "Original Context:"  then it'll pass in the PR comments as part of "Question:"
Your PR does have a link back to the issue but I'm unsure why it hasn't fetched those comments like mine has.
The only difference between my logs and yours, I assume is that when linking the issue you used square brackets and parenthesis to set the url which is why your logs show as
resolves https://github.com/rndquu-org/test-repo/issues/34"
while mine show as
Resolves #38
I know that I used the hashtag and auto link feature where it auto populates with the issues for the repo, I'm just guessing here thats how you set yours up?

I know that I used the hashtag and auto link feature where it auto populates with the issues for the repo, I'm just guessing here thats how you set yours up?

I simply typed in "resolves" and pasted the issue URL

I know that I used the hashtag and auto link feature where it auto populates with the issues for the repo, I'm just guessing here thats how you set yours up?

I simply typed in "resolves" and pasted the issue URL

ah okay, that'll be why then.
I see that some things in the org are structured to have a defined format such as the "Resolves" being a core part of the bot's functionality, were do you draw the line on imposing certain structures and formats to those who use the bot in the end?
Clear example of different strokes for different folks. I had considered different approaches for URL fetching but some issue's are opened with multiple linkbacks so I felt this was the best approach, so should it be made to cover cases like your own where you paste the url like you have and also for '' approach too?

I know that I used the hashtag and auto link feature where it auto populates with the issues for the repo, I'm just guessing here thats how you set yours up?

I simply typed in "resolves" and pasted the issue URL

ah okay, that'll be why then.
I see that some things in the org are structured to have a defined format such as the "Resolves" being a core part of the bot's functionality, were do you draw the line on imposing certain structures and formats to those who use the bot in the end?
Clear example of different strokes for different folks. I had considered different approaches for URL fetching but some issue's are opened with multiple linkbacks so I felt this was the best approach, so should it be made to cover cases like your own where you paste the url like you have and also for square brackets & parenthesis approach too?

For the 1st feature iteration we should just make sure that the chat history (issue description + issue comments + PR comments) are sent to the openai API. How should I change this PR to make sure that the full chat history is sent?

If I'm correct you should only need to update your issue body comment and remove the URL and hashtag then just type the hashtag and click on the issue you want to link when it auto populates

Here during openai init?

You'd place it into the call, I'm sure the OpenAi API you init with the token limit whereas we are using the sdk here
  const res: OpenAI.Chat.Completions.ChatCompletion = await openAI.chat.completions.create({
    messages: chatHistory,
    model: "gpt-3.5-turbo",
    max_tokens: DEFAULT_TOKEN_LIMIT
  });

I've used the gpt-3.5-turbo-16k api and the pricing for that is the following:

16K context
$0.003 / 1K tokens
$0.004 / 1K tokens

I've set the default to be 4k and the default-config to be 8k. Is the 4k DEFAULT_TOKEN_LIMIT redundant I couldn't decide so I left it

I see that some things in the org are structured to have a defined format such as the "Resolves" being a core part of the bot's functionality,

No we should not rely on the closing keyword because this is an opinionated way to link the issue that is only really relevant for our repositories.
This bot is intended to work in any DAO repository.
In some other features we scrape from the sidebar the linked issue. This approach seems more robust because of two reasons:

It is possible to link the issue using the GitHub UI and with no closing keywords.
This allows for any closing keyword.

Please look for that in the codebase and reuse that function. If I recall correctly it was @wannacfuture or @whilefoo that implemented that function somewhere.

I'm sure it'll be easy enough to find a regex solution to parse any referenced issue from the issue or pr body no matter the method whether its pasting the url, using square brackets or just hashtag.
Will push it to the pr shortly

PR Review https://github.com/Keyrxng/UbiquityBotTesting/pull/41#issuecomment-1712681200

Ask multi-context handling https://github.com/Keyrxng/UbiquityBotTesting/issues/42

[x] I have split the pr review and ask command into two separate functions. It would be cool to run the pr review when a draft pr is ready for review.

[x] I have added a helper function that will parse all issue/pull links out of an issue or pr body and then return the entire conversational object for each.

[x] We now make three calls to OpenAI to perform a PR review.

[x] We now make two calls to ask any question.

Both will pass the entire relevant context history to Chad and allow him to deduce what context is relevant.
/ask pr-review will make an additional call that enables it to work with the initial response and improve it.

I fell down a rabbit hole big time today.
Chad was telling me it really needed the entire repo to perform better, I managed to get the entire repo embedded and was able to work with similarity search and was demoing it with the pr review which was working to a reasonable degree for a couple of hours of messing but it involved an additional 3 dependencies, a structured way to label repo file metadata for better indexing for each repo which is far too much for this spec but something like decideContextGPT() would make that a lot easier.
I think I'll build some lowkey mvp of what I have in mind and see where the chips land with it.

/ask pr-review

This should be automatically determined based on if /ask is being invoked from a pull request. Please don't introduce any parameters in the command.

/ask pr-review

This should be automatically determined based on if /ask is being invoked from a pull request. Please don't introduce any parameters in the command.

So the way I had it originally was that the first comment on the PR would activate the review and then it wouldn't do it again unless the previous review was deleted from the comments, otherwise it'll try to review on every comment placed on a PR.
I used just /ask review but of course if any question starts with review it breaks, in multicontext I tried to ask review the linked issues and it performs the review and not the question.
So would you prefer that I went back to the first iteration where it will review after the first comment and then disable further reviews while that review still exists as a comment and if you want another you delete the old one and ask a question? Keeping in mind in this approach with the current setup, that'll be 5 calls to OpenAI as 3 for the review and then it will continue to ask the question as well. There's no guarantee that the review will come back first so the question may not also have the review comment context if you even want to pass that into the questioning context.
example -
First comment on new PR: /ask review this pr
As it's the first comment it'll perform a review and post that while also trying to answer the question 'review this pr' which will have access to all of the same context the review had other than the diff. In my experiments it was typically on par with the review itself but there were occasional discrepancies between the two.

I think that /review should be a separate command that looks at the code.
/ask just looks at the conversation. I'm not sure if passing in the code is necessary (this was not in my original vision) but I suppose that the more context it has, the better.

I think that /review should be a separate command that looks at the specification, and the code diff.
/ask just looks at the conversation. I'm not sure if passing in the code is necessary (this was not in my original vision) but I suppose that the more context it has, the better.

So I should add /review as a command? It'll be passed all of the same context, full PR and all linked issues or other PRs and it'll decide which context is most relevant relating to the spec, essentially just the way things are right now but check for /review instead of /ask review? Am I following?
Yeah so the way things are now ask is only passed conversational context, spec etc. I did try it passing in the diff as well but with large PRs it'll eat up way too many tokens

I think that /review should be a separate command that looks at the specification, and the code diff.
/ask just looks at the conversation. I'm not sure if passing in the code is necessary (this was not in my original vision) but I suppose that the more context it has, the better.

So I should add /review as a command? It'll be passed all of the same context, full PR and all linked issues or other PRs and it'll decide which context is most relevant relating to the spec, essentially just the way things are right now but check for /review instead of /ask review? Am I following?
Yeah so the way things are now ask is only passed conversational context, spec etc. I did try it passing in the diff as well but with large PRs it'll eat up way too many tokens

Yes I think technically speaking I should open a new bounty for /review to credit your work. Ideally if you can cherry pick your code and associate a direct pull request with only the /ask feature and then create a new pull request with only /review features

So the way I had it originally was that the first comment on the PR would activate the review and then it wouldn't do it again

At first glance your approach seems nice to have, but realistically several rounds of reviews usually occur. In this case, it would be good to let reviewers manually invoke this command when they want extra eyes on the diff.

I've placed the base ask call to GPT as well as the context decision call into /helpers/gpt as these functions will be shared across /ask and /review and I expect more in the future.

@Keyrxng If there is no linked PR in an issue then there is an error, pls fix
Overall the PR solves the original issue, we should move all other related enhancements (/review, better parsing Resolves #1, spec check) to another issue because it's starting to be hard to follow the conversation history

'review' has been stripped and I tried to do my best with splitting things, let me know of anything else specifically mate

@Keyrxng Is this error fixed? I mean the /ask command should work if there are no linked PRs

Keyrxng Is this error fixed? I mean the /ask command should work if there are no linked PRs

Error getting linked issues or prs: No body found for issue: 42
https://github.com/Keyrxng/UbiquityBotTesting/issues/44#issuecomment-1719080540
Sure is mate, I accidentally returned instead of logging that nothing could be found

To merge the PR, 1/ We should create an openai-api-key. 2/ Open config-related PRs in ubiquity and ubiquibot org with the openai-api-key. @rndquu would you open PRs once we get the key?

Yes, I just need the key :)

Yes, I just need the key :)

Sure. I am handling it with pavlovcik, will keep you updated in dm

Hey guys, I shared a key to both of you. What's the status with merging this in?


JF17 - MRK light not synced

Hi, when starting a quick mission "free flight" with the Jeff, the MRK light on the button is always ON on the iPad app despite the actual state of the MRK ingame.

See pull request in iUFCExport-LuaScript


Initial commit for Babelfish v3.8

Description

Add version info and upgrade test for 14.13 and 15.8.
Add upgrade schedule file for 14.14 and 15.8.
Update T-SQL extension version to 3.8.0 and add following upgrade scripts:

babelfishpg_tsql--3.7.0--3.8.0.sql.
babelfishpg_tsql--2.11.0--3.0.0.sql (Duplicate of babelfishpg_tsql--2.10.0--3.0.0.sql).

Signed-off-by: Rishabh Tanwar<EMAIL_ADDRESS>Test Scenarios Covered

Use case based -

Boundary conditions -

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 73.481%

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
42536

Relevant Lines:
57887

💛  - Coveralls


Add support for accelerators and reorganize device abstraction

Removing "device client" abstraction.

My other PR (#36) got accidentally closed while messing with the branch on my fork. Opening a new PR:
Previous thread comment:
Replaced T3 with D2. Put LD back in.
Leaving T1 and T2 as "reserved" until clarification from future spec revisions.


Manipulating an existing XML document

First up, thanks @manoelcampos for creating such an awesome Lua extension - very much appreciated!
I'm currently investigating a way to import an existing XML document a (FCPXML document from Apple's Final Cut Pro), manipulate it in Lua-land, then export out a new document.
For now though, I'm having issues making the output match the input.
Here's the example XML document I'm using.
Here's the basic test code I'm using:
local xml2lua = require("xml2lua.xml2lua")
local handler = require("xml2lua.xmlhandler.tree")
local xml = xml2lua.loadFile("/Users/chrishocking/Desktop/Test Project.fcpxml")
local parser = xml2lua.parser(handler)
parser:parse(xml)
print(xml2lua.toXml(handler.root.fcpxml, "fcpxml"))

Here's the output:
<fcpxml>
<fcpxml>
  <library>
<3>
<event>
<2>
<project>
<2>
<_attr>
<2>
<name>Test Project</name>
<uid>1CE43CBF-B3AC-4AB6-BB9E-13F2D9F87BE8</uid>
<modDate>2020-04-07 17:16:18 +1000</modDate>
</2>

</_attr>
<sequence>
<3>
<_attr>
<2>
<tcStart>0s</tcStart>
<tcFormat>NDF</tcFormat>
<audioRate>48k</audioRate>
<format>r1</format>
<duration>250300/2500s</duration>
<audioLayout>stereo</audioLayout>
</2>

...
</resources>
</fcpxml>

Any ideas what's going wrong? Thanks in advance!

Hello @latenitefilms
I appreciate the library is being useful.
Unfortunately, I'm afraid your XML is too large and I don't have time to check it.
Check the section "Converting a Lua Table to an XML String" in the README and see if it works.
Stay safe.

The way it prints doesn't match the XML structure, but the Lua table structure. If you try to convert from Lua do XML again, it may work.

No worries at all @manoelcampos!
Sadly I wasn't able to get it work the way I needed after playing around and reviewing the examples, documentation and code itself, so have gone with another solution, so all good.
Thanks for the fast response!

Hey @latenitefilms
Check the latest release and PR #40.
Maybe it fixes your issue.


[AutoDiff] Move Differentiation before OwnershipModelEliminator.

Moves Differentiation before OwnershipModelEliminator. Now Differentiation happens right after DefiniteInitialization.
Changes
Activity analysis

Propagate usefulness and variedness through store_borrow instructions.
Fix a bug where standard usefulness does not get propagated if the instruction goes through the mayReadFromMemory() case. Remove special handling mayReadFromMemory() and propagate usefulness through all buffer operands instead.
Handle destructure_tuple instead of tuple_extract in array literal initialization pattern matcher.

autodiff_function canonicalization

Rewrite argument cloning logic as copyParameterArgumentsForApply, used in reapplyFunctionConversions and the curry thunk cloning logic in ADContext::promoteToDifferentiableFunction.

VJPEmitter

Each @guaranteed trampoline argument needs to have a lifetime-ending use past its destination argument's lifetime-ending uses, so we keep track of these pairs of arguments in trampolinedGuaranteedPhiArguments and emit end_borrows when function cloning is finished.
Create trampoline blocks for cond_br instructions to conform to ownership rules.

PullbackEmitter

Make pullback struct arguments have @owned ownership, for both function arguments and phi arguments.
Make all other phi arguments also have @owned ownership.

Note: Linear maps get evaluated linearly, so all values should get consumed immediately when a pullback is called. This is not the case yet since pullback functions have @guaranteed arguments. We should change this in the future so that all calls to pullbacks consume their arguments. (TF-761)

Emit a switch_enum even if there is only one successor. It no longer triggers any verification failure.
• Remove the TF-585 workaround (emitting a fix_lifetime on boxed enums) since the crasher in AllocBoxToStack is no longer reproducible.
Handle destructure_tuple instead of tuple_extract in array literal initialization adjoint emission logic.
Add pullback emission visitors for destructure_tuple, load_borrow, store_borrow, copy_value, and begin_borrow.

Resolves TF-709 and TF-585. Also improves some source locations in diagnostics since the differentiation transform runs on a higher-level IR.

@rxwei question. How many bugs have you guys found so far through this? 3?

@gottesmm More than 5 and counting :)

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow

@swift-ci please test tensorflow


[Icon Launcher] Swipe to exit enable via settings

@halemmerich
Add functionality swipe to exit to clock and setting to enable it (disabled by default).
This conflicts with another open PR - I'll adjust this PR once the other one is merged.

Thanks! That PR should be merged now? The only conflict seems to be the ChangeLog? If that's the case I can tweak that here

@gfwilliams sure! If that's all that conflicts please do!

Great! Just merging - I'm keeping the version the same as it was only bumped about 30 minutes ago :)


Motivation and context
We saw in the last Kraken that it was sometimes necessary to run the Molecule testing job under Ubuntu 20.04, since Amazon Linux 2 has such an ancient version of SystemD (219) that it cannot cope with cgroups v2.  Making this change would obviate the need to run those jobs under the older GitHub Actions runner OS.
Amazon Linux 2023 was released on March 15, 2023.
This change will also allow us to unpin the GitHub Actions runner OS for the test job on the following repos:

cisagov/ansible-role-amazon-efs-utils
cisagov/ansible-role-amazon-ssm-agent
cisagov/ansible-role-automated-security-updates
cisagov/ansible-role-cdm-nessus-agent
cisagov/ansible-role-cdm-tanium-client
cisagov/ansible-role-cloudwatch-agent
cisagov/ansible-role-chrony-aws
cisagov/ansible-role-libselinux-python
cisagov/ansible-role-samba
cisagov/ansible-role-vnc-server

@geerlingguy has not yet created a SystemD-enabled Docker image for Amazon Linux 2022, presumably because it hasn't been officially released yet.  We should either wait for that or create our own Docker image to use in the interim.

https://hub.docker.com/repository/docker/geerlingguy/docker-amazonlinux2022-ansible ;)

https://hub.docker.com/repository/docker/geerlingguy/docker-amazonlinux2022-ansible ;)

Whoa!  Thanks @geerlingguy!

Checklist to allow me to track the status of changing GitHub Actions runner OS for the test job:
[ ] cisagov/ansible-role-amazon-efs-utils
[x] cisagov/ansible-role-amazon-ssm-agent
[ ] cisagov/ansible-role-automated-security-updates
[ ] cisagov/ansible-role-cdm-nessus-agent
[ ] cisagov/ansible-role-cdm-tanium-client
[ ] cisagov/ansible-role-cloudwatch-agent
[ ] cisagov/ansible-role-chrony-aws
[ ] cisagov/ansible-role-libselinux-python
[ ] cisagov/ansible-role-samba
[ ] cisagov/ansible-role-vnc-server

The move to Amazon Linux 2023 was done in #133.  I am currently in the process of updating the GitHub Actions runner OS for the test job where necessary.

The move to Amazon Linux 2023 was done in #133. I am currently in the process of updating the GitHub Actions runner OS for the test job where necessary.

This is now done.  I am just waiting for the PRs to be merged and then I can close this issue.


No comments section

I like this template and I was disappointed when I found there was no comments section on the single post page. :(

Upvote, a good idea!

You can always add disqus to your blog.

Since this theme is meant to be used as a static blogging option, we're going to hold off on adding a comments section since I feel that it will be more often removed than used by most end users. Disqus is a great option for some comments on this theme (which I have utilized in the past).
To create a custom comments section, you can start with the Bootstrap form component and then go from there. A few buttons and static text to show previously left comments, perhaps housed within the card element, should work just fine for this purpose. Hopefully this helps!


Updat main brach

Pre-Checklist
Note: please complete ALL items in the following checklist.

[ ] I have read through the CONTRIBUTING.md documentation.
[ ] My code has the necessary comments and documentation (if needed).
[ ] I have added relevant tests

Description

Related Issues

New Behavior (screenshots if needed)

Missing comment


[improve][test] Enable IO/HDFS tests that pass locally

Also, do some code format. The changes are trivial so I think it's OK.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/tisonkun/pulsar/pull/15

Codecov Report

Merging #18426 (1272adc) into master (b31c5a6) will increase coverage by 0.18%.
The diff coverage is 5.00%.

@@             Coverage Diff              @@
##             master   #18426      +/-   ##
============================================
+ Coverage     46.98%   47.17%   +0.18%
- Complexity    10343    10398      +55
============================================
  Files           692      692
  Lines         67766    67766
  Branches       7259     7258       -1
============================================
+ Hits          31842    31967     +125
+ Misses        32344    32218     -126
- Partials       3580     3581       +1

Flag
Coverage Δ

unittests
47.17% <5.00%> (+0.18%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...va/org/apache/pulsar/broker/service/ServerCnx.java
49.37% <ø> (+0.68%)
:arrow_up:

.../java/org/apache/pulsar/client/impl/ClientCnx.java
30.16% <ø> (ø)

...a/org/apache/pulsar/client/impl/TableViewImpl.java
0.00% <0.00%> (ø)

...ar/client/impl/conf/ProducerConfigurationData.java
84.70% <ø> (-0.18%)
:arrow_down:

...va/org/apache/pulsar/client/impl/ConsumerImpl.java
15.09% <12.50%> (+0.05%)
:arrow_up:

...oker/loadbalance/LoadResourceQuotaUpdaterTask.java
44.44% <0.00%> (-33.34%)
:arrow_down:

...lsar/broker/loadbalance/impl/ThresholdShedder.java
3.26% <0.00%> (-30.07%)
:arrow_down:

.../apache/pulsar/broker/loadbalance/LoadManager.java
61.11% <0.00%> (-16.67%)
:arrow_down:

...rg/apache/pulsar/broker/lookup/v1/TopicLookup.java
60.00% <0.00%> (-13.34%)
:arrow_down:

...org/apache/pulsar/broker/loadbalance/LoadData.java
58.33% <0.00%> (-8.34%)
:arrow_down:

... and 47 more

Thanks for your reviews. Merging...


[Enhancement] Dynamic Skill Lore

Is your feature request related to a problem? Please describe.
Currently the lore of the skills can only display numbers and strings from the boxes
Describe the solution you'd like
A way to make it so every time you do /class skill it runs something (maybe like a new trigger called lore or skill menu open) which does all the math for value mechanics inside it and returns a variable that can be used in the lore.
This can be very useful when making skills that scale from attributes where it will show the actual values that the skills do instead of just being "deals (15% of Strength) damage"

placeholderAPI support got added


Updated limit

Was just informed this was incorrect.  @markjjo - for your review.

@mahage-msft PR merged


build: add CJS & ESM export

Hello,
This PR make possible to use urlpattern-polyfill as CJS or ESM build.
Also, It reduces the npm package size, since publishing the source files is not a necessary thing.

closes #65

I am OK with this, but would like @justinfagnani 's take


[CARBONDATA-1745] Use default metastore path from Hive

When creating CarbonSession, if user does not specify metastore path, use default metastore path from Hive

[X] Any interfaces changed?
No
[X] Any backward compatibility impacted?
No
[X] Document update required?
No
[X] Testing done
No testcase is added
[X] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.
MR33

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1189/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1193/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1219/


Use BitVectorExactFilter as LIPFilter implementation when applicable

In the previous exact-filter PR, it was not by default use BitVectorExactFilter as the LIPFilter implementation when applicable -- BitVectorExactFilter was only used for executing FilterJoin nodes.
This PR is a quick update that uses the BitVectorExactFilter when applicable.

It looks good to me. Merging.


Fallback/default img when img url is not valid

Is your feature request related to a problem? Please describe.
Hi, there are some situations when the img url is invalid and it would great to handle those errors.
Describe the solution you'd like
Add the onerror props to
<SimpleImg onerror={} />
For example:
<img src="invalid_link" onerror="this.onerror=null;this.src='https://placeimg.com/200/300/animals';">
The above means that when the link is invalid will use a fallback img.
You can find more info about onerror here:
Inputting a default image in case the src attribute of an html  is not valid?
How to handle loading images that does no exit

Hi @alfred-pb,
ideally, we should haven't invalid image URL in the first place. I think even more native  tag, it just displays error image too.
can you write a function/Component to validate the image URL instead? you can write a component to wrap around the  to validate the image.
 and have  inside of it.
let me know you thoughts
cheers
bill

What if user failed to load the image. the url is valid but the image failed to load because of cdn down or connection lost

@ajisulist same be behavior as native img. you can build a lot of stuff on the error and retry, but at the same time, it increases the complexity of this simple and small lib.

going to close this issue, feel free to reopen if you have more questions.

As @ajisulist  mentioned, the user might failed to load the image or the image doesn't exist yet in database. I think that adding an onError prop will be nice, instead of creating a function to validate the image URL.
Is just allowing  to receive the attribute onerror . That attribute is already built in the img tag so I don't think that is adding complexity to the lib. Don't you think?

I agree , this would be great without having to wrap around another component.

hmmm I think it's such easy piece of logic to do at your app level.
try {
  new url("xxx")
} catch {
  // not valid
}


iio fixes

Scan all bridge ports and account for dwords properly

I agree that would make sense, but I feel like that should be a different PR as it changes the current behavior of the system since the values in the multiplier portion of the opCode.txt will no longer behave as it does now. The current change just brings the accounting for data outbound from the CPU inline with the accounting for data inbound to the CPU, which from the perspective of someone trying to figure out how the config options work in the first place, is probably more helpful. I spent about a day decoding opCode.txt, and was a bit baffled as to why inbound data counted the number of bytes while outbound data was counting the number of dwords.

I agree that would make sense, but I feel like that should be a different PR as it changes the current behavior of the system since the values in the multiplier portion of the opCode.txt will no longer behave as it does now. The current change just brings the accounting for data outbound from the CPU inline with the accounting for data inbound to the CPU, which from the perspective of someone trying to figure out how the config options work in the first place, is probably more helpful. I spent about a day decoding opCode.txt, and was a bit baffled as to why inbound data counted the number of bytes while outbound data was counting the number of dwords.

I think we should make it consistent (always bytes) and then change the description "hname=OB read" => "hname=OB read (bytes)" to make it explicit


Cast uuid to object

Closes #4435.
I suggest that the two commits are reviewed separately - first one is just refactoring.

This is mostly done, except for:

<User>$0 (not a cast, but a type param on query parameter)
<optional User>my_uuid

Oh, one more test idea: test <User><optional uuid>$0 and <User><uuid>{}. Those ought to work. (I think they might not, since the way that the error message forces the scope handling is somewhat fragile--since msg is an OPTIONAL argument, it will get hoisted, but "optionally". Fix is like we discussed before, making sure the path is in the scope tree. We can talk about this offline too.)

Your plan for making user a direct argument seems reasonable.


Request to delete package from pub

This issue was originally filed by<EMAIL_ADDRESS>
Hello,
I'm working on a private pub repo, I make a mistake, a deploy my test package on public repository.
PLease delete it.
https://pub.dartlang.org/packages/deploylocal
Sorry for the inconvenience.
Sébastien Lambour

This issue has been moved to dart-lang/pub#1196.


Fix dependencies

Fixes dependency issues in #44.
Also adjusts __init__.py to use dynamic versioning.

@adamltyson Noticed that we are claiming to use 3 different licenses for this package:

The repo license
BSD-3-clause (according to pyproject.toml)
MIT (according to the hardcoded values in the __init__.py.

Which one are we actually wanting to use here? I'll adjust the others since this is a sensible place to do so.

I think the repo license is BSD-3, and that's the correct one. Thanks!


Modifying sendTo_Ether contract + step by step guide for learners to follow

Description
Modifying sendTo_Ether contract + step by step guide for learners to follow in the README.md file added.
Fixes #53
Type of change
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this :

[] Add a new project

[] Modified or enhanced the existing projects

[] Improve the readme of any project

Domain of Contribution
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] Project using only Solidity

[] Project using only Javascript

[] Project using only Python

[x] Project Test on the Remix IDE

[] Mention below if project uses other language and ide .

Checklist ✓
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] l have performed a self-review of my own code or work.

[x] I have commented on my code, particularly in hard-to-understand areas.

[] My changes generate no new warnings

[] I'm HSOC'22 contributor

[x] I'm SSOC'22 contributor

Screenshots/Gif (Recommended)

// @Vikash-8090-Yadav

Great @legendarykamal


Alert sound when raidboss not shown

Description
If raidboss module is temporarily disabled (not shown) in overlayplugin, the alert sound will be triggered as well. Should it be muted when the module is disabled?

Ideally, it should, but this is really an overlayplugin issue.  There was some discussion about this in the ffxiv act discord, so hopefully ngld will implement this.  I filed this as a feature request here: https://github.com/ngld/OverlayPlugin/issues/73


dumb user mistake reveals strange behavior

When transrate is run incorrectly,
 /share/transrate-1.0.0.beta3-linux-x86_64/transrate -a trin.fa -r PE_MBE_MDM_41_index19.trim.Phred2_1P.fq -l PE_MBE_MDM_41_index19.trim.Phred2_2P.fq

you get a very odd and incorrect error message.
 /share/transrate-1.0.0.beta3-linux-x86_64/lib/app/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.7.12/lib/bundler/runtime.rb:222: warning: Insecure world writable dir /share in PATH, mode 040777
 [ERROR] 2015-05-12 19:26:03 : Non unique fasta identifier found
 [ERROR] 2015-05-12 19:26:03 :       >==AAAAAAAAAAAAA####################################################################################
 [ERROR] 2015-05-12 19:26:03 : Please make sure there are no duplicate entries in the assembly
 [ERROR] 2015-05-12 19:26:03 : Contig name is taken from before the first | or space
 [ERROR] 2015-05-12 19:26:03 : Transrate::AssemblyError

when run correctly
  /share/transrate-1.0.0.beta3-linux-x86_64/transrate -a trin.fa -l PE_MBE_MDM_41_index19.trim.Phred2_1P.fq -i PE_MBE_MDM_41_index19.trim.Phred2_2P.fq

you get no error, which is obviously a good thing.
 /share/transrate-1.0.0.beta3-linux-x86_64/lib/app/ruby/lib/ruby/gems/2.2.0/gems/bundler-1.7.12/lib/bundler/runtime.rb:222: warning: Insecure world writable dir /share in PATH, mode 040777
 [ INFO] 2015-05-12 19:27:45 : Loading assembly: trin.fa
 [ INFO] 2015-05-12 19:28:53 : Analysing assembly: trin.fa
 [ INFO] 2015-05-12 19:28:53 : Calculating contig metrics...
 [ INFO] 2015-05-12 19:30:42 : Contig metrics:
 ...

Anyway, the error code makes it seem like the assembly file is teh issue, but in this case it is held constant - the error is actually related to the reads being passed to transrate incorrectly..

Ah, so I think there are two problems here.
Firstly, -l and -r intuitively should refer to the left and right read files, but -r is actually the reference, with -i meaning right reads. This has been fixed in the latest code and will be pushed in the final release of v1.
Secondly, what's happened above is that the reads were treated as the reference, which internally is represented using an assembly object just like the assembly itself. So the error refers to an assembly, which is misleading for the user. We could do better on this by:

When errors happen related to the reference, make sure the errors say 'reference' and not 'assembly'
Make the error report that the file is not a FASTA, rather than some weird thing about non-unique IDs
Perhaps catch this specific error and report what's happened (FASTQ passed instead of FASTA) - although maybe once the -l/-r/-i confusion is sorted it won't be necessary.


WIP: fix rstrip in EDF

I got some data with some weird \x00
I could read the file fine with eeglab but not with pyedf or pyedflib
not sure if we should merge this.

Maybe you can ask @a-hurst, who seems to know a lot about EDF :)

@agramfort The way it's handled for parsing the ID info and recording info parts of the header is to decode the bytes explicitly as 'latin-1' ('ascii' works too) and just use rstrip without an argument:
https://github.com/mne-tools/mne-python/blob/3276fed0d03341c8a1484a0e951eec551f784541/mne/io/edf/edf.py#L526
The EDF standard explicitly says only ASCII characters are allowed in the header, so that approach is in keeping with the spec and not just for convenience.

@a-hurst unfortunately I don't think a bare rstrip will fix it:
>>> b'\x00'.decode('latin-1').rstrip()
'\x00'

But a .split('\x00')[0] should I think

Ah yep you're right: for some reason I thought the headers were padded with null bytes as well but they're padded with space characters. Your solution is the way to go.

thanks for taking over


⚠ Bofrost.fr has degraded performance

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

HTTP code: 200
Response time: 810 ms

Resolved: Bofrost.fr performance has improved in eccba01 after 20 minutes.


Maven central repo versions

Maven central repo resolves version 1.0.2 for spring-cloud-starter-parent as latest but Angel.SR4 is latest by date. I thing the problem is in version "human" naming.
http://search.maven.org/#search|ga|1|spring-cloud-starter-parent
http://search.maven.org/#search|gav|1|g%3A"org.springframework.cloud" AND a%3A"spring-cloud-starter-parent"

Not sure we can do anything about it. By date the maven central version has it right. We're not going to change our new versioning scheme at this point.


Replace jQuery requirement with fetch API

Remove huge jquery requirement in favor of fetch API, available in most browsers[0], shim available elsewhere[1].
[0] http://caniuse.com/#feat=fetch
[1] https://github.com/github/fetch
[2] https://cdnjs.com/libraries/fetch

Should be ready to go now...

I like this idea, thanks!


Add fpga test socket parent node

Forgot to update TestSocketDevKitWrapper when we added the parentNode parameter to BlockAttachParams

LGTM! Could we get this under regression testing (like Travis CI) by at least generating the Verilog for the FPGA design, even if we don't do FPGA synthesis on the generated RTL?

ok, I'll do that in a separate PR


Added the option to make a results file.

Press 5 to make a result file. Program automatically makes one on exit. Result files contain how many times the neural net guessed a language given a language and the percentage correct for the entire run. The numbers will overflow after 2,147,483,647 iterations. Result files created in processing folder rather than the project folder so someone might have to change that.

Sorry about the mess. First time using github so I'm a bit confused.

 Turns out processing has it's own writer. Better change some things tomorrow.

I should probably get this thing figured out.


Update example

Hello,
Thanks for a good Postgresql API example project! Everything up-and-running, and everything seems to work, except updating an order. Maybe I need to use some special payload format? Please add an example of an update PUT request and payload. Thanks!

Hi @perqa !
I am not sure if it was clear but the purpose of this route is to update the products and their respective quantities that are included in the order. For example, if the order was created with the following payload (just as in the README file):
{
  "shopId": 1,
  "productsRelation": [
    { "productId": 1, "quantity": 2},
    { "productId": 2, "quantity": 1}
  ],
  "clientEmail"<EMAIL_ADDRESS>}

Then, it will be composed by:

Two items of productId=1
One item of productId=2

In order to update the order, you can use a request such as:
{
  "productsRelation": [
    { "productId": 1, "quantity": 5},
    { "productId": 2, "quantity": 3}
  ],
}

Now the order will consist in:

5 items of productId=1
3 item of productId=2

Yes, this request will overwrite the items that were previously included. Testing with curl I did:
curl -X PUT -H "Content-type: application/json" -d '{"productsRelation": [{ "productId": 2, "quantity": 2}, {"productId": 1, "quantity": 1}]}' http://localhost:3333/order/1

Thanks! productsRelation is the keyword that needs to be in the payload.
I tried to update other properties of an order. If you GET an order by id, it looks like below. I tried to update "phoneNumber" and "clientName".
{
    "id": 1,
    "created_at": "2022-09-22T14:39:20.163Z",
    "updated_at": "2022-09-22T14:46:01.736Z",
    "deleted_at": null,
    "orderCode": null,
    "orderStatus": "awaiting_delivery",
    "price": 35,
    "phoneNumber": null,
    "clientName": null,
    "clientEmail"<EMAIL_ADDRESS>    "shopId": 1,
    "shop": {
        "id": 1,
        "name": "Node Store",
        "address": "Dummy Street, United States",
        "mapLink": null
    },
    "orderProducts": [
        {
            "id": 1,
            "deleted_at": null,
            "quantity": 2,
            "orderId": 1,
            "productId": 1,
            "products": {
                "id": 1,
                "name": "Product 1",
                "description": "Product 1 is a product\n    ",
                "price": 7.5,
                "stockQuantity": 10,
                "enabled": true
            }
        },
        {
            "id": 2,
            "deleted_at": null,
            "quantity": 1,
            "orderId": 1,
            "productId": 2,
            "products": {
                "id": 2,
                "name": "Product 2",
                "description": "Product 2 is a product\n    ",
                "price": 20,
                "stockQuantity": 5,
                "enabled": true
            }
        }
    ]
}

So far, the productsRelation  is the only property you are able to modify after an order has been created. This could be an improvement to this API. Since it was only supposed to be an example, it did not worry about having all cases covered


Azure SQL Database - Diagnostics logging delay

We would like to know what is the actual time delay for logging diagnostics data for Azure SQL Database
We have enabled diagnostics settings for an Azure SQL Database in Azure portal as shown below.

The diagnostics log files are found under the container insights-metrics-pt1m in Blob service. A .json file  is created at the start of every hour which contains the diagnostics data.

Consider that the current UTC time is 11:18, the .json file containing the diagnostics data has the metrics only till 11:04(Uploaded the .json file in .txt format)
PT1H.txt
But this time difference keeps on varying.
So we would like to know why there is a delay in logging diagnostics and if it can be minimized.
Also please let us know the actual time delay for the same.
Thanks in advance.

@ShailashreeE after taking a quick look at the REST endpoints that the SQL service provides for this feature I don't see anything that can let me believe we can configure the time delay (or how often to upload the diagnostics)... I will try to follow up with the Azure Insights team but for now I don't see anything that can be done to change this from the Java SDK perspective.

Hello @ShailashreeE
I am sorry about you didn't get a sooner answer on this
Do you still need help on this? Let me know and I would be happy to help.
Note: As part of repository cleaning effort, this issue will be closed by Nov 11 if no response is received from submitter and/or not further action is required.