Axes + POST requests w/lists results in AttributeError in axes.helpers.get

I'm not entirely sure if this is a bug in django-axes, or we're using it wrong, so I'll outline what I've observed and what I see as a potential problem.
Versions (that I think are relevant):

Django==2.2.6
django-axes==5.9.0
djangorestframework==3.11.0
djangorestframework-simplejwt==4.3.0

I implemented a view that supports a POST request to update some data structures, that accepts a list of things as input.
So the request body would be something like [{…}, {…}].
When input data validation, I have a Serializer and did:
class EIPDiscoverView(APIView):
    def post(self, request, id=None):
        obj = DeviceEIPSerializer(data=request.data, many=True)
        obj.is_valid(raise_exception=True)

when the input is valid, there no problem, but when the exception is raised, I get an error from helpers.get_client_username()
To illustrate the problem, I turned up logging to DEBUG and added
A successful request
DEBUG:axes.helpers:Using parameter credentials to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.attempts:AXES: Getting all access attempts from database because no AXES_COOLOFF_TIME is configured
DEBUG:axes.helpers:Using parameter request.POST to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.helpers:Here's our request_data...
DEBUG:axes.helpers:<QueryDict: {'username': ['laumann'], 'password': ['***']}>
DEBUG:axes.helpers:Using parameter credentials to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.attempts:AXES: Getting all access attempts from database because no AXES_COOLOFF_TIME is configured
"POST /api/token/ HTTP/1.1" 200 524
INFO:django.server:"POST /api/token/ HTTP/1.1" 200 524
[{'ip': '<IP_ADDRESS>', 'identityObject': {'VendCode': 243, 'ProdType': 2, 'ProdCode': 6153, 'MajRev': 1, 'MinRev': 16, 'ProdName': 'ATV320'}}]
Found 1 devices
DEBUG:axes.helpers:Using parameter request.POST to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.helpers:Here's our request_data...
DEBUG:axes.helpers:<QueryDict: {}>
DEBUG:axes.helpers:Using parameter credentials to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.attempts:AXES: Getting all access attempts from database because no AXES_COOLOFF_TIME is configured
"POST /api/v1/discover/ethernet-ip/21cd2103-fd23-49c5-8434-2325c3bb4d2e/ HTTP/1.1" 200 25

An error case
DEBUG:axes.helpers:Using parameter credentials to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.attempts:AXES: Getting all access attempts from database because no AXES_COOLOFF_TIME is configured
DEBUG:axes.helpers:Using parameter request.POST to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.helpers:Here's our request_data...
DEBUG:axes.helpers:<QueryDict: {'username': ['laumann'], 'password': ['***']}>
DEBUG:axes.helpers:Using parameter credentials to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.attempts:AXES: Getting all access attempts from database because no AXES_COOLOFF_TIME is configured
"POST /api/token/ HTTP/1.1" 200 524
INFO:django.server:"POST /api/token/ HTTP/1.1" 200 524
[{'ip': '<IP_ADDRESS>', 'identityObject': {'VendCode': 243, 'ProdType': 2, 'ProdCode': 6153, 'MajRev': 1, 'MinRev': 16, 'ProdName': 'ATV320'}}]
DEBUG:axes.helpers:Using parameter request.POST to get username with key settings.AXES_USERNAME_FORM_FIELD
DEBUG:axes.helpers:Here's our request_data...
DEBUG:axes.helpers:[{'ip': '<IP_ADDRESS>', 'identityObject': {'VendCode': 243, 'ProdType': 2, 'ProdCode': 6153, 'MajRev': 1, 'MinRev': 16, 'ProdName': 'ATV320'}}]
Traceback (most recent call last):
  File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/axes/middleware.py", line 47, in __call__
    username = get_client_username(request)
  File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/axes/helpers.py", line 145, in get_client_username
    return request_data.get(settings.AXES_USERNAME_FORM_FIELD, None)
AttributeError: 'list' object has no attribute 'get'

There's a bunch of exceptions following this initial exception, but I think this is the root of it.

Following errors
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/utils/deprecation.py", line 94, in call
response = response or self.get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 90, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 125, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 94, in technical_500_response
html = reporter.get_traceback_html()
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 333, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 305, in get_traceback_data
'filtered_POST_items': list(self.filter.get_post_parameters(self.request).items()),
AttributeError: 'list' object has no attribute 'items'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/utils/deprecation.py", line 94, in call
response = response or self.get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 90, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 125, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 94, in technical_500_response
html = reporter.get_traceback_html()
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 333, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 305, in get_traceback_data
'filtered_POST_items': list(self.filter.get_post_parameters(self.request).items()),
AttributeError: 'list' object has no attribute 'items'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/reversion/middleware.py", line 26, in call
return self.get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/reversion/views.py", line 35, in do_revision_view
response = func(request, *args, **kwargs)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 90, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 125, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 94, in technical_500_response
html = reporter.get_traceback_html()
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 333, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 305, in get_traceback_data
'filtered_POST_items': list(self.filter.get_post_parameters(self.request).items()),
AttributeError: 'list' object has no attribute 'items'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/utils/deprecation.py", line 94, in call
response = response or self.get_response(request)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 36, in inner
response = response_for_exception(request, exc)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 90, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 125, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 94, in technical_500_response
html = reporter.get_traceback_html()
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 333, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
File "/home/tj/.virtualenvs/omnio3/lib/python3.8/site-packages/django/views/debug.py", line 305, in get_traceback_data
'filtered_POST_items': list(self.filter.get_post_parameters(self.request).items()),
AttributeError: 'list' object has no attribute 'items'

Basically AFAICT it comes down to the lines:
https://github.com/jazzband/django-axes/blob/ea4d3c477dd1fda2045ed8c927b6d0bb87200d27/axes/helpers.py#L141-L142
where it is assumed that request_data has a get() method.
In both of the cases above, the first request where we log request_data is to obtain a JWT:
DEBUG:axes.helpers:Here's our request_data...
DEBUG:axes.helpers:<QueryDict: {'username': ['laumann'], 'password': ['***']}>

Where request_data then has type QueryDict.
When an exception is raised, request_data appears to be whatever was submitted in the request, ie in my case a list.
DEBUG:axes.helpers:Here's our request_data...
DEBUG:axes.helpers:[{'ip': '<IP_ADDRESS>', 'identityObject': {'VendCode': 243, 'ProdType': 2, 'ProdCode': 6153, 'MajRev': 1, 'MinRev': 16, 'ProdName': 'ATV320'}}]

whereas in the successful case, the type is still a QueryDict (that is empty)
DEBUG:axes.helpers:Here's our request_data...
DEBUG:axes.helpers:<QueryDict: {}>

Workarounds
I've considered two workarounds:

Use the customization option to provide my own username lookup, where I could then check if the input is a list and return None in that case, and set AXES_USERNAME_CALLABLE.
Make sure that whatever is received in get_client_username() actually has a get() function

I've gone with the latter, and just defined a top-level object, like:
{
    "eipDevices": [{"ip": "<IP_ADDRESS>", "identityObject": {"VendCode": 243, "ProdType": 2, "ProdCode": 6153, "MajRev": 1, "MinRev": 16, "ProdName": "ATV320"}}]
}

This makes it so even in the event of an exception the request_data.get(…) line doesn't fail with AttributeError and the expected error return code is received.
Questions

Is this a bug in django-axes? I'm happy to implement and submit a PR with a fix
Am I doing something wrong in my usage of django-axes?

Sorry for the long-winded post, but it's hard to know what can be left out when I basically am unsure of where the problem is and what interaction is causing what errors.

Thanks for the detailed issue @laumann!
Seems like this is a problem with the request data being a list instead of dict.
You are using an outdated version of Axes which fetches user attributes in the middleware which results in your error. Could you try updating Axes to the latest version which is currently django-axes==5.13.1?

Thanks for the detailed issue @laumann!

No problem :smile:

Seems like this is a problem with the request data being a list instead of dict and the you seem to be using an older version 5.9.0 of Axes which fetches user attributes in the middleware which results in your error with the combination of input data typing. We removed that logic from the middleware in 5.10.0.
Could you try updating Axes to the latest version which is currently django-axes==5.13.1 and see if that fixes your problem?

Ah sure, I'll try it out. I figured that since the code was the same in get_client_username() the behaviour would be the same, so I didn't try the update. Thanks for the explanation.

The difference is that get_client_username() is not invoked in the middleware in the recent versions: it is only invoked on authentication attempts and lockout signal resolution instead of every request that goes through the middleware.


User can view a detailed breakdown of the number and percentage of enrollees per enrollment track (of the enrollment tracks available on my Open edX instance) enrolled in the past week

User Story
As a course author, I want to view a detailed breakdown of the learners who enrolled in my course over the past week, so that I can view any recent changes or trends in enrollment track activity easily from the course dashboard.
Acceptance Criteria
Scenario: A course author can view the change in enrollment over the past week from the course dashboard
Given I am a course author with X permissions
When I look at the change in enrollment information in the enrollment section of the course dashboard
Then I can see the number and percentage of enrollees who enrolled in the course over the past week by enrollment track (of the enrollment tracks available on my instance)

I think this can be charted using the fact_enrollments dataset in Superset.


[CODEGEN] Clean up visit_mma16816

Use fewer shared memory pointers for a and b.
Now some variables have better names.

Kind of forgot about this PR :D Could you rebase it against v2.0 ?

