internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: zulip/zulip

Issue:
Add instructions to download .zuliprc file
https://zulip.com/api/configuring-python-bindings describes .zuliprc files, but does not give instructions for where download them. We should fix this.

- [ ] Add instructions for downloading a bot's .zuliprc file and your .zuliprc file to https://zulip.com/api/configuring-python-bindings. We'll might want to add some section headings to this page as part of this change. The instructions should have tabs for downloading the file for a bot vs. for yourself.

- [ ] Your own .zuliprc file is downloaded via the "Show/change your API key" on SETTINGS / ACCOUNT & PRIVACY. While we're here, let's rename that button to "Manage your API key".


Discussion:
Hello @zulip/server-api members, this issue was labeled with the "area: documentation (api and integrations)" label, so you may want to check it out!

<!-- areaLabelAddition -->

@drrosa Another API documentation tweak. :)

Resolving patch:
diff --git a/zerver/lib/markdown/tabbed_sections.py b/zerver/lib/markdown/tabbed_sections.py
--- a/zerver/lib/markdown/tabbed_sections.py
+++ b/zerver/lib/markdown/tabbed_sections.py
@@ -112,6 +112,8 @@
     "v6": "Zulip Server 6.0+",
     "v4": "Zulip Server 4.0+",
     "all-versions": "All versions",
+    "for-a-bot": "For a bot",
+    "for-yourself": "For yourself",
 }
 
 


Test patch:
Repository: zulip/zulip

Issue:
Clean up beta app installation instructions
Following up on #28884, we should convert the beta app installation instructions into our standard tabbed instructions format. I'm not sure about the best tab labels. Perhaps something like this?

- Most systems
- Linux with APT



Discussion:
Hello @zulip/server-user-docs members, this issue was labeled with the "area: documentation (user)" label, so you may want to check it out!

<!-- areaLabelAddition -->

We should also probably just say "Debian" rather than "Debian 8+", given that Debian 7 is old enough to not be relevant anymore.
@drrosa We noticed that you have not made any updates to this issue or linked PRs for 10 days. Please comment here if you are still actively working on it. Otherwise, we'd appreciate a quick `@zulipbot abandon` comment so that someone else can claim this issue and continue from where you left off.

If we don't hear back, you will be automatically unassigned in 4 days. Thanks!

<!-- inactiveWarning -->


Resolving patch:
diff --git a/zerver/lib/markdown/tabbed_sections.py b/zerver/lib/markdown/tabbed_sections.py
--- a/zerver/lib/markdown/tabbed_sections.py
+++ b/zerver/lib/markdown/tabbed_sections.py
@@ -46,6 +46,8 @@
     "mac": "macOS",
     "windows": "Windows",
     "linux": "Linux",
+    "most-systems": "Most systems",
+    "linux-with-apt": "Linux with APT",
     "python": "Python",
     "js": "JavaScript",
     "curl": "curl",


Test patch:
Repository: zulip/zulip

Issue:
`:flag scotland:` shows Seychelles flag
**Describe the bug**

The `:flag scotland:` emoji seems to show the flag of Seychelles instead of that of Scotland.

**To Reproduce**

Type `:flag scotland:` in the Zulip desktop client - this also occurs when reading messages.

**Expected behavior**

The Scottish flag (white X on blue background) should show.

**Screenshots**

