ui: Distinguish isBot: true users in more places, not just message senders in the message list

Quoting myself in https://github.com/zulip/zulip-flutter/pull/605#issuecomment-2045964365 , which added bot markers on message senders in the message list:

After this, there are still some places in the UI where we show the name of a bot user without making it clear it's a bot. For example, it would probably be helpful to show the bot icon next to a bot user's name on the profile page (ProfilePage). I'm not sure if we need to show the icon in all the places where names appear, though. [Let's make] a checklist of all the places where bots' names might be displayed in the app, indicating which ones should start marking bots with the bot icon, which ones don't need to do that, and which ones [we're] not sure about[.]

@sm-sayedi, are you still up for drafting a checklist like this? 🙂

@sm-sayedi, are you still up for drafting a checklist like this? 🙂

Unfortunately, I haven't completed the list yet as I got busy with #608! After I finish the first round of tests for that, I will return to this one and finalize the list. Should I then post it as a comment under this issue?

Sure, sounds good! Thank you!


Add guide for monitoring

Add a guide in the documentations folder on monitoring of  a devon4quarkus application.
https://quarkus.io/guides/smallrye-metrics
https://quarkus.io/guides/micrometer
https://quarkus.io/blog/micrometer-prometheus-openshift/

https://github.com/devonfw/devon4j/blob/master/documentation/guide-monitoring.asciidoc
Feel free to create a PR to improve the above documentation (e.g. adding the two additional links above that are not yet mentionend). Otherwise, we can IMHO close this issue.


Enable direct links to the graphs

Allow to set parameters via the URL. So links could be shared. Alternatively create a hash for a given configuration which could be shared.

I don't understand. You closed both issues, but there is no solution for either? Or did you close them to indicate you won't fix them?

This issue appears to be open.

this is now implemented in #27


Installation error on Windows 7 with Go 1.7.4

Hello - As suggested in the error output, I am attaching it herein. Any help or suggestions would be appreciated. Thanks!
GoSublime error: MarGo build failed
|                > This is possibly a bug or miss-configuration of your environment.
|                > For more help, please file an issue with the following build output
|                > at: https://github.com/DisposaBoy/GoSublime/issues/new
|                > or alternatively, you may send an email to<EMAIL_ADDRESS>|                >
|                >
|                > cmd: ['F:\\Go\\bin\\go.exe', 'build', '-tags', '', '-v', '-o', 'gosublime.margo_r17.08.23-1_go1.7.4.exe', 'disposa.blue/cmd/margo']
|                > stdout: |                >  |                >
|                > stderr: |                > can't load package: package disposa.blue/cmd/margo: cannot find package "disposa.blue/cmd/margo" in any of: |                > 	F:\Go\src\disposa.blue\cmd\margo (from $GOROOT) |                > 	~\AppData\Roaming\Sublime Text 3\Packages\User\GoSublime\src\disposa.blue\cmd\margo (from $GOPATH) |                > 	~\AppData\Roaming\Sublime Text 3\Packages\GoSublime\src\disposa.blue\cmd\margo |                >
|                > exception: None
|   install state: busy
| sublime.version: 3126
| sublime.channel: stable
|       about.ann: a17.08.23-1
|   about.version: r17.08.23-1
|         version: r17.08.23-1
|        platform: windows-x64
|            ~bin: ~\AppData\Roaming\Sublime Text 3\Packages\User\GoSublime\windows-x64\bin
|       margo.exe: ~bin\gosublime.margo_r17.08.23-1_go1.7.4.exe (missing)
|          go.exe: F:\Go\bin\go.exe (ok)
|      go.version: go1.7.4
|          GOROOT: F:\Go
|          GOPATH: C:\Users\CoolerMaster/go
|           GOBIN: (not set) (should usually be (not set))
|       set.shell: []
|       env.shell:
|       shell.cmd: ['C:\Windows\system32\cmd.exe', '/C', '${CMD}']

I believe the problem is solved.
I downloaded the zip file from GitHub and unzipped into the Sublime packages directory and the resulting directory was named "GoSublime-master". I changed it to "GoSublime" and reopened the editor. Everything seems to be in order. Will start testing now!


Changed the background and added hover effect

@Abhilash107 just try to make the image size smaller

yes, sir just updated the logo size.


Support for moving instances and custom volumes between projects

Closes #9235

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Looking very good. I think it'd be good to add a test for lxc storage volume move --target-project as this currently isn't covered by the testsuite. This could be added to test_projects_copy.

jenkins: test this please

shellcheck is complaining:
==> TEST BEGIN: static analysis

In test/suites/projects.sh line 180:
  lxc --project foo storage volume create ${pool} vol1
                                          ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean:
  lxc --project foo storage volume create "${pool}" vol1

In test/suites/projects.sh line 181:
  lxc --project foo --target-project bar storage volume move ${pool}/vol1 ${pool}/vol1
                                                             ^-----^ SC2086: Double quote to prevent globbing and word splitting.
                                                                          ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean:
  lxc --project foo --target-project bar storage volume move "${pool}"/vol1 "${pool}"/vol1

In test/suites/projects.sh line 184:
  lxc --project bar storage volume delete ${pool} vol1
                                          ^-----^ SC2086: Double quote to prevent globbing and word splitting.

Did you mean:
  lxc --project bar storage volume delete "${pool}" vol1

For more information:
  https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...

I tested ./main.sh projects_copy, didn't expect error in static analysis. Fixed.

jenkins: test this please

Testsuite passed

Thanks!


WIP -- [DEVOPS-51]  Change ip-dht-mappings to point at cardano-node-N.aws.iohkdev.io, N∈{0..13}

This is outdated staging deploy


actor endpoint top countries geo_ids missing

http://staging.trase.earth/api/v2/get_actor_node_attributes?&node_id=588

geo_ids values are missing on the top countries. We should use countries ISO2 code - for the moment country names are used, which will inevitably cause problems with certain countries.

that's fine now right?


[Bug] SEO unavailable

🐛 Bug Report
Hey, While contributing I just saw that the SEO of the application is not so good. I would like to add SEO tags to enhance the application's reach. Could you please assign this issue to me?

Assigned @kaiwalyakoparkar


Metabase test instance cannot access CIIP db after prod-test restore

password authentication fails

This was actually caused by a fresh-install of ciip in both the dev/test namespaces which regenerated the readonly db password in ciip, but it was not updated in metabase dev/test which is why we lost connection.


Unable to launch

Cannot connect to the WebSocket server (reason: undefined) This could be due to the fact that the engine was not downloaded or unpacked correctly. Try completely deleting the engine folder and restarting the code until it completes. If this does not help, open an issue with a detailed description of the problem
Delete and re-download according to the prompts, but the problem still exists and it cannot be started normally
I have tried various methods, but none of them worked.
How to request a refund？

Greetings.
Please attach the test code so that the problem can be repeated.

Another thing you can try to do is download the engine manually from this link:
http://downloads.bablosoft.com/distr/FastExecuteScriptProtected64/27.8.1/FastExecuteScriptProtected.x64.zip
After downloading, the archive must be placed in the folder with the engine, for example:
your_project_folder/data/engine/27.8.1/FastExecuteScriptProtected.x64.zip

Another thing you can try to do is download the engine manually from this link:
https://downloads.bablosoft.com/distr/FastExecuteScriptProtected64/27.8.1/FastExecuteScriptProtected.x64.zip
After downloading, the archive must be placed in the folder with the engine, for example:
your_project_folder/data/engine/27.8.1/FastExecuteScriptProtected.x64.zip

console.log("get cache_xfinger start");
            plugin.setServiceKey('xxxxxxxxxxx');
            var cache_xfinger = await plugin.fetch({
                tags: ['Desktop', 'Chrome']
            });
            console.log("get cache_xfinger end");

            plugin.useFingerprint(cache_xfinger);

            console.log(cache_xfinger);
            var as = await plugin.launch();
            console.log("puppeteer launch succ");
            var pid = as.process().pid;
            console.log(pid);

FastExecuteScriptProtected.x64.zip was downloaded normally. I manually compared the md5 value and there was no problem.
Either the startup failed or the fingerprint could not be obtained for a long time. It has been 9 hours since I purchased the key, and the problem has not been solved.
I found that your Engine has 800M, which is too large for us and is not suitable for our application scenario.
Can you provide a refund channel? Thank you
output:

get cache_xfinger start
The browser is installing - this may take some time.

FastExecuteScriptProtected.x64.zip was downloaded normally. I manually compared the md5 value and there was no problem.
Either the startup failed or the fingerprint could not be obtained for a long time. It has been 9 hours since I purchased the key, and the problem has not been solved.
I found that your Engine has 800M, which is too large for us and is not suitable for our application scenario.
Can you provide a refund channel? Thank you

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>
The product is completely unusable, why don't you support refunds?

Please write your refund request to attached mail

Please write your refund request to attached mail

I sent it, and you replied that you couldn't reproduce the problem, so you refused to refund. Is this a complete scam?

I have not answered you anywhere except for this ticket, I am not directly connected with payments and the service.


Can't login when using self signed cert for coder server

Description
When trying to login on Windows to a coder server that is using a self signed cert by a private CA the login does not work and errors with:

Desired solution
It should be possible to tell the extension to accept the cert from the private CA.

Hi @kylecarbs ,
is there any way to fix this in a short period of time? I would be happy to help 😃

I'm not actually sure why this isn't working... it's odd that a status code 400 is used. Can you try manually requesting the URL from your computer? Does it work with our CLI?

I think your merge request #36 changed the error message to the following:
Invalid session token! (Error: unable to verify the first certificate)
Do you get the same now @ntimo ?
coder login and coder ssh work just fine. The CA certificate is also stored in the Windows certificate store and accepted. Not sure why VS Code or this extension does not accept the certificate.

Can you try manually requesting the URL from your computer?

@kylecarbs which URL do you mean exactly? The coder base URL is accepted just fine

Ahh, I see. I wonder if it's due to our use of axios...

@ChriZ982 I'm not able to find any good info on how to work around this... it seems like the certificate isn't being loaded by VS Code for some reason.
Can you try running VS Code with the --ignore-certificate-errors flag to see if that fixes it? I know that's not an actual fix, but it should help us narrow down whether it's us or not.
See: https://code.visualstudio.com/docs/setup/network#_ssl-certificates

I can confirm that setting that environment variable (on Windows), that I stop getting the error. It'd be nice if there were an environment variable that could be used to point to a certificate bundle instead. I tried NODE_EXTRA_CA_CERTS, but that didn't work for me.

Hey @kylecarbs sorry to ping you on this issue. We are also facing the same problem here, getting an error about unable to verify the first certificate (error code 401 I believe). The only way I've been able to connect using VS Code Desktop is to set the NODE_TLS_REJECT_UNAUTHORIZED environment variable to 0. We are using self-signed certs generated from Venafi, which are applied & stored on our EC2 instance for Coder. Using the Coder CLI via my local machine is fine, as well as the VS Code in the browser option. However, this is a pretty big stopgap for us until we're able to use our local VS Code to connect to the Workspaces. Given the hacky workaround, which is also not recommended for Production, is there anything that can be remediated on this VS Code Extension to alleviate this potentially? Any feedback would be greatly appreciated, thank you!


Links are broken on blueprints

Links to Iconography and Illustrations are broken: https://liferay.design/blueprints/resources/iconography/
Could you check all links please?
Thanks,
Yoshi

fixed in #1046

thanks for reporting @YoshikazuShimizu — and thanks for bearing with us as we took time to fix!


Release/v0.40

Checklist

[ ] Issue(s) linked

@khushboo9024 could you please update the dependencies section in the mod.sp file to use the latest azure plugin version?
Please update the CHANGELOG as well to reflect this dependency.


iPhone 12 display issue

On iPhone 12 opening a
gallery to share images/videos giving me 2 columns instead of 3, can you please check.
See attachment.

I am facing same issue

I cannot be reproduced that ( ios 15 , iPhone 12 simulator )

Im using xcode 13.1 running iPhone 13 (ios 15). Same issue I am facing.

Please test on device, not simulator, its fine on simulator

@Razanajam
This might be the problem.
        let width = floor((self.view.frame.size.width - (self.configure.minimumInteritemSpacing * (count-1))) / count)
        self.thumbnailSize = CGSize(width: width, height: width)
        layout.itemSize = self.thumbnailSize
//      layout.minimumInteritemSpacing = 0
->      layout.minimumInteritemSpacing = self.configure.minimumInteritemSpacing
        layout.minimumLineSpacing = self.configure.minimumLineSpacing

chages : https://github.com/tilltue/TLPhotoPicker/pull/312
other changes : https://github.com/tilltue/TLPhotoPicker/commit/89f924e7a47fefc57c7771e2d49864615f9ac0d8

@Razanajam I fixed it. v2.1.8  Please check it out. 🙏

@tilltue Thankyou very much, its working now.


Feature/90079 net exchange per neighbour

Description
Added aggregation of net exchange between neighboring grid areas (step 1 of BRS-023).
References

#0000

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Jonas Daugaard Møller:x: jonasdmoellerJonas Daugaard Møller seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


chore(main): release library 7.3.0

:robot: I have created a release beep boop
7.3.0 (2024-11-30)
Features

can run a headless neovim ex-command before tests (700d83c)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

library-v7.3.0
:sunflower:


feat(useformstate): change field.isValid to ignore isTouched, add shouldShowError + greenWhenValid

Previously the field-level isValid property would be true on first render and only accurately reflect the validation after isTouched becomes true (the user blurred the field, in most cases). This is misleading and can lead to issues. isValid will now always accurately reflect the validation, so it will be false on first render if a required text field is blank. Consumers should now only show errors on a field if both isValid is false and isTouched is true. The new property field.shouldShowError has been added as a shorthand for this.
Also, a new parameter greenWhenValid has been added to ValidatedTextInput and the get*Props helpers. This is useful for fields with asynchronous validation that should show a green check when the field is valid, using the validated="success" prop for the PatternFly components.
BREAKING CHANGE: Forms that rely on !field.isValid to show errors will now show validation errors on all required fields as soon as the form first renders. Consumers should replace the !field.isValid condition with field.shouldShowError or !field.isValid && field.isTouched.
Resolves #82

@gildub if you feel like looking at this I'd love your opinion, but if you're too busy I may self-merge so I can get this into MTX. I'll follow up with a PR to address the breaking change in forklift-ui.


Bug: eqMac won't open at all

Disclaimer:
Please go through existing issues to avoid creating duplicates. If you found a similar issue please post a comment there. If you are uncertain your issue is related to others then create the issue. Obvious ignorance of this rule might get you blocked from posting new issues. Please tick the box below to show that you have followed the guideline.

[x] I have checked for a similar issue and sure it hasn't been reported before.

Describe the bug
I downloaded the application this morning, and got it to work. Paused me music, shut my laptop, got back home, watched Netflix, and wanted to listen to more music, now it won't open at all. I tried to force quit the app in the Activity monitor, and open it again, it appears for literally a fraction of second, not giving me time to read anything. If I launch the app another time ( after the first try and the short appearance ), it opens up a black window which keeps on loading forever, never showing me the UI. I tried to reinstall, but it's not solving the issue.
Steps to Reproduce
Steps to reproduce the behaviour (feel free to change the placeholder as you need):

Launch the app once, pay attention to the screen
The App should appear in the activity monitor, but not have any active window in the dock or anything ( not even a dot under the icon )
Launch the app another time, window should appear but won't display any UI

Expected behaviour
A clear and concise description of what you expected to happen.
Setup information:

Audio device used for playback: Bose Soundlink 2 when listening to music, MBP 16" when watching Netflix
Audio transmission interface: Bluetooth with the Soundlink 2
macOS Version: 10.15.5
eqMac Version Can't know since application won't open, but downloaded on the 06/25/2020. File information shows v0.3.1 though
eqMac UI Version [e.g. 0.0.4] (if UI related issue)

Screenshots or Console.app logs
If applicable, add screenshots to help explain your problem. Also you can run Console.app and apply filter for eqMac
Additional information
Add any other context about the problem here.

Without a crash log can't help much sorry

Alright, where can I see the logs of the app ?
Thanks !


Empty array leads to error

Attempting to convert a player data file back to NBT results in the following error:
Error parsing json2nbt: While writing Compound tags: Error parsing json2nbt: While writing Compound tags: Error parsing json2nbt: Tag Compound value field not an array
I'm not remarkably familiar with how this all works, but it appears a new field is in the newest version of MC; an array with name memories which as of testing, ends up with "value": null in the json. Changing it to "value": [] appears to work fine.
Versions:
nbt2json 0.3.0
MC Java Edition 1.15.1, works fine on 1.13.2 and 1.14.4

Hi, thanks for the report! It being the holidays, it may take me a little while to investigate and fix.

Bump. Minecraft expects an empty compound tag at this place, null in its place breaks round-trip saving of NBT.

Yeah, I guess I should update the repo. I should have time given the, uh, global environment lately.


Refit requires at least the .NET Core SDK v2.0 to run with 'dotnet build'

I'm a little confused by this error - we have installed the core SDK v2.0 on our build server but we still get this error and the build fails. Unless I'm misunderstanding, there's an issue - or there's something else I need to install.
Refit requires at least the .NET Core SDK v2.0 to run with 'dotnet build'
Any help is appreciated.

Could you provide some more information? How are you building Refit? With MSBuild or are you running dotnet build?

Sure. We are building the project with dotnet build - dotnet build -c Release.

And dotnet --version returns 2.0.0 or newer?
Is it the same version used when invoked through your build script? Maybe the PATH is different?

Yes. I even just ran it on my dev machine, still doesn't work.

Yes. I even just ran it on my dev machine, still doesn't work.

Do you have a repro?

@onovotny I just created a blank project (happened to be azure webjob project type) and added the nuget package for Refit, then added a simple interface. Same thing occurs.
https://github.com/codymullins/refitdemoclient

@codymullins if this is your csproj, https://github.com/codymullins/refitdemoclient/blob/master/ClassLibraryDemo/ClassLibraryDemo.csproj, then dotnet cannot build that. That's not an "SDK style" project. You have to use msbuild for that.

@onovotny we use dotnet build for many of our projects, I just added a blank class library (ClassLibraryDemo2) and dotnet build worked fine without Refit added. So I'm not sure I understand?

You may have just gotten lucky then. SDK style projects don't use packages.config, and have an Sdk= attribute at the top of the csproj bringing in required props/targets files.
you can see this by creating a new .NET Standard class library in VS or using dotnet new classlib.


[objc] Add error/warning tests for things we can't execute

From @spouliot https://github.com/mono/Embeddinator-4000/pull/103#discussion_r111054181

We will need to do some error/warning tests (like touch tests) to ensure we don't regress things we can't execute. OTOH that can be done in a separate PR.

PR #203 was merged


Move Nip Horizontally

Can someone create functionality to add horizontal offset of the nip?

What do you mean? Can you explain it better?


fix: format command failed on windows

The logs of the error:
$ cd src/chainlit/frontend/ && pnpm format

><EMAIL_ADDRESS>format D:\projects\chainlit\src\chainlit\frontend
> prettier --config .prettierrc 'src/**/*.{ts,tsx}' --write --loglevel error

[error] No files matching the pattern were found: "'src/**/*.{ts,tsx}'".
 ELIFECYCLE  Command failed with exit code 2.
(venv)

LGTM, @ramnes @alimtunc @xsyann any reason we wrapped the path with quotes?

BTW, my OS was Windows11 + Git-Bash

LGTM, @ramnes @alimtunc @xsyann any reason we wrapped the path with quotes?

I don't think so, this just make sense for a path to be in quotes generally


Working results page

Now it displays the important information in an organized way.
If I get around making a Dish page I will link it in the title, also want to test best review display a bit more..

Hey @anniewtang! I had made this PR before you made the Content Manager PR so I did not have these new methods and so null checks were necessary. Now, I rebased my code to depend on CM and not the stores, please have a look let me know if you have any more comments!


CanvasGroup breaks with any material applied

Godot version
v4.0.dev.calinou [c17a54165]
System information
Windows 10, Vulkan Clustered, GTX 1060 6GB (471.41)
Issue description
Applying a CanvasItemMaterial or ShaderMaterial to a CanvasGroup node cause it to render as a white rectangle

Steps to reproduce

Create CanvasGroup node
Add Sprite as a child
Apply material to CanvasGroup node

Minimal reproduction project
CanvasGroupBug.zip

Can confirm this on Linux too.
Having access to the CanvasGroup material and manipulating it (blurring, dropshadow, etc) would be a killer feature.

When creating a shader for CanvasGroups, I have to use
COLOR = texture(SCREEN_TEXTURE, SCREEN_UV);
instead of
COLOR = texture(TEXTURE, UV);.
I think this is because it uses a back buffer to render sub-nodes to. My guess is that material shaders use TEXTURE/UV and not SCREEN_TEXTURE/SCREEN_UV which means materials don't work, but custom shaders will.
Can CanvasGroups be re-coded to use TEXTURE/UV? That would seem to make more sense in terms of usability.

Thanks to @DragonAxe I realized today CanvasItem shaders have been working with CanvasGroups all this time, only texture(TEXTURE, UV) did not work in a CanvasItem shader on a CanvasGroup material.
The solution is like DragonAxe states above to use texture(SCREEN_TEXTURE, SCREEN_UV) instead of texture(TEXTURE, UV), but this seems incredibly confusing! Especially so because when used on a CanvasGroup, texture(SCREEN_TEXTURE,UV) does not behave like it would take SCREEN_TEXTURE or SCREEN_UVs at all.
Is there any possibility to make this make more sense? If changing this to make texture(TEXTURE, UV) is not possible, can we maybe at least introduce a new texture and uv constants for the CanvasGroup, rather than using SCREEN_TEXTURE and SCREEN_UV?

Looks like something needs documented, if I'm reading the somewhat rambling comment by @golddotasksquestions right?

@Zireael07 not sure that it's documentation issue. As examples, CanvasItemMaterial uses TEXTURE, so it breaks CanvasGroup. And if SCREEN_TEXTURE behaves like TEXURE, we don't have actual SCREEN_TEXTURE (For CanvasGroup TEXTURE should clear backbuffer, SCREEN_TEXTURE should not). So it's definitely the bug. Only if @reduz  doesn't say it's a feature.

@Zireael07
Documentation is never a good solution to fix a completely confusing and counter intuitive workflow. A better solution is to improve the workflow so it becomes less confusing and more intuitive. As a byproduct you then also need less overall documentation.

I agree, using TEXTURE and UV would be way more intuitive than using SCREEN_TEXTURE and SCREEN_UV. As it is implemented I understand  the technical reasons why it was originally implemented using SCREEN_TEXTURE, but I will take a deeper look and see if there is a way to make this better.

Super happy to see this working, now you can do cool things like this drop-shadow effect. 🎉

It would be even better if Canvas Group could be made compatible with canvas_item shaders.
Right now, the TEXTURE, UV vs. SCREEN_TEXTURE, SCREEN_UV breaks this compatibility.
Effects such as this Squish or this Perspective don't work as a result, and would require a separate sprite / canvas group version.

I'd like to make a CanvasGroup with blend mode add. Is there any way to do that?

I'd like to make a CanvasGroup with blend mode add. Is there any way to do that?

You can, but for the reasons discussed above, you'd currently have to use a ShaderMaterial to do so. Here's a minimal add blend mode shader for Beta 17:
shader_type canvas_item;
render_mode blend_add;

uniform sampler2D screen_tex : hint_screen_texture;

void fragment() {
	COLOR = texture(screen_tex, SCREEN_UV);
}

Awesome! Thank you so much!

Super happy to see this working, now you can do cool things like this drop-shadow effect. 🎉

It would be even better if Canvas Group could be made compatible with canvas_item shaders. Right now, the TEXTURE, UV vs. SCREEN_TEXTURE, SCREEN_UV breaks this compatibility.
Effects such as this Squish or this Perspective don't work as a result, and would require a separate sprite / canvas group version.

This is something I've been trying to do for a while now!  Do you mind sharing the shader?


Pass arguments to labelling functions via LFApplier.apply()

I'm writing labelling functions that read pandas DataFrames and process the text column. I want my modelling pipeline to be generic and consume DataFrames created by different sources, which means that different DataFrames have different columns and the relevant text columns can have different names.
I could of course do this via slicing the input DataFrame and renaming the columns at the time of calling the apply() method. But it should be possible to pass the column names (and possibly more parameters) to labelling functions via additional keyword arguments in LFApplier.apply() method. This should require no more than a minor change in method signatures.
Is it okay for me to create a PR for this?

Hi @chaturv3di, thanks for posting! Can you post a code example with the desired functionality?

Suppose my use case is identifying phishing or some other scam. I'm writing regex based labeling functions that look like the following:
@labeling_function()
def scam_buy_fast(doc):
    patterns = ['pric', 'buy', 'instant', 'quick', 'limited',
                'at\s*home', 'hurry', 'now', 'today',
                'apply|act|email|call|contact|write']
    threshold = 2
    if occurrences_of(patterns, doc) >= threshold:
        return SCAM
    return ABSTAIN

Here the method occurrences_of() returns the number of times one of the patterns appears in doc. The labeling function returns a vote based on the threshold. A simple case is when I'd want to assign threshold through an argument.
It would be great if I could create my weakly labelled data set as wl_dataset = applier.apply(unlabelled_dataset, **kwargs) where apply() simply passes the keyword arguments to all the labeling functions. So, my labeling function would become the following.
@labeling_function()
def scam_buy_fast(doc, **kwargs):
    patterns = ['pric', 'buy', 'instant', 'quick', 'limited',
                'at\s*home', 'hurry', 'now', 'today',
                'apply|act|email|call|contact|write']

    # Check if threshold can be set from arguments
    threshold = None
    try:
        threshold = int(kwargs['scam_pattern_threshold'])
    except (KeyError, ValueError):
        threshold = 2

    if occurrences_of(patterns, doc) >= threshold:
        return SCAM
    return ABSTAIN

This is especially useful when LFs use third-party APIs. Furthermore, I can treat some of these keyword arguments as hyper-parameters in the overall modelling pipeline.
Does this make sense?

Hi @chaturv3di, got it, thanks for the detail. The resources parameter for labeling functions is typically how we programmatically pass arguments besides the data points themselves. For example:
def scam_buy_fast(doc, threshold=None):
     ...

def another_threshold_lf(doc, threshold=None):
    ...

threshold = 2
fs_threshold = [scam_buy_fast, another_threshold_lf]
lfs_threshold = [LabelingFunction(f.__name__, f, resources=dict(threshold=threshold)) for f in fs]
applier = LFApplier(lfs_threshold)
dataset = applier.apply(X)

One of our design choices was to keep as much logic encapsulated in the LF/TF/SF/Policy objects as possible, rather than in applier construction or calls. Will the setup above work for your use case?

Closing for now, feel free to re-open!


Add samplesheet generation for mag

Description of feature
In the project of chaining the meta-omics pipeline, samplesheets generation needs to be there for nf-core/mag.

closed with #39


Updated factory stub to use generics

This is already used in the default laravel stubs https://github.com/laravel/framework/blob/9.x/src/Illuminate/Database/Console/Factories/stubs/factory.stub

Thanks!


Format aws-stack.yml using yq so it's easier to transform and diff

To make it easier to diff the upstream stack yaml with a forked stack yaml, it would be nice to make the format of the aws-stack.yml formatted using yq.
For example, if I want to perform a transformation such as updating the description, I'll see a lot of changes.
✗ wget https://s3.amazonaws.com/buildkite-aws-stack/v5.0.1/aws-stack.yml
✗ yq w aws-stack.yml "Description" "$(yq r aws-stack.yml 'Description')-patched" > aws-stack.patched.yml
✗ diff -w aws-stack.yml aws-stack.patched.yml | wc -l
343

Most of those changes are all whitespace related.
I propose that the following is done for aws-stack.yml prior to it being committed/uploaded
yq r aws-stack.yml > aws-stack.yml.formatted
mv aws-stack.yml.formatted aws-stack.yml

I'd propose this is aligning to YAML 1.2 spec rather than specifically to yq's interpretation of it. This has totally been something that's tripped myself and @yob up recently in PRs. Most tooling, AWS examples and even the YAML 1.2 spec indents block sequences beneath the node, but we don't. This was probably a deliberate attempt to reduce unnecessary indentation, but conforming to a style will help keep things more consistent and would be easy to automate/validate in source control.
One thing that would be nice to preserve blank lines just to provide some logical separation between elements. Our stack is something that is read as much as it is used, and this helps a lot with grokking what's going on in a very long file, particularly with some of Amazon's longer resources.

Hmmm yes that's true, the blank lines definitely make it more readable. Unfortunately, afaik, yq doesn't have this ability to maintain existing white lines (but maybe there is another tool that does).
Perhaps the code in the repo can stay as is and a new aws-stack.formatted.yaml file can be added to s3 alongside existing aws-stack.yml files? The new file would not have to be committed, just created from the original and copied over to s3. That would at least prevent having to maintain two files in the repo and still allow transformations with an expected diff.

That's fair, we could consider publishing a minified/formatted version. What if we standardised the indentation/hand-picked most of the YAML 1.2 spec adjustments (except the blank lines), would it still work for your purposes?

Although, at the point we're publishing a separate formatted version that's only been passed through yq, it might just be easier for the consumer of the stack to do it on their side as part of their tooling and then diff on that converted file

That's true. Thank you for looking into this!


Feature Request: R language extension

VSCode Version: 1.4
OS Version: Windows 10

Steps to Reproduce:
1.
2.

when?

Will there be support for intellisense in R ?
If so is there an expected timeline?
@chrisdias

Wondering if we can get an update or info on whether or not this feature request will be honored.

Is this a duplicate of #14393?

Duplicate of #14393


Duplicate messages when loading/unloading a plugin

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/25913984-duplicate-messages-when-unloading-a-plugin?utm_campaign=plugin&utm_content=tracker%2F6855523&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F6855523&utm_medium=issues&utm_source=github).

We got this figured out, thanks @Nogrod. :)


Update urls.py

Updated it to Django 2.2

Thank you for updating to Django 2 url formats. This package is meant to support both Django 1.11+ and 2. The old url formats are supported in both of 1.11 and 2 but the new format is only supported in Django 2. Thus, changing the url formats will make the package not support Django 1.11 anymore.


Toggle directive docs are not accessible

The link in the Collapse page pointing to here results in a 404.

The docs are not fully completed yet. Especially those for directives, since they are pretty much unfinished.


fix: Show argentx modal

Issue:
On the interface when you try to log in with a Starknet wallet it will show a modal where you can select between few options, log in with email, connect with Argent X or connect with Braavos wallet. If an user select Argent X then log in then later log out, then if user try to log in again with a Starknet wallet, the modal with multiple choices wont show up anymore and it will auto log you with the Argent X account. We should instead show the modal with 3 choices again.

How to test

Go to home page
Click on "Connect wallet" and then "Starknet"
connect with your argentx wallet
click logout
Try to connect again by clicking "Starknet"
After the fix, you should see the modal with sn wallets like above

Fixed in https://github.com/snapshot-labs/sx-monorepo/pull/459


[WIP] Increase test coverage

Before
Statements   : 85.41% ( 1422/1665 )
Branches     : 69.05% ( 493/714 )
Functions    : 84.85% ( 168/198 )
Lines        : 85.58% ( 1377/1609 )
After
Statements   : 91.72% ( 1440/1570 )
Branches     : 75.7% ( 511/675 )
Functions    : 93.55% ( 174/186 )
Lines        : 91.83% ( 1394/1518 )
I intentionally haven't updated tests to pass because I have questions before I spend the time doing that 🙂

I dusted this off and rebased against master. Tests are failing and when I test css-blocks against this branch I get test failures in the website build.


Adding a new C assingnment

Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add Resource(s) | Remove Resource(s) | Add info | Improve Repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Not a duplicate
[ ] Included author(s) if appropriate
[ ] Lists are in alphabetical order
[ ] Needed indications added (PDF, access notes, under construction)

Please read CONTRIBUTING.md guidelines!

https://github.com/EbookFoundation/free-programming-books/pull/4096


Why the result on ImageNet of DARTS  in the paper  is much better than the original paper?

The top1 accuracy on ImageNet of DARTS in original paper is 73.3% and in the paper is 76.3%. Some papers report that it could be hard to be reproduced even from original codes because DARTS is prone to converge to 'Skip-connect'. So is there any improvement or fixed bugs of DARTS?

Thanks for your reply. I think evaluation phase could be much less influenced than search phase.
But the difference b) may be irrelevant to the result of 76.3% because it's on classification task but not on self-supervised objective?

There are two parts to the improvement.
One is improvement in the evaluation phase, i.e. in training a found architecture, we are adopting the hyperparameters used by P-DARTS/PC-DARTS but not the original DARTS paper, with some differences being larger batch size and longer training epochs. This alone improved from 73.3% to 74.9%, as we reported in Table 1.
The rest of the improvement should come from the search phase. I would say the main differences are: (a) changing the search dataset from CIFAR-10 to ImageNet, and (b) changing the search task from classification to some self-supervised objective. Note that we did quite minimal hyperparameter tuning given these two presumably big changes.

Thanks for your reply. I think evaluation phase could be much less influenced than search phase.
But the difference b) may be irrelevant to the result of 76.3% because it's on classification task but not on self-supervised objective?

Sure. I always remembered my results as around-the-same-ballpark, so I didn't instantly recognize that the specific 76.3% you are mentioning is a supervised classification result.


69 retrieve pictures and inferences for a given folder

ref #69

@Francois-Werbrouck I wait for https://github.com/ai-cfia/nachet-datastore/pull/76 and https://github.com/ai-cfia/nachet-datastore/pull/87 to finish this but if you want to take a look when you have time :)

I will take a second look at this once #87 is merged, however it looks good so far after a quick check


Documentation to improve

The documentation on app service key vault references need to be improved:
From the doc seems that the key vault reference feature will not work for keyvault with access restrictions that is generally true , but if your function app or app service is deployed into an ASP Isolated and configured properly is working well
From the doc seems that key vault reference must contain the secret version , but I tried and without the version is working properly .
Let me know if you want me to do a pull request for that I will be glad to do that :)

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

ID: 7feaa3d0-7233-a3cb-cb9b-a9a55b1f0d7a
Version Independent ID: f41f9d51-52f8-1f45-1043-1344a3b74458
Content: Use Key Vault references - Azure App Service
Content Source: articles/app-service/app-service-key-vault-references.md
Service: app-service
GitHub Login: @mattchenderson
Microsoft Alias: mahender

Thanks for the feedback! I have assigned the issue to the doc author to update appropriately. You are always welcome to put in your own pull requests. :)

PR is open https://github.com/MicrosoftDocs/azure-docs/pull/63690
@mattchenderson

#please-close


CUDA 9.X support

This now builds under linux with CUDA 9.0 and CUDA 9.1 with no additional warnings.
Prior to merging, the following must be done:

[x] Test under windows
[ ] Determine which CUDA version we intend to set as default for visual studio

[x] Optional Provide a script which will update the CUDA version used by all example projects. #170

We will use CUDA 9.1 for now, this branch should be updated to reflect this in visual studio files.
If 9.2 is released before 1.5, we may update to 9.2 (by default)


how to deal with qpos_start exceeds joint limit. Relaxing joint limit to contain qpos_start for planning.

I got these two warning:
[WARNING] qpos_start exceeds joint limit. Relaxing joint limit to contain qpos_start for planning.
[WARNING] qpos_goal exceeds joint limit. Relaxing joint limit to contain qpos_goal for planning.
And it looks like the path of robot hand is strange. :sad:
If you need my code: Im working on let franka_sim/bi-franka_panda to grasp a cude.
import numpy as np
import genesis as gs

gs.init(backend=gs.cpu,logging_level='warning')

scene = gs.Scene(
    viewer_options = gs.options.ViewerOptions(
        camera_pos    = (3, -1, 1.5),
        camera_lookat = (0.0, 0.0, 0.5),
        camera_fov    = 30,
        max_FPS       = 60,
    ),
    show_viewer = True,
)
scene.add_entity(gs.morphs.Plane())

table = scene.add_entity(
     gs.morphs.Box(
         size = (0.4, 0.4, 0.4),
         pos  = (0, 0.4, 0.2),
         fixed=True

     )
 )
cube=scene.add_entity(
    gs.morphs.Box(
        size=(0.04,0.04,0.04),
        pos=(0,0.6,0.02),
    )
)

franka = scene.add_entity(
    gs.morphs.MJCF(
        file='xml/franka_sim/bi-franka_panda.xml',
        scale=0.5
    ),
)
scene.build()

motors_dof = np.arange(16)
fingers_dof = np.arange(16, 18)

end_effector1 = franka.get_link('panda0_gripper')
# end_effector2= franka.get_link('')

qpos = franka.inverse_kinematics(
    link = end_effector1,
    pos  = np.array([0, 0.6,0.7]),
    quat = np.array([0, 0, 1, 0]),
    respect_joint_limit=False
)
path = franka.plan_path(
    qpos_goal     = qpos,
    num_waypoints = 200,
)

for waypoint in path:
    franka.control_dofs_position(waypoint)
    scene.step()
for i in range(100):
    scene.step()
for i in range(2000):
    scene.step()

I got the same first warning when i run /tutorials/IK_motion_planning_grasp.py.

I got the same first warning when i run /tutorials/IK_motion_planning_grasp.py.

But tutorials/IK_motion_planning_grasp can complete the mission xD

I'm curious about the pos in ik:
qpos = franka.inverse_kinematics(
    link = end_effector,
    pos  = np.array([0.65, 0.0, 0.25]),
    quat = np.array([0, 1, 0, 0]),
)
path = franka.plan_path(
    qpos_goal     = qpos,
    num_waypoints = 200, # 2秒时长
)

for waypoint in path:
    franka.control_dofs_position(waypoint)
    scene.step()

for i in range(100):
    scene.step()

After this how can I get the position of end-effector which should be near [0.65, 0.0, 0.25]?
I tried end_effector.get_pos() but its output is far from [0.65, 0.0, 0.25] . :cry:


AngularFire2 guide out of date

Hi,
I tried following your guide to implement AngularFire2 but the code looks as though it's out of date. E.g. there is no SYSTEM_CONFIG_DEV variable in project.config.ts, and the bootstrap function looks different too.
Intsead, I included the files in project.config.ts like this:
this.NPM_DEPENDENCIES = [
      ...this.NPM_DEPENDENCIES,
      {src: 'firebase/firebase.js', inject: 'libs'},
      {src: 'angularfire2/angularfire2.js', inject: 'libs'},
    ];

I also tried creating the code as described in the wiki currently:
this.SYSTEM_CONFIG_DEV.paths['firebase'] =
      `${this.APP_BASE}node_modules/firebase/firebase`;

    this.SYSTEM_CONFIG_DEV.paths['angularfire2'] =
      `${this.APP_BASE}node_modules/angularfire2/angularfire2`;

    this.SYSTEM_BUILDER_CONFIG.packages['firebase'] = {
        main: 'firebase.js',
        defaultExtension : 'js'
    };

    this.SYSTEM_BUILDER_CONFIG.packages['angularfire2'] = {
        main: 'angularfire2.js',
        defaultExtension : 'js'
    };

But this caused the folllowing console error:
Cannot GET /node_modules/angularfire2/bundles/angularfire2.umd.js
I then followed the official install instructions and included AngularFireModule in the app.module.ts @NgModule instead. This gave me a load of typescript errors, such as:
/node_modules/angularfire2/interfaces.d.ts(12,35): error TS2503: Cannot find namespace 'firebase'.
Could you update the wiki please?

Hi, I follow this instructions but I'm not getting some errors...
1 - Install angularfire2 and firebase:
npm install --save angularfire2 firebase
2 - When I tried to install typings I got this error:

ERR! message Unable to read typings for "firebase3". You should check the entry paths in "firebase3.d.ts" are up to date

I searched and found this #1179 and #1156 so I ignored step 2
3 - I copied inside the ProjectConfig constructor this:
`  this.SYSTEM_CONFIG_DEV.paths['firebase'] =
${this.APP_BASE}node_modules/firebase/firebase;
this.SYSTEM_CONFIG_DEV.paths['angularfire2'] =
  `${this.APP_BASE}node_modules/angularfire2/angularfire2`;

this.SYSTEM_BUILDER_CONFIG.packages['firebase'] = {
    main: 'firebase.js',
    defaultExtension : 'js'
};

this.SYSTEM_BUILDER_CONFIG.packages['angularfire2'] = {
    main: 'angularfire2.js',
    defaultExtension : 'js'
};`

4 -
Following the official install instructions
In the app.module.ts I create this:
export const firebaseConfig = {
  apiKey: "----------",
  authDomain: "------.firebaseapp.com",
  databaseURL: "https://------.firebaseio.com",
  storageBucket: "------.appspot.com"
};

@NgModule({
  imports: [
    BrowserModule,
    HttpModule,
    RouterModule.forRoot(routes),
    AboutModule,
    HomeModule,
    SharedModule.forRoot(),
    **AngularFireModule.initializeApp(firebaseConfig)**
  ]

5 - To check if everything was working okay in home.component.ts I did this:
import { AngularFire, FirebaseListObservable } from 'angularfire2';
...

export class HomeComponent implements OnInit {

  ...

  items: FirebaseListObservable<any[]>;

  constructor(public nameListService: NameListService, **af: AngularFire**) {
    this.items = af.database.list('items');
  }

Errors:
1. Cannot find namespace 'firebase'.
I fixed it by opening src/client/tsconfig.json and add the "types" array as follows:
 "types": [
      "core-js",
      "express",
      "jasmine",
      "node",
      "protractor",
      "systemjs",
      "firebase"
    ]

**2. Error: ReferenceError: require is not defined(…) **

Just updated the guide.

Thanks for updating the guide @mgechev. I've followed it and have AngularFire2 working now but I am still getting the typescript errors like "Cannot find namespace 'firebase'.".
I've added "firebase" to the types array in src/client/tsconfig.ts but the errors are still there. Any ideas?

You also installed @types/firebase, right?

Yes that's installed OK. I think the problem may be related to @types/request because I noticed this error/warning:
UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
My package.json dependencies looks like this:
"dependencies": {
    "@angular/common": "2.0.0",
    "@angular/compiler": "2.0.0",
    "@angular/core": "2.0.0",
    "@angular/forms": "2.0.0",
    "@angular/http": "2.0.0",
    "@angular/platform-browser": "2.0.0",
    "@angular/platform-browser-dynamic": "2.0.0",
    "@angular/router": "3.0.0",
    "@types/firebase": "^2.4.30",
    "@types/form-data": "0.0.32",
    "@types/node": "^6.0.39",
    "@types/request": "0.0.31",
    "angularfire2": "^2.0.0-beta.5",
    "core-js": "^2.4.0",
    "es-module-loader": "^1.0.0",
    "firebase": "^3.4.0",
    "moment": "^2.15.0",
    "reflect-metadata": "^0.1.8",
    "rxjs": "5.0.0-beta.12",
    "systemjs": "0.19.27",
    "zone.js": "0.6.21"
  }

I also tried installing @types/node and @types/form-data manually before installing @types/request but that still didn't help.
@types/request appears to be installed fine in node_modules/@types/request/  though.

In case I had done something wrong along the way, I started a new seed project and installed AngularFire2 again and now I get this error instead (the typescript errors have gone):
localhost/:47 Error: ReferenceError: require is not defined 	    at eval (http://localhost:5555/node_modules/traceur/src/node/api.js:22:12) 	Evaluating http://localhost:5555/node_modules/traceur/src/node/api.js 	Error loading http://localhost:5555/node_modules/traceur/src/node/api.js 	Error loading http://localhost:5555/node_modules/angularfire2/angularfire2.js as "angularfire2" from http://localhost:5555/app/app.module.js "Report this error at https://github.com/mgechev/angular2-seed/issues"

Hey everyone!
I followed the updated guide of AngularFire2 and I got this error:
UNMET PEER DEPENDENCY<EMAIL_ADDRESS>- Same error as @daniel7912 had.
I ignored this and followed the guide (I used AngularFireModule from official documentation) and I got AngularFire2 to work and without any errors or warnings.
But I noticed when I run npm start I got this in my console:

node_modules/@types/protractor/index.d.ts(22,27): error TS2305: Module 'webdriver' has no exported member 'IButton'.
node_modules/@types/protractor/index.d.ts(25,24): error TS2305: Module 'webdriver' has no exported member 'IKey'.
node_modules/@types/protractor/index.d.ts(28,45): error TS2339: Property 'Error' does not exist on type 'typeof error'.
node_modules/@types/protractor/index.d.ts(29,40): error TS2305: Module 'webdriver.error' has no exported member 'IErrorCode'.
node_modules/@types/protractor/index.d.ts(36,37): error TS2305: Module 'webdriver.logging' has no exported member 'IType'.
node_modules/@types/protractor/index.d.ts(37,38): error TS2305: Module 'webdriver.logging' has no exported member 'ILevelValues'.
node_modules/@types/protractor/index.d.ts(39,67): error TS2305: Module 'webdriver.logging' has no exported member 'ILevel'.
node_modules/@types/protractor/index.d.ts(40,67): error TS2305: Module 'webdriver.logging' has no exported member 'ILevel'.
node_modules/@types/protractor/index.d.ts(287,39): error TS2339: Property 'stacktrace' does not exist on type 'typeof webdriver'.
node_modules/@types/protractor/index.d.ts(288,42): error TS2339: Property 'stacktrace' does not exist on type 'typeof webdriver'.
node_modules/@types/protractor/index.d.ts(303,35): error TS2305: Module 'webdriver' has no exported member 'stacktrace'.
node_modules/@types/protractor/index.d.ts(340,55): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(414,52): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(462,53): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(664,29): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(673,32): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(704,39): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(725,35): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(801,48): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(808,30): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1111,32): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1139,30): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1362,51): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1363,42): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1364,41): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1440,55): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1461,60): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1477,41): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1491,51): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1505,58): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1574,79): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1594,55): error TS2305: Module 'webdriver' has no exported member 'Locator'.
node_modules/@types/protractor/index.d.ts(1614,36): error TS2305: Module 'webdriver' has no exported member 'Locator'.

Besides that I'm not getting more errors or warnings.

I started a new seed project and installed AngularFire2, made some changes to remove this errors:
...
node_modules/@types/protractor/index.d.ts(1614,36): error TS2305: Module 'webdriver' has no exported member 'Locator'.
...

but now I'm getting this:
E:/angular2-seed/node_modules/angularfire2/interfaces.d.ts(12,35): error TS2503: Cannot find namespace 'firebase'.
@types/firebase is installed and I've added firebase to the types array
I'm still getting this:
UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.

Any ideas?

Everything is now working!
This is how I fixed each issue:

Change the order of the type roots:

"typeRoots": [
      "../../node_modules",
      "../../node_modules/@types"
    ],

In tools/config/project.config.ts, inside the ProjectConfig constructor:

this.SYSTEM_CONFIG_DEV.paths['firebase'] =
      `${this.APP_BASE}node_modules/firebase/firebase`;

    this.SYSTEM_BUILDER_CONFIG.packages['firebase'] = {
      main: 'firebase.js',
      defaultExtension : 'js'
    };

    this.SYSTEM_CONFIG_DEV.paths['angularfire2'] =
      `${this.APP_BASE}node_modules/angularfire2/angularfire2`;

    this.SYSTEM_BUILDER_CONFIG.packages['angularfire2'] = {
      main: 'angularfire2.js',
      defaultExtension : 'js'
    };

Extra step: #1369 #1366
In package.json I changed this:
"@types/selenium-webdriver": "2.44.*",
Everything works fine now.

Thanks @fedeguzman, switching the order of the type roots fixed my problem!
I was also getting the webdriver typescript errors earlier today but I didn't get them in a fresh clone just now so I guess that's been fixed?

You're welcome @daniel7912. Yes, it's been fixed it. #1369

OK now I'm completely baffled. I think part of the problem is with my PC.
I cloned the seed, installed firebase etc. but I get the error:
localhost/:47 Error: Error: XHR error (404 Not Found) loading http://localhost:5555/node_modules/angularfire2/bundles/angularfire2.umd.js 	    at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:636:29) 	    at ZoneDelegate.invokeTask (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:225:37) 	    at Zone.runTask (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:125:47) 	    at XMLHttpRequest.ZoneTask.invoke (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:293:33) 	Error loading http://localhost:5555/node_modules/angularfire2/bundles/angularfire2.umd.js as "angularfire2" from http://localhost:5555/app/app.module.js "Report this error at https://github.com/mgechev/angular2-seed/issues"
I then rsync'd the entire directory over to my macbook and ran npm start, and it works fine!
Both computers have node v6.4.0 and npm v3.10.0. On the PC that isn't working, I have tried using a different port too with no joy.
Any ideas what could be wrong?

The same happened to me in a PC while I was trying to make a prod build.
Try adding this inside the ProjectConfig constructor: (Only if you want to run the npm run build.pro, if you just run npm start might failed)
this.SYSTEM_CONFIG_DEV.paths['angularfire2'] =
      ${this.APP_BASE}node_modules/angularfire2/angularfire2`;

    this.SYSTEM_BUILDER_CONFIG.packages['angularfire2'] = {
      main: 'angularfire2.js',
      defaultExtension : 'js'
    };

I hope this will help

Adding those seems to work for the build.prod command, but gives me the old require error for npm start.
It says on the AngularFire2 page that the current fix for that is temporary so hopefully they will replace it with something better soon

Is this only happening in a PC?

Yep, I have followed the exact same process you laid out above, once on Ubuntu 16.04 and once on a macbook OSX. It works fine on the macbook but on Ubuntu I get the 404 error when running npm start. Both have the same versions of node & npm so it's very odd.

So I was able to remove that old require error!
Try to copy this in your project.config.ts, this worked for me:
import { join } from 'path';

import { SeedConfig } from './seed.config';

/**
 * This class extends the basic seed configuration, allowing for project specific overrides. A few examples can be found
 * below.
 */
export class ProjectConfig extends SeedConfig {

  PROJECT_TASKS_DIR = join(process.cwd(), this.TOOLS_DIR, 'tasks', 'project');

  constructor() {
    super();
    // this.APP_TITLE = 'Put name of your app here';

    /* Enable typeless compiler runs (faster) between typed compiler runs. */
    // this.TYPED_COMPILE_INTERVAL = 5;

    // Add `NPM` third-party libraries to be injected/bundled.
    this.NPM_DEPENDENCIES = [
      ...this.NPM_DEPENDENCIES,
      // {src: 'jquery/dist/jquery.min.js', inject: 'libs'},
      // {src: 'lodash/lodash.min.js', inject: 'libs'},
      //{src:'material-design-lite/dist/material.min.css', inject: true},
      //{src:'material-design-lite/dist/material.cyan-red.min.css', inject: true},
      //{src:'material-design-lite/dist/material.min.js', inject: 'libs'}
      ];

    // Add `local` third-party libraries to be injected/bundled.
    this.APP_ASSETS = [
      ...this.APP_ASSETS,
      // {src: `${this.APP_SRC}/your-path-to-lib/libs/jquery-ui.js`, inject: true, vendor: false}
      // {src: `${this.CSS_SRC}/path-to-lib/test-lib.css`, inject: true, vendor: false},
    ];

    this.SYSTEM_CONFIG_DEV.paths['firebase'] =
      `${this.APP_BASE}node_modules/firebase/firebase`;

    this.SYSTEM_BUILDER_CONFIG.packages['firebase'] = {
      main: 'firebase.js',
      defaultExtension : 'js'
    };
/*
    this.SYSTEM_CONFIG_DEV.paths['angularfire2'] =
      `${this.APP_BASE}node_modules/angularfire2/angularfire2`;

    this.SYSTEM_BUILDER_CONFIG.packages['angularfire2'] = {
      main: 'angularfire2.js',
      defaultExtension : 'js'
    };*/

    /* Add to or override NPM module configurations: */
    // this.mergeObject(this.PLUGIN_CONFIGS['browser-sync'], { ghostMode: false });
  }

}

That's the same setup I already have which produces the 404 error on Ubuntu :(

It's so weird! Now in Windows 10 is working without any "require" error. Wish I could help you but I don't have Ubuntu here :(  Could you post the error here? Maybe someone can help us.
@mgechev Any idea why @daniel7912 is getting the 404 error on Ubuntu?

Sure, its this error:
localhost/:47 Error: Error: XHR error (404 Not Found) loading http://localhost:5555/node_modules/angularfire2/bundles/angularfire2.umd.js at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:636:29) at ZoneDelegate.invokeTask (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:225:37) at Zone.runTask (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:125:47) at XMLHttpRequest.ZoneTask.invoke (http://localhost:5555/node_modules/zone.js/dist/zone.js?1474542144430:293:33) Error loading http://localhost:5555/node_modules/angularfire2/bundles/angularfire2.umd.js as "angularfire2" from http://localhost:5555/app/app.module.js "Report this error at https://github.com/mgechev/angular2-seed/issues"
I have an Arch linux install too so I'll give that a try when I can. Interested to see if it happens there too.

Just tried this on Arch and got the same 404 problem again. The only difference I can think of other than linux/osx is that I'm using nvm on both Linux installs. Would that make a difference?

I got rid of the 'require is not defined' error by modifying the project.config file
this.SYSTEM_CONFIG_DEV.paths['angularfire2'] =
      `${this.APP_BASE}node_modules/angularfire2/bundles/angularFire2.umd.js`;

after that i was getting this error message:
Cannot read property 'FacebookAuthProvider' of undefined
googling that lead me to this issue in angularfire2 github
so i downgraded my firebase to version 3.4.0

@koodinorja, Then could you sum up all the steps you followed from a fresh clone of the seed to have AngularFire2 working?
Or if anyone else has an update about it I'd be glad to hear it, because by now if tried almost everything in this thread without success.

@samuelfernandez , alrighty then!
The steps for me are almost identical to the original guide

Install angularfire2 and firebase.

npm install --save angularfire2<EMAIL_ADDRESS>@types/request @types/firebase

Declare the types for the dependencies in src/client/tsconfig.json

"types": [   "firebase",   "angularfire2",   "core-js",   "express",   "jasmine",   "node",   "protractor",   "systemjs" ]

In tools/config/project.config.ts, inside the ProjectConfig constructor I add these lines

    this.SYSTEM_CONFIG_DEV.paths['firebase'] =
      `${this.APP_BASE}node_modules/firebase/firebase`;

    this.SYSTEM_BUILDER_CONFIG.packages['firebase'] = {
      main: 'firebase.js',
      defaultExtension : 'js'
    };

    this.SYSTEM_CONFIG_DEV.paths['angularfire2'] =
      `${this.APP_BASE}node_modules/angularfire2/bundles/angularFire2.umd.js`;

    this.SYSTEM_BUILDER_CONFIG.packages['angularfire2'] = {
      main: 'angularfire2.js',
      defaultExtension : 'js'
    };

Import and add it to module in client/app/app.module.ts

import { AngularFireModule } from 'angularfire2';
const firebaseConfig = {
  apiKey: "API-KEY",
  authDomain: "AUTH-DOMAIN",
  databaseURL: "DATABASE-URL",
  storageBucket: "STORAGE-BUCKET",
  messagingSenderId: "MESSAGING-SENDER-ID"
}

@NgModule({
  imports: [BrowserModule, HttpModule, RouterModule.forRoot(routes),
            AboutModule, HomeModule, SharedModule.forRoot(), AngularFireModule.initializeApp(firebaseConfig)],
  declarations: [AppComponent],
  providers: [{
    provide: APP_BASE_HREF,
    useValue: '<%= APP_BASE %>'
  }],
  bootstrap: [AppComponent]
})

Start using it in your components

I hope this works for you

Thanks so much for your help, now I have it working!
I think it was because of the version of firebase I was using, and the project.config.ts file. Just as a note when installing, specify the version for<EMAIL_ADDRESS>as it matches the current requirement for angularfire2.
The thing now is that after adding AngularFire to a component, its unit test gives me this:
28 10 2016 13:53:02.800:WARN [web-server]: 404: /node_modules/angularfire2/bundles/angularFire2.umd.js Chrome 53.0.2785 (Windows 10 0.0.0) ERROR: '(SystemJS) XHR error (404 Not Found) loading http://localhost:9876/node_modules/angularfire2/bundles/angularFire2.umd.js         Error: XHR error (404 Not Found) loading http://localhost:9876/node_modules/angularfire2/bundles/angularFire2.umd.js             at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:647:29)             at ZoneDelegate.invokeTask (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:236:37)             at Zone.runTask (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:136:47)             at XMLHttpRequest.ZoneTask.invoke (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:304:33)         Error loading http://localhost:9876/node_modules/angularfire2/bundles/angularFire2.umd.js as "angularfire2" from http://localhost:9876/base/dist/dev/app/login/login.component.spec.js' Chrome 53.0.2785 (Windows 10 0.0.0) ERROR: '(SystemJS) XHR error (404 Not Found) loading http://localhost:9876/node_modules/angularfire2/bundles/angularFire2.umd.js         Error: XHR error (404 Not Found) loading http://localhost:9876/node_modules/angularfire2/bundles/angularFire2.umd.js             at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:647:29)             at ZoneDelegate.invokeTask (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:236:37)             at Zone.runTask (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:136:47)             at XMLHttpRequest.ZoneTask.invoke (http://localhost:9876/base/node_modules/zone.js/dist/zone.js?c35727d0e64913b5669320b167e496fc94fc6928:304:33)         Error loading http://localhost:9876/node_modules/angularfire2/bundles/angularFire2.umd.js as "angularfire2" from http://localhost:9876/base/dist/dev/app/login/login.component.spec.js'
Is there anything else that needs to be configured in order to have tests working?

@koodinorja, do you know why my tests are failing? I think that some configuration is missing. Maybe I should add something to karma.conf.js, but I don't know how.
By the way, angularfire2 has been updated to version 2.0.0-beta.6. With this version @types/firebase is not needed, and "firebase" can be removed from "types" at src/client/tsconfig.json.

@koodinorja @mgechev I've updated the wiki for AngularFire2 with the latest versions of all packages that work well together. As the way of using types for firebase and angularfire has changed in the last release, and the way of using the seed for declaring packages at SystemJS has changed since last time the wiki was written, I've updated all related information. I added how to modify karma.conf.js to enable testing with it. This setting is working for me right now with the latest seed. I hope this can prove useful for other people. By the way, I think there is no approval for wiki edits, so if you could take a look into it I'll be glad :) (And sorry in advance if I shouldn't have done this without asking first...)

@samuelfernandez really nice that you had time to figure it out. I'm really new to karma and testing, so i didn't even try the testing part with my configurations


uMatrix WE problem in combination with other WEs [Bug 1417249]

@gorhill, I found a problem with uMatrix in that, depending on the order in which FF loads the addons, uMatrix "restores" the Content-Security-Policy header when another addon already changed it or removed it completely. Maybe other headers are affected as well, IDK.
uBO doesn't have the same problem so I assume you already fixed it there.
Since you closed your Issue tracker for uMatrix I didn't know how else to contact you. If you're interested let me know, I have a simple example addon ready to share and the steps to reproduce. Thanks

uMatrix "restores" the Content-Security-Policy header

Were 1st-party scripts blocked?

Yes but I just re-tested with 1st-party scripts allowed and it's the same.

tested in FF nightly 58 with uMatrix 1.0.1rc3
example addon:
manifest.json
{
  "name": "demo",
  "version": "0.1",
  "manifest_version": 2,
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": [
    "<all_urls>",
    "webRequest",
    "webRequestBlocking"
  ],
  "applications": {
    "gecko": { "id"<EMAIL_ADDRESS>}
  }

}

background.js:
function logResponse(e) {
  for (let header of e.responseHeaders) {
  	if (header.name.toLowerCase() === "content-security-policy" || header.name.toLowerCase() === "test-test") {
      console.log(e.url + "\n" + header.name+":", header.value);
    }
  }
}

function editResponseHdrs(e) {
	e.responseHeaders.push({'name': 'Test-Test', 'value': 'Test123'});
	e.responseHeaders.push({'name': 'content-security-policy', 'value': ''});
	return {responseHeaders: e.responseHeaders};
}

browser.webRequest.onHeadersReceived.addListener(editResponseHdrs, { urls: ["http://*/*", "https://*/*"] }, [ "blocking", "responseHeaders" ]);

browser.webRequest.onResponseStarted.addListener(logResponse, { urls: ["http://*/*", "https://*/*"] }, [ "responseHeaders" ]);

example testpage with a CSP header: https://gist.github.com/arantius/f6fd80b1efad368a45ca35567bc31b18
steps to replicate:

install uMatrix, create the 2 files in a folder somewhere and load it as a temporary addon, open the console and visit the testpage

-> result: the test-header is output on console and the CSP is not => the demo addon removed the CSP header and I assume uMatrix sees that and doesn't need to append its special rule to it.

disable and re-enable uMatrix in about:addons then reload the testpage

-> CSP header output on the console --> somehow the demo addon's modifications are ignored and uMatrix still knows the original CSP header

clear the console, reload the demo addon in about:debugging then reload the testpage

-> CSP is now cleared again by the addon
I added the test header because I was wondering if uMatrix overwrites all modifications another addon made but it seems to only affect the CSP one.
At first I thought it might be because in my original addon I process the headers async but when I changed it to sync it didn't fix the problem.
I also think CSP is maybe not the only header where this could be a problem.
It particularly sucks because when I start Firefox it seems to always load my addon first and uMatrix always wins and I need to disable + re-enable my own addon for it to work as expected.

I am not seeing anything wrong with uMatrix -- it append its own script-src unsafe-eval * only when first party scripts are blocked, so working as expected.
However the behavior of the webRequest API does not match the documentation, specifically:

If two extensions listen to onHeadersReceived for the same request, then the second listener will see modifications made by the first listener, and will be able to undo any changes made by the first listener.

uMatrix sees the headers without your changes, and your extension sees the headers without uMatrix changes -- depending on whichever listener was first called.

Yeah I guess that would explain what's happening. I assumed that mozilla's documentation is accurate but apparently not. If the behavior matched the documentation it wouldn't be a problem then, right?
Sorry for blaming uMatrix when in fact it seems to be a FF problem ;)
Can you inform them about it, please? I think they're more likely to fix it when you're the one reporting it.

I have read a few times about the order of installation causing issues. Earthlng - have you tried installing uM and yur Ext in a TWO new profiles in the two orders possible to see if that makes a difference to which Ext beats the other?
If that works for you, then try uninstalling (and removing all traces) and reinstalling the applicable extension - not sure if it will work as FF often remembers stuff - I remember a ticket gorhill was concerned about where something has a hook on it - I think it was uBo prefetching/hyperlink/WebRTC settings or something.

They need to fix the behavior to match the documentation otherwise it's a complete mess and totally unpredictable and unreliable.

Not sure about the updates - see my comment about firefox having a hook on some things - as evidenced in that uBo issue. It was just a workaround suggestion :)

Thanks I appreciate it. Every addon update reloads the background script(s) which re-registers the listeners, meaning the addon that just got an update ends up being the one that has the last word now, so to speak. For example addon1 appends a cookie and a 2nd addon adds another cookie but since the 2nd addon doesn't see the modified cookie header from the 1st addon, the 1st addon's cookie is never set.

Pretty pointless just leaving this issue sitting here doing nothing if Mozilla know nothing about it.
Is there a bug already open? If not, can someone who knows how to write it up correctly, please place one with STR?

https://bugzilla.mozilla.org/show_bug.cgi?id=1417249

If possible, only one extension should change a specific header to avoid any problem. https://github.com/pyllyukko/user.js/issues/348

No. I will add an advanced setting in uBO to disable completely CSP header injection/modification.

@gorhill have you had the time to implement this yet? I looked through all your release notes but couldn't find anything related.

uMatrix injects a CSP-Report (with an invalid URL) only so that a SecurityPolicyViolation event is triggered in the DOM.

I assume this is used to detect if workers are used, right? Anything else?
Firefox recently added a new pref security.csp.enable_violation_events but AFAIK it still defaults to false ie violation events are disabled - I guess that means uMatrix works with or without this pref enabled?

No. I will add an advanced setting in uBO to disable completely CSP header injection/modification.

@gorhill have you had the time to implement this yet? I looked through all your release notes but couldn't find anything related.

uMatrix injects a CSP-Report (with an invalid URL) only so that a SecurityPolicyViolation event is triggered in the DOM.

I assume this is used to detect if workers are used, right? Anything else?
Firefox recently added a new pref security.csp.enable_violation_events but AFAIK it still defaults to false ie violation events are disabled - I guess that means uMatrix works with or without this pref enabled?

Sorry, not implemented.
Yes, uMatrix uses security policy violation events to detect workers. I didn't know about `security.csp.enable_violation_events -- I checked and it looks like this is breaking uMatrix's ability to detect workers.

ummm .. so we set security.csp.enable_violation_events=false in the user.js - does this mean uM's no-workers rules no longer work?

The rule works, the detection of workers won't work. worker won't be reported in the logger, and the dot in the switch knob won't be there when there are workers.

Ahh, OK. Well, not OK ... that's a bit sucky for troubleshooting, but nothing we can do

Hmmm .. is that something that should be added to the uM wiki somewhere?

@gorhill

Sorry, not implemented.

no problem. Are you still planning to implement it or have you decided against it?
It really sucks that they refuse to fix this, especially since their only argument is performance!
@fmarier could you maybe take this up internally to get fixed, please? I'd imagine you agree that sacrificing extension inter-compatibility, functionality and consistency for a slight performance improvement is not ideal, to say the least.
I'm pretty sure most users with 2 or more potentially interfering extensions would be more than happy to sacrifice a little bit of a performance for the guarantee that their extensions work nicely together.
Atm it's totally unreliable and unpredictable and you might get one outcome once and a completely different outcome the next time (like after an update for one extension or after a restart).
Even the guys in charge at mozilla say it's like rolling a dice! ...

"If multiple listeners try to change the same header, one of them will succeed, but there's no guarantee which."
"its rolling the dice to see if you'll win."
"The entire header change API is always a game of rolling dice."

It's a sad state of affairs for a privacy-respecting browser like FF when it makes using privacy and security enhancing extension like NoScript, uBlock Origin, uMatrix, etc "a game of rolling dice" IMHO

have you decided against it?

I forgot about it, and really it's just a time thing in the end. This project is still a hobby and I try to stick to what solve actual issues for most users coupled with what I feel like doing at the moment.

no problem, I totally understand and I wasn't trying to blame you or anything. Was just wondering if it's still in the cards or whether I'll have to edit my own copy once I upgrade from ESR52.
github tells me "An owner of this repository has limited the ability to open an issue to users that have contributed to this repository in the past." when I try to open a new issue in your uBlock repo.

uBO and uM have new issue repos

https://github.com/uBlockOrigin/uBlock-issues
https://github.com/uBlockOrigin/uMatrix-issues

I'm guessing this was to give gorhill some breathing space / respite and allows others like ublockuser, jspenguin, gawser etc to handle more stuff

thanks, I didn't know that. I was looking at https://github.com/gorhill/uBlock/issues

https://bugzilla.mozilla.org/show_bug.cgi?id=1417249 - closed marked duplicate of this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1477696

Maybe related:
headers are merged https://bugzilla.mozilla.org/show_bug.cgi?id=1377689 (fixed)
but only when present in original response https://bugzilla.mozilla.org/show_bug.cgi?id=1462989

However the behavior of the webRequest API does not match the documentation, specifically:

If two extensions listen to onHeadersReceived for the same request, then the second listener will see modifications made by the first listener, and will be able to undo any changes made by the first listener.

uMatrix sees the headers without your changes, and your extension sees the headers without uMatrix changes -- depending on whichever listener was first called.

 Why wasn't I aware of this?!
Does this happen too with OnBeforeSendHeaders handlers (for modifying request headers)? AFAICT it doesn't, but I'm not sure.

:cat2: - just assume the worst. I keep reading comments like "update the documentation" rather than "fix the problem"

That's... tragic.

let the listener wars begin ... https://github.com/hackademix/noscript/issues/6

It's very unlikely that mozilla are ever going to fix this.
This issue has been open for over a year and people should be aware by now.

Just want to share a dirty and hacky patch for Bug 1421725 I made that makes the behavior matches the documentation on MDN: https://github.com/tartpvule/my-firefox-patches
I am hesitant to propose this on Bugzilla given the direction of that bug discussion toward changing the documentation, though.
 Very impressive and very interesting, thanks a lot for sharing that! I'm a bit hesitant to try it though because without debugging your code to an insane degree I have no idea about what the potential side effects might be or how well your code actually works. And since I know pretty well what all my installed addons do, I'm not that affected by the problem because I work around it with a custom version of uBlock Origin. Very impressive work none the less and a very nice example of the extent of what's possible with autoconfigs. Thanks again for sharing that, it gave me a few ideas for some other potentially neat little tweaks.
btw, I tried your other script for allowing unsigned extensions but it doesn't work in 65 anymore. An updated version of the method described at https://www.ghacks.net/2016/08/14/override-firefox-add-on-signing-requirement/ at least allowed me to install unsigned extensions but I haven't tested if those extension are loaded successfully on startup, etc.
Anyhow, I switched to dev-edition for the sole reason that it allows me to run unsigned extensions, which IMO is the easier solution
cheers

While we're at it, @gwarser said HTTP Everywhere also clashes with uBO etc - I read it on reddit - can't find it now. @gwarser : is this true?

If I'm reading it right, HTTPS Everywhere uses upgrade-insecure-requests CSP directive when option (?) to block all insecure requests is enabled (httpNowhereOn)
https://robwu.nl/crxviewer/?crx=https%3A%2F%2Faddons.mozilla.org%2Ffirefox%2Fdownloads%2Flatest%2Fhttps-everywhere%2Fplatform%3A2%2Fhttps-everywhere.xpi&q=!content-security-policy&qf=background-scripts%2Fbackground.js&qb=1&qh=1&qi=1

oh: https://github.com/ghacksuserjs/ghacks-user.js/issues/265#issuecomment-472024841

when option (?) to block all insecure requests is enabled (httpNowhereOn)

I wouldn't mind sorting this out. I don't block all insecure requests (I rely on my speed dials and shit, and to not allowed any mixed content) .. but if the above is true then we should add that info to the wiki extensions (just like we did with Canvas Blocker's one setting)

re-opening to track HTTPS-E

well, I updated the wiki page and it's a bit shit - nits welcome
HTTPS-E has an option in the dropdown to use "Encrypt All Sites Eligible (EASE)" which is default off. Is this the options that turns on the CSP? Right now the warning in the wiki is a bit vague
anyway, closing this now that I put something there, but nits still welcome

PS: I removed the block all fonts rule from: https://github.com/ghacksuserjs/ghacks-user.js/wiki/4.2.2-uBlock-Origin

@earthlng Thank you for the comment

Due to https://bugzilla.mozilla.org/show_bug.cgi?id=1455601, AutoConfig was sandboxed and thus prevented from monkey patching modules starting from Firefox 62, but ESR users can set general.config.sandbox_enabled to false in a prefs.js (the same file you set general.config.filename) to disable this sandboxing. So the targets for AutoConfig-based patches are ESR only; they're probably not going to work on release builds.
I am personally using Bug1421725_WebRequest.patch in my private ESR build on a Linux machine, and monkey_Bug1421725_WebRequest.cfg on my Windows machine running official 60.5.2esr. They work :)

I really hope Mozilla actually fixes WebRequest to do what MDN says and not the other way around. As it stands, only one random extension can modify a header, so uBlock cannot be used alongside uMatrix reliably; that's bad.

@tartpvule .. I'm loving the use of unholy :angel:

given the direction of that bug discussion toward changing the documentation

Yup. Kris Maglione (indicated in so many comments over numerous bugs) would do exactly that. And his word carries a lot of weight (from what I know). Given that chrome does this as well, I wonder how they've all dealt with it (not that I know sweet FA about chrome's APIs)?

well, I updated the wiki page and it's a bit shit - nits welcome

It's getting pretty bad (and unsightly), but it needs to be said and displayed (earthlng talked me out of it months ago). Makes me wonder what other (of our recommended) extensions are using CSP
I think I might start a new issue for peace of mind - maybe even a sticky of sorts (The Big E hates me making too many stickies)

HTTPS-E has an option in the dropdown to use "Encrypt All Sites Eligible (EASE)" which is default off. Is this the options that turns on the CSP?

I'm pretty sure this is it.

Makes me wonder what other (of our recommended) extensions are using CSP

Open them in CRX viewer and search for !content-security-policy. (! means scan all files.) If they touch this header, they are potentially unsafe.

thats cool. I checked all my extensions and didn't spot anything else than what is in #664
Of course I don't use all the extensions: so not checked

smart referrer
header editor
redirector
cookie auto delete
temporary containers
enterprise policy generator

@tartpvule yes I know about the sandbox and disabled it during my testing. So, atm FF65+ still allows to disable the autoconfig sandbox. 100% agree with the rest of your comment.

Hey guys, anyone can explain how can i install "monkey_Bug1421725_WebRequest.cfg" in Oficial Firefox? Windows Version? thanks!!

@earthlng @tartpvule @Thorin-Oakenpants I am trying to install the patch with no sucess.
Seted -> general.config.filename to "monkey_Bug1421725_WebRequest.cfg"
Steed -> general.config.sandbox_enabled to false
user_pref("general.config.filename", "monkey_Bug1421725_WebRequest.cfg");
user_pref("general.config.sandbox_enabled", false);
Put monkey_Bug1421725_WebRequest.cfg in root Profile Path
put monkey_Bug1421725_WebRequest.cfg in root Firefox path
Dont work! what i am losing?
Firefox Version: 66.0.2
OS: Windows 10
If anyone can help, thanks.

You'll have to ask tartpvule - create an issue at his repo where everything in the one place

@Thorin-Oakenpants

You'll have to ask tartpvule - create an issue at his repo where everything in the one place

I already created with no awaser yet, i will wait.
i asked here too because i see the conversation about this and maybe anyone here can help with this.

@Renan19
Hi,
@tartpvule wrote the patch based on the ESR code and it might not necessarily work in newer versions, or the underlying code could have changed in subtle ways or it might break with any future release.
If you want to use it, you should best check if the modified code is still somewhat the same.
If you just want to use it as is and hope for the best, then here's how you enable it:
create a file autoconfig.js in <install-dir>\defaults\pref\ with this content:
// Any comment. You must start the file with a single-line comment!

pref("general.config.sandbox_enabled", false);
pref("general.config.filename", "monkey_Bug1421725_WebRequest.cfg");
pref("general.config.obscure_value", 0);

and place the monkey_Bug1421725_WebRequest.cfg file in the root Firefox path (where firefox.exe is located).
FYI disabling the autoconfig sandbox with general.config.sandbox_enabled seems to still be allowed in Release at the moment but they already said that they only want to keep allowing it to be disabled in ESR in the future.
hope that helps :)

@Renan19 see the issue in my repo.
@earthlng About monkey_AddonSettings.cfg that you tried, have you set xpinstall.signatures.required to false? What is the result of Components.utils.import("resource://gre/modules/addons/AddonSettings.jsm", {}).AddonSettings.REQUIRE_SIGNING in Scratchpad in about:config with and without the monkeypatch?

@earthlng @tartpvule
Thanks, tested and it is working fine now on firefox lastest version.

@tartpvule

have you set xpinstall.signatures.required to false?

I don't remember but I'm pretty sure I did. I had also tested it with a modified version of your script that didn't read the prefs and instead used hardcoded values but that didn't work either.

What is the result of  ...

I just tested it again and REQUIRE_SIGNING is false with the patch and true w/o it. Ran it on both about:config and about:addons and the values are the same ie it should theoretically allow me to install unsigned extensions but it doesn't and IDK why. Maybe something to do with lazy loading of components that they changed since ESR or FF somehow keeping a cache of the values, I have no idea.

@earthlng Thank you for pointing out the problem
As it turns out, my monkey_AddonSettings.cfg has not been working for quite a while, even in ESR 60.
The problem is that dependent modules like XPIProvider.jsm would have already acquired a reference to the old AddonSettings by the time the patch is applied (a race condition? I don't know).
I have updated the file, though "no reliability guarantees", at least it seems to work on my ESR 60 enough and that's what I am focusing on.

from Jan 2018 https://github.com/ghacksuserjs/ghacks-user.js/issues/265#issuecomment-359462026

Pants... but please don't take this to ghacks! I still have enough faith in the mozilla devs to think that they'll do something about it when @gorhill is the one telling them how bad this is.

It wasn't me: https://www.ghacks.net/2019/05/23/firefox-csp-issue-may-cause-extension-conflicts/
But given that HTTPS-E are aware of the issue, and that extension is used in Tor Browser, and given that it finally got an issue at uBlock-issues, and some other external factors - it seems as if KM is considering doing something about it. Just watch the relevant bugzillas

I don't get it.  A non-event such as a pref to control profile/chrome/ lookups, where nothing is lost, gets so much outrage and attention and yet this issue which actually breaks things and can compromise a user's security and privacy gets absolutely no comments or anything.

r/Firefox usually has some knowledgeable rational and well spoken people - but I can't understand why no-one has picked up on it. Are they all fixed on looks over form?

WTF is wrong with people

That, my dear Pants, is one of the big questions from time immemorial.

why are you confused @gwarser, or is that just the best of a limited set of emojis you could choose ?
I don't expect everyone on r/Firefox to understand the ramifications of this bug, but not a single person has commented, and yet they're always happen to discuss in depth technical issues about other security issues. Isn't anyone there concerned that their extension can often not work as expected? Extensions that help security, tracking, FPing ...
I think I'll do a Wonko the Sane and build an inside out house called The Outside of the Asylum to house the world. I shall live inside it and any of you are welcome to come visit (if you are sane)

I don't get it.  A non-event such as a pref to control profile/chrome/ lookups, where nothing is lost, gets so much outrage and attention and yet this issue which actually breaks things and can compromise a user's security and privacy gets absolutely no comments or anything.

r/Firefox usually has some knowledgeable rational and well spoken people - but I can't understand why no-one has picked up on it. Are they all ~fixed~ fixated (edit) on looks over form?

https://old.reddit.com/r/firefox/comments/btvixo/firefox_bug_causes_addons_ublock_origin_https/ this thread seems to be getting a bit more traction and has a more informative headline

We'll see. It's only been up for 32 minutes :) Thanks for the info

Well, I kept track of that for all of 8 hrs. It trended up very quickly into second place on hot (after the PSA userChrome thing which I think is a sticky). 251 points, 35 comments. It was there when looking at new items in its right place. Now you can't find it unless you know it exists. It doesn't even show when looking at items in chronological order.  r/Firefox, AFAIK, has demoted it so it doesn't show. And it has now died and nothing has changed for over an hour.

yup .. shadowbanned. I don't understand why? People are now asking why it's shadowbanned. FFS, do they not want a better product?  For some reason they've always hated this repo and associated it with the Mozilla haters at ghacks itself

It just popped back up, but it was definitely shadowbanned for a few hours. Maybe there was disagreement amount no the mods of the sub. Still very disappointing to see that suppressing information about a bug is on the table at all.

I guess its par for the course (I don't hang around and read these sorts of things) but 2/3rds of the comments are off topic - I guess you get that with everyone wanting to chime in and bitch about something, and/or lack of knowledge

OMFG ... https://bugzilla.mozilla.org/show_bug.cgi?id=1462989#c24

Hey folks, we're getting a lot of advocacy chatter on this bug, so I'm going to close comments on it for the time being

First of all, only one comment was marked advocacy - five days ago. No-one has said anything on the bug for over 3 days. WTF? Way to win friends and influence people.  I don't care about looking backwards, I just want the problem addressed. But they seem to have their mind somewhere else right now. WTF?!

Instead of begging Mozilla on our knees wouldn’t it make more sense to

write an extension that taps into the WebRequest API and provides a way for other extensions to register with this extension in some (user-configurable?) way
have co-operating extensions (uMatrix, uBlock0, CanvasBlocker, I would hope) use this extension instead of WebRequest directly?

I know, it’s a tall order, but at least it seems a way forward.

I considered that idea a long time ago, but there would be more than a few problems with that, technically speaking... It can be done, but it wouldn't be easy for extension developers to adopt in the least. They would need to make pretty extreme changes to their respective extensions, and even then, that approach wouldn't allow them to do some of the things they can do now. It's not worthwhile.

I just developed a new experimental patch for Bug1421725 against mozilla-central, not yet extensively tested.
This patch do what MDN says: "the second listener will see modifications made by the first listener".
Anyone interested in checking it out?

@tartpvule: I've tested the monkey-patch version and it seems to work. I've got a relatively small test case that I used to verify it:

install canvasblocker and umatrix
in umatrix, globally disable javascript
dis- and reenable canvasblocker, so its csp directives get applied
visit https://gir.st/tmp/javascript.html

do you have intentions of submitting this patch to mozilla? (please do!)

@girst Thank you for your interest in my patch.
https://bugzilla.mozilla.org/show_bug.cgi?id=1421725
The patch was rejected, as expected, citing performance reasons :(
I don't see any performance regressions in my daily use, though.
Oh well, back to maintaining private patches and builds I guess.
IMO: "merging" headers is a mess of glaringly obvious edge cases.

The patch was rejected, as expected, citing performance reasons :(

Yes, that is shame, I really don't know what is the hold reason at Mozilla... 😞

I don't see any performance regressions in my daily use, though.

... and performance for sure its not the real reason.

On Sat, Jul 27, 2019 at 09:58:46AM -0700, tartpvule wrote:

https://bugzilla.mozilla.org/show_bug.cgi?id=1421725
The patch was rejected, as expected, citing performance reasons :(

missed that, thanks! this sorta-WONTFIX is just the worst response--i
can't even see any perf tests (they should have the infra) linked in the
bug report, while multiple people have shown multiple problems this
causes :|

Oh well, back to maintaining private patches and builds I guess.

I've gone to great length avoiding that--including patching omni.ja.
recently, I've managed to confine my modifications into AutoConfig[1]
[1]: for reference to who else might need it: https://gir.st/blog/legacyfox.htm

@tartpvule
Thanks for your work. Is this patch still valid for FF68? I'm doing my own builds anyway so I could easily apply it myself. I'm also staying on ESR so if it still works I'll be good for another year, which would be wonderful.

@M83tUt3
Use my Bug1421725_WebRequest_central.patch from https://github.com/tartpvule/my-firefox-patches/commit/29037f2385030fb6f00fd404d6bd11e4f06a64e7, after patching in https://hg.mozilla.org/mozilla-central/rev/308ef98e6e4b (Bug 1450965)
After ESR68.1 is released and I finalized my private build, I will update my Firefox patches repo with updated instructions.

... aaaaand now they changed the docs

https://bugzilla.mozilla.org/show_bug.cgi?id=1421725#c14

^^ lamest way to do it. 😢


Add env to defaultPodOptions

Details
What steps did you take and what happened:
Trying to port immich-chart to the new v2 common (awesome library btw), but running into a snag trying to reproduce the global env on every pod.
What did you expect to happen:
Not sure, something
Anything else you would like to add:

Additional Information:

I wonder if it would be worth it to create a defaultContainersOptions instead and place it there or all containers in a Pod?

I don't know really. I decided to not try to make a public immich chart, so havn't really used the default options much. just a bunch of copy and pasting.

i dont think this solves the issue, i believe the issue the OP is having is setting global env's on all pods/containers in all controllers etc.


deserializers simplification PHP

Closes #1493

I think the IParsable interface needs to be updated as well.

For our case the Parsable interface is compatible with the changes.

thanks for the precision on the interface! I take that you'd like to run your tests before this gets merged, correct? (this is currently on auto-merge)

thanks for the precision on the interface! I take that you'd like to run your tests before this gets merged, correct? (this is currently on auto-merge)

Thanks for this, caught a bug I never noticed.
Updated the description to include generated diff.