Oh. I think this PR is now stale. I'm closing it.


Windows support

Hi,
currently appr and accordingly the helm app registry plugin is only supported on Linux and OSX. Would it be possible to support it also on Windows?
As far as I'm aware there biggest problem is that the appr binary is build with travis ci (I didn"t look in detail at the GitLab build) and pyinstaller. Travis ci only builds on Linux and OSX and pyinstaller doesn't support cross-compilation. But I saw there is one release of appr-helm-plugin with a Windows binary.
We got it running on Windows by building the appr.exe locally and creating a Powershell version of cnr.sh.
Is there a solution for the cross-compilation problem?

The binary is already compiled for windows with appyvor, but looks like it didn't not trigger latest releases).
What we weere missing is the powershell script.

Could you submit your Powershell script ?

We've implemented parts of the script to get it to work on our machines. Unfortunately we skipped the "download"part. But we'll add this very soon (today or tomorrow) and I'll post the whole script. For now, that's the part that just invokes the appr.exe
function Appr_Helm($helm_args){
    Invoke-Expression "$Env:HELM_PLUGIN_DIR/appr.exe $helm_args --media-type=helm"
}

if(!(Test-Path $Env:HELM_PLUGIN_DIR)){
    $Env:HELM_PLUGIN_DIR="$Env:HOME/.helm/plugins/registry"
}

switch ($args[0]) {
    "install" { Invoke-Expression "$Env:HELM_PLUGIN_DIR/appr.exe helm install $args" }
    "upgrade" { Invoke-Expression "$Env:HELM_PLUGIN_DIR/appr.exe helm dep $args" }
    "dep"     { Invoke-Expression "$Env:HELM_PLUGIN_DIR/appr.exe helm dep $args" }
    "pull"    { Invoke-Expression "$Env:HELM_PLUGIN_DIR/appr.exe pull --media-type helm $args" }
    { @("push", "list", "show", "delete-package", "inspect") -contains $_ } { Appr_Helm $args }
    default { Invoke-Expression "$Env:HELM_PLUGIN_DIR/appr.exe $args"}
}

@sbueringer would you be able to help me building the branch client_deploy on windows ?
It has c dependency (to compile) and I keep failing to find the configuration for build it on https://www.appveyor.com/

@ant31 I'll try later today

@ant31. I didn't got it to work.
I tried it directly on Windows .appveyor.yaml and in Cygwin .appveyor.cygwin.yaml. In both cases it came down to compilation errors in jsonnet log.
Maybe it's related to this issue in jsonnet.

@sbueringer yes it's related to jsonnet, I'm working on it.
I removed this dependency for the windows build for now.

@sbueringer Are you still using Appr? if yes, I've released a 'windows' build in https://github.com/app-registry/appr-helm-plugin/releases/tag/v0.7.0, using your powershell script (with few modifications to reflect latest changes).
Would you be able to validate that is working ?

@ant31
I tested the script, made some fixes and it now works (at least on my machine :)).  I've opened an PR (https://github.com/app-registry/appr-helm-plugin/pull/43).
The packaged release should also be verified again, as I just checked out the repository, changed the plugin.yaml and fixed the .ps1 script.

@ant31 Could you please create a new release (of appr-helm-plugin) with the merged branch. This would make it easier for me to recommend the usage of the appr-helm-plugin on Windows to my colleagues :)


Add --forward flag to etl to control dependencies

Problem
Running etl data://garden/wb/2021-07-01/wb_income --dry-run would currently rebuild all backward and forward steps. Here's a complete list
Detecting which steps need rebuilding...
Running 16 steps:
1. walden://faostat/2021-03-18/faostat_QCL...
2. walden://faostat/2022-02-10/faostat_metadata...
3. walden://faostat/2017-12-11/faostat_FBSH...
4. walden://faostat/2021-04-09/faostat_FBS...
5. data://open_numbers/open_numbers/latest/open_numbers__world_development_indicators...
6. data://meadow/faostat/2021-03-18/faostat_qcl...
7. data://meadow/faostat/2022-02-10/faostat_metadata...
8. data://meadow/faostat/2017-12-11/faostat_fbsh...
9. data://meadow/faostat/2021-04-09/faostat_fbs...
10. data://garden/owid/latest/key_indicators...
11. data://garden/faostat/2021-03-18/faostat_qcl...
12. data://garden/faostat/2021-04-09/faostat_fbsc...
13. data://open_numbers/open_numbers/latest/gapminder__systema_globalis...
14. data://garden/owid/latest/population_density...
15. data://garden/explorers/2021/food_explorer...
16. data://examples/script/script_example...

By backward dependencies we mean all steps that we depend on, i.e.
data://meadow/wb/2021-07-01/wb_income
walden://wb/2021-07-01/wb_income

and by forward dependencies all steps that depend on data://garden/wb/2021-07-01/wb_income. That is data://garden/owid/latest/key_indicators and then forward deps on key_indicators, etc.
Once we get all backward and forward dependencies, we then also include all their backward dependencies to make sure our subgraph is "complete" (might not be an official graph theory term). This is how we get all those 16 steps above.
This is useful if you want to rebuild a specific step and make sure everything that would change gets updated, but we rarely do that since in production we always run etl and execute full dag. On the other hand, we prototype a lot locally and frequently need to run specific steps and their backward dependencies. Running forward dependencies just slows it down.
Solution
We should always run backward dependencies automatically, but we could have --forward flag (off by default) to control what gets build.
An alternative is having --only that would run only steps matching etl regex. Another is implementing both --backward and --forward (then --only is the same as running it without --backward and --forward), but I can't think of any scenario where excluding --backward would be helpful to my dev workflow.
Currently one could also use --exclude flag, but that becomes impractical with complex dag (like the one above).

cc @larsyencken @pabloarosado

It seems best to me to add the simplest flag that addresses the need, for now anyway. So I'd vote the --forward option.
That would basically just be a matter of enclosing this logic in an if statement controlled by the --forward flag, right?

Also, if we had --forward off by default, would there be any problem with existing behavior? Should we have it on by default and add --no-forward to preserve current defaults?

That would basically just be a matter of enclosing this logic in an if statement controlled by the --forward flag, right?

I think you'll rather have to make changes to filter_to_subgraph. That logic you mention is taking care of backward dependencies. You might even have to restructure filter_to_subgraph a bit.

Also, if we had --forward off by default, would there be any problem with existing behavior?

Don't think so. In production we use etl which computes all steps and in staging we use etl garden explorer, but there are no other forward steps depending on those. (And if there ever are we would explicitly enumerate them)

Refactor PR, which I think simplifies a good bit: https://github.com/owid/etl/pull/244
After that, it's trivial to add the command line arg / change the default, just saving the behavior change for a separate PR

So... beautiful... diagrams. How did you make it @larsyencken? Tell me!

consistent subgraph

Just out of curiosity, is this an official definition? I was using maximal subgraph, but that was totally made up...
Anyway, I agree with everything...

Haha, I've been playing with Excalidraw: https://excalidraw.com/#json=xsQWYQbVXJrL2v8nAA2is,xeP3Je0Era_-yDVYaaEztA.
I've been looking at graph theory terms, I don't think there's a neat one for what we're describing, which is specific to DAGs.
https://en.wikipedia.org/wiki/Glossary_of_graph_theory#:~:text=A connected component of a,components%2C and strongly connected components.
A closure is a subgraph with no edges going outside the graph. A connected component is a subgraph where there is a path from every node to another, and no paths leading outside the component. But... it's hard to describe what we're doing exactly in those terms 😅

Ah, yeah, I'm not sure "dependents" is very natural either, unfortunately. Trying on a few:

--forward
--downstream
--descendants
--complete

I'm not so sure what's easiest to understand.

New flag + new default behavior: https://github.com/owid/etl/pull/248

Sorry for joining late. Some comments:

I personally find "backward" and "forward" the most intuitive words, because it's clear (in time) that backward steps are ones that need to happen before, and forward steps are those that need to happen later. Downstream is a little confusing because, firstly, it's not clear in time what is above or below, and secondly, in the dag, we put the upstream dependencies below the step. But if you have already agreed on this nomenclature, I'm fine with it.
I like Lars' diagrams, very clear. I think the future behaviour is indeed the most meaningful default behaviour. We should keep in mind that, while developing a data pipeline, it's useful to have the option to run the minimum amount of code possible, since you are constantly changing things and don't want to waste time. So I think the "only" option (to execute just the selected steps) is definitely useful.

Thanks for doing this, it will be very useful!

So I think the "only" option (to execute just the selected steps) is definitely useful.

I wouldn't implement it yet and wait how avoiding forward steps works for us. In my opinion it should be enough for most (maybe even all) practical purposes.

The "only" option is useful while developing a pipeline, because you may be simultaneously working on different steps (some of them may depend on others, and they may take some time to execute). You already have existing datasets for all of them (they are not up-to-date, but they exist), and you want to check that a specific feature of a specific step works. You don't care if the data that this step is ingesting is the latest, you just want to run it with any data to see that it works.

@pabloarosado thanks, this is indeed a good use case. @wcox13 would you mind either adding --only option to this PR or open a new one if the change is more complex?

Thanks Pablo, yup I'll open a new PR for --only!

Actually, I just added to the same PR, ready for review: https://github.com/owid/etl/pull/248

This is done actually

Can’t figure out how to close it though, maybe don’t have permission?


footer navigation, unit tests and better intro

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@0bc7a64). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #3   +/-   ##
=======================================
  Coverage        ?   88.88%
=======================================
  Files           ?        6
  Lines           ?       36
  Branches        ?        7
=======================================
  Hits            ?       32
  Misses          ?        2
  Partials        ?        2

Continue to review full report at Codecov.

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


Is there a way to query webSocketDebuggerUrl on browser window?

I want to use puppeteer for chromebook automation.
Chromebook doesn't allow to launch multiple instances of browser and I need to connect to the existing instance of browser.
Though Puppeteer.connect seems to be an option but I need to get the webSocketDebuggerUrl. Is there a way I can query for webSocketDebuggerUrl on browser?
Is there any other way to automate testing in chromebook?

I don't have a ChromeOS device to play around, but here's some information I found on this:

there's some discussion on this in this google group
telemetry reads  devtools active port from /home/chronos/DevToolsActivePort.

Let me know if you manage to make this work.

@aslushnikov
Thanks for the input.
I was able to connect to the running instance of browser in chrome and rest of the automation was straightforward.


More coarse-grained undo/redo

ATM, every keystroke is wrapped into a document change, making undo redo a bit uncommonly fine-grained.

There is some subtlety to how this ends up working. An easy way is to just group chunks of text by how quickly they were typed together, but this isn't how native OS undo works and isn't the ideal user experience.
It's been awhile since I've been on Windows, but I believe Mac and Windows behave the same way. The rules for Mac are:

continuous text entry gets collapsed into one command
continuous text deletion gets collapsed into one command (both backspace and delete together)
any selection or cursor location change breaks these.

Examples:
I could type a thousand words in 20 paragraphs without any backspace/delete or cursor changes. When I hit undo all 20 paragraphs would be removed.
I could type a sentence, leave my computer for an hour for lunch, come back to type another sentence, hit undo and both sentences would be removed.
I could type a character, hit ← and then → putting me right back where I was, then type another character. When I hit undo only the second character will be removed. The break occurred because I changed cursor position. The fact that I changed back doesn't matter.
I could place the cursor in the middle of a paragraph. I could press backspace 5 times and delete 5 times removing 10 characters to the right and left of where the cursor was placed. When I press undo, all 10 characters are restored. Although backspace and delete remove characters on different sides of the cursor, they are grouped into one change.
If you get the mechanism for grouping/combining/merging commands together I could look at implementing this. I'm still new in this code-base and don't feel comfortable changing the command mechanism.

I'll double the original sentiment that it can be a bit too fine-grained.
Maybe by keeping the chunks of text that get grouped together short, it won't have much of a jarring effect on the user.
On the UX side of things, I think this is functionality that users of editors are used to, and it can get a bit tedious for them to ctrl-z character by character.


PackageReference/ProjectReference transitive behavior

Steps to reproduce

Create a new solution
Add 2 C# Class Library (.NET Framework) projects named ClassLibrary1 and ClassLibrary2
Add a project reference: ClassLibrary2 references ClassLibrary1
Add a NuGet reference in ClassLibrary1 to Newtonsoft.Json (<PackageReference>)
In ClassLibrary2 add the following code

public class Class1
{
    public void A() => Newtonsoft.Json.JsonConvert.SerializeObject(null); // Use Newtonsoft.Json
}

Execute the following command line
msbuild /bl

=> Build failed
In ClassLibrary2 add a NuGet reference to a NuGet package that doesn't depend on Newtonsoft.Json, such as NUnit (<PackageReference>)
Execute the following command line
msbuild /bl

=> Build succeed
Expected  behavior
I think the first build should succeed, or the second one should fail.
Actual behavior
It fails.
Environment data
msbuild /version output:
<IP_ADDRESS>198
OS info:
Windows 10 1607
If applicable, version of the tool that invokes MSBuild (Visual Studio, dotnet CLI, etc):
Visual Studio 15.6.7 and command line (msbuild)

This is a NuGet behavior. Older versions of NuGet didn't treat dependencies as transitive in this way, so NuGet (currently) requires you to explicitly opt into the new behavior from your ClassLibrary2 with
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>

https://github.com/NuGet/Home/issues/4581 would also help for this case.

Duplicate of NuGet/Home#4488


update .editorconfig for protobufs

Based on https://github.com/stackrox/stackrox/pull/3192

/test slim-e2e-tests
/test e2e-tests


bash and curl in docker image

This adds 5MB to the image size.
Motivation

Why bash: to run entrypoint.sh with bash
Why curl: cause wget isn't meant for curling

@ilans do you still want to merge this?


Add try .. except block to FloatToNano() method and some negative unit-tests for it

Add an error handler to FloatToNano() and negative unit-tests.
Here you need to think about what is better to return on errors: {"units": "0", "nano": 0}, None, warning and {"units": "0", "nano": 0}, warning and None or raise exception?

Implemented in builds v1.6.*


fix: specify supported non-standard commands in newMethodMap

here is my first stab at this. i wrote a little script to basically generate the new method map we need. this script could be copied and changed in minor ways for every driver. it outputs a javascript object which i simply copied into the new method map declaration.
const {METHOD_MAP} = require('@appium/base-driver');
const {AndroidDriver} = require('.');
const util = require('util');

const deprecatedCommandNames = {};
for (const [route, methodSpec] of Object.entries(METHOD_MAP)) {
  for (const [method, commandSpec] of Object.entries(methodSpec)) {
    if (commandSpec.deprecated && commandSpec.command) {
      deprecatedCommandNames[commandSpec.command] = {
        route,
        method,
        commandSpec,
      };
    }
  }
}

const newMethodMap = {};

for (const [command, details] of Object.entries(deprecatedCommandNames)) {
  const {route, method, commandSpec} = details;
  const instance = new AndroidDriver();
  if (instance[command]) {
    if (!newMethodMap[route]) {
      newMethodMap[route] = {};
    }
    newMethodMap[route][method] = {...commandSpec};
    delete newMethodMap[route][method].deprecated;
  }
}

console.log(util.inspect(newMethodMap, {depth: 5})); // eslint-disable-line no-console

we should probably also deprecate the commands in here that we plan to remove from the android drivers in the future. like the non-w3c compatible ones


Report results on all datasets with the regularization based on the adjacent nodes

The results are here:
https://docs.google.com/spreadsheets/d/1esXh-eNz76_86PikQe9-FwkeEpMz7Of6rzeiSS6lrD8/edit?usp=sharing


[WebToolsE2E][Aspire][Document]Some more updates are needed to "Deploy a .NET Aspire app to Azure Container Apps" instructions using VS with aspire

Describe the issue or suggestion
Issue description
In "Deploy a .NET Aspire app to Azure Container Apps" doc, we need to make some updates to the instructions for Preview 6.
Issue 1:
For Create the .NET Aspire template section, document show requires Docker

Actual: show "requires a supported container runtime", so the document need update.

This issue has been fixed in a recent PR.

verify this issue has been fixed.


Directory navigation keys in filepath completion

Background
When cd-ing to a nested directory (or selecting a deeply nested file), you need to type "enter tab enter tab enter tab..." to repeatedly select a folder and then re-start the filepath completion within that folder.
e.g. to cd to a/b/c/d, you would do
e.g. cd a/<tab><enter to select b><tab to list directories in b><enter to select c><tab to list directories in c><enter to select d>
Desired solution
Once in interactive completion mode, pressing tab would cause the completion to enter the the hovered-over directory without ending interactive completion.
e.g. cd a/<tab to select b and list directories within b><tab to select c and list directories within c><enter to select d>
i.e.
cd <tab>
cd a/<tab>
cd a/b<tab>
cd a/b/c<tab>
cd a/b/c/d<enter>

(For simplicity I've omitted filtering/using arrow keys to choose between directories before pressing tab)
Additionally, pressing shift+tab could go in the opposite direction, i.e. setting the current completion to its parent directory. This could even go past the initial directory (i.e. to .., then ../.., etc)
e.g.
cd a/b/c<shift-tab>
cd a/b<shift-tab>
cd a<shift-tab>
cd ..<shift-tab>
cd ../..<enter>

References
You can somewhat emulate this behavior using external tools like fzf or broot, but such tools are more heavyweight (slower) than needed for this use case since they also search unrelated directories. Implementing this in reedline would also make it easier to complete filepath arguments without needing to set up custom keybinds with commandline and such.
Breaking changes
This shouldn't break users since, as far as I am aware, neither tab nor shift-tab are used currently within the filepath completion menu.

I think we would absolutely welcome UX improvements to how keypresses are interpreted with our Menus. For file/folder completions there would still be the question if the detailed elements should rather be generated with nushell as we need to be context aware and have our own particular semantics around quoting and escaping.
I agree that we should to better here and having commandline etc. as an escape hatch is a bit hacky.


Ansible - Tcp normalizer

During Instalation from vagrant+ansible in ubuntu 16.04 following error occurs:
RUNNING HANDLER [ubuntu-systemd-normalizer : Restart Service Instance 'default'] ***
fatal: [producer]: FAILED! => {"changed": true, "cmd": ["systemctl", "restart"<EMAIL_ADDRESS>"delta": "0:00:00.075229", "end": "2017-02-24 09:02:06.997307", "failed": true, "rc": 1, "start": "2017-02-24 09:02:06.922078", "stderr": "Failed to restart<EMAIL_ADDRESS>Interactive authentication required.\nSee system logs and 'systemctl status<EMAIL_ADDRESS>for details.", "stdout": "", "stdout_lines": [], "warnings": []}
to retry, use: --limit @/data/Stream4Flow/provisioning/ansible/site.retry
Linked issues: #15

Fixed in af8774278f473f254cedebb1170e23a7d1b6a62e


Previous projects

Previous projects I can't find projects that I was working on yesterday-help!

i lost my project olso

Hi all,
The team is aware of this issue and tracking it here: #39. Are you able to find your projects by following the instructions there?

Yes! Thanks
Matt Ross
07379333526
On Fri, Nov 8, 2024 at 2:32 PM Brian @.***> wrote:

Hi all,
The team is aware of this issue and tracking it here: #39
https://github.com/stackblitz/bolt.new/issues/39. Are you able to find
your projects by following the instructions there?
—
Reply to this email directly, view it on GitHub
https://github.com/stackblitz/bolt.new/issues/1768#issuecomment-2464910328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BMYMAC5O6VBUKYJDP4BTK4LZ7TDRHAVCNFSM6AAAAABRNBM5KCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRUHEYTAMZSHA
.


improve workaround for issue with metro post-0.54

improve the workaround solution that was introduced in PR #2, as suggested in https://github.com/facebook/metro/issues/1#issuecomment-541642857:

use path.join instead of [...].join('/')
use JavaScript Proxy object for exported resolver.extraNodeModules
(hopefully more dynamic)

Verified that:

✅ npm test passes
✅ able to generate library module with example on React Native 0.60 and run the example on Android & iOS
✅ able to generate library module with example on react-native@latest (0.61) and run the example on Android & iOS
✅ able to generate view with example on react-native@latest (0.61) and run the example on Android & iOS
✅ able to generate library module with example on react-native@next (0.62 RC) and run the example on Android & iOS
✅ able to generate view with example on react-native@next (0.62 RC) and run the example on Android & iOS

resolves #4

Merged with the commit message edited to better reflect the changes listed in the description, improve formatting, remove extra space not needed, and remove info not needed.


fields: add Binary, missing numeric fields

Adds Binary (reqeusted in https://github.com/sourcegraph/sourcegraph/pull/37536#discussion_r905931022) and other potentially useful numeric primitives.

Codecov Report

Merging #12 (338dc30) into main (3bee708) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #12   +/-   ##
=======================================
  Coverage   57.27%   57.27%
=======================================
  Files          14       14
  Lines         536      536
=======================================
  Hits          307      307
  Misses        222      222
  Partials        7        7

Impacted Files
Coverage Δ

fields.go
22.22% <ø> (ø)

Continue to review full report at Codecov.

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


Update discipline-specs2 to 1.1.4

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

Files still referring to the old version number
The following files still refer to the old version number (1.1.0).
You might want to review and update them manually.
CHANGELOG.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "discipline-specs2" } ]

labels: test-library-update, semver-patch, old-version-remains

Superseded by #352.


Deploying on firebase gives welcome screen

I got this message after deploying app on firebase .

I want to host my app on firebase.
I followed these steps.

npm run build and it created build folder
firebase init , select hosting ,
What do you want to use as your public directory? build
Configure as a single-page app (rewrite all urls to /index.html)? Yes
File build/index.html already exists. Overwrite? No
and then finally firebase deploy
after sometime I see files uploaded successfully and in firebase hosting dashboard it shows files uploaded something like 727 . but app looks something like a welcome message "Welcome Firebase Hosting Setup Complete . You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary!"

however, if I create a react app using create-react-app , and follow same steps , its working fine at same url and host. it display app at once without a problem.
my firebase.json
{
  "hosting": {
    "public": "build",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

HI,
I fixed mine by overwriting the index.html again.
check your index.html inside build folder. It must be the same the one outside the build folder.
Hope it works.

@amitbravo   did you get your answer? Because I am facing the same issue.
@joshua1525 I tried your suggestion but it did not work for me

My solution is just waiting a bit.
Then, if it still not working.
let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again.
=> firebase init
? What do you want to use as your public directory? build         < == NOTE: "build" is my directory
? Configure as a single-page app (rewrite all urls to /index.html)? No              <== select NO
? File build/404.html already exists. Overwrite? No            <== select NO
? File build/index.html already exists. Overwrite? No               <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

if you one folder name todo then in that you have public folder in that folder all main project files you have to give  after that you
then npm install -g firebase-tools in cmd
firebase login
cd dirto your project folder
 firebase init
then select all N no ok read that carefully
 then firebase deploy
this help for me and in your public original folder firebase creates another folder then you delete that files and then delpoy ok this work for me if does not work then mail me
here are my app link
https://todo-37acc.firebaseapp.com/
after my comment issue is closed

@amitbravo did you get your answer? Because I am facing the same issue.
@joshua1525 I tried your suggestion but it did not work for me

i have answer please see it it is going to help you i commented on that

HI,
I fixed mine by overwriting the index.html again.
check your index.html inside build folder. It must be the same the one outside the build folder.
Hope it works.

hello what do u mean by outside folder , does we need to cut the index.html inside from src folder to outside , I already did that and it doesnt work for me or I am doing it wrong can somebody help me

@Azkuu for that you to delete that outside file in you website folder index.html file then Firebase deploy this works for me hope this issue is clear as I mentioned earlier also you go through that jude .thank you

@Azkuu for that you to delete that outside file in you website folder index.html file then Firebase deploy this works for me hope this issue is clear as I mentioned earlier also you go through that jude .thank you

hey bro I manage to reach my page but it does not reload properly only shows blank page any idea how to fix this

@amitbravo You want to change your firebase.json config slightly. You currently have the public directory set to build but if you look in there, the index.html is the file you're seeing with the "Firebase Hosting Complete" message. When you build your app, it is actually being put into build/your-app-name so you'll need to change the line in firebase.json from:
"public": "build",

to:
"public": "build/your-app-name",

no it's fine I find out that when I do ng prod the  html will be in
dist/my-app-name app so then my firebase init will be dist/my-app-name
On Sat, Oct 5, 2019 at 3:55 AM Mike Over<EMAIL_ADDRESS>wrote:

@amitbravo https://github.com/amitbravo You want to change your
firebase.json config slightly. You currently have the public directory
set to build but if you look in there, the index.html is the file you're
seeing with the "Firebase Hosting Complete" message. When you build your
app, it is actually being put into build/your-app-name so you'll need to
change the line in firebase.json from:
"public": "build",
to:
"public": "build/your-app-name",
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreui/coreui-react/issues/55?email_source=notifications&email_token=AJ6R6O4GOGFHIEWL3FDX6V3QM6NULA5CNFSM4GRQZAPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMXIYQ#issuecomment-538539106,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ6R6OYQ6GN5NUWKHWEK6JLQM6NULANCNFSM4GRQZAPA
.

thank you, I had the same problem now it's fine

@amitbravo You want to change your firebase.json config slightly. You currently have the public directory set to build but if you look in there, the index.html is the file you're seeing with the "Firebase Hosting Complete" message. When you build your app, it is actually being put into build/your-app-name so you'll need to change the line in firebase.json from:
"public": "build",

to:
"public": "build/your-app-name",

When I switch it to "build/app-name" I get the error message:
Error: Specified public directory 'build/app-name' does not exist, can't deploy hosting to site app-name
My app name and firebase name are slightly different. Would that matter?

@amitbravo You want to change your firebase.json config slightly. You currently have the public directory set to build but if you look in there, the index.html is the file you're seeing with the "Firebase Hosting Complete" message. When you build your app, it is actually being put into build/your-app-name so you'll need to change the line in firebase.json from:
"public": "build",

to:
"public": "build/your-app-name",

It helped me.

I fixed this by running flutter build web before all of your steps

I solved this issue by going to /login page after deploying my application.
i.e. firebaseUrlForYourApp/login , I went to /login because I have created a route for this in my angular application.
you can also try to redeploy, I also changed the target folder while deploying, from dist to dist/<project_name> , also if it didn't work even after that then try to rebuild it and re-deploy. then try first step by going to /login.

Hi,
i made the mistake at your point 3. to select my dist folder. The index.html file there, was exactly the welcome site. So at point 3 i choose dist/ and now he took the right index.html

Delete .firebase Folder and all related firebase.

then

I guess the welcome page is coming from cache.
Delete .firebase Folder and all related firebase.

then

Execute firebase init
update firebase.json "public": "build/your-app-name"

ng build --prod

firebase deploy

I got the same issue.
And below is how I deployed my app after executing firebase init command. You may need to clean browser cache, or open page on incognito mode. Before firebase deploy command, check
value of public key in firebase.json file. It might change the value.

I also encountered the same problem, broke my head with it for almost a day but actually it was a pretty simple fix.
For example: When prompted to select the build directory, I just specified the outer folder containing the build and other code. So it might look something like this:
What do you want to use as your public directory? my-app/build
So instead of doing firebase init from the my-app folder and targeting build. Just go one level above, target the folder that contains the build folder.
Hope this helps to other people having the same issue.

Steps for successful deployment

before executing firebase init  command you to build your react app
by using npm build or yarn build
And after firebase init then rewrite public as build folder then yes for single page app and No for rewriting all index.html files and before all of this you need to have app created in firebase console and after selecting those all things your going to execute all this above things(commands) and after just type firebase deploy  then your good to Go🤗😊 See my app here Myapp👉🔧⚙🔌

I also encountered the same problem, broke my head with it for almost a day but actually it was a pretty simple fix.
For example: When prompted to select the build directory, I just specified the outer folder containing the build and other code. So it might look something like this:
What do you want to use as your public directory? my-app/build
So instead of doing firebase init from the my-app folder and targeting build. Just go one level above, target the folder that contains the build folder.
Hope this helps to other people having the same issue.

Nope public folder thing only work for plain HTML sites but for react app you need to build that app using npm run build and then select/type build there and your good to  go otherwise i can show you by anydesk also but i think my above reply help to everyone 😊

I also encountered the same problem, broke my head with it for almost a day but actually it was a pretty simple fix.
For example: When prompted to select the build directory, I just specified the outer folder containing the build and other code. So it might look something like this:
What do you want to use as your public directory? my-app/build
So instead of doing firebase init from the my-app folder and targeting build. Just go one level above, target the folder that contains the build folder.
Hope this helps to other people having the same issue.

Nope public folder thing only work for plain HTML sites but for react app you need to build that app using npm run build and then select/type build there and your good to go otherwise i can show you by anydesk also but i think my above reply help to everyone 😊

It is a react-app, it generates a build folder with npm run build, I specify that build folder as my directory for deployment. When I specified only build it didn't work. After I specified the above level folder it worked. So basically what I am saying here is that this solution helped me, and maybe it also helps someone else.
Cheers!

Hello,
@krishnadevz I still got same message on my URL.
could you help me.I did all the action which was suggested by everyone.
can anyone help me personally this one  is my mail<EMAIL_ADDRESS>

@rajnada  your getting that problem for react app this is the video tutorial link that will help you with that How to deploy react app to the firebase click here to watch the tutorial

Actually,I am looking for angular
On Fri, Apr 3, 2020 at 12:14 PM krishna kakade<EMAIL_ADDRESS>wrote:

@rajnada https://github.com/rajnada your getting that problem for react
app this is the video tutorial link that will help you with that How to
deploy react app to the firebase click here to watch the tutorial
https://www.youtube.com/watch?v=IDHfvpsYShs&t=325s🔧⚙
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreui/coreui-react/issues/55#issuecomment-608260075,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGDT35GZLBQXGMP3NGUOLJTRKWAVNANCNFSM4GRQZAPA
.

I also tried this video tutorial from firebase
if you free then contact me<PHONE_NUMBER> on this number
On Fri, Apr 3, 2020 at 1:07 PM Raj Nada<EMAIL_ADDRESS>wrote:

Actually,I am looking for angular
On Fri, Apr 3, 2020 at 12:14 PM krishna kakade<EMAIL_ADDRESS>wrote:

@rajnada https://github.com/rajnada your getting that problem for
react app this is the video tutorial link that will help you with that How
to deploy react app to the firebase click here to watch the tutorial
https://www.youtube.com/watch?v=IDHfvpsYShs&t=325s🔧⚙
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coreui/coreui-react/issues/55#issuecomment-608260075,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGDT35GZLBQXGMP3NGUOLJTRKWAVNANCNFSM4GRQZAPA
.

I also tried this video tutorial from firebase if you free then contact me<PHONE_NUMBER> on this number
…
On Fri, Apr 3, 2020 at 1:07 PM Raj Nada @.> wrote: Actually,I am looking for angular On Fri, Apr 3, 2020 at 12:14 PM krishna kakade @.> wrote: > @rajnada https://github.com/rajnada your getting that problem for > react app this is the video tutorial link that will help you with that How > to deploy react app to the firebase click here to watch the tutorial > https://www.youtube.com/watch?v=IDHfvpsYShs&t=325s🔧⚙ > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <#55 (comment)>, > or unsubscribe > https://github.com/notifications/unsubscribe-auth/AGDT35GZLBQXGMP3NGUOLJTRKWAVNANCNFSM4GRQZAPA > . >

https://alligator.io/angular/deploying-angular-app-to-firebase/
i am not having experience with angular i can tell you about react okay

I had the same issue with angular app
$ng add @angular/fire
$ng deploy

then it works

Hello i have the same problem but actually worked on oracle jet project so i mean the dist folder you have been created. Whats is in this folder?

Getting the welcome page after it is connected to domain please help me how to get my html page instead of the welcome page of firebase.

I have fixed that issues for react js
1.) firebase init
2.) What do you want to use as your public directory? build
3.)  Configure as a single-page app (rewrite all urls to /index.html)? Yes
4.) npm run build
5.) firebase serve
6.) firebase deploy
finish..
you can check this link
https://onlinecovidtracker.web.app/

for Angular people use, like "hosting": {
"public": "dist/my-app",

For Angular I identified the logical explanation. (may be I am repeating someones finding above :) )
In angular.json, PROD build path (outputPath), by default it will be "dist/"
In firebase.json, PROD build path (public), by default we tend to give "dist" only
So we can fix this by syncing these two files. Most of the above comments says to update firebase.json and I agree to it. I just wanted to explain how it works.

hi, after redirecting on the welcome page, just refresh it. that's a decision.
Everything will be right)

yeah I solved it in angular ..simply do this
1.ng build --prod
2.firebase init hosting
(choose as dist/(your_project_name)
3. ng add @angular/fire
4 ng deploy
(choose your firebase project)
5..refresh the link ..you will get the result...

yeah I solved it in angular ..simply do this
1.ng build --prod
2.firebase init hosting
(choose as dist/(your_project_name)
3. ng add @angular/fire
4 ng deploy
(choose your firebase project)
5..refresh the link ..you will get the result...

chunk {3} polyfills-es5.8e50a9832860f7cf804a.js (polyfills-es5) 127 kB [initial] [rendered]
chunk {2} polyfills-es2015.5b10b8fd823b6392f1fd.js (polyfills) 36.2 kB [initial] [rendered]
chunk {0} runtime-es2015.c5fa8325f89fc516600b.js (runtime) 1.45 kB [entry] [rendered]
chunk {0} runtime-es5.c5fa8325f89fc516600b.js (runtime) 1.45 kB [entry] [rendered]
chunk {1} main-es2015.9e2ab67f39841f69622d.js (main) 1.17 MB [initial] [rendered]
chunk {1} main-es5.9e2ab67f39841f69622d.js (main) 1.25 MB [initial] [rendered]
chunk {4} styles.7d7af26e40207de1f3bf.css (styles) 203 kB [initial] [rendered]
Date: 2020-06-11T05:36:19.053Z - Hash: 1ab8d16c9de9572ef26b - Time: 22488ms
Cannot find module 'triple-beam'
Received this instead!!!

I had the same problem like @amitbravo .but I could solve this problem.
please try following:

Let's do firebase init command  and select Hosting.
then you need to answer like these.
What do you want to use as your public directory? **build** Configure as a single-page app (rewrite all urls to /index.html)? **Yes** File build/index.html already exists. Overwrite? **No**
Let's type command npm run build if you get 'Firebase initialization complete!'
Finally let's do firebase deploy command.

Please check your index.html inside build folder.
It will solve this problem.
→your index.html inside build folder is the same as your index.html inside pablic folder automatically.
also, you need to wait a few minutes until this deployment is complete.
good luck!

My solution is just waiting a bit.
Then, if it still not working.
let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again.
=> firebase init
? What do you want to use as your public directory? build < == NOTE: "build" is my directory
? Configure as a single-page app (rewrite all urls to /index.html)? No <== select NO
? File build/404.html already exists. Overwrite? No <== select NO
? File build/index.html already exists. Overwrite? No <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

@thanhlevu
I followed to you.
after done firebase init (all process are same with your mentions), run firebase deploy .
but I got the same result.
the website doesn't loaded, it's still welcome page.
please let me know how did you get the result.
Thanks.

I have the same problem, but then I deployed the project in this sequence, and it work.
Firs of all I deleted dist and .firebase folders and firebase.json

Then run:

firebase init hosting

Where "project" is name of my angular app

ng build
firebase deploy

@Iryna-Bzdyr
I followed you, but still got same. :(

For React Developers:-

Firstly run the command npm run build.
Now run firebase init command and select the Hosting.
What do you want to use as your public directory? build
(You have to write the name of your directory)
Configure as a single-page app (rewrite all urls to /index.html)? Yes
File build/index.html already exists. Overwrite? No
Again Run the command npm run build.
At last run firebase deploy command.
Wait for few minutes until the deployment is completed.

Good Luck Dev!!!

For Angular Developers:

Close all your terminals in Visual Studio Code.
Check the firebase version by using firebase --version (it doesn't show any result). Type "npm install g firebase -tools".
After installing, Type firebase login(To check you have logged in your account).
Now run firebase init command and select the Hosting.
What do you want to use as your public directory? dist/
(You have to write the name according to your directory)
Configure as a single-page app (rewrite all urls to /index.html)? No
File build/index.html already exists. Overwrite? No
Type ng add @angular/fire and select the project
Last and final command ng deploy
Click the Hosting Url by ctrl+click(visual studio code terminal). Then redirects to your browser and you will see the result.

It will solve this problem. I did the same procedure and got the result.
Good Luck !!!!

@amitbravo You want to change your firebase.json config slightly. You currently have the public directory set to build but if you look in there, the index.html is the file you're seeing with the "Firebase Hosting Complete" message. When you build your app, it is actually being put into build/your-app-name so you'll need to change the line in firebase.json from:
"public": "build",

to:
"public": "build/your-app-name",

When I switch it to "build/app-name" I get the error message:
Error: Specified public directory 'build/app-name' does not exist, can't deploy hosting to site app-name
My app name and firebase name are slightly different. Would that matter?

dist/my-app/index.html

I faced the same issue. This issue is faced when your firebase.json file is located somewhere else outside your project folder so locate it and delete this file.
After this follow the following steps inside the project folder:

firebase init (here the project directory should be shown if not delete the firebase.json file and run step 1).
What do you want to use as your public directory? build
Configure as a single-page app (rewrite all urls to /index.html)? Yes
File build/index.html already exists. Overwrite? No
Again Run the command npm run build.
At last run firebase deploy command.
The app will be successfully deployed.

TLDRE:

Replace the index.html file in the public folder with an older version of index.html or the code below
firebase init
--- What do you want to use as your public directory? build
--- Configure as a single-page app (rewrite all urls to /index.html)? (y/N) y
Run npm run build
Run firebase deploy again

Explanation:
The problem is that you probably overwrote the original index.html file in the public folder:
npm run build uses the public folder to create the build folder.
If you accidentally did the following:
firebase init
What do you want to use as your public directory? --> Yes
File public/index.html already exists. Overwrite? --> Yes
the index.html file is overwritten with the index.html (firebase) and if you run npm run build it will take the wrong index.html (firebase) file.
So what you have to do is to take an older version of the index.html file (maybe you have an older version on GitHub) and replace the one in the public folder and run npm run build and then deploy it normally with firebase deploy. You can also take the index.html file from any randomly created npx create-react-app from the public folder or you just copy the code below into your index.html file, save and redeploy.
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta
      name="description"
      content="Web site created using create-react-app"
    />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <!--
      manifest.json provides metadata used when your web app is installed on a
      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
    -->
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
    <!--
      Notice the use of %PUBLIC_URL% in the tags above.
      It will be replaced with the URL of the `public` folder during the build.
      Only files inside the `public` folder can be referenced from the HTML.

      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
      work correctly both with client-side routing and a non-root public URL.
      Learn how to configure a non-root public URL by running `npm run build`.
    -->
    <title>React App</title>
  </head>
  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
    <!--
      This HTML file is a template.
      If you open it directly in the browser, you will see an empty page.

      You can add webfonts, meta tags, or analytics to this file.
      The build step will place the bundled scripts into the <body> tag.

      To begin the development, run `npm start` or `yarn start`.
      To create a production bundle, use `npm run build` or `yarn build`.
    -->
  </body>
</html>

Its a simple solution. This message is caused by the index.html file in your public folder being replaced with the index.html file provided by firebase.
All you have to do is navigate to the directory of your web app folder on your terminal and type in
$ rm .firebaserc
then
$ firebase init
after you've completed the firebase initialization, replace the new index.html file with the one inside the public folder and then type
$ firebase deploy

I have fixed that issues for reat Reactjs
1.) firebase init
2.) What do you want to use as your public directory? build
3.) Configure as a single-page app (rewrite all urls to /index.html)? Yes
4.) npm run build
5.) firebase deploy
finish..
you can check this link