![image](https://github.com/zulip/zulip-desktop/assets/57840981/ca55e8e8-f726-4051-9c19-06e06595fed3)

- Operating System:
Reproduced on Arch Linux 6.5.4, Manjaro, Windows 10 and MacOS (all different machines) so does not seem to be OS specific! Fine on mobile though

- Zulip Desktop Version:
Reproduced on 5.10.2 and 5.10.3



Discussion:
Hello @zulip/server-emoji members, this issue was labeled with the "area: emoji" label, so you may want to check it out!

<!-- areaLabelAddition -->

This is a bug in the [emoji-datasource](https://www.npmjs.com/package/emoji-datasource) library. It can also be seen at https://projects.iamcal.com/emoji-data/table.htm (warning: very big page, may slow down your browser). Opened

- iamcal/emoji-data#231.
Amazing, thanks for debugging so quickly @andersk!!

Resolving patch:
diff --git a/version.py b/version.py
--- a/version.py
+++ b/version.py
@@ -48,4 +48,4 @@
 #   historical commits sharing the same major version, in which case a
 #   minor version bump suffices.
 
-PROVISION_VERSION = (261, 0)
+PROVISION_VERSION = (262, 2)


Test patch:
Repository: zulip/zulip

Issue:
Add "View stream subscribers" page
We should add a "View stream subscribers" page (below "Create a stream" under Streams & topics). It should document the right sidebar UI in #26717 (currently test-deployed on CZO), as well as how to see subscribers via settings.


Discussion:
Hello @zulip/server-user-docs members, this issue was labeled with the "area: documentation (user)" label, so you may want to check it out!

<!-- areaLabelAddition -->

@drrosa Getting this merged will be blocked on https://github.com/zulip/zulip/pull/26717, but I think the UI is sufficiently settled that we can start working on this.
@drrosa You have been unassigned from this issue because you have not made any updates for over 14 days. Please feel free to reclaim the issue if you decide to pick up again. Thanks!

@zulipbot claim

Resolving patch:
diff --git a/zerver/lib/markdown/tabbed_sections.py b/zerver/lib/markdown/tabbed_sections.py
--- a/zerver/lib/markdown/tabbed_sections.py
+++ b/zerver/lib/markdown/tabbed_sections.py
@@ -77,6 +77,7 @@
     "via-recent-conversations": "Via recent conversations",
     "via-inbox-view": "Via inbox view",
     "via-left-sidebar": "Via left sidebar",
+    "via-right-sidebar": "Via right sidebar",
     "instructions-for-all-platforms": "Instructions for all platforms",
     "public-streams": "Public streams",
     "private-streams": "Private streams",


Test patch:
Repository: zulip/zulip

Issue:
Add a first-time banner for jumping to sent message conversation
<!-- Issue description -->

In #29186, we are making it the case that when you send a message, your view jumps to the conversation you sent it to. We should add a compose banner **the first time** this happens.

- Color: green
- Text (we can play with it on the PR):
> Viewing the conversation where you sent your message. To go back, use the **back** button in your browser or desktop app.

<!-- Link to a message in the chat.zulip.org discussion. Message links will still work even if the topic is renamed or resolved. Link back to this issue from the chat.zulip.org thread. -->

[CZO thread](https://chat.zulip.org/#narrow/stream/101-design/topic/jumping.20to.20sent.20message.20conversation.20.28experiment.29.20.2329186/near/1772725)



Discussion:
Hello @zulip/server-onboarding members, this issue was labeled with the "area: onboarding" label, so you may want to check it out!

<!-- areaLabelAddition -->


Resolving patch:
diff --git a/zerver/lib/onboarding_steps.py b/zerver/lib/onboarding_steps.py
--- a/zerver/lib/onboarding_steps.py
+++ b/zerver/lib/onboarding_steps.py
@@ -32,6 +32,9 @@ def to_dict(self) -> Dict[str, str]:
     OneTimeNotice(
         name="first_stream_created_banner",
     ),
+    OneTimeNotice(
+        name="jump_to_conversation_banner",
+    ),
 ]
 
 # We may introduce onboarding step of types other than 'one time notice'


Test patch:
diff --git a/zerver/tests/test_onboarding_steps.py b/zerver/tests/test_onboarding_steps.py
--- a/zerver/tests/test_onboarding_steps.py
+++ b/zerver/tests/test_onboarding_steps.py
@@ -22,9 +22,10 @@ def test_some_done_some_not(self) -> None:
         do_mark_onboarding_step_as_read(self.user, "visibility_policy_banner")
         do_mark_onboarding_step_as_read(self.user, "intro_inbox_view_modal")
         onboarding_steps = get_next_onboarding_steps(self.user)
-        self.assert_length(onboarding_steps, 2)
+        self.assert_length(onboarding_steps, 3)
         self.assertEqual(onboarding_steps[0]["name"], "intro_recent_view_modal")
         self.assertEqual(onboarding_steps[1]["name"], "first_stream_created_banner")
+        self.assertEqual(onboarding_steps[2]["name"], "jump_to_conversation_banner")
 
         with self.settings(TUTORIAL_ENABLED=False):
             onboarding_steps = get_next_onboarding_steps(self.user)
Repository: zulip/zulip

Issue:
Github integration: Filtering Pull request update
We are currently evaluating Zulip for our open-source organization. One thing we would like to do is bridge Github notifications such as created issues, comments, or created pull requests. We set up the bot and the web hook, however it seems like the web hook only has `opened_or_update_pull_request` as topic filter. Unfortunately, pull request updates create way too much noise because people do this frequently, which renders the Github integration almost useless for us. 

Is there a way to only receive notifications on opened pull requests or comments? 

[Zulip Link](https://chat.zulip.org/#narrow/stream/127-integrations/topic/github.20bot.20filtering)

CZO thread



Discussion:
Hmm, filtering the event types beyond the (better than just about every other webhook, but still incomplete) set of things that GitHub itself lets you filter on has been supported for a while but we've only just added the documentation for it (`https://chat.zulip.org/integrations/doc/github` has a partial version)

Let's discuss on chat.zulip.org adding more fine-grained GitHub event types though.


So I saw something of the sort `{event_type}/{action}`. Is this implemented? I tried `pull_request/opened` and `opened_or_update_pull_request/opened` but that did not seem to work.

Are the events listed [here](https://chat.zulip.org/integrations/doc/github) the only ones supported? 

Resolving patch:
diff --git a/zerver/webhooks/github/view.py b/zerver/webhooks/github/view.py
--- a/zerver/webhooks/github/view.py
+++ b/zerver/webhooks/github/view.py
@@ -829,7 +829,8 @@ def get_topic_based_on_type(payload: WildValue, event: str) -> str:
     "issues": get_issue_body,
     "member": get_member_body,
     "membership": get_membership_body,
-    "opened_or_update_pull_request": get_opened_or_update_pull_request_body,
+    "opened_pull_request": get_opened_or_update_pull_request_body,
+    "updated_pull_request": get_opened_or_update_pull_request_body,
     "assigned_or_unassigned_pull_request": get_assigned_or_unassigned_pull_request_body,
     "page_build": get_page_build_body,
     "ping": get_ping_body,
@@ -951,8 +952,10 @@ def get_zulip_event_name(
     """
     if header_event == "pull_request":
         action = payload["action"].tame(check_string)
-        if action in ("opened", "synchronize", "reopened", "edited"):
-            return "opened_or_update_pull_request"
+        if action in ("opened", "reopened"):
+            return "opened_pull_request"
+        elif action in ("synchronize", "edited"):
+            return "updated_pull_request"
         if action in ("assigned", "unassigned"):
             return "assigned_or_unassigned_pull_request"
         if action == "closed":


Test patch:
Repository: zulip/zulip

Issue:
Rename "more topics" to "all topics" in left sidebar
<!-- Issue description -->

The "more topics" links in the left sidebar show all the topics in the channel, so we should relabel them for clarity. All the documentation should be updated accordingly (but not the changelog).

The "more conversations" link doesn't necessarily show all DMs, so we should leave it as-is for now.

This is a tiny piece of the planned [left sidebar redesign](https://terpimost.github.io/zulip-sidebar/#stream).


Discussion:

Resolving patch:
diff --git a/tools/lib/capitalization.py b/tools/lib/capitalization.py
--- a/tools/lib/capitalization.py
+++ b/tools/lib/capitalization.py
@@ -91,7 +91,7 @@
     r"find accounts for another email address",
     # SPECIAL CASES
     # Because topics usually are lower-case, this would look weird if it were capitalized
-    r"more topics",
+    r"show all topics",
     # Used alone in a parenthetical where capitalized looks worse.
     r"^deprecated$",
     # We want the similar text in the Private Messages section to have the same capitalization.
diff --git a/zerver/models/streams.py b/zerver/models/streams.py
--- a/zerver/models/streams.py
+++ b/zerver/models/streams.py
@@ -137,7 +137,7 @@ class Stream(models.Model):
     can_remove_subscribers_group = models.ForeignKey(UserGroup, on_delete=models.RESTRICT)
 
     # The very first message ID in the stream.  Used to help clients
-    # determine whether they might need to display "more topics" for a
+    # determine whether they might need to display "show all topics" for a
     # stream based on what messages they have cached.
     first_message_id = models.IntegerField(null=True, db_index=True)
 
diff --git a/zilencer/management/commands/populate_db.py b/zilencer/management/commands/populate_db.py
--- a/zilencer/management/commands/populate_db.py
+++ b/zilencer/management/commands/populate_db.py
@@ -318,7 +318,7 @@ def handle(self, *args: Any, **options: Any) -> None:
 
         if options["max_topics"] is None:
             # If max_topics is not set, we use a default that's big
-            # enough "more topics" should appear, and scales slowly
+            # enough "show all topics" should appear, and scales slowly
             # with the number of messages.
             options["max_topics"] = 8 + options["num_messages"] // 1000
 


Test patch:
diff --git a/web/tests/topic_list_data.test.js b/web/tests/topic_list_data.test.js
--- a/web/tests/topic_list_data.test.js
+++ b/web/tests/topic_list_data.test.js
@@ -326,7 +326,7 @@ test("get_list_info unreads", ({override}) => {
     list_info = get_list_info();
     assert.equal(list_info.items.length, 12);
     assert.equal(list_info.more_topics_unreads, 3);
-    // Topic 14 now makes it above the "more topics" fold.
+    // Topic 14 now makes it above the "show all topics" fold.
     assert.equal(list_info.more_topics_have_unread_mention_messages, false);
     assert.equal(list_info.num_possible_topics, 16);
     assert.equal(list_info.more_topics_unread_count_muted, true);
Repository: zulip/zulip

Issue:
Make RabbitMQ vHost configurable
In our setup we have a shared RabbitMQ service for the whole installation including our services. We separate these apps with  vhosts. Unfortunately Zulip exposes neither Pika's URL Parameters or vhost settings. Thus it can only use the `/` vhost.

I propose that the Parameters here: https://github.com/zulip/zulip/blob/7377d3fab941bf137ecd70f3f4fa88731be5e768/zerver/lib/queue.py#L89-L96 expose the `vhost=`  setting in the same way as the environment variables. Or alternatively allows specifying the RabbitMQ URL via pika's URLParameters. 




Discussion:

Resolving patch:
diff --git a/zerver/lib/queue.py b/zerver/lib/queue.py
--- a/zerver/lib/queue.py
+++ b/zerver/lib/queue.py
@@ -89,6 +89,7 @@ def _get_parameters(self) -> pika.ConnectionParameters:
         return pika.ConnectionParameters(
             settings.RABBITMQ_HOST,
             port=settings.RABBITMQ_PORT,
+            virtual_host=settings.RABBITMQ_VHOST,
             heartbeat=self.rabbitmq_heartbeat,
             tcp_options=tcp_options,
             ssl_options=ssl_options,
diff --git a/zproject/default_settings.py b/zproject/default_settings.py
--- a/zproject/default_settings.py
+++ b/zproject/default_settings.py
@@ -191,6 +191,7 @@
 MEMCACHED_USERNAME = None if get_secret("memcached_password") is None else "zulip@localhost"
 RABBITMQ_HOST = "127.0.0.1"
 RABBITMQ_PORT = 5672
+RABBITMQ_VHOST = "/"
 RABBITMQ_USERNAME = "zulip"
 RABBITMQ_USE_TLS = False
 REDIS_HOST = "127.0.0.1"
diff --git a/zproject/prod_settings_template.py b/zproject/prod_settings_template.py
--- a/zproject/prod_settings_template.py
+++ b/zproject/prod_settings_template.py
@@ -606,6 +606,8 @@
 ## optionally RABBITMQ_PORT, to the hostname and port here.
 # RABBITMQ_HOST = "127.0.0.1"
 # RABBITMQ_PORT = 5672
+## To use a different RabbitMQ "virtual host", adjust this.
+# RABBITMQ_VHOST = "/"
 ## To use another RabbitMQ user than the default "zulip", set RABBITMQ_USERNAME here.
 # RABBITMQ_USERNAME = "zulip"
 ## To access the RabbitMQ server over TLS, set this to True; this is


Test patch:
Repository: gpodder/mygpo

Issue:
Feedback link on left hand side is broken
There are a few issues with the Feedback "tab" on the left hand side:
 * The styling is not rendering properly in FF 54 (Linux).  I see no background for to the text that comes up, instead it dims the page and I see the text overlayed over the page text.
 * The text indicates I am being redirected, but the redirect does not seem to execute.
 * The redirect link goes to [getsatisfaction.com](http://retired.getsatisfaction.com/) which is not active.  It should probably go to this issue tracker.


Discussion:

Resolving patch:
diff --git a/mygpo/api/advanced/updates.py b/mygpo/api/advanced/updates.py
--- a/mygpo/api/advanced/updates.py
+++ b/mygpo/api/advanced/updates.py
@@ -30,7 +30,7 @@
 class DeviceUpdates(View):
     """ returns various updates for a device
 
-    http://wiki.gpodder.org/wiki/Web_Services/API_2/Devices#Get_Updates """
+    https://gpoddernet.readthedocs.io/en/latest/api//Devices#Get_Updates """
 
     @method_decorator(csrf_exempt)
     @method_decorator(require_valid_user)
diff --git a/mygpo/users/settings.py b/mygpo/users/settings.py
--- a/mygpo/users/settings.py
+++ b/mygpo/users/settings.py
@@ -5,7 +5,7 @@
 
 ## Well-known settings
 # this should be documented at
-# http://wiki.gpodder.org/wiki/Web_Services/API_2/Settings#Known_Settings
+# https://gpoddernet.readthedocs.io/en/latest/api//Settings#Known_Settings
 
 # Flag to allow storing of user-agents
 STORE_UA = WellKnownSetting('store_user_agent', True)


Test patch:
Repository: gpodder/mygpo

Issue:
Recognize CC licenses with https URLs
https://gpodder.net/directory/+license contains a list of licenses. When selecting a license the podcasts that use this particular license are shown.

In 
https://github.com/gpodder/mygpo/blob/1950aae95d79c87bf703ec7f457fd84c2c9613f4/mygpo/web/utils.py#L204
the license URLs are matched against known patterns to show "nice" names instead of URLs. For creative commons licenses, only http URLs are recognized. http and https URLs should be recognized as identical.


Discussion:

Resolving patch:
diff --git a/mygpo/web/utils.py b/mygpo/web/utils.py
--- a/mygpo/web/utils.py
+++ b/mygpo/web/utils.py
@@ -193,10 +193,10 @@ def normalize_twitter(s):
 
 
 CCLICENSE = re.compile(
-    r'http://(www\.)?creativecommons.org/licenses/([a-z-]+)/([0-9.]+)?/?'
+    r'https?://(www\.)?creativecommons.org/licenses/([a-z-]+)/([0-9.]+)?/?'
 )
 CCPUBLICDOMAIN = re.compile(
-    r'http://(www\.)?creativecommons.org/licenses/publicdomain/?'
+    r'https?://(www\.)?creativecommons.org/licenses/publicdomain/?'
 )
 LicenseInfo = collections.namedtuple('LicenseInfo', 'name version url')
 
@@ -212,16 +212,28 @@ def license_info(license_url):
     >>> i.url
     'http://creativecommons.org/licenses/by/3.0/'
 
+    >>> ihttps = license_info('https://creativecommons.org/licenses/by/3.0/')
+    >>> i.name == ihttps.name and i.version == ihttps.version
+    True
+
     >>> iwww = license_info('http://www.creativecommons.org/licenses/by/3.0/')
     >>> i.name == iwww.name and i.version == iwww.version
     True
 
+    >>> iwww = license_info('https://www.creativecommons.org/licenses/by/3.0/')
+    >>> i.name == iwww.name and i.version == iwww.version
+    True
+
     >>> i = license_info('http://www.creativecommons.org/licenses/publicdomain')
     >>> i.name
     'Public Domain'
     >>> i.version is None
     True
 
+    >>> ihttps = license_info('https://www.creativecommons.org/licenses/publicdomain')
+    >>> i.name == ihttps.name and i.version == ihttps.version
+    True
+
     >>> i = license_info('http://example.com/my-own-license')
     >>> i.name is None
     True


Test patch:
Repository: gpodder/mygpo

Issue:
Error when trying to run manage.py update-toplist
```
Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    execute_from_command_line(sys.argv)
  File "/home/mike/mygpo/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/mike/mygpo/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/mike/mygpo/venv/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/mike/mygpo/venv/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute
    output = self.handle(*args, **options)
  File "/home/mike/mygpo/mygpo/directory/management/commands/update-toplist.py", line 27, in handle
    total = podcasts.count_fast()
AttributeError: 'PodcastQuerySet' object has no attribute 'count_fast'
```


Discussion:

Resolving patch:
diff --git a/mygpo/directory/management/commands/update-toplist.py b/mygpo/directory/management/commands/update-toplist.py
--- a/mygpo/directory/management/commands/update-toplist.py
+++ b/mygpo/directory/management/commands/update-toplist.py
@@ -24,7 +24,7 @@ def handle(self, *args, **options):
         silent = options.get("silent")
 
         podcasts = Podcast.objects.all()
-        total = podcasts.count_fast()
+        total = podcasts.count()
 
         for n, podcast in enumerate(podcasts):
             update_podcast_subscribers.delay(podcast.get_id())


Test patch:
Repository: huggingface/text-generation-inference

Issue:
Causal LM modifies the input when returning text
One of the issues if that Causal LM returns the entire `input + generated_text`. And `input` is actually `tokenizer.decoder(tokenizer.encode(input))`. The issue comes when that process is lossy, and causes weird behaviours such as this https://huggingface.co/bigscience/bloom/discussions/153#6397907b71eb2455d898e0a4 

We can instead either:
 - actually use the input instead of going through a potentially lossy mechanism.
 - change the API to always return "added" text. **BREAKING**


Discussion:
One hot fix concerning the specific BLOOM issue is to set `clean_up_tokenization_spaces=False`, but it's only because BLOOM tokenizer is lossless.

Resolving patch:
diff --git a/server/text_generation/models/causal_lm.py b/server/text_generation/models/causal_lm.py
--- a/server/text_generation/models/causal_lm.py
+++ b/server/text_generation/models/causal_lm.py
@@ -354,7 +354,8 @@ def generate_token(
             if stop:
                 # Decode all tokens
                 output_text = self.tokenizer.decode(
-                    all_input_ids.squeeze(-1), skip_special_tokens=True
+                    all_input_ids.squeeze(-1), skip_special_tokens=True,
+                    cleanup_tokenization_spaces=False
                 )
                 # Slice with input_length to remove padding
                 token_ids = all_input_ids[-new_input_length:]


Test patch: