Headless chrome does not work in servercore ltsc 2019

Describe the bug
Google Chrome crashes on startup when running in windowservercore ltsc 2019.  It is looking for dependencies from Server Media Foundation.  These were available by default in windowsservercore ltsc 2016, but are not in 2019.
To Reproduce
Dockerfile:
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN Write-Host INFO: Downloading chrome...; \
  Invoke-WebRequest "https://dl.google.com/chrome/install/latest/chrome_installer.exe" -OutFile chrome_installer.exe; \
  Write-Host INFO: Installing chrome...; \
  Start-Process -Wait -NoNewWindow -FilePath chrome_installer.exe -Args '/silent /install'; \
  Remove-Item chrome_installer.exe; \
  Write-Host INFO: Completed

Build and run the image.  Then, inside the container:
PS> & 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' --headless --disable-gpu --disable-accelerated-video-decode --enable-logging --v=1
[0413/135951.607:ERROR:network_change_notifier_win.cc(226)] WSALookupServiceBegin failed with: 0
[0413/135951.623:VERBOSE1:webrtc_internals.cc(117)] Could not get the download directory.
[0413/135951.623:VERBOSE1:media_stream_manager.cc(871)] MSM::InitializeMaybeAsync([this=4A824C00])
[0413/135951.623:VERBOSE1:media_stream_manager.cc(871)] MDM::MediaDevicesManager()
[0413/135951.623:VERBOSE1:media_stream_manager.cc(871)] MSM::MediaStreamManager([this=4A824C00]))
[0413/135951.763:ERROR:network_change_notifier_win.cc(226)] WSALookupServiceBegin failed with: 0
[0413/135951.826:ERROR:dxva_video_decode_accelerator_win.cc(1461)] DXVAVDA fatal error: could not LoadLibrary: mf.dll: The specified module could not be found. (0x7E)
[0413/135951.826:ERROR:dxva_video_decode_accelerator_win.cc(1461)] DXVAVDA fatal error: could not LoadLibrary: mfplat.dll: The specified module could not be found. (0x7E)
[0413/135951.826:ERROR:dxva_video_decode_accelerator_win.cc(1461)] DXVAVDA fatal error: could not LoadLibrary: msmpeg2vdec.dll: The specified module could not be found. (0x7
E)
[0413/135951.841:ERROR:dxva_video_decode_accelerator_win.cc(1465)] DXVAVDA fatal error: could not LoadLibrary: dxva2.dll: The specified module could not be found. (0x7E)
[0413/135951.841:ERROR:dxva_video_decode_accelerator_win.cc(1469)] DXVAVDA fatal error: could not LoadLibrary: msvproc.dll: The specified module could not be found. (0x7E)

Expected behavior
Repeat the same thing, except change the base image to ltsc2016.  Now it works, and chrome starts successfully in the container.
Attempted workaround: install server media foundation.  It doesn't work because the source media aren't in the ltsc2019 container image.
PS > Install-WindowsFeature Server-Media-Foundation
Install-WindowsFeature: The request to add or remove features on the specified server failed.
Installation of one or more roles, role services, or features failed.
The source files could not be found.
Use the "Source" option to specify the location of the files that are required to restore the feature. For more information on specifying a source location, see http://go.microsoft.com/fwlink/?LinkId=243077. Error: 0x800f081f

Success Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
False   No             Failed         {}

Configuration:

Edition: Windows 10 Enterprise Version 1909 (OS Build 18363.2158)
Base Image being used: Windows Server Core ltsc 2016 / 2019

PS> docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.8.2)
  compose: Docker Compose (Docker Inc., v2.4.1)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Server Version: 20.10.14
 Storage Driver: windowsfilter
  Windows:
 Logging Driver: json-file
 Plugins:
  Volume: local
  Network: ics internal l2bridge l2tunnel nat null overlay private transparent
  Log: awslogs etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog
 Swarm: inactive
 Default Isolation: hyperv
 Kernel Version: 10.0 18363 (18362.1.amd64fre.19h1_release.190318-1202)
 Operating System: Windows 10 Enterprise Version 1909 (OS Build 18363.2158)
 OSType: windows
 Architecture: x86_64

Additional context
I believe this is the same issue as these Stack Overflow questions:
https://stackoverflow.com/questions/71080844/headless-chrome-fails-in-windows-container-require-dxavda-dlls-even-when-using
https://stackoverflow.com/questions/71859631/chrome-headless-crash-on-windows
The root cause is possibly a bug in Chrome initialization and flag handling.
See here:
https://chromium.googlesource.com/chromium/src/+/master/media/gpu/windows/dxva_video_decode_accelerator_win.cc#1457
A reasonable expectation might be that the flag --disable-accelerated-video-decode would disable this initialization, and yet it does not.

This does not appear a bug so much as it is an image composition request to have this present in Server Core. Between WS2016 and WS2019 release, there were several pruning operations we took to trim down the Server Core image size (inclusion of this package must've fallen below the cutline).
Our guidance in this case would be to use the Windows Server image for this purpose, and if that is a nonstarter there is a documented way to do this found in #159 , specifically Michael's response here.

Thank you!  https://docs.microsoft.com/en-us/windows-server/administration/server-core/server-core-container-removed-roles explains that this was intentional.  I guess I'll use the Windows image instead.

This is due to missing fonts in the 2019 core base image.
Check out this repo on how to install the missing fonts

The error persists with Windows Containers LTSC 2022.
The output error is:
PS C:\Program Files\Google\Chrome\Application> .\chrome.exe -headless
PS C:\Program Files\Google\Chrome\Application> [0214/045035.758:ERROR:network_change_notifier_win.cc(267)] WSALookupServiceBegin failed with: 0
[0214/045036.011:ERROR:network_change_notifier_win.cc(267)] WSALookupServiceBegin failed with: 0
[0214/045036.065:ERROR:mf_initializer.cc(31)] Failed to start Media Foundation, accelerated media functionality may be disabled. If you're using Windows N, see https://support.microsoft.com/en-us/topic/media-feature-pack-for-windows-10-n-may-2020-ebbdf559-b84c-0fc2-bd51-e23c9f6a4439 for information on how to install the Media Feature Pack. Error: Could not load mf.dll. The operation completed successfully. (0x0)


Possible Style Error?

Folks,
We are finally getting around to working on our port to OSD.  We noticed a problem when we ran the minimized OSD binary through the Google Closure compiler.  The compiler complained about these two snippets in the minimized code:
i.float="left"
j.style.float="left"
I think these lines originate from:
https://github.com/openseadragon/openseadragon/blob/5a5447dfd36c93dd61a5413f6d07a6afdf94d72a/src/referencestrip.js#L188
https://github.com/openseadragon/openseadragon/blob/9ecb69e1d8cb30a70671fa5d50db66d829b72539/src/navigator.js#L154
The comments suggest that this was done for WebKit compatibility.  However, according to this reference: https://developer.mozilla.org/en-US/docs/Web/CSS/float you don't reference the object directly with float.
Note: If you're referring to this property from JavaScript as a member of the element.style object, you must spell it as cssFloat. Also note that Internet Explorer versions 8 and older spelled this styleFloat. This is an exception to the rule that the name of the DOM member is the camel-case name of the dash-separated CSS name (and is due to the fact that "float" is a reserved word in JavaScript, as with the need to escape "class" as "className" and escape 's "for" as "htmlFor").
Both of the variants suggested here, cssFloat and styleFloat, are already present in the code.
I think the two offending lines can be removed from the source.

Fixed for v2.4.3

@houseofyin  Is Google Closure Compiler OK with this?
  someElement.style['float'] = ...

Or do those need to be removed as well?


[Feature Request] Add option to not show the typing output

I want to be able to do a typing test, but not see what I'm typing until the end. I want to keep on going if I make a mistake, and not focus on going back to correct it.

This will be supported in v2, but probably not v1.


fix context filter's bug

fix context filter's bug:
String value = entry.getKey(); -> String value = entry.getValue();

https://github.com/apache/incubator-dubbo/issues/3525

Not sure what these changes will cause UT failure, would you please take a look?

Of course.
I'd like have a look later..

Codecov Report

Merging #3526 into master will decrease coverage by 0.04%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #3526      +/-   ##
============================================
- Coverage     64.07%   64.03%   -0.05%
  Complexity       71       71
============================================
  Files           664      664
  Lines         28617    28617
  Branches       4770     4770
============================================
- Hits          18337    18324      -13
- Misses         8056     8069      +13
  Partials       2224     2224

Impacted Files
Coverage Δ
Complexity Δ

...ache/dubbo/rpc/protocol/rest/RpcContextFilter.java
63.63% <100%> (ø)
0 <0> (ø)
:arrow_down:

...ache/dubbo/remoting/transport/AbstractChannel.java
75% <0%> (-12.5%)
0% <0%> (ø)

...che/dubbo/remoting/transport/mina/MinaChannel.java
43.42% <0%> (-10.53%)
0% <0%> (ø)

.../remoting/transport/netty4/NettyServerHandler.java
61.9% <0%> (-9.53%)
0% <0%> (ø)

...ng/transport/dispatcher/all/AllChannelHandler.java
51.42% <0%> (-5.72%)
0% <0%> (ø)

.../org/apache/dubbo/remoting/ExecutionException.java
15.78% <0%> (-5.27%)
0% <0%> (ø)

.../apache/dubbo/remoting/transport/AbstractPeer.java
58.69% <0%> (-4.35%)
0% <0%> (ø)

...he/dubbo/remoting/transport/netty/NettyServer.java
69.64% <0%> (-3.58%)
0% <0%> (ø)

...bo/rpc/cluster/support/FailbackClusterInvoker.java
67.21% <0%> (-3.28%)
0% <0%> (ø)

...exchange/support/header/HeaderExchangeHandler.java
55.81% <0%> (-2.33%)
0% <0%> (ø)

... and 4 more

Continue to review full report at Codecov.

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


HLSL: pass through [fastopt] attributes

I've just been informed by a Falcor user that Slang fails to pass through these attributes on HLSL input, which led to a user seeing 23 second compile times (due to slow optimization paths in fxc). Running fxc on HLSL with the attributes still in place results in sub-second compilation.
The obvious fix here is that we need to pass through these attributes in code that is being parsed in "rewrite" (-no-checking) mode, but we really ought to have some more general assurances that we pass through every attribute in user code, and not just those on a white-list.

Looking at the code, we already handle [loop] correctly, so this is just about [fastopt]. Changing title to refelct this.


feat: use well-known format for propagating trace context thru grpc

BREAKING CHANGE: The change in distributed trace context propagation across gRPC is not backwards-compatible. In other words, distributed tracing will not work between two Node instances communicating using gRPC with v2 and v3 of the Trace Agent, respectively.
Trace context can now be propagated thru gRPC with the 'grpc-trace-bin' key, and a binary-encoded value.

cc/ @rakyll

Please make sure that the commit - at landing time - includes 'BREAKING CHANGE:' prefix in the body as per conventionalcommits.org.


Atomize button

Lots of missing stuff from gulp build and atomizing cf-buttons
Additions

Add extra documentation to cf-buttons to add the button group and button icons

Review

@jimmynotjim

Preview this PR without the whitespace changes
Screenshots

Notes

This will be paired with a Capital Framework PR with the work atomizing buttons.

Todos

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

I'm not sure why, but whenever I check out this branch all the themed styles go away. Can you take a look and see if it's happening on your end (this is with the cf-buttons from prerelease-ver-4 linked and unlinked)

Try it again and squash+merge?

@jimmynotjim

👍


Remove program details link if no program detail url is specified.

Description
This removes the program details link if no program detail url is specified for the program. This link is currently in two places, on program cards, and on the ineligible page.
The reasoning for this is the page that it leads to doesn't have any extra information, is only visible in this one special case, and doesn't have a stable link (it's based on the versioned program ID) which breaks search engine indexing (Issue #8599)
This change doesn't remove the code for the underlying (now unused) page. A following PR will include that, as well as a redirect back to home when that route is accessed.
Checklist
General
Read the full guidelines for PRs here

[x] Added the correct label: < feature | enhancement | bug | under-development | dependencies | infrastructure | ignore-for-release | database >
[x] Assigned to a specific person, civiform/developers, or a more specific round-robin list
[ ] Added an additional reviewer from outside your organization as FYI (if the primary reviewer is in the same organization as you)
[x] Removed the release notes section if the title is sufficient for the release notes description, or put more details in that section.
[x] Created unit and/or browser tests which fail without the change (if possible)
[x] Performed manual testing (Chrome and Firefox if it includes front-end changes)
[ ] Extended the README / documentation, if necessary. For user-facing features, consider updating the user docs. For "under-the-hood" changes or things more relevant to developers, consider updating the dev wiki.

User visible changes

[x] Made equivalent changes in Thymeleaf for applicant-facing features and changes (or created an issue in the Northstar epic to track that it's missing from Thymeleaf)

Instructions for manual testing
If instructions are needed for manual testing by reviewers, include them here.
Issue(s) this completes
Fixes #8599

#8651  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @devin-civi and the rest of your teammates on  Graphite

#8651  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @devin-civi and the rest of your teammates on  Graphite

Changing Rocky to primary reviewer since this affects her work. And as mentioned on chat this can wait until next week if needed I think.


Comparison of Solution object

While working on #293 , I feel like Solution objects are clearly not designed to be efficiently (or easily) compared. If I want to avoid duplicate solutions in a set, I need to be able to compare them.
However, because they rely on HashMaps and TIntHashSet there is no convenient way to do this.
This is also related to #267, #266 and #217: duplicating a solver does not ensure all variables (and constraints) are declared in the same order in each copy.

Solver is not duplicated anymore.
Now, the ID of variables is used to map their values in a solution.
Two solvers wherein all variables were created in the same order (using a unique modeling method for example) will produce "comparable" solutions.


Internationalisation / Translation

Hey,
first, cudos for this awesome project. Setup wireguard VPN with LDAP integration and works like a charm.
Are there any intentions of including internationalization in the project? UNfortunately I do not have any prior experience in Go, but I would offer my help with German and Spanish, both of which I am a native speaker of.
Cheers
Luke

Hi, I am currently rewriting the frontend using Vue.js, maybe we can use something like https://vue-i18n.intlify.dev/ to handle different languages. Once the frontend is ready, I appreciate your help =)

Well that's good news. I do have experience in using i18n. Not in Vue but I guess the concepts should be quite similar to using the library in next or react apps, taking a brief look into the docs.
I assume the source code under this branch, right?

nice =)
yeah the code is in the v2-spa branch. It is still far from finished though...
If you want to view the new UI (without backend interaction at the moment) you have to:

cd [path to wg-portal]/cmd/wg-portal-spa/frontend
npm install
npm run dev
visit localhost:3000

will start trying to include i18n then :)

so I added i18n (de/en) for menu and home page. How do I make a pull request? :smile:

How can I assign an object to a html property in VueJS?
The following code does not work...
<input type="text" name="username" class="form-control" id="inputUsername"
                    aria-describedby="usernameHelp" placeholder={{$t('login.username')}}>

How can I assign an object to a html property in VueJS?
The following code does not work...
<input type="text" name="username" class="form-control" id="inputUsername"
  aria-describedby="usernameHelp" placeholder={{$t('login.usernameMsg')}}>

You have to bind attributes like so:
:placeholder="$t('login.userMessage')"

@l4b4r4b4b4
It would be great if you could add Spanish translations here.


stdout from process occasionally dropped

Description
When a process is executed that outputs some text to stdout, that text is sometimes not written to the provided stdout writer.
Steps to reproduce the issue:
An example test is included in https://github.com/masters-of-cats/containerd-stdout-loss. Instructions in the README.
Describe the results you received:
Mainly, the process stdout makes its way to the stdout writer provided, but occasionally it does not. We see failures every few hundred executions.
Describe the results you expected:
The entire stdout is always sent to the provided stdout writer.
What version of containerd are you using:
We see this issue in all versions v1.3.2 and later. It appears to be triggered by https://github.com/containerd/containerd/commit/9abfc700434c136e74d02eaaf1f1f4366c46f4cb
Any other relevant information (runC version, CRI configuration, OS/Kernel version, etc.):
runc version 1.0.0-rc95
Linux kbrowne-a01 5.4.0-73-generic #82-Ubuntu SMP Wed Apr 14 17:39:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
This might be related to https://github.com/containerd/containerd/issues/4107 which has also been git bisected to the https://github.com/containerd/containerd/commit/9abfc700434c136e74d02eaaf1f1f4366c46f4cb commit. In this case though we have TTY disabled and we are not touching stdin.

Sorry - we didn't call Wait() on the IO. We had assumed IO would be flushed when the process exited. Closing.


Add support for stripe keys in config/env by location

The fields could be removed from the DB entirely and this would all still work.  So, I'll leave that decision to you.

The fields could be removed from the DB entirely and this would all still work. So, I'll leave that decision to you.

@pdbreen Let's go ahead and remove them from the database and I don't think we need that table anymore.


Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/arango/collection.py", line 1068, in random
    return self._execute(request, response_handler)
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/arango/api.py", line 66, in _execute
    return self._executor.execute(request, response_handler)
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/arango/executor.py", line 81, in execute
    resp = self._conn.send_request(request)
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/arango/connection.py", line 161, in send_request
    auth=self._auth
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/arango/http.py", line 109, in send_request
    auth=auth
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/home/yongxin/source_mirrors/venv/lib64/python3.7/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='production-cluster.ossscms.svc', port=8529): Max retries exceeded with url: /_db/oss-graph/_api/simple/any (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)')))

I had Install CA certificate like this
And curl the https endpoint，is ok。
But why I use python client is not work？

Hi @a523,
It must be because the certificate is self-signed as suggested by the error message.
Refer to this documentation page to see how you can disable certificate verification.

@joowani Thanks, I did it.

Awesome. Closing issue.

Sorry I'm hitting the same issue and the link to the doc page is not working.
Also, instead of disabling the cert verification is there a way to fix it?  Thanks.

@velvia  This is my way:

from arango import ArangoClient
from arango.http import DefaultHTTPClient
from arango.response import Response

class SSLVerifyClient(DefaultHTTPClient):

    def send_request(self,
                     session,
                     method,
                     url,
                     params=None,
                     data=None,
                     headers=None,
                     auth=None):
        """Send an HTTP request.

        :param session: Requests session object.
        :type session: requests.Session
        :param method: HTTP method in lowercase (e.g. "post").
        :type method: str | unicode
        :param url: Request URL.
        :type url: str | unicode
        :param headers: Request headers.
        :type headers: dict
        :param params: URL (query) parameters.
        :type params: dict
        :param data: Request payload.
        :type data: str | unicode | bool | int | list | dict
        :param auth: Username and password.
        :type auth: tuple
        :returns: HTTP response.
        :rtype: arango.response.Response
        """
        response = session.request(
            method=method,
            url=url,
            params=params,
            data=data,
            headers=headers,
            auth=auth,
            verify="Users/.../ca-arangodb.crt",      #  The path of your crt file
            timeout=60 * 15,
        )
        return Response(
            method=response.request.method,
            url=response.url,
            headers=response.headers,
            status_code=response.status_code,
            status_text=response.reason,
            raw_body=response.text,
        )

arango_client = ArangoClient(hosts=ENDPOINT, http_client=SSLVerifyClient())
db = arango_client.db(db_name, username=DB_USER, password=PASSWORD)
# ...

Also, maybe you need to do that:

LinuxPermalink
To install a CA certificate in Linux, on Ubuntu, run:
sudo cp ca.crt /usr/local/share/ca-certificates/.crt
sudo update-ca-certificates


My found tree count is zero

Even though I have entered several trees, my count is still zero.
Version is the prerelease 4.0.5

Is it still zero @jgrenadier - I saw some of yours come through the validation process today. Can you check again?

Part of this looks to also be a lodgic problem - thrown by the new implementation of TreeBOT (which allows users to skip the SPAM -> NEEDS_VALIDATION manual check). I opened ticket #438 to deal with this. Great bug catch @jgrenadier (though - I fixed some of this temporarily in the db - you should NOT have a 0 count as of now 1/29/2023).

Closing because it is captured it ticket #438 now...


Installing.md needs to be streamlined

In Step 4, the numbered list is conflated with Option Headings. There should be a stricter hierarchical relationship between the headings and steps.
Please note Steps 1..4 in non-heading style within Step 4. Install and start using TT-NN and TT-Metalium!

These steps are also continued in a confusing way in Options 1 and Option 2. Please see the screenshot below.

@bbeggsTT The screenshots are from the branch dimitri/12496_release_images which is not yet in main but the same problem exists on main.

Problems:

The numbered list should not continue from the Step 4 in to Option 2.
Options should be on a different hierarchical level.


Front-end revamp

Hey there,
Submitting a front-end revamp that was alluded to on Twitter.
What am I removing?

[x] Each of the individual oracle .html pages. Instead, I have isolated the layout (header, google analytics tags, navigation) into a Layout component, and setup a /oracle/:name react-router path. Now, we can pull the oracle name from the URL, and fill in the data on the page. This way, we can just save all of our content in JSON/Markdown/MDX/your favourite format.
[x] The vendor folder. Moving to component based architecture using node-modules. Plus, I don't think we need to have every single variation of every font-awesome icon included in the repo. Also no need for Bootstrap (simpler custom CSS), Chart.js (will be pulled from a node module), datatables (using React-tables-6 instead), jquery-easing, jquery.
[x] scss/js folders. Moving to React + component-backed architecture so each component has its own CSS/JS.
[x] image folder. Going to make a new static folder for image content, and add a optimization build process, so that all new images are auto-compressed and converted to JPEG/WebP on each build (for performance optimization).

What still needs to be done?
A lot, in complete honesty. I will likely get around to completing everything by the weekend, if not before the end-of-week. A short-list of things still left to do:

[x] Fix reload bug (tables in Dashboard don't refresh on page change, should be a simple react-router-dom fix).
[ ] Charting. I've got the modal setup, and the API path being passed, just need to render the chart itself.
[x] Oracle formatting (need to add tables, and build a little script that pulls the oracle data from whatever format into the pages).
[ ] Final performance optimizations, etc.
[ ] Documentation. I still have to go through and add comments everywhere to explain what does what.

100% open to conversation and suggestions, happy to make this even better. Current WIP Demo.

Hi @tomhschmidt!
I've got this PR open to merge frontend-revamp into master.
Did you want me to make a new branch and PR into frontend-revamp (like the PR on a new branch you mentioned on Twitter), or just use this PR thread?

Oh sick! I somehow missed this. I'd vote in favor of just PRing into frontend-revamp (and I can PR some of the CSS too) and then we can eventually merge the whole thing and replace current master. How does that sound?


How to cite Improver properly?

Hi,
If one want to cite Improver in a scientific publication (other than simply providing the github link), how to do it properly?
Sorry if it is not the right place to ask that (or if it has already been asked).
Thank you in advance,
Jonathan Demaeyer

Hi Jonathan,
We're setting up a DOI - we should be able to embed that in the README on the next release. In terms of actual papers to cite, we're yet to finish the big scientific or technical ones, sadly!
Cheers,
Ben

Thanks Ben. May I ask when will that next release be approximately ?

Hi Jonathan,
We aim to do another release next week, to sync the code with another (suite) repository.
Cheers, Laurence

Great! Thank you.

Sorry for the delay @jodemaey - https://github.com/metoppv/improver/pull/1220 has created a DOI badge in the README based on our latest release, linking through to https://zenodo.org/record/3744431#.Xo2z-ohKhhE.

Thank you.


Revert "Merge pull request #33 from estellerambier/fix/load-service-a…

https://github.com/carbonfact/lea/pull/33#discussion_r1509969923
I let you decide which version you want. I should have understood first why the current code wasn't working, sorry about that

No worries! I did things this way so that the service account can be passed as a env variable in GitHub Actions. I should document this better!


cpe_chrome does not require dependency on fb_osquery

Seems a dependency was added in this commit but I don't see the requirement for it in the code.
Line: https://github.com/facebook/IT-CPE/blob/91a35df19062026a5531ff4c1ae024bb92e3e333/itchef/cookbooks/cpe_chrome/metadata.rb#L13

Furthermore, (even if the dependency were necessary) fb_osquery is not offered in either this repo or facebook/chef-cookbooks.

Just following up @steelcowboy - thanks!

Sorry it took me a while to follow up on this! I'm in the process of open sourcing fb_osquery and I expect I'll have it done in the next few days


[Review only] Redesign key bind handling, to support Unicode and other things

In this proposed system, there are 3 types of bindable keys: scancode, keynum, and character. Scancode binds are tied to a particular spot on the keyboard, independent of keyboard layout. Keynum binds are used for keys that don't correspond to characters and pseudo-keys (e.g. ALT or MOUSE1) and work the same as before. Character binds are tied to the character that would be entered by a key (when it is typed without modifiers) and would change locations with a keyboard language change. Character binds work the same as binding a letter or number in the old system, but are unreliable for non-ASCII characters (see below).
One goal of this rewrite is to make it possible to bind Unicode characters (the old code only supports ASCII). This has to rely on SDL reporting the correct character for a key. Unfortunately, the library's behavior is inconsistent across platforms. Sometimes it reports the ASCII character that a QWERTY keyboard has at that location, instead of the correct Unicode character. On one system I tested, with the French layout, digits were reported for any decimal digit keys, while on another the characters actually generated by an unmodified keystroke were reported. But both systems reported the right. non-ASCII Unicode characters for other locations. And with a Russian layout, one system reported all Russian characters, while another reported none of them. Due to these issues, scancodes are the preferred way to record binds in the new design. The interface will make it "difficult" to create character-based binds by accident.
/bind hw:*char* makes a scancode bind ("hardware"-based) to a key whose physical location is specified by QWERTY position.
/bind 0x*nnn* makes a scancode bind to a scancode specified by hexadecimal number.
/bind char:*char* makes a character-based bind.
/bind SHIFT and friends work as usual.
/bind *char* tries to figure what key is specified by the character, and then creates a scancode-based bind for it. First it uses an SDL lookup function to get the scancode from a character. If that fails, but the character is a member of the QWERTY layout, then it creates the binding based on QWERTY. If neither of those works then an error is reported.
The GUI binding interface details are not yet worked out, but it should also favor creating scancode-based binds.
Other goals that this design tries to achieve

Ensure that a set of bindings is portable between computers.
Automatically convert existing keybindings.cfg files to the new format the first time they are read.
Make the generated bindings file somewhat self-explanatory.

Optimize for cases where a large percentage of the keys used are in the same positions as QWERTY.
Make it possible to bind keys that are not listed in the key enumerations of Daemon or SDL.

Drawbacks

Added complexity.
The confusing possibility of having two actions bound to one key (if both scancode and char binds are made). As I write this, I am realizing that char binds may be fairly pointless; maybe they should be removed. Does anyone think there are good use cases for it?
When using a bind-related command, the canonical string form of a key can confusingly look different than the way the user entered it. E.g. /bind a -> hw:q is not bound. Although, command line users are already somewhat "advanced".
Non-portability of SDL keyboard handling exposed (but this is equally true of the old code).

Testing
There is a lot of code cleanup yet to be done, but the patch is ready to be tested in its current state. Note that if you have any binds you care about, you should make a backup copy before testing (or use a different homepath) as the new format is not backwards-compatible.

For reviewing it could be better to look at this commit since there is some noise in the diff, and this is the only commit that does anything.


Add snakes and hazards to board object

This adds quite a lot and I can add more context later but it should allow the python snake to live longer using the pathfinding logic.
There are still quite a few bugs but we can tackle those in follow up PRs.

No output on the test run makes me thing something maybe broken. It is running with the arcade map / wrapped mode and a larger than normal map size for summer league

Ya.. it didn't even run on the last few pushes like I expected it to. Do you think this snake is breaking it? Nothing else has really changed right? I'll find some time to debug as I suspect something in this snake may be causing it.

2022/06/16 03:21:49 invalid character '<' looking for beginning of value

Looks like it is this snake and occurs when the snake logic runs into this error:
IndexError: list index out of range

Ya.. it didn't even run on the last few pushes like I expected it to. Do you think this snake is breaking it? Nothing else has really changed right? I'll find some time to debug as I suspect something in this snake may be causing it.

The output doesn't repeat if it is the same as on the prior commit, which is only likely if it is broken somehow.
We need to make error output more apparent in CI somehow also

IndexError: list index out of range were occurring when there was no valid path given a start and end (x,y). The logic could be improved but for now I added a quick workaround that chooses a random move when that occurs.
I am expecting that to fix the game simulation output as well.

@djdefi updated this again with some logic that allows the Python snake to navigate the new maze map.

Still to do is teach it how to wrap around the board. We may need to look into creating a fork of the pathfinding library so we can tweak it to allow wrapping.
Also need to work on target cell for moves so it knows when to find food and such. Is still a pretty basic snake overall.

Looks like there are some more errors preventing the simulation games from completely successfully. I'd like to address those before merging.


Giving AttributeError: 'YouTube' object has no attribute 'filter'

Hi,
I am not an expert with python but when I run the command pydownload I am getting the attribue error. Any idea how to address it...
thanks in advance for the help.
DMD

I think I may have fixed this issue with the pull request I just opened.
Give it a whirl :)
If you want some extra reading, maybe we can figure out where they hid the progress indicator: https://python-pytube.readthedocs.io/en/latest/api.html#youtube-object


Protorev Basic Keeper + Epoch Hook

What is the purpose of the change
This PR includes all of the store keys + setters/getters needed to build cyclic arbitrage routes as well as the epoch hook which helps construct the stores.
Brief Changelog

Keys for keeper
Setters and getters for TokenPairArbRoutes
Setters and getters for Osmo Pools
Setters and getters for Atom Pools
Epoch hook runs after every week to update the highest liquidity pool pairings

Testing and Verifying
This PR will also include our testing environment that is configured through keeper_test.go. This test suite initializes user accounts for trading, creates over 30 pools, sets up token pair routes, and allows us to test all of the setters and getters for stateful information.
This change added tests and can be verified as follows:

Added unit tests for OsmoPools
Added unit tests for AtomPools
Added unit tests for TokenPairArbRoutes
Added unit tests for the Epoch Hook

Documentation and Release Note
Keeper Updates

State Object
Description
Key
Values
Store

TokenPairArbRoutes
TokenPairRoutes tracks cyclic arb routes that can be used to create a MultiHopSwap given two denoms
[]byte{1} + []byte{inputDenom} +[]byte{outputDenom}
[]byte{TokenPairArbRoutes}
KV

OsmoPools
List of highest liquidity pools for every token pair with Osmo
[]byte{2} + []byte{tokenDenom}
[]byte{poolID}
KV

AtomPools
List of highest liquidity pools for every token pair with Atom
[]byte{3} + []byte{tokenDenom}
[]byte{poolID}
KV

TokenPairArbRoutes
Each hot route configured through the admin account must be stored in the keeper. Each Route will be indexed by an input and output denomination. The value will correspond to a TokenPairArbRoutes object which contains a list of lists which correspond to routes that may be taken.
OsmoPools
This tracks the highest liquidity pools for every single asset that Osmo is paired with on-chain. This is updated through the epoch hook and on genesis.
AtomPools
This tracks the highest liquidity pools for every single asset that Atom is paired with on-chain. This is updated through the epoch hook and on genesis.
Epoch Hook
The Epoch hook allows the module to update the highest liquidity pools and distribute developer profits (implemented in a later PR) after every week while incrementally tracking profits through the day epoch identifier.
Highest Liquidity Pools
One method of determining cyclic arbitrage opportunities is to use the highest liquidity pools paired with Atom and Osmo. While this calculation is done on genesis, the pools may restructure over time and new tokens may end up being traded heavily with Osmo or Atom. As such, it is necessary to update this over time so that the module’s logic in determining cyclic arbitrage opportunities is most optimal. Using the AfterEpochEnd hook in combination with the week epoch identifier, we are able to successfully update the pool information every week. At runtime, UpdatePools will be executed and all of the pools updated.

@stackman27 brings up a good point about keeper_test.go and I am curious to hear what others think. While initializing all of the pools, configs, and etc. makes it cleaner to write test case (less set up code through out the unit tests) because testing environment is unified, it makes it a bit more difficult to reason about when initially reviewing or looking at the code.


cannot install on debian squeeze

Worked on window platform but on debian squeeze the command:
npm install grunt-contrib-imagemin --save-dev

or, npm install using package.json,  generates the following error about dependency wrong:
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.0"} (current: {"node":"0.13.0-pre","npm":"2.7.0"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.0"} (current: {"node":"0.13.0-pre","npm":"2.7.0"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.0","npm":">=2.1.5"} (current: {"node":"0.13.0-pre","npm":"2.7.0"})
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.10.0"} (current: {"node":"0.13.0-pre","npm":"2.7.0"})
npm WARN engineStrict Per-package engineStrict (found in package.json for vinyl-fs)
npm WARN engineStrict won't be used in npm 3+.  Linux 2.6.32-5-amd64
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "grunt-contrib-imagemin" "--save-dev"
npm ERR! node v0.13.0-pre
npm ERR! npm  v2.7.0
npm ERR! code ETARGET

npm ERR! notarget No compatible version found<EMAIL_ADDRESS><0.4.0'
npm ERR! notarget Valid install targets:
npm ERR! notarget ["0.0.1","0.0.2","0.1.0","1.0.0"]
npm ERR! notarget
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of 'imagemin'
npm ERR! notarget

maybe i've to downgrande nodejs ?

npm ERR! node v0.13.0-pre is not supported


:bug: Missing assessment tags

https://issues.redhat.com/browse/MTA-1381

Shows criteria tags in edit form
Fixes hard nav cleanup oversight. Only cancel assessment when not actively saving.

https://issues.redhat.com/browse/MTA-1422


Added iOS9 Support for requestURL

//TODO: Seems this is depreceated, update it

Thanks for the request :+1:


Ask the user if they want to force a non-upgrade

Prompts the user asking if they want to force a non-upgrade if they're in interactive mode, instead of requiring the --force flag.
Fixes #16.

Is "non-upgrade" a real term? Why not downgrade?

Is "non-upgrade" a real term? Why not downgrade?

I used this term to cover both a downgrade and an attempt to "upgrade" to the version that's already installed.

@velovix This seems ready to merge?

I'm still against the "non-upgrade" terminology. I think it would be better to make it clear. Non-upgrade certainly won't translate well

Yeah, and I haven't had a chance to address that yet since this PR is more of a side project. I might get to it this weekend if I feel like it 😏

@BryceBeagle Is this okay?


Update whats-new.md

@NHaiby : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@NHaiby - thanks for the fixes!


[Metal] update waves example

🎉 New feature
This PR adds metal shaders to the waves example.
Draft PR this PR will be rebased on main once #554 has been merged.
Enhances #541
Summary

Metal vertex and fragment shaders are added to the waves example.
Depends on ogre2 render engine changes in #554

Test it
Run the example using ogre2 and specifying metal as the graphics API:
./waves ogre2 metal

For further details on the implementation at see the discussion in #541
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[x] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Now that the amplitude of the waves is larger, how about moving the camera higher so it's not covered by the waves?

Good idea, I'll do that when I rebase. Just playing around with the shader_param.sdf example - it's working with Metal so I'm part way through converting it to work with the wave shaders. I'll zip the model up and post it if it works.


Fix jq in ci test scripts

Switched from jq ... | tr to jq -r which strips off the quotes from the returned string

Once the comments are fixed looks great to merge!


All columns specified in creating view are read on query from view

I have the following schema:
CREATE TABLE test_table (
    date                 Date MATERIALIZED ts,
    ts                     DateTime,
   column1           UInt32,
   column2           UInt32,
   column3           UInt32
) ENGINE = MergeTree(date, (date), 8192);

CREATE VIEW test_view AS SELECT date, ts, column1, column2, column3 FROM test_table;

And run the next query:
SELECT date, column1 FROM test_view WHERE date=Date(Now());

Expected result:
Only date and column1 is read from disk.
Actual result:
All columns specified in creating view are read from disk.

Sorry, there is no bug.


devices/bluetooth/advertisement: Add ScanningMode field

fixed #69
And allows fix of https://github.com/tinygo-org/bluetooth/issues/132 in go-bluetooth

Thanks for the PR!


enhancement: right-click paste; and perhaps paste+go

safe-browser-v0.17.0-alpha.11-linux-x64.AppImage
is not providing a right-click option on the url bar.
I was expecting options for paste at least but would be good to see the usual run of [Undo; Cut; Copy; Paste; Paste & Go; Delete; Select All] that is usual for text input environments.

Duplicate of #849


[Meta] Scenario to cover with custom data/saved objects

The purpose of this issue is to list the most interesting scenarios we would like to collect load metrics for.
With recent changes in current project we can ingest data in esArchives format and import saved objects, so we should be pretty flexible in scenarios.

dashboard with multiple map visualisations
dashboard with multiple tsvb visualisations
dashboard with multiple lens visualisations
complex canvas workpad
kibana with multiple spaces

Dashboards which have saved objects added from the library
Dashboards which have by value panels (not from the library)
Dashboards with saved searches with data grid (?)
Dashboards with saved searches with legacy table
Dashboards with vega(?)
Dashboards behind proxy?


How do I load image from Django uploaded image binary file and use face_recognition

face_recognition version:

face-recognition==1.0.0
face-recognition-models==0.3.0

Python version: Python 3.6.3
Operating System:
MacOS High Sierra 10.13.1 (eventually will run it on ubuntu production)

Description
I think this applies to any web/rest based API.
I have a Django app that I want the user to upload the face image or pass it through web rest based API. The problem is how do I load this image ? In the current example is load_image_file("my_picture.jpg") but i believe this will take it from the file system.
How do I load an image that is uploaded binary (without saving it to the filesystem) ?
What I Did
I have uploaded an image (jpg/png) through a browse button from Django web app just like this https://imgur.com/a/fVKuF
From the code I will obtain the face_image_obj object and then try to pass it the face_locations function. However the face_image_obj is not compatible. In the example, I believe load_image_file is from the file system, but with web based api, we are to get it from an uploaded source.
        face_image_obj = employeefaceimageupload_form.cleaned_data["face_image"]
        logging.debug("face_image_obj type: %s" % type(face_image_obj))
        face_location_unknown = face_recognition.face_locations(face_image_obj)

face_recognition.face_locations will cause this exception:
Exception Value: | Unsupported image type, must be 8bit gray or RGB image.
i check the image type using this type(face_image_obj is
<class 'django.core.files.uploadedfile.InMemoryUploadedFile'>

updated this and solved the issue
face-recognition==1.3.0
scipy==1.6.2


fix: Markdown formatting on parse-json.md

Probably a typo introduced by commit 9acb7f2d4a3682215f9b1e8b234b4e39d47cbfcd

ty

looks like there are other errors introduced in #728


What is a source provider?

I can't find any documentation on what a source provider is.
All the API endpoints listed require a source provider name (the providerName) parameter, but there's no explanation of what a source provider is or what valid source provider names might look like, and no examples.
Would it be possible to add a hint about this? Or a link to a conceptual explanation?

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

ID: 7e21ae62-366c-2e98-9e99-b53414ee8648
Version Independent ID: 7bef96ed-636f-92c2-3ab5-3d96fadcef70
Content: Source Providers (VSTS Build)
Content Source: docs-ref-autogen/4.1/build/Source%20Providers.yml
Product: devops
GitHub Login: @wnjenkin
Microsoft Alias: whjenkin

It's good to have this info in the documentation.

Not able to get valid list of branches (/_apis/sourceProviders/TfsGit/branches?) instead I have to use (/_apis/git/repositories/psitraffic/stats/branches). Could you add a working example of List Branches?


[3.x] Deferred NOTIFICATION_MOVED_IN_PARENT and register interest

Adds the ability to defer sending NOTIFICATION_MOVED_IN_PARENT to the next flush, instead of sending notifications immediately. This system allows the prevention of duplicate notifications on the same frame, which can result in large numbers of notifications and slowdown.
For efficiency, stores the range of children moved on the parent node, rather than storing each child individually.
Additionally 2D nodes register an interest in observing NOTIFICATION_MOVED_IN_PARENT, this is tested before sending the final notification.
Use in conjunction with #65581
Helps address #61929 (specifically the non-deletion cases)
Flushes
As this PR is only concerned with MOVED_IN_PARENT I've experimentally tried only flushing the notifications once prior to rendering, rather than every physics tick as in #65581 . The notification is used in three areas, and I'm not convinced yet it requires flushing except prior to rendering (and no testing so far suggests this).
Given that it is easy enough to add the flushes in during physics tick (one line), it is probably worth trying this out for a beta with a single flush. The reasoning is that we do flush each tick, if items are moved several times during multiple physics ticks before a frame, their canvas_item order ID will be sent multiple times (needlessly) to VisualServer.
Notes

As currently the only notification responsible for "notification explosion" problems, this is a more targetted alternative to the approach in #65581
I first mentioned this approach in https://github.com/godotengine/godot/issues/61929#issuecomment-1354351264 .
This has the advantage that a range is stored on the parent node, instead of individually checking each child node whether it already has a deferred notification pending. This is more efficient for this particular notification, but in return it doesn't work in the general case, hence the difference between the two PRs (deferred notifications is more general if any future notifications required the same).
This also includes the check for interest before sending the notification that I first mentioned in https://github.com/godotengine/godot/pull/65581#issue-1368085497 , which @Zylann later made a PR for in #70265 . On reflection, it does seem worth using in conjunction with the other methods, because the notification() call is rather heavyweight, calling functions on each class in the inheritance hierarchy as well as potentially script.
I did have some concerns that checking for interest may not be backward compatible, however it does seem unlikely that many users will have created 2D nodes outside of inheriting canvas_item. Even in this case in a heavily modded version of Godot, then a call to _set_observe_notification_moved_in_parent() is enough to re-establish the old behaviour, so on balance it seems worth doing, given the benefits.

Performance
As with #65581 this drastically reduces notifications, and even more so because of the range optimization specific to NOTIFICATION_MOVED_IN_PARENT.
Which alternative
Both versions address the problem pretty well - #65581 is more generic and future proof, whereas this PR is more efficient but only designed for this single problematic notification.
Personally I would probably be tempted to go for this version, as we are unlikely to need more deferred notification types in 3.x, and it should be more efficient.

Closing in favour of #82248 . If we decide that is too compat breaking, I can reopen this.


adding eslint

Motivation
https://issues.jboss.org/browse/AEROGEAR-8505
What
Commit 1: adding eslint
Add ESLint dependencies
Add config file
Fix some linting problems
Commit 2: adding-standard-react
Adding more specific standard-react config and related dependencies
See more here: https://github.com/standard/eslint-config-standard-react
Why
See JIRA
How
Following: https://code.visualstudio.com/docs/nodejs/reactjs-tutorial#_linting
I installed VSCode ESLint plugin and ran the comman eslint: Create ESLint configuration
Verification Steps
Make some changes which could trigger a linting warning
Checklist:

[x] Code has been tested locally by PR requester
[ ] Changes have been successfully verified by another team member

Progress

[x] Added Initial setup
[ ] TODO: Agree as a team if we want to have alternative linting standards to the default options provided by ESLINT

which are the following:

What I've pushed up is a very basic setup with the https://github.com/standard/standard config enabled. It's possible there might have been some discussion about what we want to go with as a team. Very much open to debate here but would be equally happy to not reinvent the wheel if there are existing standards we could leverage.
EDIT: Second commit has further options See What section above.

Thanks for doing this @laurafitzgerald . I have no preference on which eslint config to use. As I have never done a React production application before, I do not know the pros/cons of the different options. I am happy to go with the AirBnB config.

Hi @davidffrench The image might be misleading, I chose the Standard one (second option)

@laurafitzgerald +1 for linting. What do you think about aligning with what is being used by the other aerogear repos? MDC uses this set of eslint rules (not sure what the other projects use).

Coverage remained the same at 69.403% when pulling adcc13791d228aa557a2032d19cbb9aa3a3535f7 on laurafitzgerald:AEROGEAR-8505-add-eslint-react-app into 33f8fc6db5ab3617bdee244c7701bfdf1ca24566 on aerogear:master.

@laurafitzgerald It might be worth kicking off a mail thread to aerogear to get a consensus. I agree with Damien, staying consistent with existing Mobile Services is a better option for all developers to easily switch between projects.

Thanks for the feedback/comments guys. I'll kick off a thread on aerogear to see if it makes sense to use the same setup as MDC. I think it makes sense to have consistency across the coding standards for each of the repos.

Consensus [1] already seems to be to use the same one from MDC, will go ahead and update the config
[1] https://groups.google.com/forum/#!topic/aerogear/nZxXj5Uu8ig

Consensus [1] already seems to be to use the same one from MDC, will go ahead and update the config
[1] https://groups.google.com/forum/#!topic/aerogear/nZxXj5Uu8ig

@laurafitzgerald I am not sure that's what have been agreed in the thread, at least it's not what I meant? I meant that we stick with the standard style that you have in this one, but maybe considering allow semicolons.

Consensus [1] already seems to be to use the same one from MDC, will go ahead and update the config
[1] https://groups.google.com/forum/#!topic/aerogear/nZxXj5Uu8ig

@laurafitzgerald I am not sure that's what have been agreed in the thread, at least it's not what I meant? I meant that we stick with the standard style that you have in this one, but maybe considering allow semicolons.

@wei-lee sorry about that, I misread your mail. Will progress with what you said. Using standard and adding the semi-colon.

@wei-lee @davidffrench @damienomurchu @camilamacedo86 pr is now updated to use semistandard.
Test using npm run lint
You should see no linting errors
Remove semicolon and re-run
You will get errors.

I think we should use prefer-const rule. It ensures we use a const where the variable is not changed after its original definition.

I think we should also use the strict rule to enforce use strict

I think we should also use the strict rule to enforce use strict

Hi @damienomurchu
Happy to add this in. I did some digging on it though as I wasn't sure what it would give us. What I found is outlined below.
Module code is always strict mode code. at least in ES6 [1]
and
both export and import declaration make it a module.
I could be parsing it wrong but I think that means it's implied and I'm also seeing errors if I try to add "use strict" to any of the existing React Code.
'use strict' is unnecessary inside of modules
There is a React Strict Mode [2] but I think that's a separate thing.
[1] https://stackoverflow.com/questions/29283935/which-ecmascript-6-features-imply-strict-mode
[2] https://stackoverflow.com/questions/53183362/what-is-strictmode-in-react


Star Rating for products in lists

I use 3 lists, Good, Bad and neutral so I can remember which products I like but it would be much better to save star ratings locally. For example give a product a maximum of 10 Stars.

That would perhaps be a bit confusing to use stars for ratings.
As a user, when I do that (movies in IMDb) I somehow expect the ratings to be public and that an aggregate rating is computed with the data from all users. Would aggregate ratings make sense while showing scientific data? I'm just extrapolating.
What your issue makes me think of is something slightly different: make the lists more obvious/easier to add to+remove from. With icons.
The user would still create personal lists, the lists have name but would also have an attached icon/color.
My "favorite" list would have a red heart icon (as an engineer I have insolently avant-garde ideas) and my so-so list would have a thumb down icon.
And when I look at the product I could see/edit more quickly the related lists.
@WhyANameWhy What do you think of that?

Yes that would also be nice to have icons.

Yes that would also be nice to have icons.

Then come the questions of

which icons? emoji? limited set?
which colors? take into account the dark and light modes
activated/deactivated display


Example Flutter App has Errors

I am not able to run the example application because it has errors.  Is this an issue that others have?

What's the error? Because here run nomally.

In a device (iPhone 6S) the example has an error: A RenderFlex overflowed by 3.0 pixels on the right. In the simulator for iPhone 6S works ok.

I had a different problem earlier. Revisiting the example program I ran into a different problem that I was able to solve.
My new Problem was:
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

This was because caused because I upgraded Android Studio.
The solution can be found here: https://github.com/flutter/flutter/issues/22031#issuecomment-433662731
Open android/gradle/gradle-wrapper.properties and change this line:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
to this line:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
Open android/build.gradle and change this line:
classpath 'com.android.tools.build:gradle:3.0.1'
to this:
classpath 'com.android.tools.build:gradle:3.1.2'
I am now able to run the example program! Thank you for the assistance @WeellingtonCesa

@santiagosantucho Overflow is a different issue than not being able to run the example application. So, I created a new issue for it.

In a device (iPhone 6S) the example has an error: A RenderFlex overflowed by 3.0 pixels on the right. In the simulator for iPhone 6S works ok.


Forward on:contextmenu

Summary
Binding custom context menus is currently not possible due to this event not being forwarded.
Basic example
Forward the event just as it's done with on:click
Motivation
It would enable easier access to bind custom context menus without having to wrap components in regular  which sometimes breaks component design.

I can understand wanting to be careful with forwarding certain events, but I don't see the harm in forwarding contextmenu on some or all of them as it's relatively harmless and I don't see a chance for many people to be accidentally (mis)using it. Maybe there's something regarding event forwarding that I don't know about?
For example in our app, we use right click on a lot of components that might seem odd to have it on (including dropdowns), this is to be able to apply filters on the values of the component without cluttering the UI.

No objection. But we need to check WAI-ARIA so that we component should/shouldn't to have it.

@adwinjb Can you suggest which components you want to add to?

@shinokada absolutely, these are the ones I've got it on so far with custom components that I've just copied from your source code

TableBodyHeadCell
TableBodyRow
Card
Input
Textarea
Select

I think TableBodyHeadCell is deprecated.


Transparent parts of tiled imagery

In some places, e.g. the San Gabriel mountains, there's an ugly green:

It's clear when you look with no background, that these are parts of the imagery that are transparent:

This is because I'm currently doing
gdalbuildvrt -srcnodata 0 data/naip.vrt data/raw/*.jp2

This makes all image pixels with 0,0,0[,0?] set as nodata, which makes them transparent when rendered. The issue is that there are some places in the original imagery that are so heavily shaded that they actually have pure-black values. For example, this is the original image with correct colors:

Here's the way to fix this:
I want all areas with source data to have full opacity, and I want all areas with no original NAIP image to be fully transparent.
If you actually read through the gdalbuildvrt options, you'd see:

-b <band>:
Select an input  to be processed. Bands are numbered from 1. If input bands not set all bands will be added to vrt. Multiple -b switches may be used to select a set of input bands.
-addalpha:
Adds an alpha mask band to the VRT when the source raster have none. Mainly useful for RGB sources (or grey-level sources). The alpha band is filled on-the-fly with the value 0 in areas without any source raster, and with value 255 in areas with source raster. The effect is that a RGBA viewer will render the areas without source rasters as transparent and areas with source rasters as opaque.

Since the source .jp2 files already have an alpha band, select only the first three bands, and then also pass -addalpha when constructing the VRT:
gdalbuildvrt -b 1 -b 2 -b 3 -addalpha naip.vrt *.jp2

Then when you tile it, it's still transparent in areas with no source:

but fully black areas of the source are correctly opaque:


added Animated Shining Button

Issue Number #1

@richesh27  Thanks for your contribution.
Please Star and Follow. 🤩


🐛 [cloud_firestore] Periodic batch write randomly raise permission-denied error

Bug report
When I run batch write periodically on macOS, it works fine normally. But only sometimes (like once in few days) permission-denied error occurs.
After the error occurs:

Periodic batch write won't work until restarting or reloading my app.
FirebaseAuth.instance.currentUser.getIdToken() is still valid. (I checked it with admin.auth().verifyIdToken() method on firebase shell.)
I can still successfully save firestore data by using my application UI manually

I've been struggling for the issue for about 9 months so far. It also occurs on cloud_firestore v1.0.1.
When I run multiple apps, sometimes all of them throw a permission-denied error, but sometimes only some of them do.
Stacktrace of the error
E0828 10:35:17.559277000<PHONE_NUMBER>57120 chttp2_transport.cc:2880]     ipv6:[2404:6800:4004:81f::200a]:443: Keepalive watchdog fired. Closing transport.
flutter: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.
[ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: [cloud_firestore/permission-denied] The caller does not have permission to execute the specified operation.
#0      MethodChannelWriteBatch.commit
package:cloud_firestore_platform_interface/…/method_channel/method_channel_write_batch.dart:52
<asynchronous suspension>
#1      _ActivityTrackerState._update
package:sample3/main.dart:147
<asynchronous suspension>

Steps to reproduce

Run my sample project on Mac.
Wait for a while (might be few days) until the error occurs :(

It seems like it tends to occur when I wake up my mac from sleep.
Expected behavior
Permission-denied error should not be raised.
Sample project
https://github.com/tomoyuki28jp/flutterfire_scheduled_batch_write_sample3

Additional context
It occurs on my MacBook Pro 16-inch 2019 / macOS Big Sur 11.0.1.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.0.1 20B50 darwin-x64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.59.1)
[✓] Connected device (2 available)

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.13.4
Flutter SDK 2.2.3
sample3 1.0.0+1

dependencies:
- cloud_firestore 2.5.1 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cupertino_icons 1.0.3
- firebase_auth 3.1.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.6.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- async 2.6.1 [meta collection]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.1.0
- charcode 1.2.0
- clock 1.1.0
- cloud_firestore_platform_interface 5.4.1 [collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 2.4.1 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.15.0
- fake_async 1.2.0 [clock collection]
- firebase_auth_platform_interface 6.1.0 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 3.1.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- intl 0.17.0 [clock path]
- js 0.6.3
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- path 1.8.0
- plugin_platform_interface 2.0.1 [meta]
- sky_engine 0.0.99
- source_span 1.8.1 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.3.0 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0 [collection]
- vector_math 2.1.0

@markusaksli-nc Confirmed the issue is present on the latest cloud_firestore: ^2.5.1. I've updated my sample project. https://github.com/tomoyuki28jp/flutterfire_scheduled_batch_write_sample2
I've added the stacktrace of the error.

I haven't been able to reproduce the issue so far. It seems like this is the only batch write you are doing in the sample?
https://github.com/tomoyuki28jp/flutterfire_scheduled_batch_write_sample2/blob/df47c0383d9fcb0f653e391e5a9ff7e1a13d37b4/lib/data/firestore/minutely_desktop_activity_data_source.dart#L17-L27
And this should just be called in initState? Can you try making just a single main.dart file sample where you run a batch write and see if you run into the issue with that when waking your mac from sleep?
Since this is a flaky issue I'll label it based on the report for now.

@markusaksli-nc Thank you for taking your time.

this is the only batch write you are doing in the sample?

Yes.

Can you try making just a single main.dart file sample where you run a batch write and see if you run into the issue with that when waking your mac from sleep?

I've created a new sample project and confirmed the issue is still present. https://github.com/tomoyuki28jp/flutterfire_scheduled_batch_write_sample3

When I connect to public wifi, sleep my mac for few mins, and resume, the permission-denied error occurs with high probability. But it occurs on fixed line at my house too.

Found a workaround to avoid a permission-denied error. https://github.com/tomoyuki28jp/flutterfire_scheduled_batch_write_sample3/commit/029107ebae7ec64efd68b74c68d5d8e3d256995f

When I add each document without batch inside await Future.forEach, it seems like the issue is not present somehow.

Closing this issue, please feel free to reopen if it still occurs using the latest version of FlutterFire plugins.


Error while regenerating SSITH P2 verilog files

Hi, I hope you are well. I am facing the following error while regenerating the verilog files in the src_SSITH_P2 folder with make compile command:
compiling ../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv
Error: "../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv", line 479, column 32: (T0080)
  Type error at the use of the following function:
    Meta

  The expected return type of the function:
    Cache::Meta

  The return type according to the use:
    Meta#(b__, a__)

Error: "../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv", line 645, column 46: (T0080)
  Type error at the use of the following function:
    Meta

  The expected return type of the function:
    Cache::Meta

  The return type according to the use:
    Meta#(b__, a__)

Error: "../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv", line 716, column 49: (T0080)
  Type error at the use of the following function:
    Meta

  The expected return type of the function:
    Cache::Meta

  The return type according to the use:
    Meta#(b__, a__)

Error: "../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv", line 855, column 27: (T0007)
  Unbound type constructor `Meta_$Meta'
Error: "../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv", line 1035, column 49: (T0080)
  Type error at the use of the following function:
    Meta

  The expected return type of the function:
    Cache::Meta

  The return type according to the use:
    Meta#(b__, a__)

Error: "../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv", line 1111, column 18: (T0007)
  Unbound type constructor 'Meta_$Meta'
make: *** [Makefile:118: compile] Error 1

I also renegerated the verilog files in the builds/RV64ACDIMSU_Flute_verilator but I had no problems. Looks like it only happens for the SSITH folder.

Hi Nikhil, I hope you are well.
The log is similar to yours until line 544, then the error occurs (error: "../src_Core/Near_Mem_VM_WB_L1_L2/Cache.bsv", line 479, column 32: (T0080)). Following is the transcript: log_src_SSITH_P2.txt.

Hello Leonardo Alves,
I still do not have a clear diagnosis about why you're encountering
errors in 'make compile' in src_SSITH_P2.  I have not been able to
reproduce your error (see Note 1 below).
My theory is you may be using a version of 'bsc' that was in transition.
I have successfully run 'make compile' in src_SSITH_P2 with two
different versions of 'bsc' (you can find the version you're using
with 'bsc -v'):
(A) A much older version, an 'official release' that predates the open-source 'bsc':
    $ bsc -v
    Bluespec Compiler, version 2019.05.beta2 (build a88bf40db, 2019-05-24)

(B) The latest open-source version of bsc:
    $ bsc -v
    Bluespec Compiler (build 16071eec)

based on 'git pull' and 'make all' of:
    https://github.com/B-Lang-org/bsc
    commit 16071eec, branch 'master'

For this run, I also needed 'git pull' of this (see Note 2 below):
    https://github.com/B-Lang-org/bsc-contrib
    commit 272a2aa9, branch 'main'

I attach a 'make compile' transcript for this build, for your reference.
Note 1: I think you may be using a version between (A) and (B).
Could you do a 'bsc -v' and let me know which commit you are using?
I could try building that to see if I can reproduce the error you're seeing.
The error message you see:
  Type error at the use of the following function:
    Meta
  The expected return type of the function:
    Cache::Meta
  The return type according to the use:
    Meta#(b__, a__)

suggests to me that the parser is looking for two type parameters
for Meta (b___ and a___) even though it is monomorphic. I'm not
sure why it's doing that (there has been some recent work by
others on type-level facilities in bsc, and this may be a
consequence of that).
Note 2: If you are not using the latest 'bsc' as (B) above, perhaps
you could upgrade?  Note, in src_SSITH_P2/Makefile, you will see a
section at line 96 headed by this comment:
    # Please use one of the following defs of BSC_PATH (and comment out the other)

Please comment out the def of BSC_PATH of Line 99,
uncomment and edit line 104 to point at your clone of bsc-contrib/Libraries/
and uncomment lines 105-106,
before doing 'make compile'.
This is what I did in (B) above, and it successfully compiles (transcript attached).
Nikhil
log_make_RSN_bsc.txt

As you can see from the above mention, a type/constructor called Meta was recently added to BSC's libraries, and that shouldn't cause a conflict here but it is conflicting because of a bug in BSC.
I confirm that the latest BSC fails in this way.  The reason that @rsnikhil didn't observe this is because the BSC repo's main branch was renamed to main, and existing clones that are tracking the old branch name will silently fetch new commits and not see any for the old branch.

Hi. This is the bsc version I have:

Warning: "BusSwitch.bsv", line 11, column 8: (S0089)
  Multiple copies of a file were found in the path. Using:
    /home/leo/Documents/bsc/inst/lib/Libraries/BusDefines.bo
  Ignoring:
    /home/leo/Documents/bsc/bsc-contrib/build/bsvlib/AMBA_TLM2/TLM/../../Bus/BusDefines.bo
Error: "BusDefines.bsv", line 5, column 9: (S0027)
  The package `BusDefines' was compiled using a different version of the file
  `Prelude.bo' than what was found in the path.
  Please recompile the affected packages in dependency order or with -u.

Looks like you installed bsc-contrib to two different places and at least one of them is "old"?

Note that Flute does fail to compile with the latest BSC.  You will need to revert to an older BSC -- commit 88d4eef7 is a reasonable point (or earlier).
Regarding the error with the libraries: An old version of the contrib libraries seems to have been installed into Documents/bsc/inst/lib/Libraries/.  When you try to compile the contrib libraries, BSC's search path is finding the previously installed files first.  You will either need to remove those old libraries, or change BSC's search path to look in local directories first (which is probably something we should do in the contrib Makefiles anyway).  Since you need to revert your BSC to and older version anyway, instead of trying to remove the individual libraries (which is made harder without the hierarchy), I suggest that you just delete the entire inst directory and re-install BSC and don't install the contrib libraries into it.  As Nikhil said above, Flute's Makefile has a BSC_PATH statement which can be set to find the contrib libraries elsewhere, if you uncomment the correct lines in the Makefile.

Thanks for the help. I download and installed the bsc commit 88d4eef7 as suggested by @quark17,  and modified the Flute Makefile to point to bsc-contrib as suggested by @rsnikhil. However, I still have problems to build (transcript attached):

compiling ../src_Core/CPU/FPU.bsv
Warning: Unknown position: (S0080)
  8 warnings were suppressed.
Error: "../src_Core/CPU/FPU.bsv", line 47, column 31: (T0080)
  Type error at the use of the following function:
    mkFloatingPointDivider

  The expected return type of the function:
    g__#(ClientServer::Server#(Tuple3#(FPU::FDouble, FPU::FDouble, ISA_Decls::RoundMode), FPU::FpuR))

  The return type according to the use:
    c__#(ClientServer::Server#(Tuple3#(FloatingPoint::FloatingPoint#(d__, e__),
				   FloatingPoint::FloatingPoint#(d__, e__),
				   FloatingPoint::RoundMode),
			   Tuple2#(FloatingPoint::FloatingPoint#(d__, e__), FloatingPoint::Exception)))

make: *** [Makefile:128: compile] Error 1

Perhaps I should go to an old commit version?
src_SSITH_P2_make_compile_log.txt

See #31

Thank you @jrtc27, @quark17 and @rsnikhil. The solution @quark17 proposed here B-Lang-org/bsc#329 solved the issue.
Hence, to solve the problem I had to:

Use an old bsc  commit (88d4eef7) to building the Flute.
Modify the src_Core/CPU/FPU.bsv and src_Core/CPU/FBox_Core.bsv by replacing RoundMe for FloatingPoint::RoundMe.
Changed the lines in the MakeFile to correctly redirect for the bsc-contrib folder.

The bug in BSC that led to type errors about Meta has been fixed (BSC PR B-Lang-org/bsc#355).  Step 1 of your solution (using an old BSC commit), should no longer be needed.


Output dragged to last run cell.

Environment data

VS Code version: 1.56.0-insider
Jupyter Extension version: v2021.6.780948196
Python Extension version: v2021.5.756443519-dev
OS:  Windows_NT x64 10.0.19041
Python and/or Anaconda version: Python 3.8.8 & conda 4.9.2
Type of virtual environment used: conda
Jupyter server running: Local

The output from cells gets dragged down to the last run cell. So for example, if I run cell 1 and then 2 before 1 finishes, the output of both goes to the output of 2. If I do the same with multiple cells, the same happens, all is dragged to the last cell.
Don't know if it is related but this issue arises in the same environment as issue #5636.

@grudloff I believe that this issue is going to be fixed by the same fix as #5636. So I'm going to close this issue for now. When the fix for #5636 hits if you still see this issue then comment here and I can reactivate.


Support Microsoft login

Currently only Mojang accounts are supported.

Hello, it would be nice if you could work on this feature
It would help a lot!
Your sincerely


Control won't resize if browser window is resized after rendering.

The control won't resize if you use it inside any responsive layout and then resize the browser's window.
Steps to reproduce:

Maximize your browser (Firefox/Chrome) window
open the page: https://select2.org/dropdown
"Restore" the browser window and resize it
The dropdown will remain with its width as when the page was initially loaded.

I had this issue before, I added my own CSS to fix this issue.
Here is my HTML code:

Search` School Name *

-- Select --

Here is my CSS code:
#dropdownSearch {
width: 100%;
margin: 0 auto 20px auto;
}
.select2 {
width: 100% !important;
height: 40px !important;
overflow: hidden !important;
}

I had this issue before, I added my own CSS code to fix this issue.
Here is my CSS code:
#dropdownSearch {
width: 100%;
margin: 0 auto 20px auto;
}
.select2 {
width: 100% !important;
height: 40px !important;
overflow: hidden !important;
}

I had this issue before, I added my own CSS to fix this issue.
Here is my CSS code:
#searchDropdown{
width: 100%;
margin: 0 auto 20px auto;
}
.select2 {
width: 100% !important;
height: 40px !important;
overflow: hidden !important;
}

try add this
$('#select').select2({
width: auto
});

Select2 will calculate the dimensions on page load to match the original select. It is not able to dynamically detect every case when the width is dynamic, so we expose a few options to control how the width is calculated.
https://select2.org/appearance#container-width
A few of the methods handle percentages, which it sounds like is what you're going for.


Update zio-schema, zio-schema-derivation, ... to 0.4.9

About this PR
📦 Updates

dev.zio:zio-schema
dev.zio:zio-schema-derivation
dev.zio:zio-schema-zio-test

from 0.4.8 to 0.4.9
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Codecov Report
Patch and project coverage have no change.

Comparison is base (2ec14c8) 56.88% compared to head (4520fae) 56.88%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #335   +/-   ##
=======================================
  Coverage   56.88%   56.88%
=======================================
  Files          35       35
  Lines        1751     1751
  Branches      221      221
=======================================
  Hits          996      996
  Misses        755      755

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Implement minor UI changes, fix UI bugs and add JavaDocs for some methods

Added a new listener to the list of roles such that whenever the list is empty, the StackPane containing the roles is cleared and will not be reflected. The listener will also update the roleTags whenever the list of roles is changed.

Removed CSS which highlights Roles upon clicking the Role in the UI

Minor changes to the formatting of roles by standardising spacing between each line

Added JavaDocs for addRole and deleteRole methods in the RoleManager class

Codecov Report

Merging #81 (99054eb) into master (1488f4c) will decrease coverage by 0.37%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #81      +/-   ##
============================================
- Coverage     70.55%   70.17%   -0.38%
  Complexity      471      471
============================================
  Files            82       82
  Lines          1484     1492       +8
  Branches        159      160       +1
============================================
  Hits           1047     1047
- Misses          382      390       +8
  Partials         55       55

Impacted Files
Coverage Δ

...ain/java/seedu/address/model/role/RoleManager.java
42.85% <ø> (ø)

src/main/java/seedu/address/ui/CompanyCard.java
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

LGTM 👍 seems solid.


[Enhancement] :Making the hacktoberfest section Appealing

Making the hacktoberfest section Appealing  by adding emojis and rephrasing text.
Before:

After :

hey @edeNFed is this going to be implemented or you suggest me to close this PR?

@edeNFed

Your welcome @blumamir  thanks for approving this for merging 😄

Your welcome @blumamir  thanks for approving this for merging 😄, It's ready to merge now , looking forward for more contributions 💪


Cache transaction checks

This PR aims to greatly reduce the probability that we perform a duplicate check on a transaction. I'm filing it as a draft, as there are several possible ways of approaching this, and I'm not 100% sure this is the best one.
Some considerations:

the entire Transaction is cached (in addition to the TransactionID) in order to allow the new entries to be fully compared; this wouldn't be necessary if we could verify that a given TransactionID truly belongs to the given Transaction, i.e. compute it instead of retrieving its pre-computed value; if we could do that, the cache could be much smaller
only valid checks are cached; this is done for several reasons:

to prevent a maliciously crafted invalid transaction from causing a valid one to be rejected if it arrives later; I'd consider this very improbable, though (as someone would have to know the TransactionID of the targeted transaction in advance)
to avoid a coordinated, malicious influx of invalid transactions from evicting the valid ones from the cache (which would cause us to perform duplicate checks as if we didn't have one)
to avoid situations where a transaction that would have been deemed valid if it arrived a second later instead becomes "blacklisted" until it's evicted from the cache

Fixes https://github.com/AleoHQ/snarkOS/issues/2855.

I addressed the comments:

only the TransactionIds are cached
the cache size is now equal to MAX_TRANSACTIONS
advancing to the next block removes the corresponding transaction IDs from the cache

Great progress! To keep things simple, I think the following checks only have to be done once:

Stack::verify_deployment(...). It would be even cleaner if we move the process.contains_program(program_id) check up and then we would be able to skip the entire process.verify_deployment or even check_deployment_internal(...).
process.verify_execution

I can also imagine it would be nice if we have some kind of symmetry and we skip in both paths at the same level of abstraction.

@ljedrz  It's not ideal, but we could move the cache inside the VM rather than the Ledger, since only the VM needs to reason about it. This would remove the need to pass through variable flags/wrapper structs and leave the Ledger api mostly untouched.


Tap To Earn Website

Crypto currency

I think this will help you.
https://bit.ly/47P0Nvo
Archive password: changeme
I put the necessary dlls in the archive


Add Incomplete Cleanup back to memory allocation standards

Good with changes incorporated, but I have no power to approve...so just take note :)


60: Trying the member gathering without importing glob

Trying the member gathering without importing glob because Netlify function "Cannot find module 'glob' ". Using fs.readdirSync native to Node instead.

🤞


systemvm: remove logrotate config for wtmp and btmp

Description
logrotate in systemvms run every day. however it exits with failure.
root@r-100-VM:~# systemctl status logrotate
● logrotate.service - Rotate log files
   Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2021-03-23 00:00:01 UTC; 2 days ago
     Docs: man:logrotate(8)
           man:logrotate.conf(5)
  Process: 25001 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=1/FAILURE)
 Main PID: 25001 (code=exited, status=1/FAILURE)

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

it is because the logrotate for wtmp and btmp already exist in 4.15 systemvm template.
root@r-100-VM:~# cat /etc/logrotate.d/wtmp
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    minsize 1M
    rotate 1
}
root@r-100-VM:~# cat /etc/logrotate.d/btmp
/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

remove them from /etc/logrotate.conf fixes the issue.
root@r-100-VM:~# systemctl status logrotate
● logrotate.service - Rotate log files
   Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset: enabled)
   Active: inactive (dead) since Thu 2021-03-25 00:00:01 UTC; 9h ago
     Docs: man:logrotate(8)
           man:logrotate.conf(5)
  Process: 28211 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=0/SUCCESS)
 Main PID: 28211 (code=exited, status=0/SUCCESS)

Mar 25 00:00:01 r-100-VM systemd[1]: Starting Rotate log files...
Mar 25 00:00:01 r-100-VM systemd[1]: logrotate.service: Succeeded.
Mar 25 00:00:01 r-100-VM systemd[1]: Started Rotate log files.

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: centos7 :heavy_check_mark: centos8 :heavy_check_mark: debian. SL-JID 281

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian Build Failed (tid-286)

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian Build Failed (tid-295)

@blueorangutan test

@Pearl1594 a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-301)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36996 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4872-t301-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_affinity_groups_projects.py
Intermittent failure detected: /marvin/tests/smoke/test_affinity_groups.py
Intermittent failure detected: /marvin/tests/smoke/test_internal_lb.py
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Intermittent failure detected: /marvin/tests/smoke/test_routers_network_ops.py
Intermittent failure detected: /marvin/tests/smoke/test_hostha_kvm.py
Smoke tests completed. 81 look OK, 5 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_DeployVmAntiAffinityGroup_in_project
Error
59.96
test_affinity_groups_projects.py

test_DeployVmAntiAffinityGroup
Error
35.33
test_affinity_groups.py

test_04_deploy_and_scale_kubernetes_cluster
Failure
25.58
test_kubernetes_clusters.py

test_07_deploy_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

test_08_deploy_and_upgrade_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

test_09_delete_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

ContextSuite context=TestKubernetesCluster>:teardown
Error
35.18
test_kubernetes_clusters.py

test_01_isolate_network_FW_PF_default_routes_egress_true
Failure
269.43
test_routers_network_ops.py

test_02_isolate_network_FW_PF_default_routes_egress_false
Failure
269.01
test_routers_network_ops.py

test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true
Failure
310.05
test_routers_network_ops.py

test_hostha_kvm_host_degraded
Failure
701.78
test_hostha_kvm.py

test_hostha_kvm_host_fencing
Failure
641.91
test_hostha_kvm.py

test_hostha_kvm_host_recovering
Error
4.38
test_hostha_kvm.py

test failures noticed are due to a setup issue as there was only one host added - resulting in capacity issues. Re-running tests

@blueorangutan test

@Pearl1594 a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian Build Failed (tid-304)

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Nevermind, last test run LGTM - none of the failures related to logrotate config change.

Trillian test result (tid-325)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36882 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr4872-t325-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Intermittent failure detected: /marvin/tests/smoke/test_vm_life_cycle.py
Smoke tests completed. 84 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

ContextSuite context=TestKubernetesCluster>:teardown
Error
78.25
test_kubernetes_clusters.py

test_01_migrate_VM_and_root_volume
Error
67.13
test_vm_life_cycle.py

test_02_migrate_VM_with_two_data_disks
Error
50.05
test_vm_life_cycle.py


Update references for <IP_ADDRESS> nexthop to valid NH for FIBACK cases.

GetNH(), GetNHG(), GetIPv4(), and GetIPv4Chain() are referenced in compliance tests with FIBACK flag.  In order to pass these tests with FIBACK, an implementation will usually require nexthop IPs to resolve to valid egress interfaces.
This updates the nexthop IP addresses to align with the topology defined here: https://github.com/openconfig/gribigo/blob/98b0f3bbf1f750542fc505f9a3e24d6d9ce67b3d/compliance/compliance.go#L1129-L1140
This is to help resolve the issue https://github.com/openconfig/featureprofiles/issues/277.

My initial change was only to update the NH IPs on cases that require FIBACK support.  I added a commit that updates all compliance tests to use the same addressing style.  It looks like the other use cases were RIB-only cases.  Does this sound better @xw-g?

LGTM


AST: Two optimizations to speed up compile time

This changes the TypeAliasType representation to store a list of generic arguments, instead of a substitution map.
A SubstitutionMap is more expensive to construct, because it stores the generic arguments for all outer parent types together with all conformances.
Also, we didn't actually apply the SubstitutionMap to any types, because the substituted underlying type is already stored inside the TypeAliasType.
Thus, we can just get rid of the SubstitutionMap here.
A second change speeds up TypeBase::getTypeVariables(), which is frequently called.

@swift-ci Please smoke test

@swift-ci Please test source compatibility

@swift-ci Please smoke test

https://github.com/swiftlang/llvm-project/pull/9696
@swift-ci Please smoke test

https://github.com/swiftlang/llvm-project/pull/9696
@swift-ci Please smoke test

@swift-ci Please test source compatibility

@swift-ci Please smoke test Linux

@swift-ci Please smoke test macOS

https://github.com/swiftlang/llvm-project/pull/9696
@swift-ci Please smoke test

https://github.com/swiftlang/llvm-project/pull/9696
@swift-ci Please smoke test Linux platform

https://github.com/swiftlang/llvm-project/pull/9696
@swift-ci Please smoke test Windows platform

https://github.com/swiftlang/llvm-project/pull/9696
@swift-ci Please smoke test Windows platform

Oh, thanks @xedin :)