I have fixed that issues for react js
1.) firebase init
2.) What do you want to use as your public directory? build
3.) Configure as a single-page app (rewrite all urls to /index.html)? Yes
4.) npm run build
5.) firebase serve
6.) firebase deploy
finish..
you can check this link
https://onlinecovidtracker.web.app/

It work for me

I checked your link , it is not working , and simillarly i have checked mine is not working , is it that firebase hosting is down ? as non of the link i checked on this community page are working

I just solved this problem by following, (using VSCode,)

To initialize firebase write "firebase init"
Public directory named "build" other thing could be "N" No,
The build by writing "npm run build"
After running build I got another directory named "build" inside my app (See attached Picture), just upward to the node-modules directory.
So, I got 2 "build" directory.
Copy all the things from the last "build" directory and paste into the first one.
Delete the last one.
To check on your localhost: port, please write "firebase serves".
If everything is OK! write "firebase deploy"
Enjoy!  https://tik-tok-clone-10f5e.firebaseapp.com/

My solution is just waiting a bit.
Then, if it still not working.
let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again.
=> firebase init
? What do you want to use as your public directory? build < == NOTE: "build" is my directory
? Configure as a single-page app (rewrite all urls to /index.html)? No <== select NO
? File build/404.html already exists. Overwrite? No <== select NO
? File build/index.html already exists. Overwrite? No <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

@thanhlevu
I followed to you.
after done firebase init (all process are same with your mentions), run firebase deploy .
but I got the same result.
the website doesn't loaded, it's still welcome page.
please let me know how did you get the result.
Thanks.

After firebase init, should type "npm run build" if Firebase initialization completion displayed. then firebase deploy so it should work.

My solution is just waiting a bit.
Then, if it still not working.
let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again.
=> firebase init
? What do you want to use as your public directory? build < == NOTE: "build" is my directory
? Configure as a single-page app (rewrite all urls to /index.html)? No <== select NO
? File build/404.html already exists. Overwrite? No <== select NO
? File build/index.html already exists. Overwrite? No <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

@thanhlevu
I followed to you.
after done firebase init (all process are same with your mentions), run firebase deploy .
but I got the same result.
the website doesn't loaded, it's still welcome page.
please let me know how did you get the result.
Thanks.

After firebase init, should type "npm run build" if Firebase initialization completion displayed. then firebase deploy so it should work.

This worked for me:

Delete .firebase folder
Delete .firebaserc
Delete firebase.json

Now run as follow:
In case of flutter delete your build folder then
$ flutter build web

Then
$ firebase init hosting
? File build/web/index.html already exists. Overwrite? No
$ firebase deploy --only hosting

This worked for me:

Delete .firebase folder
Delete .firebaserc
Delete firebase.json

Now run as follow:
In case of flutter delete your build folder then
$ flutter build web

Then
$ firebase init hosting
? File build/web/index.html already exists. Overwrite? No
$ firebase deploy --only hosting

hi, I had the same issue and this worked for me (after init):
$ flutter build web
then :
$ firebase deploy --only hosting
Hope it'll be helpful !

hi, I had the same issue and this worked for me (after init):
$ flutter build web
then :
$ firebase deploy --only hosting
Hope it'll be helpful !

For angular project
=> ng build --prod   (This will create dist folder)
=> firebase init
What do you want to use as your public directory? build => dist/my-app (Note: dist/my-app is my output path)
It should be the same as your output path (check angular.json)-

Configure as a single-page app (rewrite all urls to /index.html)? -  Yes (To make it SPA)
File build/404.html already exists. Overwrite?  select NO
File build/index.html already exists. Overwrite?  select NO
=> firebase serve - Check if your prod build works as expected on local?
=> firebase deploy --only hosting

For angular project
=> ng build --prod   (This will create dist folder)
=> firebase init
What do you want to use as your public directory? build => dist/my-app (Note: dist/my-app is my output path)
It should be the same as your output path (check angular.json)-

Configure as a single-page app (rewrite all urls to /index.html)? -  Yes (To make it SPA)
File build/404.html already exists. Overwrite?  select NO
File build/index.html already exists. Overwrite?  select NO
=> firebase serve - Check if your prod build works as expected on local?
=> firebase deploy --only hosting

@amitbravo You want to change your firebase.json config slightly. You currently have the public directory set to build but if you look in there, the index.html is the file you're seeing with the "Firebase Hosting Complete" message. When you build your app, it is actually being put into build/your-app-name so you'll need to change the line in firebase.json from:
"public": "build",

to:
"public": "build/your-app-name",

It helped me.

This helped me.. In my case, the "public" in firebase.json was "public", later I changed that to "build" and that worked for me.
Also, make sure your index.html in public directory is not overwritten by firebase

@amitbravo You want to change your firebase.json config slightly. You currently have the public directory set to build but if you look in there, the index.html is the file you're seeing with the "Firebase Hosting Complete" message. When you build your app, it is actually being put into build/your-app-name so you'll need to change the line in firebase.json from:
"public": "build",

to:
"public": "build/your-app-name",

This helped me.. In my case, the "public" in firebase.json was "public", later I changed that to "build" and that worked for me.
Also, make sure your index.html in public directory is not overwritten by firebase

My solution is just waiting a bit.
Then, if it still not working.
let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again.
=> firebase init
? What do you want to use as your public directory? build < == NOTE: "build" is my directory
? Configure as a single-page app (rewrite all urls to /index.html)? No <== select NO
? File build/404.html already exists. Overwrite? No <== select NO
? File build/index.html already exists. Overwrite? No <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

Thanks this help me a lot.

I delete the index.html file in the src folder.  Its work's perfectly. :)

