Add docs for options and fix something

Pushed by #272.

Coverage remained the same at 100.0% when pulling 4df2f18ed67a400887bc50d48f45c08bf9123c7f on chinesedfan:options-doc into 43aa87250c08579ad0ecedbd2ac7b985b7536122 on styled-components:master.

@hipstersmoothie Thanks for your efforts in #272, too.


Guide to Running Web Interface on AWS EC2

I managed to get this thing working via AWS EC2! YAY! I decided to write a little guide on it.
First thing is you launch an Ubuntu Server 24.04 LTS instance, I use a t2.xlarge ($0.18 per hour) (you can turn it off when you're not using it to save money) with 25 GB of storage.

Then you connect to the instance. Using EC2 Instance Connect with default username is fine.
Here are the commands you have to run:
git clone https://github.com/gosom/google-maps-scraper.git
sudo apt  install golang-go
sudo apt-get update
sudo apt  install golang-go
sudo apt-get install libatk1.0-0 libatk-bridge2.0-0 libcups2 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 liboss4-salsa-asound2
sudo apt-get install liboss4-salsa-asound2
sudo apt-get update
sudo apt-get upgrade
sudo apt install nodejs npm
sudo npm install -g playwright
sudo apt-get install libasound2 libasound2-plugins
rm -rf ~/.cache/ms-playwright
playwright install
sudo npx playwright install-deps
uname -m
npx playwright install firefox
npx playwright install webkit
cd google-maps-scraper
go mod download
go build
(Adjust the number after -c depending on the number of cores your EC2 instance has, 1 less than the number of cores you have, the EC2 Instance I chose has 4 cores)
./google-maps-scraper -web -c 3
Edit inbound security group rules of the EC2 Instance to allow 8080 port range from anywhere

Visit the port 8080 of the public IP address of the EC2, like   <IP_ADDRESS>:8080 , be sure to use HTTP instead of HTTPS or it won't connect

Above is what the scraper looks like in action.
THANK YOU @gosom FOR YOUR WONDERFUL TOOL!

@mattyjacks it is nice that it works for you but I have a few points here:
(1) The webapp is NOT DESIGNED  (at the moment ) to be publicly available for security purposes. I HIGHLY recommend you IMMEDIATELY allow ONLY your ip to access the tool until an authentication system is in place.
(2) I think it's easier to run it via a docker container.
Thank you very much for trying this into AWS

Thank you for the quick response.
1: I'll be shutting down the tool as soon as this scrape-job is finished (to save money), and when I revive it a new IP address will be assigned from Amazon anyways. I wasn't planning on sharing the IP address that would let others access it.
In response to 2: Yeah, probably. I've never used docker before, tho.
I'm overall very satisfied with the result. One huge advantage of the AWS EC2 approach is it's not tying my IP address to the scraping activity in Google's eyes. Pretty paranoid about getting banned from Google.

Even if you do not sharing the IP this is still not safe. People might break into your server.
I recommend in the firewall just to allow connections from your IP address.
Additionally, you might consider using proxies if you want to mask your IP address.
In any case the tool is for educational purposes only.


Flipped sprites render as invisible

Using the orbit demo as an example, if I click in the lower left hand corner to graphics<->text flip a sprite the result is that it renders as just white or invisible on the background.
ex:

And then flipping "v-cross":

Disabled UI flipping of sprites so they aren't invisible.
7e67744356576750c9fd5f6cd8e67cbc24c87fee


Todo

Moved from #5 and #7

[ ] Get all tests passing
[ ] Document use cases
[ ] Document the ability to reuse deployed contracts with new storage (a unique feature of Solana!)
[ ] Document that lamports are needed in the payer account for simulation (for now)
[ ] Explore and document the browser use case, build targets, and polyfills as needed
[ ] Add quick starter project
[ ] Tests for value sent with transaction (during deploy and function call)
[ ] Use buffer-layout for transaction input
[ ] Make it possible to verify ed25519 signatures
[x] Uncomment or remove all commented out blocks of executable code
[x] Refactor out clone method
[x] Document all public methods in more detail
[x] Address all remaining TODO/FIXME comments
[x] Revamp error types
[x] Colocate unit and integration tests
[x] Remove Makefile and use yarn scripts + shx (platform-indepedent and JS devs are more familiar with)
[x] ~Finish ES modules configuration~

Added TODO from #9


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_c6ocjwl4c2/clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_c6ocjwl4c2/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_c6ocjwl4c2/clone/recipe/meta.yaml:45: missing_license_family: The recipe is missing the about/license_family key.
Errors were found


update x-stream to 1.4.17 (from 1.4.16)

Description
security update for com.thoughtworks.xstream:xstream from 1.4.16 to 1.4.17
Motivation and Context
This update fixes the following CVE:

CVE-2021-29505

How Has This Been Tested?
run gradle check and used it ourself for some days without problems
Screenshots (if appropriate):
Types of changes

Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly.

Codecov Report

Merging #667 (74712e8) into master (ec1d462) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 74712e8 differs from pull request most recent head 21b6b68. Consider uploading reports for the commit 21b6b68 to get more accurate results

@@            Coverage Diff            @@
##             master     #667   +/-   ##
=========================================
  Coverage     55.40%   55.40%
  Complexity    10216    10216
=========================================
  Files          1047     1047
  Lines         64462    64462
  Branches       7311     7311
=========================================
  Hits          35718    35718
+ Misses        26243    26242    -1
- Partials       2501     2502    +1

Impacted Files
Coverage Δ

...n/java/org/apache/jmeter/reporters/Summariser.java
85.49% <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 ec1d462...21b6b68. Read the comment docs.

Thanks for the PR. It has been merged into master.


Remove hardcoded root

Removed root from Run-LinuxCMD in tests
Removed root from  CommonFunctions.psm1
Removed root from ps scripts
Do not merge until test results are posted

@asofron Fix PowerShellCodeCheck_PSScriptAnalyzer, I will do some testing, have you done some testing?

Currently running more tests and will post the results here .

Can you test against those changed scripts and post the result here?

FCOPY :
VHD Under Test        : ubuntu_18.04.1.vhdx
Total Test Cases      : 8 (8 Pass, 0 Fail, 0 Abort)
Total Time (dd:hh:mm) : 0:0:39
XML File              : TestConfiguration
ID TestCaseName                                                 TestResult TestDuration(in minutes)

 1 FCOPY-BASIC                                                        PASS                 3.66
 2 FCOPY-FILE-EXISTS                                                  PASS                 3.58
 3 FCOPY-OVERWRITE                                                    PASS                  3.5
 4 FCOPY-LARGE-FILE                                                   PASS                 8.51
 5 FCOPY-NON-ASCII                                                    PASS                 3.63
 6 FCOPY-REPEATED-DELETE                                              PASS                 4.56
 7 FCOPY-DISABLE-ENABLE                                               PASS                 9.02
 8 FCOPY-NEGATIVE                                                     PASS                 3.25

BVT-VERIFY-KVP-DAEMON-STATUS :
ARM Image Under Test  : Canonical : UbuntuServer : 18.04-LTS : latest
Total Test Cases      : 1 (1 Pass, 0 Fail, 0 Abort)
Total Time (dd:hh:mm) : 0:0:3
XML File              : TestConfiguration
ID TestCaseName                                                 TestResult TestDuration(in minutes)

 1 BVT-VERIFY-KVP-DAEMON-STATUS                                       PASS                 3.84

BVT run :
ARM Image Under Test  : Canonical : UbuntuServer : 18.04-LTS : latest
Total Test Cases      : 36 (34 Pass, 2 Fail, 0 Abort)
Total Time (dd:hh:mm) : 0:2:16
XML File              : TestConfiguration
ID TestCaseName                                                 TestResult TestDuration(in minutes)
1 BVT-VERIFY-DEPLOYMENT-PROVISION                                    PASS                 5.39
FirstBoot : PASS
FirstBoot : Call Trace Verification : PASS
Reboot : PASS
Reboot : Call Trace Verification : PASS
2 BVT-IS-ROOT-PASSWORD-DELETED                                       FAIL                 2.97
3 BVT-ROOT-DEVICE-TIMEOUT-CHECK                                      PASS                 3.04
4 BVT-HVMODULES-CHECK                                                PASS                 3.23
5 BVT-SWAP-CHECK                                                     PASS                 2.85
6 BVT-MTAB-ENTRY-CHECK                                               PASS                 3.14
7 BVT-LAST-CONSOLE-CHECK                                             PASS                 3.03
8 BVT-VERIFY-BOOT-ERROR-WARNINGS                                     FAIL                 2.95
9 BVT-VERIFY-SHUTDOWN                                                PASS                 3.92

10 BVT-VERIFY-RESTART                                                 PASS                 3.77
11 BVT-VERIFY-UUID-FSTAB                                              PASS                 2.95
12 BVT-VERIFY-SSHD-CONFIG                                             PASS                 3.29
13 BVT-VERIFY-VHD-PREREQUISITES                                       PASS                  3.2
14 BVT-VERIFY-NO-ERROR-IN-LOGS                                        PASS                 3.09
15 BVT-VERIFY-VERBOSE-ENABLED-LOGS                                    PASS                 4.43
16 BVT-VERIFY-BASH-HISTORY                                            PASS                 3.33
17 BVT-PASSWD-POLICY-TEST                                             PASS                 3.08
18 BVT-VERIFY-KVP-DAEMON-STATUS                                       PASS                 3.06
19 BVT-CORE-TIMESYNC-NTP                                              PASS                 3.27
20 BVT-CORE-VERIFY-LIS-MODULES                                        PASS                 2.89
21 BVT-CORE-VERIFY-LIS-MODULES-VERSION                                PASS                 2.75
22 BVT-CORE-RELOAD-MODULES-SMP                                        PASS                14.03
23 BVT-CORE-TIME-CLOCKSOURCE                                          PASS                 2.75
24 BVT-CORE-TIME-CLOCKEVENT-UP                                        PASS                 3.05
25 BVT-CORE-TIME-CLOCKEVENT-SMP                                       PASS                 2.91
26 BVT-NET-ETHTOOL-CHECK-KEYS                                         PASS                 2.73
27 BVT-NET-ETHTOOL-CHANGE-RINGBUFFER                                  PASS                 3.54
28 BVT-NET-ETHTOOL-TCP-HASHLEVELS                                     PASS                 2.93
29 BVT-NET-ETHTOOL-UDP-HASHLEVELS                                     PASS                 3.42
30 BVT-NET-ETHTOOL-GRO-LRO                                            PASS                 2.81
31 BVT-NET-ETHTOOL-CHECK-CHANNEL                                      PASS                 2.98
32 BVT-NET-IFUP-IFDOWN                                                PASS                 6.33
33 VERIFY-DEPLOYMENT-PROVISION                                        PASS                 5.43
FirstBoot : PASS
FirstBoot : Call Trace Verification : PASS
Reboot : PASS
Reboot : Call Trace Verification : PASS
34 VERIFY-DEPLOYMENT-PROVISION-EPHEMERAL-MANAGED-DISK                 PASS                    5
FirstBoot : PASS
FirstBoot : Call Trace Verification : PASS
Reboot : PASS
Reboot : Call Trace Verification : PASS
35 VERIFY-DEPLOYMENT-PROVISION-SRIOV                                  PASS                 5.38
FirstBoot : PASS
FirstBoot : Call Trace Verification : PASS
Reboot : PASS
Reboot : Call Trace Verification : PASS
36 VERIFY-HOSTNAME                                                    PASS                 3.42
VHD Under Test        : ubuntu_18.04.1.vhdx
Total Test Cases      : 16 (16 Pass, 0 Fail, 0 Abort)
Total Time (dd:hh:mm) : 0:0:59
XML File              : TestConfiguration
ID TestCaseName                                                 TestResult TestDuration(in minutes)
1 BVT-VERIFY-DEPLOYMENT-PROVISION                                    PASS                 4.33
FirstBoot : PASS
FirstBoot : Call Trace Verification : PASS
Reboot : PASS
Reboot : Call Trace Verification : PASS
2 BVT-CORE-TIMESYNC-NTP                                              PASS                 2.62
3 BVT-CORE-VERIFY-LIS-MODULES                                        PASS                 2.51
4 BVT-CORE-VERIFY-LIS-MODULES-VERSION                                PASS                 2.55
5 BVT-CORE-RELOAD-MODULES-SMP                                        PASS                14.68
6 BVT-CORE-TIME-CLOCKSOURCE                                          PASS                 2.47
7 BVT-CORE-TIME-CLOCKEVENT-UP                                        PASS                  2.4
8 BVT-CORE-TIME-CLOCKEVENT-SMP                                       PASS                 4.12
9 BVT-NET-ETHTOOL-CHECK-KEYS                                         PASS                 2.46

10 BVT-NET-ETHTOOL-CHANGE-RINGBUFFER                                  PASS                 2.51
11 BVT-NET-ETHTOOL-TCP-HASHLEVELS                                     PASS                 2.52
12 BVT-NET-ETHTOOL-UDP-HASHLEVELS                                     PASS                 2.37
13 BVT-NET-ETHTOOL-GRO-LRO                                            PASS                 2.55
14 BVT-NET-ETHTOOL-CHECK-CHANNEL                                      PASS                 2.44
15 BVT-NET-IFUP-IFDOWN                                                PASS                 5.14
16 VERIFY-DEPLOYMENT-PROVISION                                        PASS                 4.13
FirstBoot : PASS
FirstBoot : Call Trace Verification : PASS
Reboot : PASS
Reboot : Call Trace Verification : PASS

@lizzha please sign-off and merge this PR, it has multiple changes and we have to merge it soon so we don't have to keep updating it.
Thank you!

@asofron Do you included remove enable root in framework, I saw this case failed BVT-IS-ROOT-PASSWORD-DELETED.

@LiliDeng  could you file a PR for the change of removing enable root?

@asofron You make mistake when merged code in PERF-NETWORK-TCP-SINGLE-CONNECTION-THROUGHPUT.ps1, it is strange, you didn't hit PR-Checker error, but I hit in my PR.

@asofron please address Lili's comments, she will fix the performance test, please double check the functional test.


Mypy broken after v2.6.4 for inherited optional fields

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Mypy is giving wrong types after v2.6.4 for inherited optional fields. This worked at v2.6.3.
Example Code
from typing import Generic, TypeVar

from pydantic import BaseModel

A = TypeVar("A")

class MyModel1(BaseModel, Generic[A]):
    field: A | None

class MyModel2(MyModel1[int]):
    pass

# This works ok
reveal_type(MyModel1[int](field=0).field)  # Revealed type is "Union[builtins.int, None]"

# This broke after v2.6.4. Before it was correctly 'Revealed type is "Union[builtins.int, None]"'
reveal_type(MyModel2(field=0).field)  # Revealed type is "builtins.int"

Python, Pydantic & OS Version
pydantic version: 2.6.4
        pydantic-core version: 2.16.3
          pydantic-core build: profile=release pgo=false
                 install path: xxx/lib/python3.12/site-packages/pydantic
               python version: 3.12.2 (main, Feb  6 2024, 20:19:44) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]
                     platform: macOS-14.3.1-x86_64-i386-64bit
             related packages: fastapi-0.110.0 mypy-1.9.0 typing_extensions-4.9.0
                       commit: unknown

Possibly a regression of https://github.com/pydantic/pydantic/issues/7399

This seems to be a dupe of https://github.com/pydantic/pydantic/issues/9068


Fixes so Conservation plugin works

I've checked out the branch on the test starman, that seems to fix it:
http://rest.ensembl.org:8080/vep/human/id/rs699?content-type=application/json&Conservation=1&Blosum62=1
Also, travis is happy now :-)


CFF charstring width is always encoded

This code:
    def getCharStringForGlyph(self, glyph, private, globalSubrs):
        """
        Get a Type2CharString for the *glyph*

        **This should not be called externally.** Subclasses
        may override this method to handle the charstring creation
        in a different way if desired.
        """
        width = glyph.width
        # subtract the nominal width
        postscriptNominalWidthX = getAttrWithFallback(self.ufo.info, "postscriptNominalWidthX")
        if postscriptNominalWidthX:
            width = width - postscriptNominalWidthX
        # round
        width = round(width)
        pen = T2CharStringPen(width, self.allGlyphs,
                              roundTolerance=self.roundTolerance)
        glyph.draw(pen)
        charString = pen.getCharString(private, globalSubrs)
        return charString

If width is equal to postscriptDefaultWidthX, it does not have to be encoded.  I suppose that value can itself be automatically set to be equal to whatever glyph width is most frequent.

fixed by #277 (also cf. #216)


The fonts are not served from the subpath

What happened:
When Grafana is served from sub path the font files are not served from the sub path.

What you expected to happen:
The fonts should be served from the sub path.
Like editor.main.js

How to reproduce it (as minimally and precisely as possible):
Dockerfile
version: '2'
services:

  grafana:
    image: grafana/grafana:8.0.3
    container_name: grafana
    restart: always
    networks:
      - grafana
    ports:
      - 3000:3000
    environment:
      - GF_INSTALL_PLUGINS=gapit-htmlgraphics-panel
      - GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:%(http_port)s/grafana/
      - GF_SERVER_SERVE_FROM_SUB_PATH=true

networks:
    grafana:
      external:
            name: grafana

Anything else we need to know?:
Environment:

Grafana version: 8.0.3
Plugin (gapit-htmlgraphics-panel) version: 1.3.3
Data source type & version:
OS Grafana is installed on: Ubuntu 20.10 (docker)
User OS & Browser: Ubuntu 20.10 & Chrome v91
Grafana plugins:
Others:

Discussion #19


Implement "optional_args" parameter for NAPALM integration

Issue type:
Bug Report
Python version:
2.7.12
NetBox version:
2.1.0
First off, let me state that your work with integrating NAPALM into NetBox is outstanding.  From what I've found so far, it works perfectly with Juniper devices.  However, in my envrionment, when I try to use this new functionality with my IOS devices, I get the following error:
Error connecting to the device: Failed to enter enable mode

As mentioned in the NetworkToCode Slack channel, I encountered this problem previously and was able to solve it by supplying the optional_args dict which contained the parameter secret=[PASSWORD] to the NAPALM driver for the device (see http://napalm.readthedocs.io/en/latest/base.html for details).
I tried to test a solution myself in the /netbox/netbox/dcim/api/views.py file of v2.1.0, but was unsuccessful (most likely due to not understanding in depth how the integration took place).
My solution is something as simple as this in the views.py file mentioned above (in pseudo-code):
d = driver(
     hostname=ip_address,
     username=settings.NETBOX_USERNAME,
     password=settings.NETBOX_PASSWORD,
     optional_args.secret=settings.NETBOX_PASSWORD,

I'm assuming this is a simple fix due to the great work done by the team developing NAPALM, but if you need help testing a solution, I'd be happy to help.

NAPALM optional args for reference.
I think it makes sense to introduce a NAPALM_ARGS configuration parameter to hold a dictionary of these arguments, and pass it on every instantiation of a NetworkDriver. Seems that any args not recognized by a driver are ignored, so it should be safe to apply the same arguments to all drivers/platforms.
While we're at it, we should add a NAPALM_TIMEOUT setting (the default is 60 seconds).

That works for me.  Oddly enough, I don't see the secret argument in the link you referenced, perhaps the developers of NAPALM need to update their documentation.

Sorry, I pressed the wrong button. :wink:


Two players starting doafter to cuff single target will result in two pairs on cuffs on target

Description
Two players starting doafter to cuff single target will result in two pairs on cuffs on target. Kinda funny, but probably unintended. If intended, let one start applying cuffs to already cuffed target.
Reproduction

Get two players controlling their humanoid mobs, two pairs of cuffs (per player), third humanoid mob serving as target
Start cuffing target together
Watch two pairs of cuffs appear on target mob, both as sprites and in strip menu

Additional context
Recently reproduced on Lizard.

https://user-images.githubusercontent.com/67359748/186304980-cf5a9d3b-6770-41ec-9f34-3e2c8564fb0b.mp4
Video of it actively happening (this time with a triple cuff)

Care should be taken to still support more than 2 hands getting cuffed. I know the cuffable system has some funny logic for that which the 4 handed spiders used and I think makes sense to keep for downstream / future multi-handing.


Update builder to go 1.17 and docs

Signed-off-by: Nicko Guyer<EMAIL_ADDRESS>

Codecov Report

Merging #868 (60130bb) into main (72747b7) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #868      +/-   ##
==========================================
+ Coverage   99.95%   99.97%   +0.02%
==========================================
  Files         299      299
  Lines       19456    19456
==========================================
+ Hits        19448    19452       +4
+ Misses          6        4       -2
+ Partials        2        0       -2

Impacted Files
Coverage Δ

internal/tokens/fftokens/fftokens.go
100.00% <0.00%> (+0.44%)
:arrow_up:

internal/apiserver/server.go
100.00% <0.00%> (+1.01%)
:arrow_up:

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 72747b7...60130bb. Read the comment docs.


Import YAML Files

Hi,
i tried to import the YAML files from the Sentinel Github using the Import-AzSentinel command, however this failed without any error messages.
https://github.com/Azure/Azure-Sentinel/tree/master/Detections - ideally i wanted to deploy quiet a few of these alert rules via YML files.

@kay07949 thanks for the feedback, can you share your error message with us?

@kay07949 try running with the -Verbose flag to see why it's failing. E.g.
Import-AzSentinelAlertRule -Verbose -SettingsFile Detections/AWSCloudTrail/AWS_ChangeToVPC.yaml

It is time related and is fixed with your proposed pr, great work @pemontto
The string 'PT1D' is not a valid TimeSpan value. ISO 8601 format is expected. Path 'Properties.QueryFrequency'


Updated docker-compose to 3.0, use of .env file, and use of a custom network

Hi;
This may be useful for your;

I updated the docker-compose.yml file, to docker-compose 3.0 specs.
Avoid the use of "enviroment" key, and isolate the enviroment vars in a separated file (I versioned a .env.example only).
Use of a custom network, for better management in the host running docker.

If you want, i can edit the readme and document the use and changes, and why is better this approach.
Regards.

Tested in:
Linux Mint 18.2, and last versions of Docker and docker-compose.
Debian 9 and last versions of Docker and docker-compose.

Thanks @joserprieto for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

Thanks @joserprieto !
I'm quite busy for now but I promise I'll take a look :)

So we're back on the same question again @jasonblais and @xcompass : should we move to Docker Compose 3 ?
Maybe it is a good idea. Actually, the docker-compose.yml file provided in this repository is just a cool tool we provide to help people deploying with Docker. In fact, it is quite easy to build Docker images (using Dockerfiles) and deploy without Docker Compose (or with an old version). I did it for my production server because I have some custom needs, and this is not something really hard if you have some basics with Docker.
My point is : the docker-compose.yml file on this repository is not that critical. In few minutes you can easily create a new one, matching your needs. So changing version of Docker Compose is okay as soon as we provide correct documentation on how to build the Docker images.

@pichouk I forget the previous discussion, but what were the potential side effects of moving to Docker Compose v3? (Link to a previous post is okay, I wasn't able to find it)
And conversely, what is the benefit of moving to v3? At first it was to support swarm cluster I think, but that is resolved with https://github.com/mattermost/mattermost-docker/pull/176

@jasonblais We add some discussions about this subject on #151 and this forum post (and a little on #104 and #147).
Yes the main benefit to moving to v3 is the swarm support, but it was solved. So, the "only" benefit now is to be up to date on our default configuration to deploy with Docker. I have no particular interest to moving on v3. It just not the first time someone submit the idea ;)

Thanks! I'm okay switching to v3, don't see major issues and seems to be the preference of the community @pichouk

As long as we update the documentation accordingly, which you've taken care of here :)
Can you also help take a look at

https://docs.mattermost.com/install/prod-docker.html and
https://docs.mattermost.com/install/docker-local-machine.html

to see if anything needs to be updated?

@jasonblais Great :)
We will work on this PR with @joserprieto since there is some things to correct/change, but when it will be ready I'll take particular attention to Mattermost documentation and will update it :)

I read all the discussions, and i think that here are a debate of use version 2 or version 3 of docker-compose files.
The solution can be easy; put docker-compose.v2.yml.sample and docker-compose.v3.yml.sample, and the correspondent instructions on the README.
I make a PR right now with this approach in mind.

Changes done!
Please, review, @pichouk @xcompass
Regards.

@pichouk about the main documentation, that remarks @jasonblais, i think that:
https://docs.mattermost.com/install/prod-docker.html

Deploy the Mattermost Production Docker setup by running:
git clone https://github.com/mattermost/mattermost-docker.git
cd mattermost-docker
docker-compose build
docker-compose up -d

Can be:

Deploy the Mattermost Production Docker setup by running:
git clone https://github.com/mattermost/mattermost-docker.git
cd mattermost-docker
open the README and follow instructions to select docker-compose version and for the enviroment vars.
docker-compose build
docker-compose up -d

The other link:
https://docs.mattermost.com/install/docker-local-machine.html
Is for use on a dev environment, not for make all the stack and so on.
Regards!

@joserprieto Thanks. I would prefer to leave a docker-compose yaml file as default one (maybe v3 one). And let people to copy v2 one or use -f option if they need v2 compose file.

@xcompass so, change this?
I not like the versioning of "production" files, because if you want to change this, you will not can update the repo (imagine, you use this repo as a submodule...).
Opinions, @pichouk @jasonblais ?

As I suggest on https://github.com/mattermost/mattermost-docker/issues/203#issuecomment-348707187 I think we can have a "classic/old-school" docker-compose.yml file (for retrocompatibility) and add a new docker-stack.yml file (based on existing /contrib/swarm/docker-stack.yml) for Swarm/Docker compose v3 features.

There is a problem with maintain the docker-compose.yml versioned.
If i have one project, or, i want to deploy this project to a server, and i want to update, i can't change nothing of the repo; so, if i need adjust the docker-compose.yml file (for my needs, or comment the file, or something...), i can't.
I think that isn't good for the use of the repo.
So, we can have:

docker-compose-v3.yml (or docker-stack-yml)
docker-compose-v2.yml

And in the REAME.md, add instructions, like:

To have v3 of docker-compose:
ln -s docker-compose-v3.yml docker-compose.yml
Or, if you want to customize your docker-compose file:
cp docker-compose-v3.yml docker-compose.yml

(Something like that).
If we provided "configuration files" (the docker-compose file defines and configure the stack that uses an application), the process of update isn't possible (as i think).
So, i think that a better approach, is

have two files like this:

docker-compose-v3.yml (or docker-stack-yml)
docker-compose-v2.yml

add the docker-compose.yml to .gitignore

What do you think?
Regards.
(i think that you have to take one decision, @pichouk, @xcompass, and @jasonblais)

I agree with @joserprieto now. We will never achieve to have a "perfect docker-compose.yml that match everyone needs". Maybe we should provide multiple example files and let users choose what they want to use.
Also it will force users to understand what they are doing, and avoid to just run git clone && docker-compose up -d, that can lead to situations where a user doesn't understand how to upgrade/where data is stored, etc.
It will not be a breaking change. Current users will still have their docker-compose.yml file so it will not break their setup.

@pichouk when you remove the docker-compose.yml from this repo, wouldn't it also remove from the local repo when one pulls the change (assume no change in the file)?

@xcompass Hum you're right. I just tested it and if we want to remove the docker-compose.yml file and add it to .gitignore, it will remove the file on local repositories when pulling only if you never change the file.
If you modify this file (to change default password for example) you will not be able to pull, so it will not remove it. So everybody have to backup the file, pull the change, and restore it.

I'm agree with @pichouk.
And, remember, this docker / stack is for production purpose; so, the normal behaviour is to change default passwords on the docker-compose.yml (passwords that will be isolated, on a .env file, like in my PR).
I think that a votation may resolve this question; logically, i can't vote, but the mattermost team's votes can resolve all of this.
Regards.

Good for me. If @jasonblais and @xcompass are ok, then you can update your PR to match this new organization.
We will take care that it didn't broke current users installations and that documentation is correctly updated.

About of to not broke current users installations; i can see two scenarios:
User changed the docker-compose.yml file (the default behaviour, i hope...); so, this user can't make a git pull and not loses his configuration (on his docker-compose.yml file); when he makes a git pull, it has to force it, and discard changes on his docker-compose.yml file (so, this new approach is good for him).
User not changed the docker-compose.yml file; yes, in this case, if we put the docker-compose.yml on the .gitignore file, they docker-compose.yml file will "disappears" whith git pull.. But i think that is a very helpful behaviour, because forces the user to change default users and passwords (that are in the docker-compose.yml file already).
A correct approach (imho), it's to isolate the vars outside the docker-compose.yml file (on a .env file gitignored too), and isolate the production ready docker-compose.yml, that defines the stack (so, it's a configuration file, in a certain way..)
I think that is this approach is reflected on the documentation, the user will not have trouble with the change.
Regards.

Any news on a merge for this PR ? Once its merged i'll start to work on #203 :)

@joserprieto can submit changes describe in this comment and, as soon as @xcompass and/or @jasonblais approve this changes, we can merge :)

The use of docker volumes, or Traefick, i think that is a personal election.
For example; on the current stack definition, we have:
    volumes:
      - ./volumes/app/mattermost/config:/mattermost/config:rw
      - ./volumes/app/mattermost/data:/mattermost/data:rw
      - ./volumes/app/mattermost/logs:/mattermost/logs:rw
      - /etc/localtime:/etc/localtime:ro

    volumes:
      # This directory must have cert files if you want to enable SSL
      - ./volumes/web/cert:/cert:ro
      - /etc/localtime:/etc/localtime:ro

And yes, we can use something like that:
version: "3"
services:
(...)
    volumes:
      - mttm-config:/mattermost/config:rw
      - mttm-data:/mattermost/data:rw
      - mttm-logs:/mattermost/logs:rw
      - etc-localtime:/etc/localtime:ro
(...)

volumes:
  mttm-config:
  mttm-data:
  mttm-logs:
  web-cert:
  etc-localtime:

But it's the same of the discussion on other threads; is better to use volumes? is better to use custom networks? is better to use compose files v2 or v3?
The answer is easy; depends of the use case.
With traefick, is the same.
I think that put sample docker-compose files, is the best choice; and, with this, any user can take is own decissions, taking his/her use case.

@pichouk , if i'm not wrong, i make the changes.
I resume changes made:

Created two separated files; docker-compose-v3.yml.sample and docker-compose-v2.yml-sample.
Updated the v2 to get the advantange of isolated environment vars in a .env file.
Updated the README with the instructions to use the docker-compose that you choose, and the .env file that you need.
gitignored files .env and docker-compose.yml

I think that is all done... But, if any change is needed, please, tell me.

Another changes that can will add, is the explanation of how isolated the .env file and docker-compose.yml file.
One option (as valid as another), is take advantage of git hooks. And do something like:

Put the .env and the docker-compose.yml files outside the repo directory.
Make symlinks to this files, on the repo dir.
Before a pull/push, remove this symlinks.
After the pull/push, make the symlinks again.

Another form, is make a simple bash script outside the repo dir, that do something like "setup.sh --enable" and "setup.sh --disable", for put symlinks / delete symlinks, before/after pull/push.
Maybe useful to explain this on the README. Or, it can be useful on the docs. As you wish :wink:

Well, for "simple" compose files (debate v2/v3), i think that going with the flow is important here, v2 is getting really old and should be present only for backward compatible reasons.
Regarding the "Volumes" debate, a quick look at docker doc is enough for me:

Volumes are the preferred mechanism for persisting data generated by and used by Docker containers. While bind mounts are dependent on the directory structure of the host machine, volumes are completely managed by Docker. Volumes have several advantages over bind mounts ...

I read a lot of people being reluctant to move to docker volumes because they think its easier to backup, why would it be ? Docker volumes are stored in a predictible directory on the host ... (/var/lib/docker/volumes) and are named like you named them in the compose file.
They offer better integration with docker, better isolation & avoid dirty permissions hacks.
And btw using local mounts tied to one host makes no sense in a multi-node swarm where you want your storage to be distributed & redundant over multiple nodes, or at least portable.
Same goes for custom networks, they offer better isolation for services, while still allowing them to talk to each other if the user wants to.
As for the env file, to the best of my knowledge it is simply not functional in docker stacks for docker swarm mode, people have to use docker secrets & environment.
And for Traefik, yes it is a personal choice, but it offers this choice to the users of this repo, and doesn't prevent from adding more choices for them in the future by adding more compose/stack file with support for more load-balancers ...
Having a single node swarm is almost pointless, people running swarms have these kind of services, we simply provide them with a good example here.
Traefik is a container ready solution, unlike things such as nginx-proxy, and offers a quick and nice way of handling https by automating creation & renewal of ssl certificates.
For all of these reasons, i completely back the solution with multiple yaml "sample" files in the root of the repo, with something like:

docker-compose.yml (v3, volumes)
docker-compose-v2.yml (v2, mounts, for backward compatibility)
docker-stack.yml (v3 with volumes, configs, secrets, environment, network)
docker-stack-with_traefik.yml (same but with traefik & letsencrypt)

I'm willing to do this, or part of it, depending of what you decide.

@joserprieto Great :)
I made a review, I'll like @xcompass to review too.
Also, it is important to update documentation on this page. So if you can submit a PR on this file too I'll appreciate :)
To add new features (as @pdemagny suggest) I prefer to wait for another PR, but it is a good idea :)

@pichouk i think that i made all fixes.
Review and if you see more errors, please, tell me.
About the documentation, i can propose here the new doc page, and if you like it, i wll make the PR.
Do you agree in proceed on this way?
Regards.

LGTM, thanks a lot :)
@joserprieto I'm okay to do it this way !

But, this PR is still open?
Why?

@joserprieto You proposed to submit a PR to Mattermost documentation before merging this one.

Ah, ok.
I'll try to do it this weekend

This issue has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!
/cc @jasonblais @hanzei

Hey @pichouk,
What is the status of this PR? Can it be merged after it has been synced with master?

We are dropping the support of the docker-compose.yml file so I guess we can close this PR.


critical in accessible::tests::test_accessible_update_state

Bug description
Running accessible::tests::test_accessible_update_state causes a critical that looks a little concerning.
Maybe it could be useful to set fatal criticals in tests? Or would that cause too many flaky tests?
test accessible::tests::test_accessible_update_state ... ok

(process:1000119): GLib-GObject-CRITICAL **: 18:07:29.862: g_value_get_pointer: assertion 'G_VALUE_HOLDS_POINTER (value)' failed

Generally a good idea to make criticals fatal and we do that in gtk-rs-core (I hope!) and gstreamer-rs (definitely)


PGXL failing on large datasets

Trying to run one of our memex extractors, PGXL fails on the following query:
SELECT DISTINCT t0.id AS factor_id, t1.id AS weight_id,  "ismassageparlorad.id"
FROM dd_query_f_ismassageparlorad_features t0, dd_weights_f_ismassageparlorad_features t1
WHERE  t0."ismassageparlorad.feature" = t1."ismassageparlorad.feature"
A few observations:

It seems DISTINCT is redundant and can be dropped (?)
I added an index on the two feature columns, but that didn't help
feature is not a distribution column – we can try to redistribute the table (but shouldn't that happen automatically, when trying to join?)

PGXL distributes by first usable (primitive types) column by default. If both base tables were distributed by the ID column, this join would probably make each data node send data to all other data nodes -- by the same token, each node would also process data from all other nodes. And the cross-node data pipes might not be very efficiently implemented.
Ideally the DDL code generated by DD should specify the best dist key (by feature in this case).

dd_query_f_ismassageparlorad_features (38GB) is distributed by "ismassageparlorad.id".
dd_weights_f_ismassageparlorad_features (18MB!) is distributed by REPLICATION.
This join should be trivial, no matter how the first table is distributed.
We also can't re-distribute the table for every join, because re-distribution is very expensive. I'm currently re-distributing the first table by feature, but the process is CPU-bound with only the coordinator showing activity (100% CPU).
Maybe I'm using too many nodes (32).

I tried re-running the query after redistributing the first table.
It's running now on our Azure instance using PGXL at a rate of 3.8MB/sec (this doesn't include the time for redistribution which itself took maybe an hour or more).
I also checked my logs to see how a corresponding query executed on Greenplum on raiders4. There, the rate is 1.8MB/sec (but we don't do redistribution).
Not sure why this takes so long using either database system. The data is so small that it could easily fit in memory.
alldefector – when you get a chance can you log into the machine and see if there's an easy fix? Thanks.

Here are the query plans:
Greenplum (after ANALYZE):
 Gather Motion 48:1  (slice2; segments: 48)  (cost=106201580.45..115136401.10 rows=11701014 width=24)
   ->  HashAggregate  (cost=106201580.45..115136401.10 rows=11701014 width=24)
         Group By: t0.id, t1.id, t0."rates.id"
         ->  Hash Join  (cost=13119111.20..98670881.40 rows=11701014 width=24)
               Hash Cond: t0.feature = t1.feature
               ->  Seq Scan on dd_query_rates_features t0  (cost=0.00..7913286.40 rows=11701014 width=39)
               ->  Hash  (cost=5525981.00..5525981.00 rows=10945052 width=37)
                     ->  Broadcast Motion 48:48  (slice1; segments: 48)  (cost=0.00..5525981.00 rows=10945052 width=37)
                           ->  Seq Scan on dd_weights_rates_features t1  (cost=0.00..162905.52 rows=228022 width=37)

PGXL (after redistribution and ANALYZE):
 Unique  (cost=300927152.97..315138286.41 rows=1421113344 width=24)
   ->  Remote Subquery Scan on all (data1,data10,data11,data12,data13,data14,data15,data16,data17,data18,data19,data2,data20,data21,data22,data23,data24,data25,data26,data27,data28,data29,data3,data30,data31,data32,data4,data5,data6,data7,data8,data9)  (cost=300927152.97..304479936.33 rows=1421113344 width=24)
         ->  Unique  (cost=300927152.97..304479936.33 rows=1421113344 width=24)
               ->  Sort  (cost=300927152.97..304479936.33 rows=1421113344 width=24)
                     Sort Key: t0.id, t1.id, t0."ismassageparlorad.id"
                     ->  Hash Join  (cost=9161.86..55742915.54 rows=1421113344 width=24)
                           Hash Cond: (t0."ismassageparlorad.feature" = t1."ismassageparlorad.feature")
                           ->  Seq Scan on dd_query_f_ismassageparlorad_features_x t0  (cost=0.00..23758703.44 rows=1421113344 width=22)
                           ->  Hash  (cost=6040.27..6040.27 rows=249727 width=70)
                                 ->  Seq Scan on dd_weights_f_ismassageparlorad_features t1  (cost=0.00..6040.27 rows=249727 width=70)

(The unique is unnecessary and it is dropped if you remove DISTINCT from the query; when executing, I ran without DISTINCT.)

@SenWu Is DISTINCT necessary for this query?

@raphaelhoffmann I think you can delete it.


Getting exception while uploading favicon image if image is of high size

Bug report
Title
Getting exception while uploading favicon image if image is of high size
Preconditions
1. framework Version. Master

Steps to reproduce
1. step1: first upload any image in logo
2. step2: after that try to upload any high size(eg.3.5mb) image in favicon

Expected result:
should get validation message
Actual result:
https://prnt.sc/trqrnb

fixed


chore: fix function name in comment

Description of changes
fix function name in comment
Test plan
How are these changes tested?
No need

[ ] Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Documentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs repository?

Thank you for contributing!


FIX #734 Changed vectordb into vector_db

Description
vectordb is changed to vector_db everywhere
Fixes #734
changing vectordb to vector_db

Thanks for the PR but looks like a lot of changes are irrelevant now. Closing this PR due to inactivity.


Adds auto pagination for octokit

Summary
Adds auto pagination to octokit. In this way we can show all the repos for an organization
TODO: This is not the best way to solve the issue because the gem will request all the pages one after the other. This can hit the API rate limit. We should paginate the page that shows the repos.

:+1:


RFE: Ability to reset statistics

Issue #293 added support for pulling virtual server / pool / etc statistics but it appears that support for resetting statistics was not included.  I'd like to request the addition of this functionality.
It may make sense to add a "delete" function which resets the statistics (e.g., virtual.stats.delete()).

@jbnance hello , the way you reset stats is by issuing reset command via TMSH, from what I recall we can do this by adding ability to send command payloads to stats endpoints. I need to look at it at some point

@wojtek0806 FYI, the way this is done via rest is (for example, a pool):
POST /mgmt/tm/ltm/pool {"command": "reset-stats", "name": "testpool"}

this should be a simple addition of the CommandExecutionMixin to the collections of interest for stats. Any objections @wojtek0806 to selecting the obvious objects  this would apply and starting there?

you can enable that on all of the stats endpoints here: https://github.com/F5Networks/f5-common-python/blob/6a612fcd801507f8d91f0d8e22d670379249bbf3/f5/bigip/resource.py#L1232
Modify this class to inherit from command mixin:
https://github.com/F5Networks/f5-common-python/blob/development/f5/bigip/mixins.py
Or do this per endpoint if it is less messy


Image Gallery is not centering the product and cannot zoom in

Describe the bug
Image Gallery is not centering the product and cannot zoom in
Steps to reproduce
Go to any PDP page example
Screenshot

#evergreen
"@faststore/core": "2.1.43",

Hi @victors1682 👋

Related to the zoom in feature, it's not implemented yet 🙇♀ . The component's name may have caused this confusion, and we should rename it. We will work on it.

Not sure why the Image is not centering. I've tried this image link here, and it seems to be cropped as expected. Have you changed any prop when calling it?

@hellofanny Hello, I think is because the old storeFront has the image property object-fit: contain while the faststore use object-fit: cover;
storeFront

A workaround might be to add another property  object-position: bottom; to center all the images using cover.

Enabled

Hey @victors1682 👋  I've got some updates!
➡ We've added a new prop to help position the image in the ImageGallery. You can try using the imagePosition prop for it.
➡ The imagePosition can also be set via CMS
⚠ We've renamed the ImageZoom component. Now it's called ImageGalleryViewer. The image's zoom feature will be implemented in the future.
These changes are available on @faststore/core": "2.1.93

@hellofanny  thank you! I'll try this out!


Fill the left side of the page with the post.

This is the page in question : https://koushikphy.github.io/ide_quick_refrence/
This the page in the repo: https://github.com/Koushikphy/Koushikphy.github.io/blob/master/_pages/ide_ref.md
Problem:

As you can see the page has a blank on the left side, where the author profile stays. I want to fill the place with the post but I can't get it done. I don't want the author profile but I want to keep the table of contents on the right side. Is there a way to do that?
I want to keep the table of contents sticky, so as the user scrolls the page the toc keeps in view. But the toc is long and if I make it sticky then the lower side of the toc becomes completely blocked from view. So can I make the toc so that instead of being completely sticky it scrolls up a little when the user scrolls to the bottom of the page.

Duplicate of #2453


Add example usage for each Header

The header types docs could show an example usage on each of their respective pages.

This is solved by #503

Ah, when I meant example usage, I meant showing in a rust code fench how to
create a header to to send in a Request/Response.


Dew Point Temperature Bug

My OAT is 23 degrees. My JSON file is configured correctly for multiple stations. For some reason my Dew Point and Apparent Temperature displays in 5 digits and is completely erroneous. I am using Imperial Units. The Dew Point is 23 out but Weather Plus displays 65532 F. Any idea why this would be displaying this way?
I have a Weather Flow Tempest hooked into Weather Underground and am using Openweather for forecasting. Both display this erroneous Dew Point temp.
Looking for any assistance please.

Hello,
I have the same issue on EVE app, I think this is maybe related to my issue (Bug Temperature at or below 0 Home App not working). Do you know if our dew point or your apparent temperature should be below 0°C ?
Thanks

It might be. It's cold here. Hasn't been above 32 since I configured the JSON. I am not sure what the problem could be but there is definitely a bug somewhere.

I juste spend 4hours trying to understand how it works and I found the request to openweathermap are made in metric which shouldn’t be an issue(the value are correctly converted) but it seems to be.
For my issue, I think I found it the issue, homebridge can only simulate a temperature between 0-100. This why when we arrived below 0C homebridge is bugging and not the plugin.

Hi nicoryan, I was able to resolve my bug but unfortunately on EVE app my apparent temperature is still showing 65535 so I am not sure from where this bug is coming.

@frans2526 yep this is definitely a bug associated with the temperature dropping below 0 F. Today it is 35 F (above freezing) outside and the dew point and apparent temperature are reading normally.
This is definitely a big associated with the temperature dropping below 0 F.
Hopefully the plugin developer will see this and inspect the code to determine why the erroneous temperatures are displayed in 5 digits when the outside temperature drops below 0 F.

I created a pull request to merge fix suggested by @frans2526. https://github.com/naofireblade/homebridge-weather-plus/pull/167

Fixed in v3.2.3


vulkaninfo crashes after second gpu has been disabled

On a Linux host with openSUSE Leap_15.4 distribution vulkaninfo crashes after disabling the second gpu as show below:
The system configuration is
$ nvidia-smi
Wed Nov 23 11:50:16 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.53       Driver Version: 525.53       CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0  On |                  N/A |
| 36%   53C    P0    31W / 151W |   3548MiB /  8192MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  On   | 00000000:02:00.0 Off |                  N/A |
| 28%   33C    P8     5W / 151W |      7MiB /  8192MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
...

and vulkaninfo returns normal values:
$ vulkaninfo
==========
VULKANINFO
==========
...

According to this hint in the nvidia developer forum I did run:
$ sudo nvidia-smi -i 0000:02:00.0 -pm 0
$ sudo nvidia-smi drain -p 0000:02:00.0 -m 1

and got with
$  nvidia-smi
Wed Nov 23 11:45:27 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.53       Driver Version: 525.53       CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| 36%   54C    P0    33W / 151W |   3552MiB /  8192MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |

indicating that the second gpu has been switched off.
If I then rerun vulkaninfo I get
$  vulkaninfo
Memory access error (memory dump written)

$ gdb vulkaninfo
0x00007ffff4577cdf in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
(gdb) bt
#0  0x00007ffff4577cdf in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#1  0x00007ffff4574448 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#2  0x00007ffff7ec90b3 in ?? () from /usr/lib64/libGLX_nvidia.so.0
#3  0x00007ffff7f111bf in ?? () from /usr/lib64/libGLX_nvidia.so.0
#4  0x00007ffff48e3ca3 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#5  0x00007ffff4984cd2 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#6  0x00007ffff48d51d3 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#7  0x0000555555473d10 in GetVectorInit<VkPresentModeKHR, VkResult (*&)(VkPhysicalDevice_T*, VkSurfaceKHR_T*, unsigned int*, VkPresentModeKHR*), VkPhysicalDevice_T*&, VkSurfaceKHR_T*&> (
    func_name=func_name@entry=0x555555488c60 "vkGetPhysicalDeviceSurfacePresentModesKHR", f=@0x7fffffffcd00: 0x7ffff5e829a0 <vkGetPhysicalDeviceSurfacePresentModesKHR>, init=<optimized out>,
    init@entry=VK_PRESENT_MODE_IMMEDIATE_KHR) at /usr/src/debug/vulkan-tools-1.3.231-lp154.95.1.x86_64/vulkaninfo/vulkaninfo.h:236
#8  0x0000555555404924 in GetVector<VkPresentModeKHR, VkResult (*&)(VkPhysicalDevice_T*, VkSurfaceKHR_T*, unsigned int*, VkPresentModeKHR*), VkPhysicalDevice_T*&, VkSurfaceKHR_T*&> (
    f=@0x7fffffffcd00: 0x7ffff5e829a0 <vkGetPhysicalDeviceSurfacePresentModesKHR>, func_name=0x555555488c60 "vkGetPhysicalDeviceSurfacePresentModesKHR")
    at /usr/src/debug/vulkan-tools-1.3.231-lp154.95.1.x86_64/vulkaninfo/vulkaninfo.h:249
#9  AppSurface::AppSurface (surface_extension=..., phys_device=<optimized out>, inst=..., this=0x555555860970) at /usr/src/debug/vulkan-tools-1.3.231-lp154.95.1.x86_64/vulkaninfo/vulkaninfo.h:1259
#10 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/vulkan-tools-1.3.231-lp154.95.1.x86_64/vulkaninfo/vulkaninfo.cpp:1106

$ rpm -q vulkan-tools
vulkan-tools-1.3.231-lp154.95.1.x86_64

Reverting the change with
$ sudo nvidia-smi drain -p 0000:02:00.0 -m 0
$ sudo nvidia-smi -i 0000:02:00.0 -pm 1

left vulkaninfo works again.

My gut is telling me that this is a 'driver bug' but I'd be happy to be wrong. But now that I think about it, there was a recent change to vulkaninfo to skip surface/physical device pairs that aren't supported. This isn't in the 1.3.231 build, so if you have a moment it would be wonderful if you could build vulkaninfo from master which has the fix and see if that stops the crash.
Changes in question.
https://github.com/KhronosGroup/Vulkan-Tools/commit/9bb5a7ccd009446972c88f4af153c59e0f2eac83

With a build from current HEAD (tag v1.3.235) I also get a crash in vkGetPhysicalDeviceSurfaceSupportKH:
(gdb) bt
#0  0x00007ffff3d38cdf in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#1  0x00007ffff3d35448 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#2  0x00007ffff7ec70b3 in ?? () from /usr/lib64/libGLX_nvidia.so.0
#3  0x00007ffff7f0f1bf in ?? () from /usr/lib64/libGLX_nvidia.so.0
#4  0x00007ffff40a4ca3 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#5  0x00007ffff4145cd2 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#6  0x00007ffff4095d40 in ?? () from /usr/lib64/libnvidia-glcore.so.525.53
#7  0x000000000046451c in main (argc=1, argv=0x7fffffffd818) at /home/ralf.habacker/src/Vulkan-Tools/vulkaninfo/vulkaninfo.cpp:1110
(gdb) frame 7
#7  0x000000000046451c in main (argc=1, argv=0x7fffffffd818) at /home/ralf.habacker/src/Vulkan-Tools/vulkaninfo/vulkaninfo.cpp:1110
l1110                                                                                surface_extension.surface, &supported);
(gdb) l
1105                for (auto &phys_device : phys_devices) {
1106                    try {
1107                        // check if the surface is supported by the physical device before adding it to the list
1108                        VkBool32 supported = VK_FALSE;
1109                        VkResult err = instance.ext_funcs.vkGetPhysicalDeviceSurfaceSupportKHR(phys_device, 0,
1110                                                                                surface_extension.surface, &supported);
1111                        if (err != VK_SUCCESS || supported == VK_FALSE) continue;
1112
1113                        surfaces.push_back(std::unique_ptr<AppSurface>(new AppSurface(instance, phys_device, surface_extension)));
1114                    } catch (std::exception &e) {

if that stops the crash.

Running the master version did not solve the issue.
One small detail from the output of nvidia-smi with two graphics cards is that the X server allocated some memory to the second graphics card by default:
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A     18688      G   /usr/bin/X                        641MiB |
...
|    1   N/A  N/A     18688      G   /usr/bin/X                          4MiB |
+-----------------------------------------------------------------------------+

Then after I restarted the X server, the problem no longer occurred.

This smells like a driver bug or an x11 bug. If this problem happens with other vulkan programs, I feel it is rather like this isn’t an issue directly related to vulkaninfo.

When running a simple test application vulkan-test-linux-x68_64.zip, this error also occurs:
sudo nvidia-smi -i 0000:02:00.0 -pm 0
sudo nvidia-smi drain -p 0000:02:00.0 -m 1

./test
Memory access error (memory dump written)

I feel it is rather like this isn’t an issue directly related to vulkaninfo.

I agree, vulkaninfo is only affected by this bug, but not the cause.

I'm going to close the issue, since this appears to not be a vulkaninfo bug directly. If you find that vulkaninfo is doing something which triggers the crash or that the bug could be worked around with in vulkan, feel free to reopen.


test/check pandoc presence

https://github.com/r-universe/mhpob/actions/runs/7630207828/job/20785519594#step:4:940

No longer seems to be an issue -- RUniverse builds fine.


Takes a long time to sign in with Microsoft

Not sure if anyone else is seeing this, but it seems to be taking a long time to sign in with Microsoft - like over 10 seconds to show the login screen.  Google and Clever seem to be fine.
https://github.com/microsoft/pxt-arcade/assets/22108954/b8993c6d-b5e7-4668-9fd0-44c91b00859e

It is responsive for me. The account selector comes up right after clicking the Microsoft login button.

@aznhassan, can we check for a resource usage spike in the backend around this time? It's possible we were taking a long time to generate the redirect url. If the hang is happening after the browser redirects, that would indicate the identity service is experiencing some sort of issue.

may have been part of the SFI work...

Closing for now.  Let's monitor and can reopen if we're seeing this again.


Fix leading slash in tmpDir path

Fixes #139
What problem did you solve?
For some users, Preview Dataframe and Preview Environment fail with error EINVAL: invalid argument, mkdir, and a path with a leading slash (e.g., /c:/.../tmp).
This PR fixes that issue. Tested on Windows 10 (for which I had been experiencing the issue) and Ubuntu (for which I had not been experiencing the issue).

LGTM

@andycraig Thank you for PR.
@renkun-ken  Thank you for Review. I merge this.

Do you know if it solves also the same problem for Preview Environment?


VFO mode, F + UP/DOWN  == move + / - 1 MHz

Enhancement:
Many devices has the function where with function "F" selected, buttons UP/DOWN move vfo tuning frequency up or down of 1 Mhz.
Please could you add the same feature?

Maybe instead of 1MHz steps, make it 100Hz which would be useful for quick tuning/netting during SSB transmissions.

Considering the bin size constraints this will not be implemented.


Chore: Setup semantic versioning automation

Completed in commit: https://github.com/RafearTheModder/PoachedBugsVR/commit/a5adf5f4bce3c9c8cce205a32cad32dda592b4bc
Just forgot to use the resolve syntax in commit message


Find better solution / error page for feeds that are not scraped yet

Right now we just throw an error, this should probably be a "fetching in progress" message or page.
level=error ts=2018-08-23T22:33:58.515971321Z caller=service.go:40 msg="no value found for key 'rss_scmp'"
level=error ts=2018-08-23T22:34:12.749184206Z caller=service.go:40 msg="no value found for key 'json_scmp'"
level=error ts=2018-08-23T22:35:33.950560779Z caller=service.go:40 msg="no value found for key 'json_scmp'"

Hello there, I'm trying this project but unfortunately I'm not able to make it working.
I cloned the repository, I execute the bin /run_develop.sh but when I try to access an rss:
http://localhost:8080/feed/scmp/rss
I always have the error:
there was an error serving the feed
and in logs I can see:
level=error ts=2021-05-12T08:07:30.30856613Z caller=service.go:49 msg="no value found for key 'rss_scmp'"
I tried to leaving it working for several hours hoping it start fetching but without success.
If I try force the scariping:
curl -X POST http://localhost:8080/scmp/refresh?auth_token=feedbridge
I receive this error:
there was an error listing the plugins
And in the logs I can see:
level=info ts=2021-05-12T08:36:19.857660114Z caller=runner.go:114 plugin=scmp scrape_type=single msg="scrape started"
but nothing changes.
Can you help me?
What am I doing wrong?

Hey, I'm probably unable to investigate that issue because I haven't touched the project in a while. I'd guess that maybe the plugin is broken as the website changes and it never successfully scrapes the page.

Ah ok, so is there some difference between this repo and the live version at the address: https://feedbridge.notmyhostna.me/ ?
Because I see that the live version is working.

Can you try again, I just pushed a small fix and that seems to resolve the issue. I don't have any new releases or Docker images yet but if you run master it should work.

Thank you, I'll try immediately. I don't use Docker and I can't user your binary because I'm on arm64. Just few moments and I'll make you know.

Ok, just tested. Same situation with identical errors.
I noticed that you have also build a bin for arm64, I tested it and with your build I have a blank page in the browser and nothing in the logs.

With my own build after forcing the scraping with the command:

Yes you have to force the refresh or wait the defined interval for it to start the scrape automatically. Glad you got it working then!

I would use this your great project for generating an rss feed for a site that doesn't provide any rss, do you have some suggestion?

You'd have to write a custom plugin for that site similar to the other plugins that are already in the project and it should work. If you have any plugin related questions feel free to create a new issue or merge request and I'll try to assist. Good luck!


C++: Round towards +/- Inf in range analysis

This PR attempts to fix a long-standing problem with the range analysis. It doesn't handle 64-bit numbers correctly because we’re using double-precision floats for the arithmetic internally, and when we add 0xffff_ffff_ffff_ffff + 1 as doubles we get 0xffff_ffff_ffff_ffff. This makes the analysis believe the numbers can’t wrap around.
The problem is tracked in ODASA-7205 and was most recently reported on the lgtm.com forum by @pm215. The last attempt to fix this was the internal PR 26489 by @kevinbackhouse, which was abandoned due to a lack of time to investigate (1) performance implications and (2) a test failure caused by how the new rounding interacts with negative zero.
The first two commits are ports of PR 26489 to the open QL repository. Commit 3 factors out similar code, and commit 4 fixes the treatment of negative zero. I've tested the changes for performance on LibreOffice, ChakraCore, Blender and p3/regal, and I've found any slowdown to be within the noise level of our performance measurements. I've tested for correctness on LibreOffice, ChakraCore and Blender, and I found two FPs removed and two TPs removed. The removed TPs are of the following form, where we can't establish that my64bitnumber is small enough.
for (int i = 1; i < my64bitnumber; i++) {
  ... i == 0 ...
}

This test case is an example of the good results that go away with this change:
int overeager_wraparound(unsigned int u32bound, unsigned long long u64bound) {
  unsigned int u32idx;
  unsigned long long u64idx;

  for (u32idx = 1; u32idx < u32bound; u32idx++) {
    if (u32idx == 0) // NO ALERT BEFORE OR AFTER
      return 0;
  }

  for (u64idx = 1; u64idx < u64bound; u64idx++) {
    if (u64idx == 0) // ALERT BEFORE, NO ALERT AFTER
      return 0;
  }

  return 1;
}

Notice that the 32-bit case is wrong independently of this PR, so this PR just changes the 64-bit case to be as wrong as the 32-bit case.


Creating unrelated overload makes Cython fail to find a suitable method

I have the following code:
container.h
template<typename T>
class Container {
 public:
  Container(): value_() {}
  Container(const T& value): value_(value) {}
  T GetValue() { return value_; }

 private:
  const T value_;
};

class Thingy {
};

main.pyx
# distutils: language = c++

cdef extern from "container.h":
  cdef cppclass Thingy:
    pass

  cdef cppclass Container[T]:
    Container()
    Container(const T& value)

def main():
  cdef Container[long long]* c = new Container[long long](1 << 35)

Cython compiles the code and it runs fine.
However, if I add an additional specialised constructor for Container that accepts Thingy:
  cdef cppclass Container[T]:
    Container()
    Container(const T& value)
    Container(const Thingy& value)

Then Cython fails the compile the code, complaining that no suitable method is found:
Error compiling Cython file:
------------------------------------------------------------
...
  Container()
  Container(const T& value)
  Container(const Thingy& thingy)

def main():
  cdef Container[long long]* c = new Container[long long](1 << 35)
     ^
------------------------------------------------------------

main.pyx:13:57: no suitable method found

Explicitly casting to long long makes the error go away:
  cdef Container[long long]* c = new Container[long long](<long long>(1 << 35))

I would have expected that the code continue to compile even after the adding the additional overload.

Wild guesses for further analysis: it could be due to the const (try without it) or the large integer constant which probably gets represented as Python object (try a smaller number).

Testing some of the hypotheses:
Removing the const like so doesn't make the error go away:
  Container(T value)
  Container(Thingy thingy)

Using a smaller constant does make the error go away:
  cdef Container[long long]* c = new Container[long long](1 << 30)

works fine, but 1 << 31 does not. Explicitly saying 1L << 31 also does not make the error go away.
The odd thing is that without the additional overload, the original code with the large constant works fine.


Support per-repo GitHub account configuration

I've just started using hub.
As a first step I wanted to open the github webpage with git browse. hub insists that I have to enter my account which I do not see why I have to do this right now.
My motivation might seem a little bit odd:
I configure for each repository I am actually working on explicitly my name and email address. I do not like to have an enforced global setting. git-2.8 (March 2016) has added an option useConfigOnly which means if it is not set globally or locally it does not guess anymore and insists that the user has to configure it before committing. However, I only do this if I actually I want to do something in the repository. Simply opening the github webpage does not mean this necessarily.

Hi, thanks for writing in with a good question.
Some time ago, hub managed to pull off a lot of operations such as browse, clone, and others without ever needing your authentication info for GitHub. However, as it evolved and was expanded to handle more scenarios, such as renamed repos and detecting your own fork among git remotes, more and more commands over time required access to the GitHub API (or at least knowing your GitHub username).
Now, when it comes to browse, the command only needs your username in two scenarios. First, if you do hub browse dotfiles, it will take you to kiryph/dotfiles repo. Second, if you're browsing the currently checked out branch which is not master, browse will try to detect which is your fork, in case the branch is pushed there.
Chances are, neither of these cases apply to your usage. Therefore, theoretically we could change code in hub to only ask for credentials until absolutely necessary. But, I'm not convinced that it's worth my time to make the change. Most features of hub will need access to GitHub API, and therefore it doesn't make sense to try using hub for too many operations without giving it your credentials. You simply won't get much done with it.
If browsing repos is the only operation you meant to use hub for, and you're reluctant to give it your credentials, maybe you could skip hub and have a simple shell script that opens the homepage for a repo? Let me know if this makes sense.

Thanks for your detailed answer. Yes, it makes sense to me. I was already suspecting that the user credentials are something often used and therefore queried very early in the hub program.
For the simple task of opening only the github url one can use following bash script https://github.com/paulirish/git-open.
However, I might end up actually using hub and both commands seem to totally overlap. Therefore I  do not want to install both.
I have a second question: https://hub.github.com/hub.1.html#CONFIGURATION says that the OAuth token is stored to "~/.config/hub". Is it possible to store it per git repo to use different github accounts?

Sorry, someone already has asked this: #1259

Is it possible to store it per git repo to use different github accounts?

It could be possible to make that in code, but it would lead to poor user experience since the user would be resposible to configure auth credentials for each repo, and if they forgot to do that, they would be prompted for credentials each time.
I think your best resort is to use the environment variables.

Yes, this is actually what I want: being queried for each repository explicitly. As I said git supports this since version 2.8 for the git username and email address.
Because I use several accounts/usernames, I can easily forget it to set it to the correct one. After having pushed something with the wrong name you cannot amend and change this anymore. That's the reason I do not mind the inconvenience the first time I work with a new repo.
In the case of hub, I could picture following enhanced user experience:
A user can add several OAuth tokens to ~/.config/hub (to avoid your raised argument in #1259 that someone pushes it by accident to github). When the user runs for the first time a hub command hub could simply offer a list of available options. Something like this:
$ hub browse
> Which account do you want to use?
> (1) kiryph
> (0) Add a new account
Enter the number in parenthesis to make a choice [default=1]:

Multiple accounts might be a feature in a future version of hub, after we sort out multiple GitHub hosts (GitHub Enterprise support already exists but it can be awkward to set up). But, I can't promise that will come soon, since it's not a priority for me. Very few people have multiple GitHub.com accounts, and those that do I consider power users, and they have the option of having dynamically configured GITHUB_TOKEN as described in my hint at https://github.com/github/hub/issues/1259#issuecomment-249947507. Do you think that could be an acceptable workaround for you right now?

I can imagine that this feature is possibly not used by the majority of the users. BTW, I consider everyone who is using hub a power user in contrast to people who are using the webpage and GUI tools. The reason for several accounts is that I use github for different things which I do not want to mix. It is similar to why people have a work email address and a private email address. I am sure that you understand that there a good reasons to do this without being an actual power user.
Regarding the environment variable GITHUB_TOKEN
Honestly, I do not like the workaround. As you say it is a workaround and it feels this way. When I take the effort to annoy :innocent: someone on the web, I usually try to do it only if there is a slight chance of improving something without relying on workarounds. No offense intended.
I totally understand that adding this is not a simple change to hub as it would be making commands which do not need the credentials working without them. That's too bad. But I certainly appreciate that there is hub after all and I am thankful for your support and discussion.

I usually try to do it only if there is a slight chance of improving something without relying on workarounds. No offense intended.

Sure, and I think your suggestion for multi-account support is completely spot-on. I could totally see that implemented in the future, after the items in this roadmap: #1232
However, I don't like the UI that you suggester for it. If you configured ~/.config/hub with multiple accounts, I wouldn't want to see “Which account do you want to use?” prompt on every hub operation on the command-line. Instead, I would want one account to be the default, with the possibility of changing to another account via either a global --user flag, or an environment variable. How does that UI sound?

Or, actually, I just realized that you would consistently want to use a single account for a specific repository. Then we could go back to your original suggestion and support some kind of hub.user <USERNAME> key in local git config, assuming that USERNAME was previously configured in ~/.config/hub.

Yes, that's right. I want to use consistently one account for one repo. The way you describe it does sound how I would do it:
Adding an entry to <repo>/.git/config hub.user = <USERNAME> which points to the correct token in ~/.config/hub.

Okay, I'm renaming this issue then with a more descriptive title and keeping it open as a feature request. Thanks for the discussion!
In the meantime, I still suggest that you make a wrapper script for hub (like I suggested in a linked comment) that reads git config hub.user and sets GITHUB_TOKEN appropriately before invoking hub. This will solve your problem while you wait for hub to natively support this.

Thank you for adding this as feature issue. And giving me the feeling of a valued user :smiley:.

A new feature of git 2.13 introduces conditional includes, which means you can have conditional configurations for git, but kept at the system level (so they don't need duplicated between each repo). https://git-scm.com/docs/git-config#_conditional_includes
If I understood this thread correctly, I'll assume the scenario is with a personal github account and perhaps a company github enterprise account.
With the new git feature, you can tell get (in your global config) to include a file iff the current path matches "my-company". So you'd clone all of your github enterpise repos into ~/code/my-company/<all_the_repos>. Then the conditional include would be:
[includeIf "gitdir:my-company/"]
	path = /path/to/my-company.gitconfig

Then in /path/to/my-company.gitconfig, you'd have:
[user]
  email =<EMAIL_ADDRESS>[hub]
  host = github.my-company.org

This feature would allow hub to just rely on getting the hub user from git-config (which could then be configured conditionally based on the repo path using the conditional includes).

I'm not sure if others are looking for anything similar, but I thought I would share here as this issue is most relevant I feel.
My use case: distinguish between work and personal GitHub accounts for hub config
Workaround: use $HUB_CONFIG and direnv
I moved my work Github repos into a work directory and my personal GitHub repos into a play directory where those two directories each provide a .envrc file  (~/work/.envrc and ~/play/.envrc, respectively).
direnv will search for the .envrc file, which include HUB_CONFIG environment variable (export HUB_CONFIG=~/.config/hub-work and export HUB_CONFIG=~/.config/hub-personal, respectively), and my hub config contain a different oauth_token for each account.
direnv it smart enough to unload the environment variables when out of those directories as well as to load the environment variables in sub-directories.

@isaacaggrey Thanks for sharing this clever workaround!


Update authentication-panel gh pages

https://github.com/solid/solid-oidc/issues/13 aims to remove/update references where possible, however there may still be references to authentication-panel's gh pages. So:
Since authentication-panel's gh pages for solid-oidc and primer are no longer needed, remove its content and, if possible, set a redirect to solid-oidc's gh pages.

See https://github.com/solid/authentication-panel/pull/183


A couple of (small) tweaks of the AnnotationStorage (PR 12173 follow-up)

Initialize the AnnotationStorage-instance, on PDFDocumentProxy, lazily.
Change the AnnotationStorage to use a Map internally, rather than a regular Object (simplifies the following points).
Let AnnotationStorage.getAll return null when there's no data stored, to avoid unnecessary parsing on the worker-thread. This ought to "just work", since the worker-thread code should already handle the !annotationStorage case everywhere.
Add a new AnnotationStorage.size getter, to be able to easily tell if there's any data stored.

/botio unittest

Looks good!


mpnId property in developer section

The mpnId property of 'developer' is marked as required and the description says it is optional.

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

ID: 0f94a488-d636-92b3-21eb-c88744c8f272
Version Independent ID: 7b3413f4-9ade-accf-5cb2-83fead11a32a
Content: Manifest schema reference - Teams
Content Source: msteams-platform/resources/schema/manifest-schema.md
Product: msteams
GitHub Login: @clearab
Microsoft Alias: anclear

Thanks!


docs: correct the file name of "requirments_doc.txt"

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 85.888%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
7699

Relevant Lines:
8964

💛  - Coveralls


Factor.io website cannot be reached via www.factor.io address

The website cannot be reached if www is included in the address. The following error message is displayed:
ERROR
The request could not be satisfied.
Bad request.
Generated by cloudfront (CloudFront)
Request ID: (...)

Fixed.
To fix the issue I created a new S3 bucket for www.factor.io and setup an A record DNS route with aliasing to that S3 bucket. The S3 bucket is configured to route www.factor.io to factor.io.


Re-organize the test-cases folder structure: 1 test-cases 1 folder

Although the test-cases (a,b,c, etc.) in each folder want to test similar cases, for the sake of simplicity, testing, and understanding it would be better to have 1 test per folder and declare the similarity of that uses cases in the manifest.ttl file

done

done


Autocomplete: additional information on select

[x] All compiled assets are included (atom packages are git tags and hence the built files need to be a part of the source control)

This hacks typescript due to missing type in Autocomplete API.
Relates to #1558

Do you want to check this as well? Mine is a little simpler I think.

Superseded by https://github.com/TypeStrong/atom-typescript/commit/d11f7447fd2e19f16ba417b227851c25be8d2f60


master->dev: GHA: Docker build caching and other speed improvements (#3659)

GHA: docker caching & other speedups

closing as it needs conflicts resolving and that needs its own branch, can't be done on master.

closing as it needs conflicts resolving and that needs its own branch, can't be done on master.


csv report not generated for multi-project builds

When applying the plugin to a subproject of a multi-project gradle project, the csv report is not created.
When running gradle with --info flag, the plugin is printing the contents of the csv, but the report is not in the destination directory.
Buildscript block was added to subproject's build.gradle

Could you provide a sample project? I'm asking about this cause I have successfully added this plugin to a couple of mulit-project gradle projects. I'm wondering how it differs.

@marcingrzejszczak, please give me a day or so to put together a project.  The project in question is proprietary and I'll need to sanitize a bit.

configuration issue on my end.


Google Protobuf Runtime check require 4.27.0-dev for 4.26.1

When using your JPMS variant of com.google.protobuf there is an exception:

Caused by: com.google.protobuf.RuntimeVersion$ProtobufRuntimeVersionException: Detected mismatched Protobuf Gencode/Runtime version suffixes when loading crypto.pb.Crypto$KeyType: gencode 4.26.1, runtime 4.27.0-dev. Version suffixes must be the same.

I use the artifact com.google.protobuf:protobuf-java:4.26.1-jpms.

Ah, I see. You may need to ensure the generated code and runtime library match: https://protobuf.dev/support/cross-version-runtime-guarantee/
At this time, I don't think I've released a protoc binary in this repo. It is unfortunate that Protobuf devs saw fit to add this error, because here we are using a newer runtime and older gencode, which should still hold compatibility guarantees.
In any case, thank you for reporting. I will look into producing a protoc binary so that versions can line up.


Does scaleWithZoom work in Markers?

Perhaps I am misunderstanding its intended functionality but scaleWithZoom doesn't seem to work for me. When I zoom further into the canvas, the Marker Icon grows in size (until it's ridiculously big and covers way too much canvas/map area). My understanding is that the marker icon should remain the same size relative to the zoom/scale of the canvas?

Hey it sounds like what you want is for it to not scale with zoom - it defaults to on, so give scaleWithZoom={false} a try

Woops, that's exactly what I want, thanks!


Create generation memory.x for different mcu's in family

Than I tried build example for stm32fdisco-scree I got some interested message of compilation:
   Compiling stm32f7xx-hal v0.2.0 (/Users/nis/Develop/stm32f7xx-hal)
error: linking with `rust-lld` failed: exit code: 1
  |
  <skipped by unnecessary>
  = note: rust-lld: error: section '.bss' will not fit in region 'RAM': overflowed by 130048 bytes
          rust-lld: error: section '.bss' will not fit in region 'RAM': overflowed by 130049 bytes
          rust-lld: error: section '.bss' will not fit in region 'RAM': overflowed by 130050 bytes
          rust-lld: error: section '.bss' will not fit in region 'RAM': overflowed by 130052 bytes
          rust-lld: error: section '.uninit' will not fit in region 'RAM': overflowed by 130052 bytes
          rust-lld: error: section '.uninit' will not fit in region 'RAM': overflowed by 130052 bytes
          rust-lld: error: section '.uninit' will not fit in region 'RAM': overflowed by 130052 bytes

error: aborting due to previous error

error: could not compile `stm32f7xx-hal`.

I think we need to use generation for memory.x

There are multiple ways to do this, but here's some example code that could be copied from:
https://github.com/lpc-rs/lpc8xx-hal/blob/master/build.rs#L42-L63

There are multiple ways to do this, but here's some example code that could be copied from:
https://github.com/lpc-rs/lpc8xx-hal/blob/59b2a9d996570ad1869e172f8d4fed67958ce4c3/build.rs#L42-L63

Yes, sure. I talked about this solution - so If anybody hasn't concerns to this solution I can create PR for tests.

Yeah, this is a great idea. Adopting the lpc8xx-hal implementation sounds good to me.

@mvertescher @hannobraun I think this issue can be close by success resolve.


How to get Rails backend data ? like CSRF token or form URL etc ...

If we don't have view help like react-rails gem, how to get backend data ? pass a window.xxx global javascript variable ? or send a Ajax to backend ? or just write into static jsx file ?
And another question, the page A need Login.jsx component , another page B need Admin.jsx, if all client code has been bundle into one file, how to identify different component on different pages ? or one pages component bundle into one file, include them in rails view like this
dev mode
<script src="http://localhost:8080/assets/<%= controller_name + '_' + action_name%>-bundle.self.js"></script>
What is the best practice, please give your opinions, Thank you all !

Hi @liyaodong, the example uses this: https://github.com/rails/jquery-ujs and $.ajax. We also use on bundle for the client side application, and check if a div id is on a page, before rendering the react component. It's also possible to put global data on the page. I've often used the https://github.com/gazay/gon for doing that.
Let's take this discussion over to http://forum.railsonmaui.com/ if you wish to discuss this further.


Implement logging in Jetty server

Right now there is no logging in the server at all... this is extremely difficult for debugging server requests and what is actually happening (specifically whether or not Language Translation is actually taking place).
I propose we try the following
https://github.com/pjlegato/ring.middleware.logger

I've got this implemented but can't find a log directory on my machine (Windows 8.1).  I'll commit this for now to see if it works on your end; I'll investigate other solutions when I get back home tonight if it doesn't work for you.

Dynamite. Verified to work. Looking great.

Excellent work @cartermp

Good to hear!


fix(badges-backend): properly generate link

Signed-off-by: Bastian Gutschke<EMAIL_ADDRESS>Hey, I just made a Pull Request!
The pull request is for issue #5660.
It fixes the generated links generated by the @backstage/plugin-badges-backend
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

May also close #5112.


Fix ssh issue FATAL[0002] ssh: must specify HostKeyCallback

Issue on Archlinux with kernel 4.10 and go 1.8

testing

This fixes the issue. Merge would be great.


Cow: Watch medium.com/@akylson

Cow requests the watch of the watch_keyword medium\.com/@akylson. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

medium\.com/@akylson has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


[1860] Home page squares with EYTS, QTS and generic states

Context
https://trello.com/c/4xPw1rDm/1860-m-ey-home-page-squares-to-distinguish-between-eyts-and-qts
Changes proposed in this pull request

Add a new badges component to determine which award states to show on the home page.
Just perform one db call to get the counts instead of one for each state

Guidance to review
Have a gander at /view_components on the review app (if https://github.com/DFE-Digital/register-trainee-teachers/pull/934/ has been merged)
Otherwise, pull down locally and create some early years trainees in award states

 [M] EY - Home page squares to distinguish between EYTS and QTS

@darokel Thanks for the review. I was thinking this myself but was going to wait until https://trello.com/c/skmQZxkS/1846-m-ey-add-eyts-states-to-the-state-filter was in to make a refactor clearer. But I will give it a go now with a view object for the home page 👍


Fix doctest in trainer tutorial

Fix code does not work with GPU.
Changed all snippets as test code to ensure the code works.
Removed unused hidden snippets.

Related to #3926.

jenkins, test this please

LGTM!


package.json file to support npm

you can install this plugin using npm by entering these keywords "npm i tinymce-placeholder-master" . Thanks!


Page to add new user needs to set Bidding Group - dropdown is missing

Added dropdown, removed choices for bidding roles, not set from bidding group selection.


left and center widget configuration

In the css, one can edit .right to edit the whole of the right-aligned widgets. how does one do the same with left and center-aligned widgets? I tried .left, .center and variations, and they didn't work.
Other than that, how does one handle the Workspace widget's background? I hacked at the css for a couple of hours to no avail

Trying to read the code, it seem that while right-hand-side widgets have
 right->SetClass("right");, whilte left and center don't. This explains why there's no css field. However, my limited knowledge of c++ makes it impossible for me to try to implement the feature. Simply adding left->SetClass("left") to the equivalent position didn't break anything, but also didn't make it work

I have to be missing something, as I assume there has to be a way to control the Workspace widget's background.. @scorpion-26 is there a specific css field for it that I'm missing?

There is not yet, CaptaiNiveau should be working on implementing this.

I would be willing to work with them to get it done. What parts of the code would need to be edited? I assume that most the work could be done by creating a box around the left-aligned widgets, but I can't quite get my bearings inside the project

Ah it's fine. I'll open a PR soon, you can check it out when it's there and tell us if you think there should be more classes.
I ran into this issue as well ^^

@Soliprem You can check out my branch/repo and see if it suits your needs :)

works like a charm!


3d secure reserve example

finished 3-D secure example
improved code quality

Coverage remained the same at 100.0% when pulling a5b4275fea2f5dcd51b1538a56c96844967d76ca on JuEger:3d-secure-reserve-example into b0c0439125d73c45117f4cd7cf1ec59dfd2636e3 on wirecard:25-ccard-authorize.

Coverage remained the same at 100.0% when pulling d7bf1054b8a9d244e38fec943951ea049fd99ccf on JuEger:3d-secure-reserve-example into b0c0439125d73c45117f4cd7cf1ec59dfd2636e3 on wirecard:25-ccard-authorize.


Phone and email fields should be allowed to be hidden on Snap's card payment page, to simplify customer inputs & improve conversion rate

Currently I'm testing SNAP redirect to process credit card payment. And Midtrans force to show phone and email field on credit card checkout field. Look this comparison of credit card checkout page between couple market leader of Indonesian payment gateway.
MIDTRANS:

DOKU

XENDIT

As you can see, our credit card checkout form is the most complicated to fill on the market today. Most of modern credit card processor is hiding the email and phone field. Only showing CC#, expiry, and CVV.
And there is not way to hide that phone and email field, midtrans only allow to make it optional (but still show the field). I ask the support team, which never ever helps when asking anything about technical problem. They suggest to remove the "email" and "phone" parameters from "customer_details".
Which is wrong suggestion. If I remove "email" and "phone"parameters from "customer_details"  The 'phone' and 'email' field still exist just not filled.
Then If I add "email" and "phone"parameters to "customer_details" The 'phone' and 'email' field will still exist and autofilled with the value I send.
Please add additional parameter so we can hide this unnecessary field, because based on our test, this fields really hurt checkout conversion rate.

Hi @erikdemarco thanks for reaching out and keep letting us know your feedback!
Agree with your point. Our Product Research team also have similar thought with your main point of:

Make phone and email field can be hidden on credit card checkout page.

So our Product team planned solution to this is to hide the unnecessary fields by default in the next revamped version of Snap UI. Our team is already working to implement it along with other UI improvements, one of the focus is aligned with your concern about improving conversion rate (like simplifying number of steps/clicks for customers, etc).
ETA: Now this revamp is partially-live on beta users, but is not yet rolled-out for all users. The Snap Product team is working to have it rolled out for all users sometime this year. So hopefully soon you will experience it.
A bit of history, those fields was mainly intended for merchants who already collect those information on their site, so they can forward it on Snap API call. But yes it kind of not ideal for merchants who don't do/need that.

midtrans only allow to make it optional (but still show the field)

As of current Snap, yes that's true unfortunately. To make the field optional (but still shown) you can either:

on Snap redirect-mode: append ?skipCustomerDetails=true to the end of Snap's redirect_url.
on Snap JS pop-up mode: add it as options param like so snap.pay( yourSnapToken, { skipCustomerDetails: true } )

I ask the support team, which never ever helps when asking anything about technical problem. They suggest to remove the "email" and "phone" parameters from "customer_details".

Sorry to hear that, agree that's not an ideal answer. Thanks for providing this specific, i'll make sure this reach our Support Team so that hey can improve. We also already forwarded them with your previous complain about Woocommerce question. If you don't mind, can you copy the subject of email/chat, or your merchant name, or email address? To help them find the specific conversation thread, so I can make sure they really improve on this part.
Thanks for reaching out.

Will keep this issue open & update you on the Snap revamped version release.

btw regarding this:

I ask the support team, which never ever helps when asking anything about technical problem. They suggest to remove the "email" and "phone" parameters from "customer_details".

I have informed Support Team, and they've found & acknowledge the answer was incorrect. They identified the knowledge gap & are working to improve on their product knowledge to avoid future similar case. Thanks for the feedback to help our team improve 👍