text:
Non blocking loader

Problem
Fetching subsets from database is blazing fast, but finding the last version for every subset could take a long time depends on how big the project is (or how well the asset are categorized).
Solution
Refactor Loader's SubsetsModel.refresh, push version document lookup into work thread.
What's Changed

Before

Some of our asset may take up to 8 sec for GUI to respond. The asset which has longest waiting time, has about 200 subsets and some of them have 5-10 versions.

After

With this PR, switching view between assets is much much faster (only fetching subset in main thread).
Versions that has not been fetched has a spinning circle animation, and will be updated once the version is fetched in worker thread.
User can double click one the spinning version and the main thread will fetch that version immediately and present the version editor.
User can still load the subsets without waiting versions being presented, the context menu action will take the latest version by default.
Additional Changes

Displaying child count on subset group item.

Disabled QTreeView header's ResizeToContents resize mode to improve the performance.
EDIT: We actually might need this change because when version data updated from worker thread, emitting dataChanged signal is not enough to trigger the column resize, the widget update call from the spinning version delegator could not trigger that as well.
And one may find the version data like author, date gets cropped but could not resize the column from header, only drag the splitter or open/close the group item to trigger the layout change could work. :(

Notes
While I was implementing this, I find that emiting dataChanged signal in worker thread is dangerous, may bring down the entire application (include the main app like Maya) if user switching and clicking stuff in a really fast pace. 😟
It looks like it's because the signals get queued if sender and reciver are in different threads (see doc.qt.io). And the index that shipped with dataChanged signal may be already outdated when it's being processed.
But after I added spin animation in the version delegator (powered by QtSvg.QSvgRenderer), not only we got a beautiful loading animation, but also a GUI updater ! (Since the animation needs to emit signal to trigger paint in order to render out next frame.) So now we won't need to inform main thread that data has changed from work thread, the spinner already took care of that in main thread. 🍻

EDIT: I think this point is actually void because we only query for the last version, right?

Yes ! :D

This is good some work! Now we're moving beyond what results I've seen in some of the best in-house tools. Nobody cares about this stuff, except all of the artists.
My first thought is whether this could overwhelm MongoDB? Before, an artists was only able to make 1 of these heavy requests at the same time, which when you've got 10-100 artists would max out at 100 concurrent requests. But if 10+ requests can come from each individual computer, it'd max out beyond that.
So, it would be interesting to see how strained Mongo actually is in practice, at e.g. your company @davidlatwe. Do you have anything in place to monitor how busy the machine is during these queries? Odds are each request is a drop in the ocean and scales up to 1000x times more. But it's also possible each query freezes Mongo entirely, such that you would get synchronous performance, regardless of how many you've got going in parallel?
The second thing is whether there's a better way to actually query the data in the first place. I think the bottleneck lies in the recursive calls being made, to traverse a hierarchy of assets? Hierarchies are always tricky.. the most common method that I've seen involves caching. Either locally in the app or on the machine, like a temp-json, or server-side in another app like memcached. The idea generally being that you query the database less frequently, and update the cache infrequently, or on-demand. Because typically, most of those requests query the same unchanged data and return the same results again.

Nobody cares about this stuff, except all of the artists.

I think that maybe just because that I am sitting right next to our artists without any walls or any kind of buffer. XD

My first thought is whether this could overwhelm MongoDB?

Hmmm, good point. From the implementation I made, the difference was basically move the version query from the subset loop inside SubsetModel.refresh into one worker thread.
So the total query count for listing subsets and versions should remain 2, I think...
But the period between queries indeed become a lot shorter. :/

Do you have anything in place to monitor how busy the machine is during these queries?

I have to check that with our IT ! Currently we have about 40-50 machines could make queries to Avalon in the same time, shouldn't be a problem for our database setup, I guess..(single instance running inside a virtual machine) :/

The second thing is whether there's a better way to actually query the data in the first place.

I did think of this, if we update the latest version document _id into subset document each time we publish, then it would be much faster since no document sorting (for finding latest version) would needed. (Not tested but I imaging it could bring imporvements)
Or, simply showing "latest" on the GUI, and only if user click on it will show the version list. But it would make the UX become "not so good" in my opinion.

Because typically, most of those requests query the same unchanged data and return the same results again.

Most of the case I think it's true, but if the pipeline requires to change document from time to time, like the subsetGroup in subset document, or the file list in repesentation, the cache would failed, right ?

Most of the case I think it's true, but if the pipeline requires to change document from time to time, like the subsetGroup in subset document (which is for grouping subsets in Loader GUI), or the file list in repesentation, the cache would failed, right ?

Well. It would display the older data until the cache gets invalidated. So yes, technically using caching older data could be shown in some cases when the cache is not updated/cleared before the query.

Hmmm, good point. From the implementation I made, the difference was basically move the version query from the subset loop inside SubsetModel.refresh into one worker thread.
So the total query count for listing subsets and versions should remain 2, I think...

Indeed little has changed with this implementation I believe. Even before there quite some queries to get the specific versions for each subset, with at least one per subset. If the amount of queries are what's slow as opposed to the amount of data being returned than technically all subsets could get their versions queried at once and then later within Python just "grouped" in a dictionary to the specific Subsets. Yes, it does mean you have another loop in Python to filter those however subsets on a single asset are usually under one hundred, which means just iterating roughly 100 entries in a list. So it could be worthwhile to bring back the 100 queries to 1 and then filter like that... If we're optimizing things this could be worth looking into. Especially if that filtering happens in another thread anyway. (Plus you could "propagate" the update for the versions as you finished filtering each, e.g. query with sorting by parent id and then iterate with itertools.groupby?

Or, simply showing "latest" on the GUI, and only if user click on it will show the version list. But it would make the UX become "not so good" in my opinion.

Ah! Yes come to think of it, the reason this was so familiar was because this is what I did for Allzpark. With Rez, queries are far far slower, they're being made towards disk, where each version is an individual Python file (!). Furthermore, there are far more versions in an ever-growing repository (as opposed to one that ends with the completion of a project).
But yes, having versions loaded on clicking could reap enough performance benefits to avoid needing much else. It would mean that you'd have to start waiting when you ask for a version, which is the least suitable place to wait (not quick enough to not notice, and not long enough to have time to do something else). So that's a tradeoff for sure. On the upside, if you're only grabbing versions for a single subset, then that query would take a lot less time than if you were  forced to wait for all of them to finish before you can pick just one.

Most of the case I think it's true, but if the pipeline requires to change document from time to time, like the subsetGroup in subset document (which is for grouping subsets in Loader GUI), or the file list in repesentation, the cache would failed, right ?

Exactly. Easiest thing around that is a manual "refresh" for artists, in case they are expecting a newer version to appear or just aren't sure. Then there's lots of more options, like deeming any cache older than 1h to be too old, and recache it. Or pushing an update from your publishing pipeline to say that "hey, all caches made from the date of the last version of this subset are now old".
All of that said, first port to call is to see whether there is any need for any of that. Because these are just optimisations to complicate things.

technically all subsets could get their versions queried at once and then later within Python just "grouped" in a dictionary to the specific Subsets.

Wow.
I did thought of using aggregation to get all the subsets with all latest versions in one command and it just won't work.
But I revisit this with just getting all subsets first, and then do the aggregate, bam !
8 sec down to less than 1 and all versions fetched !!
Here's the aggregation pipeline I just composed:
pipeline = [
    {"$match": {"type": "version", "parent": {"$in": subset_ids}}},
    {"$sort": {"name": 1}},  # Sorting versions all together
    {"$group": {"_id": "$parent",  # Take only one document from same "parent"
                "name": {"$last": "$name"},  # Take the *last* one
                "version_id": {"$last": "$_id"},  # Move version _id here
                "data": {"$last": "$data"}}},  # Keep data
]

versions = {doc["_id"]: doc for doc in io.aggregate(pipeline)}

# Matching versions with subsets that queried previously
...

Haha, how come I insist to do it in one aggregation and give up to use threads, but not trying with one query + one aggregation. 😭

8 sec down to less than 1 and all versions fetched !!

Well, that combined with being in a thread. Win-win?

Hmmm, I think we could even drop the threading, the speed of the aggregation is blazing fast, and some other new features like "load latest version if version not fetched" could definitely be dropped as well. No human fingers could faster than mongodb's aggregation. (unless the asset has over 1000 subsets and 100 versions each of subsets)
If you guys don't mind, I'll create another branch to compare and submit a new PR if required.
Thanks for all the inputs !! 🚀

Very good news!

Give us till Monday please before merging, we'd like to double-check changes between this and #550 so we can get on the same page for smooth merges ;)

the speed of the aggregation is blazing fast

I like it's fast but aggregations are (for me) hard to read and understand on first view. Main disadvantage is that we can't use this aggregation in our fork because we have few changes here and there.
Is there any way that this approach can be accepted?
def latest_versions_by_subset_id(asset_id):
    subset_ids = [
        subset["_id"]
        for subset in io.find({"type": "subset", "parent": asset_id})
    ]
    version_docs = io.find({
        "type": "version",
        "parent": {"$in": subset_ids}
    }, sort=[("name", -1)])
    last_versions = {}
    for version_doc in version_docs:
        subset_id = version_doc["parent"]
        if subset_id not in last_versions:
            last_versions[subset_id] = version_doc
    return last_versions

Is there any way that this approach can be accepted?

That version query could easily start returning hundreds of versions right? It's not limited to querying only the latest version for each subset but the query will return all versions for all subsets for the particular asset. I might be micro-optimizing this but it doesn't seem to sensible.
Especially since versions usually contain quite some additional data that could result in a bulky result.

I like it's fast but aggregations are (for me) hard to read and understand on first view. Main disadvantage is that we can't use this aggregation in our fork because we have few changes here and there.

What in particular from the aggregation won't work in your fork? Isn't the resulting data in the end the same data? Is it "master versions" that is complicating things? If so, could that also be in the aggregation pipeline?

I am currently trying another approach that has much less code changes in the subset-version fetching loop in SubsetsModel.refresh but still have the speed improvement (with aggregation 😉).
Which I think would also be easier for merging #550. Stay tuned !
One thing to be noted, this PR lists out all subsets then fetching versions later, so if there is subset that has no verisons at all, it will remian in view. Although this is a rare case in production but better to avoid that. The another approach I am currently trying will not have this issue.

Isn't the resulting data in the end the same data?

It was actually my bad. Was testing in hurry in the evening before day off, and made a mistake. So no problem anymore and I apologize for the hasty opinion.

Is it "master versions" that is complicating things?

Not really, master versions can be queried in different DB call since there is one or none document per subset.

Which I think would also be easier for merging #550. Stay tuned !

I looked there now and there are some nonsense queries I'll have to modify first.

Has this been superseded by #555 - if so, should this be closed?

authors: BigRoy davidlatwe iLLiCiTiT mkolar mottosso


text:
Acting up in Sketch 3.4.4

Doesn't capture all of the colors.
When merging colors, doesn't remove colors from the inventory.

I've got (trial version) 3.4.3. Inventory is incomplete, can't create the text styles css either.

Will revise when updating for 3.5

source: gharchive/issue

authors: getflourish katmaha reathchris

repo: getflourish/Sketch-Style-Inventory

license: mit

license_type: permissive

license_source: bigquery


text:
Lack of consistency in parameter generation

Expected behavior
The type of parameter generated should be consistent
Actual behavior
The type of parameter generated should be consistent
Steps to reproduce

Create a spec file

Something
=========

sfsdfsdf
--------

* This is showing as implemente"b"d

use create a step implementation.
The generated parameter type is Object
Now use shift f6 and refactor the step to This is "showing" as implemente"b"d
The newly generated parameter is of type String

Gauge version
Gauge version: 0.4.1.nightly-2016-04-19

Plugins
-------
html-report (2.1.0)
java (0.3.4.nightly-2016-04-19)

Not a Gauge issue. Which IDE is this happening?

This happens on IntelliJ

This issue was moved to getgauge/Intellij-Plugin#227

authors: sguptatw sriv

repo: getgauge/gauge


text:
reason for production-mode option

Just a driveby observation, I haven't used this theme.
What is the purpose of the production-mode option I noticed in the theme blueprint, since this is available using more standard generic Grav options (environment configs, caching/minifying/pipelining etc) ?

Quark is using gulp for scss and it's easy enough to generate minified version during this process.  So it's a nice way to get things minified rather than having to have Grav do it. Options are good!

Thanks for the answer.

Options are good!

Ooh, not always! They can easily confuse and mislead.
So which one takes precedence? I think this should be documented.

authors: hughbris rhukster

repo: getgrav/grav-theme-quark

license: MIT

license_source: github-api


text:
Exception raised by images with lightbox query string

I think you forgot to add the $id parameter to the html() methode of the Grav\Common\Page\Medium\ThumbnailImageMedium.php file, which raises an exception for images with the ?lightbox parameter. For example, [](blue_sky.jpg?lightbox) produces the error:
Declaration of Grav\Common\Page\Medium\ThumbnailImageMedium::html() should be compatible with Grav\Common\Page\Medium\Medium::html($title = NULL, $alt = NULL, $class = NULL, $id = NULL, $reset = true)
I manually added the $id parameter (lines 58-61 of ThumbnailImageMedium.php), and I don't have the error anymore.
public function html($title = null, $alt = null, $class = null, $id = null, $reset = true)
{
  return $this->bubble('html', [$title, $alt, $class, $id, $reset]);
}

I think your are right!  Will get this sorted.

Will get this released asap.

well i'll release this fix as soon as TravisCI sorts out their issues.. Seems it wont build our packages right now :(

authors: rhukster tdulieu

repo: getgrav/grav


text:
Fixed MIME types in default media settings

Fixed MIME types for .docx, .pptx and .xlsx for default media settings.
The wrong MIME types caused errors when redirecting to these types on mobile browsers.

I had fixed this for a client, but forgot to merge it back into Grav core.  Thanks

source: gharchive/pull-request


text:
远程连接失败，请检查 Site ID 和 Access Token

windows10
远程失败，siteid和token以及系统代理都正确
查看控制台没报错
按同步一直圈在转

一样问题，我就第一次远程和同步都成功了。后面远程间歇性成功，开了代理也是一样，同步之后一次也没成功过。作者是不是不维护了。

平台用netfily，同样遇到远程失败问题

repo: getgridea/gridea


text:
Generate Code in Flutter Code Snippet feature

Can I request for a Generate Code in Flutter code snippet generate feature? thank you!

Hi @jedjie! The code snippets are provided from the httpsnippet library. Please create an issue (and/or PR) over there.

Going to close this issue and defer further discussion on httpsnippet

authors: gschier jedjie

repo: getinsomnia/insomnia


text:
arm64 container?

Do you have plans for building an arm64 container? It would significantly aid local development with motorhead as backend memory.

yeah - I don't see why not! Will look into it.
Curious how it would significantly aid local development?

When developing an app using Motorhead memory, it would be useful to be able to run the full setup locally rather than using a remote staging Motorhead server. Many of us use MacBooks, hence the arm64 request. It might also be nice to be able to deploy Motorhead to cheap arm64 cloud instances.
On Thu, Apr 27, 2023 at 6:57 AM, Sergio Prada < @.*** > wrote:

yeah - I don't see why not! Will look into it.
Curious how it would significantly aid local development?
—
Reply to this email directly, view it on GitHub (
https://github.com/getmetal/motorhead/issues/44#issuecomment-1525744634 ) ,
or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AABAAZ62BZFOP5CO44M6YI3XDJ3MVANCNFSM6AAAAAAXNFN7HI
).
You are receiving this because you authored the thread. Message ID: < @.***

I develop using an M1 mackbook. And I'm using docker-compose to run Motorhead + Readisearch locally.

Are you successfully using Rosetta emulation? I attempted to do so and got 500 errors on a number of endpoints. I did not dig too deep into what was happening as I assumed emulation was breaking.
On Thu, Apr 27 2023 at 8:51 AM, Sergio Prada < @.*** > wrote:

I develop using an M1 mackbook. And I'm using docker-compose to run
Motorhead + Readisearch locally.
—
Reply to this email directly, view it on GitHub (
https://github.com/getmetal/motorhead/issues/44#issuecomment-1525937702 ) ,
or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AABAAZ24IZWBYEK3R47PBQLXDKIWXANCNFSM6AAAAAAXNFN7HI
).
You are receiving this because you authored the thread. Message ID: <getmetal/motorhead/issues/44/1525937702
@ github. com>

Would appreciate to see what you're seeing.
No rosetta needed. Just using docker-compose build && docker-compose up.
The image getting build in GH packages I haven't tested locally. But since you're building the docker image from scratch with the Dockerfile, it should be working for you if you run it in M1 or x86.  This becomes an issue if you use the hosted image and it's not compatible, but building it from your computer should work.
So 5xx issues might be something else and would love to look into it.

Ok - I'll get an ARM64 image out soon. Thanks for the feedback!

Which container are you running on your MacBook M1?
On Thu, Apr 27 2023 at 11:38 AM, Sergio Prada < @.*** > wrote:

Ok - I'll get an ARM64 image out soon. Thanks for the feedback!
—
Reply to this email directly, view it on GitHub (
https://github.com/getmetal/motorhead/issues/44#issuecomment-1526152049 ) ,
or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AABAAZ27H3Z4YSENK7IL3DDXDK4J3ANCNFSM6AAAAAAXNFN7HI
).
You are receiving this because you authored the thread. Message ID: <getmetal/motorhead/issues/44/1526152049
@ github. com>

I'm using the projects docker-compose you can replicate by cloning this repo and running docker-compose build && docker-compose up.

For some reason, compiling using the repo Dockerfile failed. See above.

Just used this docker-compose and it worked.
version: '3'
services:
  motorhead:
    image: ghcr.io/getmetal/motorhead:v1.0.1
    ports:
      - '8080:8080'
    links:
      - redis
    environment:
      PORT: 8080
      MOTORHEAD_LONG_TERM_MEMORY: 'true'
      REDIS_URL: 'redis://redis:6379'
    env_file:
      - .env

  redis:
    image: redis/redis-stack-server:latest
    ports:
      - '6379:6379'

Here with a M1 mack - not sure why this isn't working for you 🤔  - Here I didn't have to build any images.

I am using M1 mac and it is working fine. I am running the docker containers on an Ubuntu arm64 VM. I used the docker-compose as well.

I'll close this for now but let me know if it's still an issue @danielchalef

authors: Czechh danielchalef platput

repo: getmetal/motorhead


text:
Cloudformation template (awslambda) throws unhashable type: 'dict'

The following
  template = {
    "Resources": {
      "olivedrabpeachpuffMoto396419EF": {
        "Type": "Custom::Whatever",
        "Properties": {
          "ServiceToken": {
            "Fn::GetAtt": [
              "MyNestedStackMotoProviderNestedStackResourceE0751832",
              "Outputs.stack0MotoProviderframeworkonEventCD7E7A58Arn"
            ]
          },
        },
      },
    },
  }

  boto_cloudformation_client.create_stack(StackName='test',
                                          TemplateBody=str(template))

results in
(pytest summary)
self = <moto.awslambda.models.LambdaStorage object at 0x1336d3ad0>
name = {'Fn::GetAtt': ['MyNestedStackMotoProviderNestedStackResourceE0751832', 'Outputs.stack0MotoProviderframeworkonEventCD7E7A58Arn']}
qualifier = None

    def get_function_by_name(
        self, name: str, qualifier: Optional[str] = None
    ) -> Optional[LambdaFunction]:
>       if name not in self._functions:
E       TypeError: unhashable type: 'dict'

Full traceback:
Traceback (most recent call last):
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/test.py", line 52, in test_template
    boto_cloudformation_client.create_stack(StackName='test',
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/client.py", line 530, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/client.py", line 943, in _make_api_call
    http, parsed_response = self._make_request(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/client.py", line 966, in _make_request
    return self._endpoint.make_request(operation_model, request_dict)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/endpoint.py", line 119, in make_request
    return self._send_request(request_dict, operation_model)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/endpoint.py", line 202, in _send_request
    while self._needs_retry(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/endpoint.py", line 354, in _needs_retry
    responses = self._event_emitter.emit(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/retryhandler.py", line 207, in __call__
    if self._checker(**checker_kwargs):
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/retryhandler.py", line 284, in __call__
    should_retry = self._should_retry(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/retryhandler.py", line 307, in _should_retry
    return self._checker(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/retryhandler.py", line 363, in __call__
    checker_response = checker(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/retryhandler.py", line 247, in __call__
    return self._check_caught_exception(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/retryhandler.py", line 416, in _check_caught_exception
    raise caught_exception
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/endpoint.py", line 278, in _do_get_response
    responses = self._event_emitter.emit(event_name, request=request)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/core/botocore_stubber.py", line 61, in __call__
    status, headers, body = response_callback(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/core/responses.py", line 229, in dispatch
    return cls()._dispatch(*args, **kwargs)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/core/responses.py", line 370, in _dispatch
    return self.call_action()
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/core/responses.py", line 459, in call_action
    response = method()
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/cloudformation/responses.py", line 148, in create_stack
    stack = self.cloudformation_backend.create_stack(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/cloudformation/models.py", line 910, in create_stack
    new_stack.create_resources()
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/cloudformation/models.py", line 491, in create_resources
    all_resources_ready = self.resource_map.create(self.template_dict)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/cloudformation/parsing.py", line 693, in create
    instance = self[resource]
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/cloudformation/parsing.py", line 514, in __getitem__
    new_resource = parse_and_create_resource(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/cloudformation/parsing.py", line 361, in parse_and_create_resource
    resource = resource_class.create_from_cloudformation_json(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/cloudformation/custom_model.py", line 53, in create_from_cloudformation_json
    fn = backend.get_function(service_token)
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/awslambda/models.py", line 1702, in get_function
    return self._lambdas.get_function_by_name_or_arn(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/awslambda/models.py", line 1294, in get_function_by_name_or_arn
    fn = self.get_function_by_name(name_or_arn, qualifier) or self.get_arn(
  File "/home/runner/moto-issue-cloudformation-unhashable-dict/venv/lib/python3.10/site-packages/moto/awslambda/models.py", line 1264, in get_function_by_name
    if name not in self._functions:
TypeError: unhashable type: 'dict'

Versions etc:
[tool.poetry.dependencies]
python = ">=3.10.0,<3.11"
replit = "^3.2.4"
pytest = "^7.2.2"
boto3 = "^1.26.84"
moto = {extras = ["cloudformation"], version = "^4.1.4"}

Full runnable code can be found at (Full example code at: https://replit.com/@HansDonner/moto-issue-cloudformation-unhashable-dict#test.py

Hi @hans-d, just to double check - you are expecting a proper exception from Moto here, because the ServiceToken points to a non-existing ARN?
It should work when pointing to another Lambda function in that template, but I'll do some digging to see why it behaves like it does for unknown ARN's.

Note that will only ever work successfully  in ServerMode. The Lambda should notify CF that execution was successful, by sending an HTTP request, but that request can only be received if Moto runs as a server.

Mainly concerned about the  TypeError: unhashable type: 'dict'.
This snipped comes from a live template (but redacted), part of a bigger assemble being generated (and works in a live environment).
Trying to work my way through getting the parts working with Moto.

authors: bblommers hans-d

repo: getmoto/moto


text:
Release v1.4

This PR prepares the release of v1.4 (closing #252). It only contains commits from other PRs that have already been approved and merged:
#262
#263
#266
#270

@ktuite, just tagged you for review. Mostly just needs a ✅ so that I can merge when we release.

repo: getodk/central


text:
Build FinagleMysqlSource with existing finagle mysql client

Problem
There's no way of customizing the creation of the finagle mysql client used by FinagleMysqlSource.
Solution
Added a constructor to FinagleMysqlSource, so the client code can take the response of building the mysql client.
@getquill/maintainers

@thirstycrow I think it is possible by extends FinagleMysqlSourceConfig and override client method

You're right, @jilen. I didn't think on that.

@thirstycrow Thanks for the contribution! I think it's better if we provide only one way of customizing the configuration though. I'm closing this PR, please feel free to reopen it if you'd like to continue the discussion.

authors: fwbrasil jilen thirstycrow

repo: getquill/quill


text:
Pass localStorage along to Sentry

Hello,
There are times that a goofy localStorage entry could cause some issues on my site, I'd like to know if there's a way to sludge the localStorage along to Sentry.

New docs here: https://docs.sentry.io/clients/javascript/usage/#raven-js-additional-context

authors: dwickwire sampohaavisto

repo: getsentry/raven-js


text:
Raven should use original, unwrapped built-ins (setTimeout, XHR)

Or at least, investigate any possible problems arising from using wrapped functions inside Raven, e.g. is there a potential for infinite loop if an exception is thrown from Raven's own reporting XHR onreadystatechange handler.

We just ran into this and it effectively crashed our embedded google maps.
For whatever reason, panning google maps would trigger the following stack trace in the console.

When I set a breakpoint at the site, it seemed to be caused by the following situation:
We had a 3rd party library that within a setTimeout was attaching an eventListener. This was causing a recursive wrap.
In addition to the Raven exception, our google maps panning would also break.

Without Raven on the page, there are no JS errors while interacting with our map. Simply the addition of Raven breaks everything.

@philipbjorge – Damn. I'm sorry about this. We did two release candidates for 2.0.0, and I had hoped that these kind of issues would get revealed earlier ... but I don't think we had enough testers onboard.
I'm going to make it my priority to fix this today.

@philipbjorge – Any way I can see this live?

Confirmed failing case:
document.addEventListener('ravenSuccess', function () {
  foo(); // undefined
});

foo(); // undefined

This triggers an infinite loop where, in Raven.js's XMLHttpRequest code, it calls a success callback, which triggers another error, which calls the XMLHttpRequest code, which calls a success callback, which triggers another error, which ...

^I'm not sure what the right fix here is. Even if we use the "original" XMLHttpRequest, if the user does anything asynchronous in the callback (e.g. via setTimeout), they'll trigger the onerror handler anyways, and we can still arrive at this infinite loop.
Basically, using the unwrapped XMLHttpRequest will decrease the likelihood of this occurring, but it's not impossible.

authors: benvinegar philipbjorge


text:
Fix changelog entry

:scroll: Description
#skip-changelog
:bulb: Motivation and Context

:green_heart: How did you test it?
:pencil: Checklist

[ ] I reviewed submitted code
[ ] I added tests to verify changes
[ ] No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
[ ] I updated the docs if needed
[ ] All tests passing
[ ] No breaking changes

:crystal_ball: Next steps

Thanks @krystofwoldrich

repo: getsentry/sentry-dart


text:
Add monolog breadcrumb support

This doesn't work yet. No idea why. About to board a flight and will mess around with it when I have network again.

Oh this will also require changing the sentry/sentry requirement to whatever version we pin it to that has breadcrumbs

Should fully work (tested in local). Needs 0.16.x of sentry/sentry

This might not yet work with Laravel 4.2 from a quick test locally.

Laravel 4 has same issue as Ruby (getsentry/raven-ruby#497)

need to parse errors out of logs
need to prevent dupe final log entry

We still need to deal with dupes, but thats a larger issue.

repo: getsentry/sentry-laravel


text:
Use Sentry internal PyPI server in CI tests

Problem Statement
Tests could be faster. Maybe using the Sentry internal PyPI server can speed up things.
Solution Brainstorm
Sentry has an internal PYPI server (https://github.com/getsentry/pypi)
(Employees can see internal announcement here: https://vanguard.getsentry.net/p/cl7rq4a4o50570ls6ln2lspye)
Add all the dependencies of our tests (old versions of a lot of frameworks) to the internal PyPI server and then use this server in the test suite run in CI.
Measure if this improves performance, if it does not, revert back to public PyPI server.

Tests are ok now, so I am closing this for now.

repo: getsentry/sentry-python


text:
Carthage building for version 1.4.5 or 2.0 may have problems

When I try to use carthage to update the dependencies, I get the following error.
*** Checking out KSCrash at "1.15.2"
Parse error: expected submodule commit SHA in output of task (ls-tree -z 1.15.2 Source/CrashProbe) but encountered:
If I set the Sentry version to 1.4.4 it works as expected.

@kstenerud any idea what this could be?

This should be fixed in the latest version ... please update Sentry.

authors: HazAT michaelosity

repo: getsentry/sentry-swift


text:
新功能：通过 API 上传 App 支持显示自定义字段

起因
Zealot 在上传 App 的版本详情页提供默认一系列的字段参数值，包括：

上传版本号：从 1 开始自增
平台：支持 iOS 和 Android
版本信息：1.0.0 (1.0)
打包类型：debug/adhoc/inhouse/release
App 体积: 20MB
上传渠道: Web/Fastlane/API/Jenkins 等
Git 分支名
Git Commit SHA
上传时间: 时间戳

为了方便广大开发者不同的需求，现开放自定义字段用于展示你希望显示的字段信息，比如 API 环境：development/staging/production 等。
定义
App 上传接口新增一个 custom_fields 字段接收一个 json 的数组字符串，每个数组是一个字典，字典结构如下：

icon: 支持 fontawesome v4 的 icon 名，比如  building-o，不需要 fa- 开头
value: 显示的文字
title: 提示文案，可要可不要

举个例子：
[
  {
    "icon": "building-o",
    "value": "development",
    "title": "API 环境"
  }
]

Web 就会显示如下：

4570841b74741bb0551e30bbf8034f53859b9492 已完成

repo: getzealot/zealot


text:
Win(msvc) Unicode Bug

file: src\gflags.cc
line:1345
Fixes:
#elif defined(HAVE_SHLWAPI_H)
|| PathMatchSpecA(glob.c_str(), ProgramInvocationName())
|| PathMatchSpecA(glob.c_str(), ProgramInvocationShortName())
#endif

Could you provide more details? What is the error? Do you have a working fix?

Putting this on hold as no further details have been provided.

I guess that there can be a compilation error when const char* from c_str() is passed to the PathMatchSpec WinAPI.
PathMatchSpec is a macro which can be PathMatchSpecA or PathMatchSpecW depending on _UNICODE macro.
Using PathMatchSpecA seems reasonable to me if the gflags itself do not use or define _UNICODE macro.

Thanks @dreamer-dead for clarifying. I didn't notice the original post contained the suggested fix of using PathMatchSpecA instead of PathMatchSpec.

authors: CruiseYoung dreamer-dead schuhschuh

repo: gflags/gflags


text:
[dx11] rework descriptors, add UAV/RTV for subresources

Descriptor pools now holds a fixed size Vec containing d3d11 interface pointers, managed by RangeAlloc. Slices of the Vec are given out to descriptor sets .
A descriptor set layout contains information on what binding number maps to what index in the descriptor set's slice of handles. This is copied to descriptor sets on set allocation.
PipelineLayout has optimized ranges (less api calls) of descriptors for each relevant shader stage.
Images now create & store subresource views (only UAV & RTV for now) on image binding.
Also fixes some minor stuff like invalidating memory ranges bigger than 1 << 15 vertex buffer strides & offsets.
r? @kvark

bors r+

authors: fkaa kvark

repo: gfx-rs/gfx


text:
Support i686-windows-msvc rustc target

Actually, it worked well time ago and became official in Rust stable since 1.8.0.

Looks great, thanks!
@homu r+

:pushpin: Commit 1cd49ee has been approved by kvark

:zap: Test exempted - status

authors: homu kvark pravic


text:
🛑 Life CRM is down

In e697018, Life CRM ($SITE_LFCRM) was down:

HTTP code: 404
Response time: 178 ms

Resolved: Life CRM is back up in 0c6fec0.

repo: ggardin/uptime-monitor


text:
JS link not workin'

preview
it's supposed to open a new window, but instead it opens a new blank tab @ https://[domain].org/wp-admin/options-general.php?page=lightweight-subscribe-comments
works with a new profile, but i'll be damned if i can find what pref is responsible - i reset all 'dom.' prefs, all tab prefs, all security prefs and every other one i thought might be responsible trying to hunt this bugger down
console says: 18:19:09.848 TypeError: document.getElementById(...) is null 1 options-general.php:187:60

Similar questions on Wordpress support.

the click events at w3 all work for me - i looked for another JS example that opened a new window, but didn't readily find any

so what's the problem exactly? is it that it's opening a tab instead of a window? you say it's a new blank tab but then add an url. I don't get it. is it a blank tab, or that url but it should be another url? And without knowing where exactly this happens, makes it impossible to look at the code to figure out where it goes wrong.
Did you make sure it's not caused by an addon or userscript?

first of all 3007 is set to open new windows in a new tab instead browser.link.open_newwindow . This is under Options>General and 3 is the default value. So let's ignore that part of it. It doesn't matter where the page is opened, the problem is the instruction on what to load is not being passed on - hence an empty page.

@atomGit (and everyone else who reads), when you log these, you need to give us reproduceable steps, the more info the better. Obviously we can't test on your word press admin page. What is the code behind the link? Does it happen elsewhere?

remove the first half of it. ... If the problem still exists, then you know it is <1400
wouldn't it be the other way around? ie. if the problem still exists without the first half, it would be >1400

Fixed. its not actually how I would test mine. I would use add, section by section, so I don't have to reset the profile folder. And given my knowledge, I would probably add the right section first pop.

I would use add, section by section

Oh, that's way better. You should use that methodology when writing the guide IMO

Troubleshooting Wiki

@atomGit If you don't answer our questions or provide more details, we can't help and I will have to close this issue.
If you can't figure it out by yourself, go to that general-options.php page, right-click anywhere and click 'Inspect Element', and then copy the whole source code from the Inspector tab and pastebin it for us to have a look. Before you pastebin it, sanitize everything that could allow someone to hijack your session cookie, or could let someone know where that wp-admin site can be found, etc. (urls to your domain, form-parameters, etc)

@earthlng atomGit is 12bytes and is probably busy right now, he will come back to it. He's also off watch probably due to the busy first days of the repo.
Idea: We could provide a "report issue" template
FF version: __
Settings that are related: _
Website(s): __
Steps to reproduce: _
etc

I would prefer that we don't close anything until we solve the issue, and I'm even happy leaving issues like that bug one open until it lands. pyllyukko just closed an 15 month old ticket of 3 comments. It's no big deal to have open items to remind us. Don't get me wrong, let's be clean and tidy though.
We can set an annual date for "The Purge: earthlng" :)

@Roman-Nopantski - you asked for more information, including the link source - it is:
preview
also you asked: "Does it happen elsewhere?"
no, not that i've noticed
@earthlng ...

Did you make sure it's not caused by an addon or userscript?
What's the WP version?

i have not tested with a clean profile yet - i should have already done this, but i didn't - partly because i'm confidant it's a user.js issue, but i will test and get back on this soon - i'm busy with work just now
WP 4.7.2
the JS link code though is from the plug-in 'Lightweight Subscribe To Comments' v1.5.2
may be a couple hours yet until i can provide more info

this is not a user.js issue
very sorry to have wasted your time with this - never again
i tested with a fresh profile, importing only my current user.js and the pop-up worked as expected

very sorry to have wasted your time with this - never again

You're not wasting our time, you're part of the team, you even publish and push and use this, so feel free to bring anything up. Good to know its not something in the js. Let us know what caused it when you find out.

authors: Atavic Roman-Nopantski atomGit earthlng


text:
Being notified about FF updates without turning on auto-update

When testing section 0300, FF is not auto-updating, which is good.  But it is also not displaying any notification when a new version is available.
Going to Help -> About Firefox will indicate if a new version is available, but I'd prefer the user to be notified.
I think the best compromise between safety and privacy is for the user to be notified that a new version is available but for FF to not update until instructed by the user.  How can this be accomplished?

Works for me. Always has. Don't forget that FF updates aren't instant worldwide, they are rolled out region by region over a day or two.
e.g right now I can look at Help>About and it tells me to update to 65.0.1. But there is no doorhanger prompt for me. I bet it turns up within 24-48 hrs

How can this be accomplished?

By using the user.js as instructed and don't play with other settings (such as app.update.interval which is default 12 hrs if I read it correctly)

@Gitoffthelawn BTW, I have a test bed of portable FF versions, and they are all set to not auto-update (because that would defeat the purpose of me checking shit in that version). 63 and 64 always nag me  - usually seconds after opening (it depends on when it was last nagging) .. here's 63 (which I'm not in often) = instant update prompt

Are you saying you NEVER get update prompts, at all? EVER? What is you testing method and what steps does it entail for you to draw the conclusion that this is the case?

@Thorin-Oakenpants Thanks for your quick replies. :+1:
I wasn't aware of the staggered rollouts for updates that have security fixes like 65.0.1.  I've never seen a doorhanger for updates, but I typically update via Help -> About Firefox the moment I learn about an update.
As a test, I'll update an in-use browser, but leave a couple portable test browsers non-updated and see if they get doorhangers soon.
Thanks for mentioning that your About Firefox sees the update, but you have no doorhanger yet.  That's the same thing I get.  Did you have auto-updates disabled on that browser before Mozilla removed the prefs from the about:preferences GUI?
It's interesting that, even without going to About Firefox, FF knows about the update to 65.0.1.  You can tell because it is listed in about:preferences#general even if you haven't gone to About Firefox.  Yet, there is no doorhanger.  I would love a way to display the doorhanger the moment FF learns about the update.  Is there a way to do that?
BTW, section 0302a mentions that app.update.auto is now stored in a file and the pref was removed from prefs.js (at least for Windows).
/* 0302a: disable auto update installing for Firefox [NON-WINDOWS FF65+]
 * [NOTE] In FF65+ on Windows this SETTING (below) is now stored in a file and the pref was removed
 * [SETTING] General>Firefox Updates>Check for updates but let you choose... ***/
user_pref("app.update.auto", false);

What file is that pref now stored in?

the moment I learn about an update.

Well, there's your problem. You update before you ever get prompted.

but leave a couple portable test browsers non-updated

No need, I just showed you my portable 63, and I can tell you the same happens in 64 and 65 and 66 - because I see it.

I would love a way to display the doorhanger the moment FF learns about the update. Is there a way to do that?

Well, it seems you don't need it - because you always find out before that by going to help>about - otherwise, there's no hurry, really .. calm the fuck down and chill out :)
I don't think you can make FF prompt immediately, that's up to the backend and regions or whatever metrics they use (could be by language - e.g. check about:support and go to the bottom to see your regional preferences - not saying this is what they use, just speculating - and that's your OS, not FF providing that region info)
Otherwise, you know, the release dates are announced well in advance: https://wiki.mozilla.org/RapidRelease/Calendar

Did you have auto-updates disabled on that browser before Mozilla removed the prefs

They're portable. They have that option disabled by default.

I think, but never tested trough... so, please, correct me if I am wrong... that you can speed-up with:
user_pref("app.update.checkInstallTime.days", 0);

Please Pants, don't spank me too much, :smile: :heart:

app.update.checkInstallTime.days - mine says 63 ..
crssi: I didn't want you to encourage people who can't report properly, and waste time speculating. That's why I removed your post - in hindsight I should have just closed the topic and said nothing. Not giving the URL, not stating what exactly was going wrong, expecting someone to do their problem solving for them despite not having an account, and so on.
In future that's what I will do: close them and mark them as invalid: no STR etc

What file is that pref now stored in?

IDK

That might work, IDK. It seems if you search DXR that nightly and dev have a value of 2 - https://dxr.mozilla.org/mozilla-central/search?q=checkInstallTime&redirect=false
https://dxr.mozilla.org/mozilla-central/source/browser/components/nsBrowserGlue.js#1108
IDK, and IDwannaFK because I'm happy that update notifications are when I need them. And NFI why 63 vs 2. It's not like you can speed up the start of the prompt for your region, but you might catch the notification earlier - you're checking every 12 hrs anyway - and in fact I believe its a lot earlier than that - I seem to get notified all the time for the week or so I lag before updating - it depends on when you open the browser as well I believe.
Personally, I wouldn't mess with anything

@Thorin-Oakenpants wrote:

Well, it seems you don't need it - because you always find out before that by going to help>about - otherwise, there's no hurry, really .. calm the fuck down and chill out :)

:smile: You made me smile and laugh because, ironically, that's why I'm trying to do (chill the fuck out).  I don't want to check About Firefox every day (or at all), but I still want to get notified right away if FF knows there is an update.
I'm less than :100: about FF knowing there is an update, but not telling us (which is the current behavior).   I mean, FF knows there is an update (which often includes security patches), and the only 3 choices seem to be:

to allow behind-the-scenes auto-install operations... yuck, for obvious reasons
check About Firefox religiously... PITA
wait patiently for a doorhanger to appear some random time hopefully within a few days... not good for security reasons

I'm hoping for a 4th option. ;)

What file is that pref now stored in?

C:\ProgramData\Mozilla\updates\<randomnumber>\update-config.json

not good for security reasons

Nah. It's all good. I mean, they don't disclose the security info for quite a few days after release, and some of those bugzillas remain access denied, and even if they open them, it can be quite a while after. Note: I can sometimes see what they're doing thru commits even if the ticket number is access denied. However, the chances you get bitten are zero to none, IMO.
Do you want to close this, or fiddle with getting notifications quicker (I mean if you got firefox to check every minute, you could theoretically save 12 hrs .. that's HALF A DAY MAN!!!! :)

It's interesting .. these are nilla portable Firefoxes (which have updates at check only by default), that my FF63 tells me about an update as soon as I open it, but FF64 doesn't. So I wonder if something changed in 64+

I'm digging a little deeper - I got a test FF65 profile (3 of them actually!) to all auto-update to 65.0.1. BUT my main FF65 refuses to notify me (and it's clearly due, but the extra delay might be a timer thing) - and see above for the FF64 version as well, it also is not notifying me (and the update is weeks old)

OK .. so I was nosing around the folders in C:\ProgramData\Mozilla\updates\<randomnumber>\ where I have one folder per test portable FF and noticed that FF64 had an last-update.log, just like the FF65 test versions that updated. And I had FF64 open for around 10 minutes, looking at a few things, and loaded a web site to return the version (because of something in the log file) to make sure it really was FF64, and I got a notification.
I closed 64, opened it and nothing. I guess I need to have it open a little longer. They must have changed something from 63->64 so as to be not so naggy (e.g on open). And since I've been opening and closing FF's all day/night long doing various tests, I haven't really had FF64 or FF65 (test or my main FF) open long enough, and the upgrade has only just hit me.
I guess I'll find out later when I have FF open for an extended period, or some time has lapsed, if I get a notification. I should have had one by now IMO.

Aww man ...I'm taking a break. The change was to 65+ re the pref being removed, and IDK WTF is going on with my 64 vs 63 difference, which didn't help - and that I had numerous folders including since deleted test versions. For some reason, in my head, I thought this was all FF63+ (which is probably the version, from memory, that they removed the option to disable update checks) - so I've been confusing myself .. well done .. time for :beers:

I had a little time to mess around with it some more.
It seems that FF will check for updates, but will not notify the user right away when it knows an update is available.  I hope to fix that.
I tried adjusting app.update.badgeWaitTime and app.update.promptWaitTime, but neither gave the desired result.
What did work is setting app.update.interval to a ridiculously low value, like 5 (seconds).  The problem with doing that, obviously, is that FF then checks for updates every 5 seconds.  I doubt that's good for browser performance, and I doubt Mozilla wants a bunch of people doing that.  But it did achieve the desired result.

What did work is setting app.update.interval ...

So the default value is 43200 (seconds) = 12 hrs. That pretty much covers it. There's no super urgent need to rush like a madman to get an update. You will get notified in time. You could do a days work and not get an update, but you would when you wake up the next day - that's the worse case scenario. 1 day delay due to timing and sleeping (but while you were sleeping, you weren't using the browser anyway).
At twice a day, that's 84 checks between major releases (over 6 weeks). If you made it every 4 hrs, then you're now checking 252 times (and also when you open help>about, and when you open about:preferences I think as well). Or make it every 6 hrs - but all that does is let you know always 6 hrs earlier - i.e:

scenario1: FF auto checks = no update available. 1 minute later FF allows updates for your region, 6 hrs later FF auto checks = update available (so you got it 6 hrs early)
scenario2: FF auto checks = no update available. 5hrs 59mins later FF allows updates for your region, 1 minute later FF auto checks = update available (so you got it 6 hrs early)

i.e it doesn't matter what you set it to, your auto-checks points are fixed, so it doesn't matter when Firefox allows updates for your region, the only difference is how often you check. So if default is 12 hrs, but you check every 2, then you will always get it 10 hrs quicker.

to a ridiculously low value, like 5 (seconds). The problem with doing that, obviously, is that FF then checks for updates every 5 seconds

I only have one question. Does it display the update badge and prompt? I mean, I could go to help>about and it would say there was an update, but there was no badge or prompt.

I'm closing this. I kept it open because I was intrigued as to what happened in 63->64. I have been setting up multiple FF's and test profiles in VM's on various linux platforms, win10 etc. And doing testing. 63 prompts for an update immediately - in fact I've seen to prompt me twice in succession when I click out of the VM (to write something down), and back in. But 64 doesn't do jack shit (prompting) most of the time. But, and I have done a lot of testing on other things - 64 does prompt from time to time. I'm typically only have a FF release open in testing for less than 5 minutes.
All I can say to that, is that they modified the behavior of the prompt in 64+ so it wasn't so annoying / frequent - but it definitely prompts, and I will say that it does so in a timely manner (i.e within 12 hours of the last check).

I also confused myself earlier with 65 in my test FF's with new profiles - because it was in 65+ that the update pref was removed in windows - this actually caused my 65 test profiles to auto-update - each new profile is a new random folder - C:\ProgramData\Mozilla\updates\<randomnumber>\, and you need to start it via profile manager and check offline before opening it to make sure it doesn't instantly fucking update - at the moment this is OK, because 65 can only update to 65.0.1, but that will change once 66 hits stable.
So note to self in future re nilla profiles when using older FF releases that are 65+, not to trigger fucking updating my test FF on windows. Fun.

authors: Gitoffthelawn Thorin-Oakenpants crssi earthlng


text:
Add multi argument callback helpers.

This pull request does several things.

It makes sure that line widths don't exceed 80 in GHCJS/Foreign/Callback.hs
It adds jsbits/callback.js which contains h$makeCallbackMulti.
It adds syncCallbackMulti, syncCallbackMulti', and asyncCallbackMulti to
GHCJS/Foreign/Callback.hs. These functions utilize h$makeCallbackMulti.
It bumps up the version to 0.2.1.0
It documents OnBlocked and syncCallback' more clearly on README.
It documents syncCallbackMulti, syncCallbackMulti', and
asyncCallbackMulti on README.

I tested syncCallbackMulti, syncCallbackMulti', and asyncCallbackMulti
against the NodeJS example I included in README, and it seemed to pass an array of JSVals well.
This closes https://github.com/ghcjs/ghcjs-base/issues/76
It doesn't break existing functions.
Thus, I want this pull request to be merged soon if maintainers don't object to this pull request.

LGTM

@hamishmack Would it be ok to replace JavaScript.Array.toListIO :: SomeJSArray m -> IO [JSVal] with GHCJS.Prim.fromJSArray :: JSVal -> IO [JSVal] in my multi-argument callback functions as below?
{- | Make a callback (JavaScript function) that runs the supplied IO function
     in a synchronous thread when called. The callback takes an arbitrary
     number of arguments that it passes as an array of JSVal values to the
     Haskell function.
     Call 'releaseCallback' on the callback when done with the callback,
     freeing data referenced by the function.
 -}
syncCallbackMulti :: OnBlocked -- ^ what to do when the thread blocks
                  -> ([JSVal] -> IO ()) -- ^ the Haskell action
                  -> IO (Callback ([JSVal] -> IO ())) -- ^ the callback
syncCallbackMulti onBlocked f = do
  js_syncCallbackMulti (onBlocked == ContinueAsync) $ unsafeCoerce $ \args ->
    Array.toListIO (unsafeCoerce args) >>= f

I think it would be fine.

@hamishmack @luite I think the pull request is ready for merge. I request that a tag, v0.2.1.0 be added to the git repository after merging this commit. Is it ok for you to do so?

authors: crocket hamishmack

repo: ghcjs/ghcjs-base


text:
Fixing the Audio Player Section

The design aesthetic of this section isn't going with the rest of the page. I'll be fixing this. Add navbar to this section. And I'll be making this section mobile responsive.
Please assign me this @ghulamyazdani .

Adding one more thing here ! We don't need the Audio player listed on the navbar it's going out of context. Can you please remove it from there and add it somewhere it would fit, Like in the Games card section.
One suggestion we can change the name of the games section to Fun and add an Audio player there.

authors: ghulamyazdani snahashisk

repo: ghulamyazdani/TruHealth


text:
Increase timeout for default-apps wait

app-operator sometimes behaves slowly and doesn't reconcile the default-apps immediately. It can take a few minutes in some cases.
Failure example (Re-run worked): https://tekton.ei9o7.k8s.gorilla.eu-central-1.aws.gigantic.io/#/namespaces/tekton-pipelines/pipelineruns/pr-default-apps-vsphere-170-cluster-test-suites98fgh?pipelineTask=run-tests&step=run-tests&taskRunName=pr-default-apps-vsp2b7622e4aa140545bb755731d9bb9df7-run-tests-0
What this PR does
Checklist

[x] Update changelog in CHANGELOG.md.

Trigger e2e tests

/run cluster-test-suites

@AverageMarcus when you have multiple clusters and apply multiple operations at the same time, it takes some time. If you want, I can observe it for a while.

I'd be interested to know why we only see this with CAPV. The same doesn't seem to occur for CAPA and CAPZ based on the timings I took a little while ago. 🤔
I'd also like to know if there's something we can do to improve the app-operator to more quickly handle this (it's not really doing anything computationally hard so shouldn't be a slow process) which would then also improve the product for our customers too 😄

I will observe this issue more. Closing this.

authors: AverageMarcus erkanerol

repo: giantswarm/cluster-test-suites


text:
CAPA (private environment) - prometheus-agent

Towards: https://github.com/giantswarm/roadmap/issues/1467
Make sure prometheus-agent communicate to MC prometheus using the given proxy settings when running on private environment.
How to validate

[ ] proxy url is used in the remote_write prometheus config
[ ] remote write communication works in a private environment

prometheus-agent errors:

on MC goat, certificate issue:

ts=2023-01-04T14:34:31.193Z caller=dedupe.go:112 component=remote level=warn remote_name=50cf2c url=https://prometheus.goat.gaws.gigantic.internal/goat/api/v1/write msg="Failed to send batch, retrying" err="Post \"https://prometheus.goat.gaws.gigantic.internal/goat/api/v1/write\": x509: certificate signed by unknown authority"

on WC goatproxy, host issue:

ts=2023-01-04T14:30:15.746Z caller=dedupe.go:112 component=remote level=warn remote_name=6eb562 url=https://prometheus.goat.gaws.gigantic.internal/goatproxy/api/v1/write msg="Failed to send batch, retrying" err="Post \"https://prometheus.goat.gaws.gigantic.internal/goatproxy/api/v1/write\": dial tcp: lookup prometheus.goat.gaws.gigantic.internal on 172.31.0.10:53: no such host"

We have to set proxy env to prometheus-agent deployed on kube-system namespace because of kyverno limitations:
https://github.com/giantswarm/rfc/pull/50/files?short_path=78fcec4#diff-78fcec4175afc37005ef8958f78043f2e99817bd7d261506775c2d80d480427e
PR on pmo:
https://github.com/giantswarm/prometheus-meta-operator/pull/1106

With proxy_url set in remote_write config secret, the error in the agent is different (x509: certificate signed by unknown authority => Internal server error):
ts=2023-01-05T15:56:38.089Z caller=dedupe.go:112 component=remote level=warn remote_name=698074 url=https://prometheus.goat.gaws.gigantic.internal/goat/api/v1/write msg="Failed to send batch, retrying" err="Post \"https://prometheus.goat.gaws.gigantic.internal/goat/api/v1/write\": Internal Server Error"

It seems the proxy squid-proxy can't access the prometheus ingress:
1673613996.504      0 10.255.114.82 NONE_NONE/500 0 CONNECT prometheus.goat.gaws.gigantic.internal:443 - HIER_NONE/- -

We did wrong when we added proxy settings in the agent:
https://gigantic.slack.com/archives/C04AJ5FJHEK/p1673614269044229
Proxy has to be used only for requests to public internet.

Branch tested on goat:
https://github.com/giantswarm/prometheus-meta-operator/pull/1118
=> no more Internal server error
But error with certificate:
ts=2023-01-13T14:40:44.027Z caller=dedupe.go:112 component=remote level=warn remote_name=50cf2c url=https://prometheus.goat.gaws.gigantic.internal/goat/api/v1/write msg="Failed to send batch, retrying" err="Post \"https://prometheus.goat.gaws.gigantic.internal/goat/api/v1/write\": x509: certificate signed by unknown authority"

=> @calvix and @quentin suggest to deactivate tls cert verification:
https://github.com/giantswarm/config/pull/1497

The prometheus-server requested by the agent increases cpu/memory too much:
goat-prometheus             prometheus-goat-0                                   154m (3%)     225m (5%)   12036245Ki (75%)  14779652086 (90%)  42m

That causes prometheus restarts.
I even noticed a crash node :-(
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource                    Requests           Limits
  --------                    --------           ------
  cpu                         1778m (44%)        2746m (68%)
  memory                      16316985986 (99%)  18980037826 (115%)

We had to restart vpa-recommender because it didn't work well and prometheus resources were not reallocated correctly.
After vpa restart and many prometheus restarts, the monitoring on MC was working:

Now that goat is fixed, we need to fix:
[] thunder
[] thor

PR to add prometheus-remotewrite to thor in config repo:
https://github.com/giantswarm/config/pull/1531

thor is working well with MC + 2 WC !!!
[promtail-app]$ k get po -A | grep prome
kube-system         prometheus-operator-app-operator-55d4cd5c8c-g6xqf                      1/1     Running     0                73m
kube-system         prometheus-prometheus-agent-0                                          2/2     Running     0                4h19m
marie1-prometheus   prometheus-marie1-0                                                    2/2     Running     9 (73m ago)      3h39m
marie2-prometheus   prometheus-marie2-0                                                    2/2     Running     0                14m
monitoring          prometheus-meta-operator-888686d6d-gdx6v                               1/1     Running     0                7h
thor-prometheus     prometheus-thor-0                                                      2/2     Running     0                4h41m

Upgrade of thunder plan for Tuesday 31/01:
https://gigantic.slack.com/archives/C5PDDBBDG/p1674744054778089

authors: TheoBrigitte marieroque

repo: giantswarm/roadmap


text:
Shorts now appear in video recommendations.

See attached image.

I found a filter which removes these:
##ytd-reel-shelf-renderer.ytd-item-section-renderer

I think that filter would remove other sections with about the same style as that Shorts section in your screenshot. I always try to use a selector which specifically mentions Shorts to avoid removing non-Shorts content.
For example this is the filter I used that should remove this section (but doesn't in this case):
youtube.com##ytd-rich-section-renderer:has(#rich-shelf-header:has-text(Shorts))
I will try to take a look if this section pops up in my feed. Thanks for the heads up!

I just found this section on m.youtube.com. I removed this one with:
m.youtube.com##ytm-rich-section-renderer:has(.reel-shelf-title-wrapper:has-text(Shorts))
So I suspect the following filter might work for the section you mentioned:
youtube.com##ytd-rich-section-renderer:has(.reel-shelf-title-wrapper:has-text(Shorts))
Can you confirm if this filter works or not? If so, I will update the filterlist.

I condensed the filter a bit and added it to the list. Thanks for your help!

repo: gijsdev/ublock-hide-yt-shorts


text:
New repl

I think I've got this one stabilized with tests. The new REPL handles continuation lines better. I'm hopefully handling namespaces more consistently. The -i and -c arguments, with nearly the same meaning as Python, are tested and working.

Also, the improved incremental lexer helps produce much better syntax error messages in the REPL.

repo: gilch/hissp


text:
Provide tests or implementation for some applies to multiple RHS

The following are the status of formats

have implementations and tests

coo, csr, dense, ell, hybrid, sellp on reference executor
coo, ell, sellp on cuda executor
dense on omp executor

have implementations but don't have tests

hybrid and dense on cuda executor
coo, csr, ell, sellp on omp executor

don't have implementations

csr on cuda executor

@yhmtsai I saw that you already implemented all the missing OpenMP tests in #251 .
The last point is pretty important (being able to compute an SpMV with multiple RHS with CSR). Is it possible for you to work on that?
I could take care of the CUDA tests (which is probably looking at your OpenMP tests and changing small parts), but the CUDA CSR kernel is quite complex, and it would probably take quite some time to understand it good enough that I could add the multiple RHS support.

@thoasm I am working on the cuda csr implementation, it is in the this branch
I also finished other formats' tests on cuda.
For csr part
I will not implement multiple right hand side support of cuSparse because it can not handle the vector with stride.
Classical and load_balance are done. I also use selection for merge_path.
I will finish mrhs support of merge_path tomorrow.

@yhmtsai Perfect, thank you very much!

authors: tcojean thoasm yhmtsai

repo: ginkgo-project/ginkgo


text:
Redesign page intermédiaire + affichage message de partage de convention

📔 Description
La page intermédiaire de remplissage de convention a été re-designée suite à l'incompréhension de certains de nos utilisateurs.
💯 Solution
page intermédiaire
Lors de l'accès depuis le menu à "Remplir la demande de convention", la nouvelle page serait:

la première carte à gauche permet d'afficher le formulaire de convention
la 2e carte renvoie sur le site de Pôle emploi (sur la même page - on quitte IF)
la 3e carte renvoie sur un formulaire Tally (sur la même page - on quitte IF)
le lien du bas renvoie sur un formulaire Tally (sur la même page - on quitte IF)

page de partage de convention
Lorsqu'une convention est partagée par mail, le lien du mail renverrait désormais sur cette page:

le bouton permet d'afficher le formulaire de convention
le lien renvoie sur le site de Pôle emploi (sur la même page - on quitte IF)

🦄 Remarque
PR en draft car il manque une image sur la page de partage de convention

@JeromeBu j'ai supprimé le commit de split en composants car le problème de clignotements était encore là

repo: gip-inclusion/immersion-facile


text:
Feature/generate documentation file

This generates the xml documentation file in release mode.
As warnings are errors it supresses warning CS1591 which warns about missing xml comments for public members
The comments from the gir files are not generated into the wrapper code if in release mode. In this way we can create a public documentation based on our own comments.
In debug mode the gir comments are still generated into the wrapper code.

Yes it is better to be conservative with the comments.
We should probably make the generation of the documentation file opt in, too. This gives us the maximum flexiblity to enable / disable the comments, documentation file in any combination with debug / release mode.
I'm going to try a commandline parser to improve the Build commandline interface as currently everything is a target. There is the very promising looking dragon fruit commandline parser which is part of the dotnet organisation and pretty easy to use in our case: https://github.com/adamralph/bullseye/blob/master/BullseyeSmokeTester.DragonFruit/Program.cs

I updated the code to use the DragonFruit commandline parser and restructured it to better separate the concerns and prepare for unit tests.
@firox263 @na2axl What do you think?


text:
[Create New Issue]: Time & Space complexity

Description
*Types of Asymptotic notations
*Time and space complexity of recursive programs
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

/assign

/assign

repo: girlscript/winter-of-contributing


text:
DSA topics of 3 weeks

Description 📜
This branch consists of data structures and algorithms topics of 3 weeks containing Arrays,Strings,Linkedlists,Analysis of algorithms ,Greedy Algorithms, Searching and sorting algorithms

Type of change 📝

[x] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[x] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Doc#umentation (Content Creation in the form of codes or tutorials)
[x] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[x] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] JavaScript_#Domain
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

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

@Muskan-creator why is this PR to main?

I believe adding a weekly pr to main, would ease up the process of adding other branches to main. Or else in the end a lot of data has to be reviewed to merge into the main.

authors: Muskan-creator pjdurden


text:
Problem downloading the pom.xml file of guice-servlet/4.0-gb2

Hi,
We have a tool that iterates through the dependencies of our projects and apparently gitblit is one of them.
Our tool uses maven aether to iterate through the dependencies transitively and it fails on guice-servlet since it seems you have the pom.xml under an incorrect name.
It shows as pom.xml (https://github.com/gitblit/gitblit-maven/blob/gh-pages/com/google/inject/extensions/guice-servlet/4.0-gb2/pom.xml) and not as guice-servlet-4.0-gb2.pom which is how gb1 is named (https://github.com/gitblit/gitblit-maven/blob/gh-pages/com/google/inject/extensions/guice-servlet/4.0-gb1/guice-servlet-4.0-gb1.pom).
Any chance you can rename the files?
I can also send a PR to fix them

Ups, this has actually since long been fixed. (gitblit/gitblit-maven@0f1169d2cc13c27783e34198ffcdc2c5fc2e00b1)

authors: flaix ittaiz

repo: gitblit/gitblit


text:
Update readme.md

Added my name :D

Please add also you link :)

authors: NickJansenCode abranhe

license: Unlicense


text:
🛑 search.mascotboi.xyz is down

In 1ceff73, search.mascotboi.xyz (https://search.mascotboi.xyz/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: search.mascotboi.xyz is back up in 78e3c4d after 39 minutes.

repo: gitetsu/librex-instances-upptime


text:
🛑 whoogle.lunar.icu is down

In 93fd038, whoogle.lunar.icu (https://whoogle.lunar.icu) was down:

HTTP code: 0
Response time: 0 ms

Resolved: whoogle.lunar.icu is back up in 895cfa4 after 12 minutes.

repo: gitetsu/whoogle-instances-upptime


text:
🛑 search.sethforprivacy.com is down

In 8fc713c, search.sethforprivacy.com (https://search.sethforprivacy.com) was down:

HTTP code: 404
Response time: 233 ms

Resolved: search.sethforprivacy.com is back up in 2551d05 after 16 minutes.


text:
Properties for unchanged downstream Modules

Discussed in https://github.com/gitflow-incremental-builder/gitflow-incremental-builder/discussions/557

Originally posted by oers August  2, 2022
Currently I am trying to make our merge requests build faster with this plugin. Skipping Tests for all upstream modules helped a lot.
Now I would like to set Properties (to skip IntegreationTests or limiting testsuites) for upstream modules that are unchanged.
I would like to run full test suites for all changed modules and smaller suites for unchanged modules.

@oers Can you try snapshot 4.2.0-20221101.233037-1? This includes #587.
It would also be nice if you could check whether the addition to the docs makes sense for you: https://github.com/gitflow-incremental-builder/gitflow-incremental-builder/pull/587/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R603-R615

I will test this at work next week. But I see you already made a full release. Thanks

Yeah, patience is weak in this one. 😉
Please let me know how it goes with 4.2.0.

Documentation may need to clarify what happens to downstream modules, that have changes. I assume that the properties will ONLY be applied to downstream modules, that are unchaged (as in our discussion, if I remember correctly).

Yes, you remember correctly. I guess it doesn't hurt to clarify that a bit more in the docs.

WDYT about adding

Only unchanged downstream modules are affected by this setting.

❔

Sounds good. Short and clear.

authors: famod oers


text:
[GHSA-9c47-m6qq-7p4h] Prototype Pollution in JSON5 via Parse Method

Updates

Affected products

Comments
According to this, it looks like it is also fixed in v1.0.2?
https://github.com/json5/json5/releases/tag/v1.0.2

Hi there @jdgregson and @jordanbtucker! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our highly-trained Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory

Hi @burdeasa, thank you for your interest in updating the advisory, but this contribution is a duplicate of https://github.com/github/advisory-database/pull/1541.

authors: burdeasa github shelbyc

repo: github/advisory-database


text:
Upload CodeQL databases - mk2

The first commit is a revert of https://github.com/github/codeql-action/pull/577 which is itself a revert of https://github.com/github/codeql-action/pull/573. Thus the first commit is the original contents we tried to merge in.
Not yet ready for review. I've merged in the fix from https://github.com/github/codeql-action/pull/576 which should mean the HTTP requests no longer crash the action. I'll keep this PR as a draft while I test it.
Merge / deployment checklist

[ ] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.
[ ] Confirm the changelog has been updated if necessary.

I tried running this branch on a test repo (that's not opted into database uploads) and it works and prints the nice message that uploading the database was skipped. I've made it only print the full ugly stack trace and request info in the case that it's not a 404. All the "expected" error cases are just logged at debug level so they won't surprise/confuse people, but then any unexpected cases like a 500 error will be printed slightly more visibly. I hope this will be a nice compromise.
Here's what it looks like

and what it's like when the whole error is printed (this is from https://github.com/github/codeql-action/pull/578/commits/001318e810d3dd823a61c8cffbdc7a421513b186 but still shows what a 500 error would look like)

I've finished writing tests. This turned out to be a huge pain. Either it's the testing or mocking library we're using, or just typescript in general, but I find doing mocking and sharing test code really painful in this repository. Anyway, here it is. The various code paths are now pretty well covered, and I've done more manual testing of this up-to-date branch.
The only non-test changes I've made are moving the uploadDatabases function out to its own file. You can't export and test methods from the actions-entrypoint files, but moving to a separate file is easy.

@rneatherway, @aeisenberg, this should now be ready for review again. As said above, the main fix here is https://github.com/github/codeql-action/pull/578/commits/001318e810d3dd823a61c8cffbdc7a421513b186 and then everything else is adding tests or other minor changes, but please do have a look through it all.
I've tested on a demo repo and I'm now pretty confident that won't cause a problem on main again.

For example, in this PR you could possibly have introduced a method for determining whether it's appropriate to upload the database, returning a boolean and a reason for not uploading. You could then at least avoid stubbing the logger.

I think something squiffy was going on with the merge commit. It was complaining about the javascript not being up to date when it was fine locally. I think this is likely a result of this PR being a revert of a revert, so we risk problems because commits could be already on the main branch, so merging does weird things.
I've done the nuclear option of git reset --soft main and then re-commit everything. This should avoid all of these issues now. You can see in https://github.com/github/codeql-action/compare/242b060e56857cd38751857f56e597d6e4001740..146c89790971fd60af8d5daca487d29b61d2e4f6 that my force-push didn't actually change any files.

Nope, it wasn't any of that. It was a file in lib for a source file that I introduced but then deleted, so therefore the file in lib shouldn't be there. I should think of the simple reason first before jumping to git shenanigans.  🤦

repo: github/codeql-action


text:
Update default CodeQL bundle version to 2.8.2

Merge / deployment checklist

[ ] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.
[ ] Confirm the changelog has been updated if necessary.

Force-merged despite failing checks (due to Actions-wide MacOS trouble) -- all checks passed on exactly the same commits last Friday while the PR was in draft state.


text:
explain how to get LICENSE_KEYWORD

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/search-github/searching-on-github/searching-for-repositories#search-by-license
What part(s) of the article would you like to see updated?
says use license:LICENSE_KEYWORD
but doesn't explain how to get that
for example, it says Apache License 2.0 would be apache-2.0, does some list exist that shows keywords for all the major licenses?
Additional information
No response

Looks like this might work:
https://choosealicense.com/appendix

@89z Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

actually this looks way easier:
https://spdx.org/licenses

@89z Thanks for bringing this up! In the sentence right before the example given, there's a link to "Licensing a repository." From there, you can scroll down to "Searching GitHub by license type" to see a list of common licenses and their keyword.
Thanks again for reaching out. I'm going to go ahead and close this issue. I hope this helps clear things up! 💛

repo: github/docs


text:
docker

for who someone do need this pkg

Why:
Closes [issue link]

What's being changed:

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[x] This pull request impacts the contribution experience

[x] I have added the 'writer impact' label
[x] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

tankyou #6793


text:
Initial draft for Python quickstart

Why:

Closes [issue link]
What's being changed:

Adding a quickstart for Python apps in Codespaces to help guide users through adding and updating a devcontainer definition for their Python projects
Check off the following:

[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (eg. a "before and after video")

It generally looks good to me. My primary question is if this is going to be the only intro to Python doc for Codespaces. One of the cool things (to me) is the fact a Flask app like this could run without having to create a Docker container

The

F

The app crashes

It generally looks good to me. My primary question is if this is going to be the only intro to Python doc for Codespaces. One of the cool things (to me) is the fact a Flask app like this could run without having to create a Docker container

@GeekTrainer The sample repo I reference will get a readme that has instructions to just open + run without needing to do anything and we'll have that sample repo referenced on our landing page for Codespace docs.

Why:

Closes [issue link]
What's being changed:

Adding a quickstart for Python apps in Codespaces to help guide users through adding and updating a devcontainer definition for their Python projects
Check off the following:

[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (eg. a "before and after video")

Description of the writter impact di this: WHIO can Handel more than 36 words at a time because they cater tó assholes that dont know better, just Luke themselves.

Отправлено с iPhone

5 мая 2021 г., в 00:34, Brigit Murtaugh @.***> написал(а):

@bamurtaugh commented on this pull request.
In content/codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces.md:

+The next section shows you how to modify your tools by adding a dev container.

+### Step 2: Add a dev container to your codespace from a template
+
+The default codespaces container will support running Python projects like python-docs-hello-world out of the box. By setting up a custom container you can customize the tools and scripts that run as part of codespace creation and ensure a fully reproducible environment for all {% data variables.product.prodname_codespaces %} users in your repository.
+
+To set up your project with a custom container, you will need to use a devcontainer.json file to define the environment. In {% data variables.product.prodname_codespaces %} you can add this either from a template or you can create your own. For more information on dev containers, see Configuring your codespace.
+
+This example guides you through adding a devcontainer.json file from a template.
+
+1. Access the command palette (shift command P / shift control P), then start typing "dev container". Click Codespaces: Add Development Container Configuration Files...

+3. For this example, click Python 3. In practice, you could select any container that’s specific to Node or a combination of tools such as Python 3 and PostgresSQL.

+4. Click the recommended version of Python.

This image also doesn't show up.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


text:
Update README.md

Deleting Releases category from the readme, will absorb content into the General category

@ThoonsanEain Why tag me?

repo: github/feedback


text:
YAML files in multiple branches

Hey guys
Not sure if this is the correct place for this, is there a way to use valet on multiple branches?
I have a repo that has .gitlab-ci.yml is multiple branches for different purposes, but valet only looks in main.
Can this be done or will it be supported in the future?
[2022-10-28 11:06:44] Logs: '.\Documents/log/valet-20221028-110644.log'
[2022-10-28 11:06:44] Auditing 'https://gitlab.com/testing'
[2022-10-28 11:06:46] Resource not found
(GET 404) Not Found: https://gitlab.com/api/v4/projects/testing%2FREPO/repository/files/.gitlab-ci.yml?ref=master
[2022-10-28 11:06:46] Output file(s):==========================================|
[2022-10-28 11:06:46]   .\Documents/testing_/REPO/error.txt
[2022-10-28 11:06:46]   .\Documents/workflow_usage.csv
[2022-10-28 11:06:46]   .\Documents/audit_summary.md

It's something that's been on our radar, but I can't speak to when we're going to pick up development for it, since we have other high priority work that is taking precedence unfortunately.
I'm going to close this issue here, since this isn't the place where the work for this is going to happen. That said, rest assured that we are aware of this and do plan to address it in the future. It does help to know people are interested in it 😄

authors: luke-engle s-aqua

repo: github/gh-valet


text:
remove rsconnect folder from R.gitignore

Reasons for making this change:
The rsconnect folder does not contain any sensitive information (the deployment token is stored elsewhere). Moreover, it is recommended to be tracked by VCS (and therefore not in gitignore) in order to enable collaboration on published content.
Links to documentation supporting these rule changes:
http://docs.rstudio.com/connect/user/publishing.html#collaboration

@colearendt thanks for the link! I've pasted the key paragraph in for reference:

This rsconnect folder should be added and committed into version control. It does not contain any private or secure information. However, it does contain the URL for the RStudio Connect server and the content URL. This information allows future publications to easily target the same endpoint.

authors: colearendt shiftkey

repo: github/gitignore


text:
HTTP 401 while using 'create' action

I am constantly hitting a HTTP 401 when trying to use
hub create
on my newly created project. Isn't the create action meant to auto create the project on github?
Steps:
~: mkdir -p helloworld
~: cd helloworld
helloworld: echo 'trying out hub gem' > README
helloworld: hub init -g
Initialized empty Git repository in /Users/berinle/helloworld/.git/
helloworld(master) ✗: hub add .
helloworld(master) ✗: hub commit -m "first commit"
[master (root-commit) b770670] first commit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 README
helloworld(master): hub create
error creating repository: Unauthorized (HTTP 401)
helloworld(master):
Please advice

So im getting this error as well.. I have had no problems with hub create until now. now I get:
Bad credentials```
I have a very old version of hub, but I do have a `./config/hub` file.
I do not have 2FA setup, I have one set of SSH keys and one Personal access token..
I have upgraded to OSSierra and everytime I upgrade my mac, something changes.. It does not even ask me for authentication or passwords anymore..
Im a noob and I dont have much experience troubleshooting git, so please help

@matthewgoodwin It might be that your token stored in ~/.config/hub is outdated. Here's how to fix that:

First upgrade to at least hub 2.2.9 or one of the latest prereleases. You can either use brew install hub or download one of the precompiled binaries from the Releases section.
Unless you have some GitHub Enterprise configuration in your ~/.config/hub file, delete that whole file. That will force re-authentication.
Run hub create again. This will ask you for your GitHub username and your real password. Then it will save a new token in ~/.config/hub and hub should never ask you for the password again.

@mislav Thanks for the timely response! I dont have a Github enterprise config to my knowledge. but I also cant seen whats inside this folder as my zsh is denying permission to access this files content..
zsh: permission denied: .config/hub

@matthewgoodwin I can't imagine why you don't have permissions to view files in ~/.config, but it doesn't matter. If that file is the only one in that directory (you can check with sudo ls ~/.config), then simply delete it sudo rm -rf ~/.config and run hub create to reauthenticate.

I dont want to delete all of the .config files..
my config directory contains my
git heroku and hub
will this be an issue? should I only remove the hub directory?

If there are other files in there. you can remove just the ~/.config/hub file, of course.

after updating my hub, I actually noticed that I have another heroku dir installed in usr/local while git and hub were also installed in the same directory of my usr/local/Cellar, so I dont think I need anything in the .config dir. Im not certain why I have multiple directories in various places? thanks Ill do some investigating and clean up here!! thanks @mislav

all good here, thanks again @mislav !

I have the same problem here.
I have

git version 2.25.1
hub version 2.14.2
But everytime I try to create one it shows

$ hub create
github.com username: tjddbs0401
github.com password for tjddbs0401 (never stored):
Error creating repository: Unauthorized (HTTP 401)
Bad credentials

@mislav

@tjddbs0401 I'm sorry, I don't have an idea what could be going wrong there. It seems like you are not entering the right password for your GitHub account. You can try generating and pasting a Personal Access Token instead to see if that helps.

For people coming from Google search: if you just updated your GitHub token, then you need to edit your ~./config/hub file and update the oauth_token value.

authors: berinle matthewgoodwin mislav raelgc tjddbs0401

repo: github/hub


text:
Add nawed2611

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/india/blob/main/CONTRIBUTING.md.

Which change are you proposing?

[x] Adding/updating open source project/s
[x] Adding/updating maintainer/s

Adding/updating maintainer/s

[x] Maintainer's location on their GitHub profile indicates as India
[x] Maintainer has approved this PR to be included on the website

What open source project/s does the individual maintain?

Repo

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/india/blob/main/CONTRIBUTING.md.

Which change are you proposing?

[x] Adding/updating open source project/s

[x] Adding/updating maintainer/s

Adding/updating maintainer/s

[x] Maintainer's location on their GitHub profile indicates as India

[x] Maintainer has approved this PR to be included on the website

What open source project/s does the individual maintain?

Repo

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Fuck off

Thanks for your contribution @nawed2611 💙
Unfortunately, we would be unable to approve your PR currently since we are listing maintainers whose project/s have a significant traction within the community.
All the best in your open source journey!

repo: github/india


text:
Add support for the ante language

Language is here.  Since you seem to use sublime text for syntax highlighting, you'll probably want to use this.

Please see the guidelines to add support for a new language to Linguist. If Ante meets the requirement on in-the-wild usage, don't hesitate to open a pull request. For syntax highlighting, GitHub supports TextMate, Sublime Text, and Atom grammars.

authors: Elronnd pchaigno

repo: github/linguist


text:
Remove .lock from JSON extentions

#1451 added the .lock extension to the JSON language, as a result of an existing test for composer.lock added in #818.
.lock is used for many purposes, the most common of which being lock files. JSON does not appear to be a common format for .lock files.
This PR removes .lock from the JSON language, and updates a test and sample for composer.lock, which remains JSON (which itself was added in #790)
This search returns a number of examples of .lock files that should not be classified as JSON.

:+1: makes sense. Thanks @snh

authors: arfon snh


text:
orchestrator to inject Pseudo-GTID

This idea has been circling: that orchestrator should take ownership of injecting pseudo-GTID entries onto masters. Thus, the user will not need to take care of a special pseudo-gtid service or an event_scheduler entry. Moreover, the user will not need to manage enabling/disabling said service or event at time of failover.
Considerations:

This requires orchestrator to reliably know who the master is. This statement sounds almost trivial, given that orchestrator is the one to run failovers. Just noting.
orchestrator would need privileges to inject the pseudo-gtid entry. On RBR  like using drop view if exists ... which means orchestrator would need the DROP privilege.

Closed by https://github.com/github/orchestrator/pull/384

repo: github/orchestrator


text:
Using model checkpoint for inference.

I have trained a model on my dataset and the model performs decently on validation set. I get an accuracy of 72% using --wordbeamsearch. Now I want to load the model for inference on device. It can be done by converting the model to the .pb format. Now to convert the saved checkpoint to the frozen model I need the name of the output node. I am confused which output node name should I use? Is there a node which can directly give the recognized text (with word beam search decoding) given the input image? Or some other output node name has to be used?
Thank You :)

can't provide any support on this.

@githubharald Can you please let us know what is name of Output Node or way to figure out Output Node Name? It's a required parameter to freeze a model to use it in Production.

authors: contactvpatel githubharald ritzyag

repo: githubharald/SimpleHTR


text:
Social Media

Based on public launch date, write and determine social media dates.
Tasks

[ ] Assign dates below
[x] Write Tweet: @hectorsector
[ ] Write Blog (optional): @hectorsector
[x] Move to editorial review: @carolynshin
[ ] Incorporate an changes: @hectorsector

I believe this is a stale issue!

authors: carolynshin hectorsector

repo: githubtraining/ci-circle