firebase.json file
"public": "public",(this should be the folder where your index.html related to firebase is created)
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
angular.json file
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": public/",(make sure the outputpath is set to the same folder which we have set in the firbase.json file

What worked for me was ensuring that I had run "npm run build" before "firebase deploy" and ALSO I rewrote the "public" part of the firebase.json file to be:
"public": "build/index.html",
And it worked.  I was slamming my head against this problem for WAY too long.  Hopefully this helps someone.  Thanks to the other commenters!  Peace and love, baby.

Does anoyone have the solution for this ?  I have done what you are all are saying and nothing works

red"1":
your public "dist" in the file firebase.json must be like public:
red"2":
and the code of index.HTML must be identical at the your project

@krishnadevz  Thank you so much. you are so kind.

if you one folder name todo then in that you have public folder in that folder all main project files you have to give after that you
then npm install -g firebase-tools in cmd
firebase login
cd dirto your project folder
firebase init
then select all N no ok read that carefully
then firebase deploy
this help for me and in your public original folder firebase creates another folder then you delete that files and then delpoy ok this work for me if does not work then mail me
here are my app link
https://todo-37acc.firebaseapp.com/
after my comment i hope issue is closed
This thing is working for me please go through from it

i have problem where my app after build is only showing the logo image and when i try to host it and deploy it says 1500 something files are uploaded and then after it shows in the console 404 error so please tell me why is it showing 404 error ? & also it show 1 file after deployment so what could be the issue

Just build/rebuild it before deploying.

How I remove this front page from main page .
why this is giving welcome in page

I have fixed that issues for react js
1.) firebase init
2.) What do you want to use as your public directory? build
3.) Configure as a single-page app (rewrite all urls to /index.html)? Yes
4.) npm run build
5.) firebase serve
6.) firebase deploy
finish..
you can check this link
https://onlinecovidtracker.web.app/

Thank you very much :)

Ok, after you have completed all the steps correctly and still getting the welcome page not your app's front page then;
1-Try to run your react app with live-server again
2- If your app doesn't run and raises an error in your localhost then probably firebase has overwritten your public/index.html file. Check it! Because that was the source of the problem for me.

I managed to fix this problem by clearing off my browser cache, because it kept reloading the previous index.html (the original one). After the cache was cleared, it loaded up the new updated index.html succesfully.

For the Flutter App in Android Studio. After build you have all static resource in "build/web".
So you need to upload this folder to Firebase:
Open firebase.json and change like this:
{
  "hosting": {
    "public": "build/web",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

And run again:
firebase deploy

@thanhlevu Thank you so much. You saved me hours of headache.

If you are using Flutter look at this:
https://stackoverflow.com/questions/67059355/flutter-web-app-is-missing-firebase-json-and-shows-welcome-firebase-hosting-set

For me, I first deleted the .firebase folder,
Then run everything in this documentation

https://firebase.google.com/docs/cli#macos

up till the firebase init where i stopped then selected Github auto deploy and authenticated too.
What do you want to use as your public directory? build/web (I used for me)
after which I run flutter build web
then firebase deploy which updated by already existing hosted app on firebase.

I have fix in this issue.

delete .firebase folder
delete .firebaseerc
delete firebase.json
firebase login
firebase init
What do you want to use as your public directory? build
Configure as a single-page app (rewrite all urls to /index.html)? Yes
Set up automatic builds and deploys with GitHub? No
npm run build
firebase deploy

This may not be relevant to everyone but I was trying to change hosting service from GitHub pages to firebase. my solution was simply removing the homepage specified in package.json and then running :
npm run build
and then:
firebase deploy

My solution is just waiting a bit. Then, if it still not working. let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again. => firebase init ? What do you want to use as your public directory? build < == NOTE: "build" is my directory ? Configure as a single-page app (rewrite all urls to /index.html)? No <== select NO ? File build/404.html already exists. Overwrite? No <== select NO ? File build/index.html already exists. Overwrite? No <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

Your the goat!

accidentally overwrote public/index.html when doing firebase init, replacing public/index.html with one generated from a temporary react app worked (create react app temp)
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta
      name="description"
      content="Web site created using create-react-app"
    />
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
    <!--
      manifest.json provides metadata used when your web app is installed on a
      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
    -->
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
    <!--
      Notice the use of %PUBLIC_URL% in the tags above.
      It will be replaced with the URL of the `public` folder during the build.
      Only files inside the `public` folder can be referenced from the HTML.

      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
      work correctly both with client-side routing and a non-root public URL.
      Learn how to configure a non-root public URL by running `npm run build`.
    -->
    <title>React App</title>
  </head>
  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
    <!--
      This HTML file is a template.
      If you open it directly in the browser, you will see an empty page.

      You can add webfonts, meta tags, or analytics to this file.
      The build step will place the bundled scripts into the <body> tag.

      To begin the development, run `npm start` or `yarn start`.
      To create a production bundle, use `npm run build` or `yarn build`.
    -->
  </body>
</html>

Gente é simples, copie e cole o index.html na pasta public.
Depois disso faça build e deploy novamente.
Atualize o hosting do firebase, vai aparecer la - implantando - na segunda caixa.
É so aguarda gente..

Update: Sun.2.Oct.22
My solution is:
Remove .firebase, and then firebase init (Answer NO for each question y/n).
Next, copy contend src/index.html into build/index.html » npm run build
Finally, firebase deploy and waiting for firebase loading or refresh page.

I have fixed this issue by following this path.

firebase init
=> Type build instead of public
yes for the 1st question to rewrite index.html file
no for remaining all the questions
npm run build
firebase deploy

then if your hosting web will no open refresh the  screen and you will get your desire output.

@HammadRizvie's solution worked for me, needed to do 4) first and build then deploy

I have done all the steps provided by some people. I have solved my problem to some extent as my website's title is visible on tab but my website is not showing content as it still has blank page. I am getting this error --> Failed to load resource: the server responded with a status of 404 ()

I don't know the exact reason of the issue (Page was blank and was giving 404 Error) but somehow, I solved it. The reason of this issue could be (according to my assumptions):

By running command (npm run build) just before (firebase deploy command)
Setting public directory option to public or build instead of using dist
Setting (Configure as a single-page app (rewrite all urls to /index.html)? No)
Setting (File dist/index.html already exists. Overwrite? Yes)

The steps that I followed to solve this issue are:
Pre-requisite: 1) delete .firebase folder 2) copy your project's index.html file content/code and replace it with the build folder's index.html file content because these two files should have same content/code
Step 0): npm run build (For React App)
Step 1): npm install -g firebase-tools
Step 2): firebase login (If you are already login, then there is no need for this step)
Step 3): firebase init
Step 4): Are you ready to proceed? Yes
Step 5):  What do you want to use as your public directory? dist
Step 6): Configure as a single-page app (rewrite all urls to /index.html)? Yes
Step 7): Set up automatic builds and deploys with GitHub? No
Step 8): File dist/index.html already exists. Overwrite? No
Step 9): firebase deploy

npm install -g firebase-tools

Thank you very much I had a similar problem You just solved it, bro.

I have fix in this issue.

delete .firebase folder
delete .firebaseerc
delete firebase.json
firebase login
firebase init
What do you want to use as your public directory? build
Configure as a single-page app (rewrite all urls to /index.html)? Yes
Set up automatic builds and deploys with GitHub? No
npm run build
firebase deploy

Your solution works well for me..............thanks

using create-react-app , an

THANK YOU! Was stuck on this for a day and all I had to do was WAIT AND REFRESH THE PAGE.....

What do you want to use as your public directory? dist
and configure firebase.json in public path give dist:

"public": "dist",

My solution is just waiting a bit. Then, if it still not working. let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again. => firebase init ? What do you want to use as your public directory? build < == NOTE: "build" is my directory ? Configure as a single-page app (rewrite all urls to /index.html)? No <== select NO ? File build/404.html already exists. Overwrite? No <== select NO ? File build/index.html already exists. Overwrite? No <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

Thanks a lot man

you should build the project using ng build --prod
login firebase using firebase login
Type  firebase init hosting
To this question => (What do you want to use as your public directory? ) you should add the path of dist folder like this => dist/abcd

Don't give any yes commands and type no.
finally you can deploy the app.. if any welcome screen is showing your browser refresh it.

Can't believe all I had to do was REFRESHING the page. Thanks for sharing this info!

I got the same issue, this is how I solved it.
Below is how I deployed my app after executing firebase init command. You may need to clean browser cache, or open page on incognito mode. Before firebase deploy command, check value of public key in firebase.json file. It might change the value.

thank you dear, it's working nicely. I have tried following your command and deployed it properly.

if you one folder name todo then in that you have public folder in that folder all main project files you have to give after that you then npm install -g firebase-tools in cmd firebase login cd dirto your project folder firebase init then select all N no ok read that carefully then firebase deploy this help for me and in your public original folder firebase creates another folder then you delete that files and then delpoy ok this work for me if does not work then mail me here are my app link https://todo-37acc.firebaseapp.com/ after my comment i hope issue is closed This thing is working for me please go through from it

oh thats work, thanku

Myapp👉🔧⚙🔌

Thank you so much. This worked for me.

My solution is just waiting a bit. Then, if it still not working. let try:
Solution 1: check your index.html inside "build" folder and index.html in your own project. They should be the same, if not, copy code index.html outside "build" folder and paste into index.html inside "build" folder.
solution 2 : delete your .firebase folder. and init it again. => firebase init ? What do you want to use as your public directory? build < == NOTE: "build" is my directory ? Configure as a single-page app (rewrite all urls to /index.html)? No <== select NO ? File build/404.html already exists. Overwrite? No <== select NO ? File build/index.html already exists. Overwrite? No <== select NO
After doing these things, I also get that notification of "Welcome Firebase Setting Host Complete" , and I just wait for a while. then reload the website.

after trying the your first solution should i git add . or just wait a while?

This may not be relevant to everyone but I was trying to change hosting service from GitHub pages to firebase. my solution was simply removing the homepage specified in package.json and then running :
npm run build and then: firebase deploy

Thanks so much, tried all ways for hours .. and finally found this 😊

thnx for the solution

I tried to fix this issue on my end.
I am also seeing welcome screen.
Weird thing is that, I am also not able to find firebase.json.

Where can I find firebase.json?
I am not able to find it even I ran 'firebase init'.

I got the same issue, this is how I solved it.
Below is how I deployed my app after executing firebase init command. You may need to clean browser cache, or open page on incognito mode. Before firebase deploy command, check value of public key in firebase.json file. It might change the value.

this one works for me good job

This worked for me.
? What do you want to use as your public directory? dist/da-keep/browser <-- NOTE (otherwise firebase created the index file)
? Configure as a single-page app (rewrite all urls to /index.html)? Yes
? Set up automatic builds and deploys with GitHub? No
? File dist/da-keep/browser/index.html already exists. Overwrite? No
And voila the site is available.

{
"hosting": {
"source": ".",
"ignore": [
"firebase.json",
"/.*",
"/node_modules/**"
]
}
}

Just g to to firebase.json and rewrite it:

for me it helpred:
firebase.json:
{   "hosting": {     "public": "dist",     "ignore": [       "firebase.json",       "**/.*",       "**/node_modules/**"     ],     "rewrites": [       {         "source": "**",         "destination": "/index.html"       }     ],     "predeploy": ["npm run build"]   } }
.firebaserc
{
  "projects": {
    "default": "project-name
  }
}

And just go: firebase deploy, if you inited firebase


Focus input after updating input with handle

After setting the input's value, re-focus the text input.

wanna go on a date 👉👈


IncludeOptimized() doesn't include the navigation properties that had been cached by FromCacheAsync()

Description
We have such relation: User (1)<->(N) AssignedRole (N)<->(1) RoleType and have code like that

await dbContext.RoleTypes.FromCacheAsync();
 await dbContext.Users.IncludeOptimized(a=>a.AssignedRoles),
where AssignedRoles is Collection.
In that case we suppose that RoleType is included for every AssignedRoles item as well, but they're not.
Also  we noticed that using await dbContext.RoleTypes.ToArrayAsync(); instead of line 1 does exactly what we need, but in that case the additional request is sent to the database.

Further technical details

EF version: Core 3.1
EF Plus version: 3.0.53
Database Provider: EfCore.SqlServer

Hello @bisquitthe ,
FromCache use AsNotTracking which means all RoleType is not in the Change Tracker so are not automatically mapped to AssignedRoles. FromCache cannot depend on an existing context, otherwise, you will have some weird behavior depending on if the cache get the RoleType from the database (the first time) or from the cache.
The ToArrayAsync add role type in the ChangeTracker, which means when you retrieve the AssignedRoles, the RoleType can be automatically mapped.
Let me know if that explains correctly the current behavior.
Best Regards,
Jon

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function

Yes, that's clear to me. Thanks!


A red rectangle appears around the browse and file not chosen form group after file upload

Only in firefox?

Seems to be an issue with HTML5 in firefox.
I removed "required" attribute in the corresponding control since the toast messages were left unused anyway (the button "upload" is locked until a file is selected, so no validation required there...).


Drop more recipes going to meta-qcom-extras

cc @ricardosalveti @ndechesne
piglit is broken upstream, fix was posted to the ML


SSHJ authentication does not work without saving passphrase locally

Description
If I leave the passphrase empty in the settings, DBeaver does not ask me for a passphrase, but instead gives me an error.
I created a new private/public key pair using ssh-keygen -t ed25519 -b 4096  -C "comment".
I can connect to the server using SSHJ and setting a passphrase:

Before (using JSch) I could leave the passphrase empty and I was asked for my phrase everytime I wanted to open the database.
Now, (using SSHJ, because JSch fails) I cannot leave the passphrase empty:

If I leave the passphrase empty, then I get this error: "Decryption of the key failed. A supplied passphrase may be incorrect."
DBeaver did not ask me for a passphrase.
DBeaver Version
Community Edition Version <IP_ADDRESS>302171528
Operating System
Ubuntu 22.04.1 LTS
Database and driver

Database name and version: 10.6.12-MariaDB-0ubuntu<IP_ADDRESS>
Database driver: com.mysql.jdbc.JDBC4CommentClientInfoProvider

Steps to reproduce

Create a keypair using ssh-keygen -t ed25519 -b 4096  -C "comment"
Go to Edit Connection > SSH
In advanced settings choose Implementation: SSHJ
In settings set Passphrase: "" (empty)
In settings make sure "Save Password/Passphrase" is not checked
Try to open the connection
See the error appear "Decryption of the key failed. A supplied passphrase may be incorrect."

Additional context
No response

Thank you for your report.

same issue, I'm unable to use a password-protected key without saving the pass-phrase to dbeaver

@HendrikJan Hi, we recently updated our ciphers. Could you see if it still happens in recent versions?

@HendrikJan Hi, we recently updated our ciphers. Could you see if it still happens in recent versions?

now it works, asking for private key password, thanks!

Verified

Confirmed -- working nicely now.
Thanks for fixing, and thanks for closing this issue :-)


Can't get response headers when using $fetch.raw

Environment

Operating System: Linux
Node Version:     v16.20.0
Nuxt Version:     3.6.5
Nitro Version:    2.6.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      -
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/nuxt-starter-wc42d2?file=utils%2FfetchTest.ts,server%2Fapi%2Ftest-400.ts,app.vue
Describe the bug
When having response status anything other than 2XX then i can't get response headers. Reproduction shows that i'm using NUXT server/api, but in my real project i'm using external API where that is critical.
When console.log(response.headers); then nothing shows up in Nuxt console other than error about 400 status.
Additional context
No response
Logs
{ 'content-type': 'application/json' }   --- WHEN 200                                                                                1:06:06 PM
[nuxt] [request error] [fatal] [400] Just error   --- WHEN 400                                                                      1:06:06 PM
  at new H3Error (./node_modules/h3/dist/index.mjs:150:5)
  at Module.createError (./node_modules/h3/dist/index.mjs:180:15)
  at eval (./.nuxt/dev/index.mjs:829:80)
  at eval (./node_modules/h3/dist/index.mjs:1651:47)                                                                                1:05:57 PM
  at async Object.eval (./node_modules/h3/dist/index.mjs:1802:19)
  at async toNodeHandle (./node_modules/h3/dist/index.mjs:2012:7)
  at async ufetch (./node_modules/unenv/runtime/fetch/index.mjs:28:17)
  at async AsyncFunction.$fetchRaw2 (./node_modules/ofetch/dist/shared/ofetch.00501375.mjs:236:26)
  at async Module.fetchTest (./utils/fetchTest.ts:2:20)
  at async eval (./app.vue:21:19)

Any updates on this?

The reason is that $fetch treats non 2xx responses as errors. Instead, you can run const response = await $fetch.raw(url, { ignoreResponseError: true })
https://stackblitz.com/edit/nuxt-starter-wc42d2

@danielroe Thank you for response, but this does not fix my issue, and your provided stackBlitz example doesn't show any changes.
My goal is to see response headers when response status code is not 2xx.

@danielroe When using ignoreResponseError: true, the useAsyncData returned error value is null and the error seems to be applied to the returned data value, which, in my case, would mean that I would have to write additional logic to determine if the response had an error or not as data now contains the error response rather than error. Basically this makes the returned error value of useAsyncData useless...
Forked reproduction: https://stackblitz.com/edit/nuxt-starter-4vqmr9?file=utils%2FfetchTest.ts,app.vue

By passing ignoreResponseError, you're opting out of built-in error handling. So (after reading the headers) you should then throw the error if you want asyncData to populate the error.value for you.


Development

Code failed to compile.
The error is located in IcureApiService from commit 9a37d99d178c5a3545b73c56318ba441611d16ef.
In this class, a call is made to the constructor of IccMessageXApi but it has changed (from 3 to 7 paramaters) on the 12th of October by Antoine Duchateau.


Upgrade Poedit.app to v1.8.3

Thank you for the contribution. It was merged directly as cc878b691de81e17d45fde90742deb357a591b8b to keep commit history cleaner. Your contribution is still credited to you.


Confused about disk throughput

I'm a little confused about the disk throughput. The Ddv4-series lists "Max cached and temp storage throughput: IOPS/MBps". The Ddsv4-series has this as well (with the same values). But also lists "Max uncached disk throughput: IOPS/MBps".
Is the uncached disk throughput for the Ddv4-series the same as the Ddsv4-series? Or does this not apply for some reason?

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

ID: 6a43e5b4-7893-dcd7-839f-e394912d1bd9
Version Independent ID: 560d2e4a-6a12-48ac-dff7-44f036450250
Content: Ddv4 and Ddsv4-series - Azure Virtual Machines
Content Source: articles/virtual-machines/ddv4-ddsv4-series.md
Service: virtual-machines
Sub-service: sizes
GitHub Login: @brbell
Microsoft Alias: brbell

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thank you for the feedback. The uncached column was only applied to premium storage VM's, and the Ddv4 VM doesn't support  premium storage unlike the Ddsv4 VM. This is the same as how it was documented/described in the Dv3/Dsv3 VM page.

#please-close

#please-close