Added ability to specify an existing Configmap for logstash pipelines

Added ability to specify an existing Configmap for logstash pipelines
Signed-off-by: Brian Dunnigan<EMAIL_ADDRESS>
[x] Chart version not bumped (the versions are all bumped and released at the same time)
[x] README.md updated with any new values or changes
[x] Updated template tests in ${CHART}/tests/*.py
[] Updated integration tests in ${CHART}/examples/*/test/goss.yaml

I would like to be able to specify an existing configmap that contains my logstash pipelines, instead of using the one created in the chart with the logstashPipeline value. This will allow me to have templated pipeline configmaps for deployment that I can point logstash installations to.
One issue that might arise is that if the existing configmap is changed, the logstash pods will need to be manually restarted. The kubernetes community may soon begin an effort to start adding comfigmap rollouts in the new year: https://github.com/kubernetes/kubernetes/issues/22368#issuecomment-566785847. But for now there are a few approaches to handle automatic rollouts:

Create a new configmap instead of editing the existing one, point the logstash release to the new configmap, then run a helm upgrade

Deploy the reloader Reloader Kubernetes controller with the Stable Helm Chart and annotate deployments/statefulsets/daemonsets with annotations

The same can also be done for the configs (esConfig, kibanaConfig, etc) across the other charts and would be a useful feature. I will do those if this feature is accepted.

Hi @bpdunni, thank you for this PR and sorry for the delay.
This PR will need some time to review.

Should also change this
          {{- range $path, $config := .Values.logstashPipeline }}
          - name: logstashpipeline
            mountPath: /usr/share/logstash/pipeline/{{ $path }}
            subPath: {{ $path }}
          {{- end -}}

to
{{- if .Values.existingPipelineConfigmap }}
- name: logstashpipeline
  mountPath: /usr/share/logstash/pipeline
{{- else }}
{{- range $path, $config := .Values.logstashPipeline }}
- name: logstashpipeline
  mountPath: /usr/share/logstash/pipeline/{{ $path }}
  subPath: {{ $path }}
{{- end -}}
{{- end -}}

to mount existing ConfigMaps to pod.

still valid

jenkins test this please


Fix fix oss access issue with aws s3 sdk

Proposed changes
cherry-pick #16625
Co-authored-by: GoGoWen<EMAIL_ADDRESS>Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


I don't know if it can be printed correctly by a 3D printer

Hi, AaronJackson
After a lot of failures, I finally passed the project debugging, and the project could convert the raw file to obj. I was curious about the obj file, I didn't know if it could be printed by 3D, and I wanted to print one of its own face.

I know that it has been done because people tweeted photos at me of their 3D printed faces. I don't know anything about 3D printing though, so I cannot help you sorry.


DeadStoreElimination: fix wrong elimination of dead store before is_unique instruction

fixes SR-4524

@swift-ci Please smoke test and merge


lib/github: GitHub loader

Helper tool to download a Github repo and store it in a Mongo database.
Features:

supports github wallets
save current job and restore jobs after failure
options to enable branches, commits, issues, pulls, comments and events loading

test this please

some unadressed comments. reply to them or label the thing to okwillmerge if you do not care

test this please


Support for Snapdragon X Elite NPU & GPU

Hi all.
I just got a Microsoft laptop7, the AIPC, with Snapdragon X Elite, NPU, Adreno GPU. It is an ARM based system.
But I found that NPU is not running when using Ollama.
Would it be supported by Ollama for the NPU and GPU?

I think more then support for The gpu, I think the Hexagon NPU would be better to support

I think more then support for The gpu, I think the Hexagon NPU would be better to support

Yeap , the NPU is better

on samsung galaxybook4  snapdargon x elite
ollama is too slow

Those wanting a bit more oomf before this issue is addressed should run Ollama via WSL as there are native ARM binaries for Linux. They still won't support the NPU or GPU, but it is still much faster than running the Windows x86-64 binaries through emulation. SLMs like Phi are very speedy when run this way

We don't yet have an official arm windows binary, but you should be able to build from source until we do.

I would be available to test any developments on that matter if necessary.

Once #5712 merges we'll have official support for running in CPU mode on the Snapdragon systems, but additional PR(s) will need to merge upstream in llama.cpp before NPU/GPU support can be enabled.  On my test system, I'm seeing ~18-20TPS on llama3 on the CPU, so it's usable.  My understanding is the NPU may actually be slightly slower, although much more power efficient.

Please note, that recent llama.cpp technology innovations with Q4_0_4_8 quantization on Snapdragon X CPUs give nearly the same performance or more as Q4_0 on base Apple Silicon with GPUs, see accelerating Q4_0 CPU performance 2-2.5x.

E.g. here the performance of a Snapdragon X Plus (CPU-only, but Q4_0_4_8 optimized) vs. a 10-core M2 (CPU and GPU) for the new Llama3-8B Groq-Tool-use optimized local LLM. Yes, the Plus is still slower than the M2, but not by much, and the Elite is probably faster.
Snapdragon X Plus, Surface 11 Pro 16GB, Windows 11 24H2, MSVC+clang, llama.cpp build: 081fe431 (3441):

model
size
params
backend
threads
test
t/s

llama 8B Q4_0
4.33 GiB
8.03 B
CPU
10
pp512
46.02 ± 0.37

llama 8B Q4_0
4.33 GiB
8.03 B
CPU
10
tg128
12.58 ± 2.63

llama 8B Q4_0_4_8
4.33 GiB
8.03 B
CPU
10
pp512
150.04 ± 10.17

llama 8B Q4_0_4_8
4.33 GiB
8.03 B
CPU
10
tg128
16.81 ± 3.46

M2 10GPU, MacBook Air 24GB, MacOS 14.5, llama.cpp build: 081fe431 (3441):

model
size
params
backend
ngl
test
t/s

llama 8B Q4_0
4.33 GiB
8.03 B
Metal
0
pp512
58.54 ± 0.17

llama 8B Q4_0
4.33 GiB
8.03 B
Metal
0
tg128
12.97 ± 0.08

llama 8B Q4_0
4.33 GiB
8.03 B
Metal
99
pp512
178.03 ± 0.12

llama 8B Q4_0
4.33 GiB
8.03 B
Metal
99
tg128
19.20 ± 0.11

> Once #5712 merges we'll have official support for running in CPU mode on the Snapdragon systems, but additional PR(s) will need to merge upstream in llama.cpp before NPU/GPU support can be enabled. On my test system, I'm seeing ~18-20TPS on llama3 on the CPU, so it's usable. My understanding is the NPU may actually be slightly slower, although much more power efficient.
hi thanks for the reply . Looking forward to it.

Thanks all,
Do you have an estimated timeline for when the necessary pull requests (#5712 and others for NPU/GPU support) will be merged? Also, will we need to uninstall the current version before updating to get native ARM working without emulation?

@AndreasKunar Importing the Q4_0_4_8 build under WSL to native ARM of Ollama doesn't seem to work. Ollama doesn't support Q4_0_4_8 yet, correct?

Q4_0_4_8 requires an arm64 compile of llama.cpp (Linux and Windows). And for Windows it requires a build with clang, since MSVC does not support the required inline asm for arm64. See the llama.cpp build instructions. I don't know how ollama builds, and if the llama.cpp component's build-process correctly builds for Windows on ARM - I have not tested PR#5712 yet.
Building for Snapdragon X in WSL2 with e.g. Ubuntu is commonly much easier, and its not slower than in native windows. Just don't forget to allocate CPUs and memory to the WSL2 in %USERPROFILE%\.wslconfig:
[wsl2]
processors=10
memory=12GB

I will try and build ollama in WSL2 on my Surface and try and import+use a Q4_0_4_8 model.

@SebastianGode - I tried to build ollama on WSL2/Ubuntu24.04 on my Surface 11 Pro and test it with Q4_0_4_8.
Ollama+llama.cpp builds, imports my local llama-2 Q4_0, and runs it.
But when I try and import my local llama-2 Q4_0_4_8 model (which runs with llama.cpp), it gives an "Error: invalid file magic" from its ggml.go module, which does not seem to understand the new Q4_0_4_4 and Q4_0_4_8 formats.
Should we raise an issue?

@AndreasKunar Yes, that is the exact same issue for me. Good that you could verify that and that I wasn't too dumb to use Ollama.
Please go ahead and open an issue. I assume this shouldn't be that hard to fix, likely just some dependency which would need to be updated (but that's just my assumption).

I'm keen to stand on the shoulders of giants. I've subscribed to this thread! Keep up the good work.

'm new to using llama.cpp and related tools. After testing my device, I'm satisfied with its performance, but Ollama is running very slowly. My goal is to set up a Docker container that leverages WSL2 to run Llama 3 (7B) efficiently and maximize performance. However, the available resources are overwhelming and unclear. I need a streamlined solution to run an Ollama container with optimal speed and accuracy.

Microsoft Surface Pro, 11th 32GB: GPU Geekbench
Microsoft Surface Pro, 11th 32GB: CPU Geekbench
Microsoft Surface Pro, 11th 32GB: NPU Geekbench AI

I'm new to using llama.cpp and related tools. After testing my device, I'm satisfied with its performance, but Ollama is running very slowly. My goal is to set up a Docker container that leverages WSL2 to run Llama 3 (7B) efficiently and maximize performance. However, the available resources are overwhelming and unclear. I need a streamlined solution to run an Ollama container with optimal speed and accuracy.

there is currently no GPU/NPU support for ollama (or the llama.cpp code its based on) for the Snapdragon X - so forget about GPU/NPU geekbench results, they don't matter. The underlying llama.cpp code does not work currently with the Qualcomm Vulkan GPU driver for Windows (in WSL2 the Vulkan-driver works, but is a very slow CPU-emulation). There is some work being done in llama.cpp to try and support the QNN code, but its quite far from being workable.

The Snapdragon X however supports accelerated execution via the CPU, but this is in its very early stages with the core llama.cpp-code ollama uses. This CPU-acceleration is mainly for prompt-processing (2-3x faster), and LLM token-generation is more dependent on memory-bandwidth and not improved much. And it currently requires a special model-format (quantized as Q4_0_4_8 instead of Q4_0).

ollama on Windows (not WSL2) is currently in preview. You manually need to compile it, if you want it to run natively on Windows for ARM - I would not recommended this for beginners. The installation you use might run emulated as x64-code.
WSL2 needs to be configured accordingly (file .wslconfig in your Windows user directory), in order to use the right amount of RAM (setting: memory, default is only 50%) and all CPUs (setting: processors, I suggest 12). You need to make sure, that you use an aarch64/arm64 ollama linux image. But ollama builds/runs really well on WSL2-linux. Running ollama in a correctly configured WSL2 is as fast (maybe even faster) as natively. There are performance penalties, if you don't store your files natively in WSL2/Linux. WSL2 currently does NOT support GPU/NPU acceleration for the Snapdragon X, but it supports CPU-acceleration of the llama.cpp-code
docker - I have no experience with running ollama on WSL2-based docker on Windows for ARM.

A few personal notes on the Surface Pro 11 and ollama/llama.cpp:

ollama is a great shell for reducing the complexity of the base llama.cpp code and I really like it!!! But the innovation on GPU/NPU acceleration happen first with llama.cpp. I use the llama.cpp llama-server instead of ollama, when trying out new things. But you need to manually download your model and start llama-server with the right parameters. As a benefit, llama-server is not only openAI-compatible APIs but also a playground-like webserver. When using llama3.1 8B with its long context, don't forget to limit the context-size, otherwise your RAM-use "explodes" (because of the required KV-cache for the default 128k context).
The thermals of the Surface Pro 11 tablet forces the Snapdragon X to throttle quite soon, if you max out all the CPUs during running your LLMs. Look at your CPU-utilization (there currently is no CPU-temperature-monitor for the Surfaces).
if you want GPU-acceleration for you Surface - you might try webGL-based AI (e.g. in crome)
NPU-accelerated AI on the Surface currently all seems Qualcomm QNN based. Microsoft's Semantic Kernel supports QNN (for C# code, they are working on PYthon-support).

Hope his helps/clarifies a little (und liebe Grüße aus Wien)

Thank you so much for your detailed response and insights! You've clarified a lot of points that were overwhelming and confusing. Even due to the current limitation of the SP11 device, I hope to still develop a container that works on WSL2 on Windows for ARM.
I'll take a closer look at using llama.cpp with the llama-server as you suggested, especially for new experiments. I'll also keep in mind the context-size limits to avoid excessive RAM usage with Llama 3.1. It's a great reminder to check CPU utilization to prevent thermal throttling on the Surface Pro 11.
Your advice has given me a lot of direction, and I really appreciate your time and insights!

There is some work being done in llama.cpp to try and support the QNN code, but its quite far from being workable.

I'm completely out of the loop, but hasnt that PR (#6869) been closed by llama.cpp's maintainer after the PR author complained without tact (I do wonder how much of it was even his intention since his English was clearly A2 level at best...)?
That said, thanks a ton for sharing, it looks like the x1e-78 is actually pretty good.

Can we please bump this ticket up somehow? Or at least, which link can I go to to track the development on this.
I am currently using the Ollama 0.3.14 on the Snapdragon X Elite. It is really good on running the llama 3.2, 8b model (even if it offloaded to the GPU and not using the CPU). But obviously I would like for it to use the GPU (talking the comment of running on NPU results in lower tokens/s at face value).

Can we please bump this ticket up somehow? Or at least, which link can I go to to track the development on this.

There seems to be no development being done, which can be used for ollama,…

I am currently using the Ollama 0.3.14 on the Snapdragon X Elite. It is really good on running the llama 3.2, 8b model (even if it offloaded to the GPU and not using the CPU). But obviously I would like for it to use the GPU (talking the comment of running on NPU results in lower tokens/s at face value).

I don‘t think that running it on the GPU will run it faster than e.g. the Q4_0_4_4 quantization runs on the CPU. I also have a M2 10-GPU and running Q4_0 on its GPUs has approx. the same token/s performance as my Snapdragon X Elite on the CPU with Q4_0_4_4. Its Ardeno GPU has less horsepower than the M2‘s. So there is little benefit to be had for doing a lot of work, and for very few users - running the GPU on the Snapdragon X via Vulkan on Windows / llama.cpp does not work because of a driver issue.  As for supporting the NPU, even ONNX/QNN cannot use the NPU for Llama models - apparently its to complicated, or maybe I was just to stupid to get it to work.
So net my recommendation is - don‘t think the Snapdragon X’s GPU/NPU will get full LLM support by llama.cpp inference anytime soon. The NPU will likely be only useable for very small, dedicated SLMs inside special apps developed with QNN. And all the rest will run (quite fast) on the CPU. Also remember, that LLM inference is largely bound by the memory-bandwidth, and not so much by compute-horsepower, so there is not much to be gained for developing the special GPU code.

Thank you for your swift response. Your explanation makes sense.
I agree that memory bandwidth is a critical factor. Wouldn't it be more efficient to load the entire model onto the GPU? This approach could potentially minimize the CPU cycles required for data transfer between RAM and the CPU, leading to improved inference times. I understand that the CPU may not be the bottleneck in this scenario, but overall, it would be interesting to see the full capability of using CPU, RAM and the NPU on low spec devices.

I agree that memory bandwidth is a critical factor. (rhetorical question) Wouldn't it be more efficient to load the entire model onto the GPU? This approach could potentially minimize the CPU cycles required for data transfer between RAM and the CPU, leading to improved inference times. I understand that the CPU may not be the bottleneck in this scenario, but overall, it would be interesting to see the full capability of using CPU, RAM and the NPU on low spec devices.

LLMs generate each new token by computing the entire graph of their artificial neural network again and again. So they have to pump all the entire Billions of parameters, the KV caches (this is something like the AI’s short-term memory, it gets huge / to GBs with large contexts like 128k of llama 3.1),… out of unified RAM memory (these SoCs don‘t have dedicated RAM for the CPU/GPU/NPU) into the quite tiny on-chip caches for processing the computations. This has to happen for each token anew. They can do a lot of computations at the same time (e.g. my M2 Mac‘s GPU has over 1000 units for simultaneous computation / ALUs), so the GPUs idle a lot, waiting for their data from memory. This is why modern SoCs have a RAM bandwidth of 100-130 GByte/s. And yet this still is the bottleneck, even the Snapdragon X CPUs have enough simultaneous matrix-processing units to handle it. The M2 Pro doubles bandwidth to 200, the M2 Max has 400, the M2 Ultra has 800, and the NVIDIA 4090 to over 1000 - that‘s why they are faster.
Only when the LLM processes the prompt initially and during learning/fine-tuning, the LLM can batch the processing for multiple tokens at once, and then the GPUs can totally shine with their horsepower. This is why learning is done on NVIDIA, and the Macs with 96 or 192 GB RAM are perfect for „cheap“ inference of quite large models (NVIDIA RAM is crazy expensive). And a lot of development is done for these, e.g. ollama, llama.cpp,…

Thank you for the detailed explanation, Andreas! Your insights into the limitations of memory bandwidth and how LLMs process tokens have really helped clarify things. It makes sense that loading the entire model onto the GPU could potentially minimize CPU overhead, but as you pointed out, the underlying architecture of these SoCs complicates that.
Thanks again for your help!


[Event Request] codeunit 444 "Purchase-Post Prepayments" - OnCodeOnBeforeWindowOpen

Hi,
Is it possible to add OnCodeOnBeforeWindowOpen publisher to "Purchase-Post Prepayments" codeunit?
    local procedure "Code"(var PurchHeader2: Record "Purchase Header"; DocumentType: Option Invoice,"Credit Memo")
            .
            .
            .
            .
            .

            // <<new
           OnCodeOnBeforeWindowOpen(PurchHeader, DocumentType);
           // >>new

            Window.Open(
              '#1#################################\\' +
              Text002 +
              Text004 +
              Text005 +
              Text006);
            Window.Update(1, StrSubstNo('%1 %2', SelectStr(1 + DocumentType, text019), "No."));
            .
            .
            .
            .
    end;

    // <<new
    [IntegrationEvent(false, false)]
    local procedure OnCodeOnBeforeWindowOpen(var PurchHeader: Record "Purchase Header"; DocumentType: Option Invoice,"Credit Memo")
    begin
    end;
    // >>new

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


How to declare IDetailsListColumnOptions.render in angular

Hi,
I want to create a fab-details-list by passing in colums: IDetailsListColumnOptions[]. I want to do this to simplify column sorting, amongst other things, i.e. specify columns and manipulate meta-data via typescript in a similar way to the Fabric UI React documentation/examples
I am trying to specify renderers for some columns, but am not having any luck creating InputRendererOptions<>. Could you please provide an example of how I can specify a simple renderer. Obviously, what I have below doesn't work.
columns: IDetailsListColumnOptions[] = [
    {
      key:'name',
      name:'Name',
      minWidth: 100,
      // ....
      render: (ctx: IDetailsListColumnOptionsRenderContext) => {
         return `<strong>how do I do this? or how to {{ ctx.item }} or ` +ctx.item + `</strong>`
      }
    },
]

It would be great to be able to reference an <ng-template> or similar, within the  component, but I can't utilise the columns > fab-details-list-column > render tag/directive, as doing so means I have to define (and maintain) the columns in the template.
The React method for specifying a renderer is very straight forward, using JSX:
onRender: (item: IDocument) => {
          return <img src={item.iconName} className={classNames.fileIconImg} alt={item.fileType + ' file icon'} />;
        }

Sorry for asking a question as an issue, but the lack of documentation and community support leads me here.

So,
digging deeper into the code, trying a few things, and I have found a few (seemingly) working solutions, however, the approach of using a ComponentRef appears to be broken. This looks like it might be related to #2 .
The first record renders correctly, but subsequent records do not get any data rendered into the column formatter, and subsequent updates to the items are not updated correctly. Basically, the change detection seems to be fighting between Angular and React.
I have uploaded code to stackblitz, although the stackblitz dev server is not starting up for me. I have also uploaded my sample project to github.
stackblitz project
github repo
The warning received in the console is:
Warning: Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.
Check the render method of DetailsRowFields.


Add API endpoints for getting action jobs status

Sample of response, it is similar to Github actions
{
    "workflow_runs": [
        {
            "id": 3,
            "name": "Explore-Gitea-Actions",
            "head_branch": "main",
            "head_sha": "6d8d29a9f7a01ded8f8aeb64341cb31ee1ab5f19",
            "run_number": 3,
            "event": "push",
            "display_title": "More job",
            "status": "success",
            "workflow_id": "demo2.yaml",
            "url": "/chester/test/actions/runs/3",
            "created_at": "2023-08-22T13:41:33-04:00",
            "updated_at": "2023-08-22T13:41:37-04:00",
            "run_started_at": "2023-08-22T13:41:33-04:00"
        },
        {
            "id": 2,
            "name": "Explore-Gitea-Actions",
            "head_branch": "main",
            "head_sha": "6d8d29a9f7a01ded8f8aeb64341cb31ee1ab5f19",
            "run_number": 2,
            "event": "push",
            "display_title": "More job",
            "status": "success",
            "workflow_id": "demo.yaml",
            "url": "/chester/test/actions/runs/2",
            "created_at": "2023-08-22T13:41:30-04:00",
            "updated_at": "2023-08-22T13:41:33-04:00",
            "run_started_at": "2023-08-22T13:41:30-04:00"
        },
        {
            "id": 1,
            "name": "Explore-Gitea-Actions",
            "head_branch": "main",
            "head_sha": "e5369ab054cae79899ba36e45ee82811a6e0acd5",
            "run_number": 1,
            "event": "push",
            "display_title": "Add job",
            "status": "failure",
            "workflow_id": "demo.yaml",
            "url": "/chester/test/actions/runs/1",
            "created_at": "2023-08-22T13:15:21-04:00",
            "updated_at": "2023-08-22T13:18:10-04:00",
            "run_started_at": "2023-08-22T13:15:21-04:00"
        }
    ],
    "total_count": 3
}

@chesteripz  There are still some linter issues.

Should resolve #25572

Hi, any plans of getting this merged and releasing it? Would love to help if any is required

I actually dont know what else is needed for this to be merged

Please fix the CI.

Please fix the CI.

It's security check failing. https://github.com/go-gitea/gitea/actions/runs/8547937533/job/23420914824?pr=26673
To my best knowledge, this requires upgrading to 1.22.2+ to resolve. https://pkg.go.dev/vuln/GO-2024-2687
And confirmed the same error on main branch
=== Informational ===

There is 1 vulnerability in modules that you require that is neither
imported nor called. You may not need to take any action.
See https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck for details.

Vulnerability #1: GO-2022-0470
    No access control in github.com/blevesearch/bleve and bleve/v2
  More info: https://pkg.go.dev/vuln/GO-2022-0470
  Module: github.com/blevesearch/bleve/v2
    Found in<EMAIL_ADDRESS>    Fixed in: N/A

Your code is affected by 1 vulnerability from the Go standard library.

Share feedback at https://go.dev/s/govulncheck-feedback.
exit status 3
make: *** [Makefile:786: security-check] Error 1

❯ git rev-parse HEAD
663acd0b4620a7a4e83f2d0699749af95126b0f5

If anyone want to make changes to this PR, feel free to do so.

https://github.com/actions/go-versions/pull/98/files
Until this gets merged, actions/setup-go@v5 will be stuck with go 1.22.1

Others LGTM, I will approve after the fix.


Add bash-based OS detect that tell us linux, windows, mac, or unknown…

…. Needs some CI-env-dependent tests to validate it. Not sure how to do that, perhaps @stickycode can assist?
Hopefully goes some way toward #75 and perhaps helps with the yarn issues I've heard about.

Travis is being awkward and just not running


It's hard to tell the icons apart if you switch between dark mode and light mode

I can't tell at a glance which of these cups mean "activated" and which ones mean "de-activated":

Ye olde Caffeine had steam coming out of the full-cup version, I miss that.

I know that I cannot make everyone happy with my icon choice here, but the app has the ability to replace the set of default icons with your own variants: https://github.com/newmarcel/KeepingYouAwake/wiki/Custom-Icons
I even provide the Sketch file here in the git repository so you can use the existing ones as starting point: Extras/KeepingYouAwake Icons.sketch
While I won't change the look of the icons at the moment I nevertheless thank you for your feedback 👍


Tooltip accessibility

This issue is to capture the accessibility requirements related to tooltips. As part of this issue:

aria attributes should be added that enable screen reader access to tooltip text
screen reader tests should happen to confirm that support is provided as expected. Testing can be completed in the latest versions of JAWS using Chrome, NVDA using FF, and VO on mac.

Depending on the solution, this might be dependent on #431
Resources related to creating accessible tooltips:

https://www.w3.org/TR/wai-aria-practices-1.1/#tooltip
https://inclusive-components.design/tooltips-toggletips/
Also note that tooltips are expected to be dismissible via Esc key per a new WCAG item related to hover/focus

This part is done:

aria attributes should be added that enable screen reader access to tooltip text

The rest is captured in https://github.com/patternfly/patternfly-react/issues/789


WHO Collect Line Breaks within Forms

Line breaks that are included in xml forms and csv media files are not being shown within the app, which is making interpretation very difficult. Would be great to see how the app can correctly display line breaks in forms.

Sorry - this is in the wrong section and has already been created by Jyri so I will now close


Randomly stops displaying after a while

I've been using this for a few weeks now and I notice that after a little while, it just stops updating my status.
Sometimes it just stops on the last song I was listening and it'll say I'm listening to one song forever and won't update, other times it just won't update my status when I start playing something, even though last.fm is saying it's scrobbling.
This is always fixed by restarting the program. If I can provide any logs or something, please let me know

Alright, i'll use the script in the next days for an extended time to try reproduce the issue, find out what is making it happen and fix it.
Thanks for reporting.

Alright, i'll use the script in the next days for an extended time to try reproduce the issue, find out what is making it happen and fix it.
Thanks for reporting.

Hi there, I am having this bug too. I usually have to restart the program to fix it. Is there a way for it to automatically restart the application every so often?

Hey there, i notice that some local and on last.fm servers connection instabilities was the trigger to this problem that often in a while the thread that handles communication crash. I've made some treatment on the lastest release (v.1.1.1) so the app keep himself running and trying to connect again if a connection problem happens. I'll check again when i have some time free, and i'll also look for a way that the app detects when the thread crashes and restart it self, it would solve this and others connection problems from the lastfm library.
Answering your question, yes, you can set the application that run it self and restart it self often in a while using Windows Task Scheduler, but i think that you will have problems with the system tray integration, but you can try.


[C#] Syntax highlighting issue

From @achardes on March 10, 2016 12:55
Hi,
It seems there is an issue with the syntax highlighting, see the below capture:

All the code below this method keep this color.
Perhaps this is a duplicate, in this case, sorry for the noise.
(I found the same kind of issues but not for C#...)
Vs code version: 0.10.10 (0.10.10)
Copied from original issue: Microsoft/vscode#3956

The root of the issue is that the syntax (csharp.json) doesn't have support for generics from what I can tell. I will have a look in my spare time if it's easy to fix.

Fixed by #191


Possible interfering with HTTP Client deserializing

After installing LINQBridge one of our project was throwing runtime errors. We debugged and found the problem in serializing/deserializing data.
The error was in the BaseHTTPClient
After replacing
`
protected static T ReadResponse(HttpResponseMessage response)
{
if (response.IsSuccessStatusCode)
{
var task = response.Content.ReadAsAsync();
return task.Result;
}
        response.EnsureSuccessStatusCodeWithContent();
        return default(T);
    }

`
with this
`
protected static T ReadResponse(HttpResponseMessage response)
{
List m = new List();
m.Add(new JsonMediaTypeFormatter
{
SerializerSettings = new JsonSerializerSettings()
{
TypeNameHandling = TypeNameHandling.All
}
});
        if (response.IsSuccessStatusCode)
        {
            var task = response.Content.ReadAsAsync<T>(m);

            return task.Result;
        }

        response.EnsureSuccessStatusCodeWithContent();
        return default(T);
    }

`
The problem was solved

Hi Eric,
Thanks for reporting this issue. The installation itself shouldn't generate issues, however I guess you bridges the entire solution, is that correct?
I would need more info to replicate this bug, could you tell me the definition of type T that is generating the runtime error? Also, what exception are you seeing?


MC-9710 Export Folders as JSON (no Models)

Allow Folders (sans Models) to be exported as JSON.

Implement the exportFolder controller action and corresponding endpoint
Write functional tests in mdm-core and mdm-testing-functional to verify export of simple and nested Folders as various roles
Write integration tests and expected-output files to verify export of Folders with facets and child Folders
Create FolderJsonExporterService, FolderExporterProviderService and generic ContainerExporterProviderService for abstraction/extension, e.g., for Classifiers

Should I also add an export test to FolderInterceptorSpec?

@adjl you need to run gradle licenseFormat to add the missing headers to the new files ... run it and commit it with the commit message add missing headers

you also need to add @Slf4j to MauroDataMapperServiceProviderFunctionalSpec which will reveal the failing 'test get exporters' message and the expected json.
ANY MauroDataMapperServiceProviderFunctionalSpec will need the folder exporter added to the list of expected json, and in mc-9714 the importer will need to be added


[DNM] Fix clock placement in devices with limited grid

This commit adds the ability to verify if the clock location is available in the FPGA grid before placement. It uses architecture XML for the verification.
Resolves https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1517

PTAL - @tcal-x

PTAL - @tcal-x

I will try the script on the test where I had to add the workaround LOC constraints.   I need to rebuild rr_graph in my sandbox though so it will be a few hours before I have an update.

This fix may be unrelated to the issue I'm seeing.  In any case, I see exactly the same error using the new version of the script, just the line numbers are different.   In my case, the script has difficulty placing the PLLE2_ADV if it is not constrained.  I'm targeting the full 100T chip.
This is the error (line numbers are using the new version from this PR):
Traceback (most recent call last):
  File "/home/tcal/2nd-tcal-x/symbiflow-arch-defs/xc/common/utils/prjxray_create_place_constraints.py", line 734, in <module>
    main()
  File "/home/tcal/2nd-tcal-x/symbiflow-arch-defs/xc/common/utils/prjxray_create_place_constraints.py", line 722, in main
    vpr_grid, loc_in_use, block_locs, blocks, grid_capacities):
  File "/home/tcal/2nd-tcal-x/symbiflow-arch-defs/xc/common/utils/prjxray_create_place_constraints.py", line 519, in place_clocks
    for potential_loc in sorted(available_placements[key]):
KeyError: ('PLLE2_ADV', 5)

I have changed the script to use limited device grid. Additionally, now it is possible to use only top/bottom half of the device.
The script does not check if the used resource is available in the given clock domain. (This bug was present before) Because of that, after limiting the device grid, sometimes it tries to place i.e. PLLE2_ADV instance in the clock domain that, does not have it. I fixed the problem by excluding almost empty clock domains from the basys-bottom device definition when the problem occurs.
A universal solution requires rearranging the constraint problem and adding proper checks of variable domains to clocking resources like i.e. PLLs.


Adds a Todo.txt, Zappier and The Super Student Roadmap

I have added a couple of tools that I'm relying on.
Disclaimer: Since the book I've added requires a sign up to a mailing list, I should probably point out that I'm not connected to its owner in any way. I just enjoyed the book and I recommend it.

Nice thanks for the addition. Since you mention that a mailing list subscription is needed, looks good to me.


[Mat-select] Support for dense list of mat-option's

Bug, feature request, or proposal:
I would like for you to add an attribute like with mat-list, that makes the list items denser. So basically <mat-select dense></mat-select>. If I try to reduce the height of the rows via css it gets all kinds of messed up with scrolling.
What is the expected behavior?
For the scrolling to work as it does with non default list item heights in mat-select for the mat-option's.
What is the current behavior?
If I press the letter I want to get down to, I end up in the wrong place if I change the height via css.
You can see this in the image below. In this case I pressed the letter "U".

This issue also occurs when I have selected something further down the list, and then re-clicks the mat-select element. Then I end up in the wrong place in the list. This is not too surprising, as I suspect that these are related to the each other.
The number of items in this list is 429 items.
What are the steps to reproduce?
.mat-option {
    line-height: 24px !important;
    height: 24px !important;
}

What is the use-case or motivation for changing an existing behavior?
My customer "demands" me to make it have less "air" as he calls it. And I too personally, would love to have the option. As I kind of agree that it shows less information per pixel (if I can say that).
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
All versions from v5 and up to me and all the regular browsers (Edge, Firefox, Chrome, Safari). For OS's I've tested in macOS and Windows. I expect this to be the issue on Linux, iOS and Android also.
My current package versions are:
Angular CLI: 6.0.3
Node: 9.9.0
OS: darwin x64
Angular: 6.0.2
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router, service-worker

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.3
@angular-devkit/build-angular     0.6.3
@angular-devkit/build-optimizer   0.6.3
@angular-devkit/core              0.6.3
@angular-devkit/schematics        0.6.3
@angular/cdk                      6.1.0
@angular/cli                      6.0.3
@angular/material                 6.1.0
@ngtools/webpack                  6.0.3
@schematics/angular               0.6.3
@schematics/update                0.6.3
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.8.3

Is there anything else we should know?
I would be truly greatful if this were something that were to be implemented.

If there is a dense directive it should be on mat-option

1

If it is dense then wondering if there is any height. Or just why not provide a way to set height on mat-select imo

If it is dense then wondering if there is any height. Or just why not provide a way to set height on mat-select imo


Textfield breaks the typing and flashes when use textField.becomeFirstResponder() in language other than English.

It works great for English. However, it refreshes every single type for other languages that requires user to select a word from keyboard. For example, in Chinese, the word picker flash every time you type a new character. Could you please check what went wrong? Thanks

https://youtu.be/ngExUJ7gyb8

            TextField("Tap here", text: $inputText)                 .padding()                 .introspectTextField { textField in                     textField.becomeFirstResponder()             }

@legolasW are you still experiencing this issue?
We've just tested this on master branch (macOS 11 and iOS 14).
Seems to work fine for Chinese (Simplified) and other languages.

Thank you for the update!
Works good after iOS 14.3
It seems like a bug on SwiftUI 1.0 and appears to be fixed:D

@legolasW thanks a lot for the quick reply!
We'll close the issue then, feel free to open another one if you experience any other bugs :)


Question: how do I write & run a new profile? Confusion points in quick start guide

I am experimenting with writing a new custom profile, so I will record parts of the experience here, in hopes to help other people to get through the same thing, and ultimately in hopes that the docs can be improved a bit for other beginners.
[This issue is a work in progress and will be edited a few times as I work on this. Feel free to comment if you like, before it is done, however.]
Phase one: making fontbakery command recognize new profile

My beginner problems and solution (Click to expand)
I got stuck at trying to run what I have made so far (basically just the "hello world" example at this stage).
So far, I have tried to follow the instructions at https://font-bakery.readthedocs.io/en/stable/developer/writing-profiles.html.
I have copied from this and modified slightly to have different naming. My current progress is here: https://github.com/typotheque/fontbakery/blob/4d6c10adb591331c1cde457326beb5f8920434e6/Lib/fontbakery/profiles/typotheque.py
Then, I tried to run the following:
fontbakery check-profile typotheque /path/to/fonts

I also tried making a specific check-typotheque command, with this code.
▶ fontbakery check-typotheque /Users/stephennixon/type-repos/tptq/fontbakery-testing/tremoloVF
usage: fontbakery [-h] [--list-subcommands] [--version]
                  [{build-contributors,check-adobefonts,check-fontval,check-googlefonts,check-opentype,check-profile,check-ufo-sources,check-universal,generate-glyphdata}]
fontbakery: error: argument subcommand: invalid choice: 'check-typotheque' (choose from 'build-contributors', 'check-adobefonts', 'check-fontval', 'check-googlefonts', 'check-opentype', 'check-profile', 'check-ufo-sources', 'check-universal', 'generate-glyphdata')

I then made a fontbakery-venv as recommended in the docs, and installed the modified fontbakery files with pip install -e . This didn’t seem to work quite as I needed it to at first, but I used which fontbakery to find that I wasn’t calling the right thing. I had to basically restart my venv and reinstall to make it work. This isn’t the exact order I did things in, but it’s close:
(fontbakery-venv)
▶ which fontbakery
/Library/Frameworks/Python.framework/Versions/3.7/bin/fontbakery

(fontbakery-venv)
type-repos/tptq/fontbakery-tptq  tptq ✗                                                                                24m ⚑
▶ deactivate

type-repos/tptq/fontbakery-tptq  tptq ✗                                                                                24m ⚑
▶ source fontbakery-venv/bin/activate

(fontbakery-venv)
type-repos/tptq/fontbakery-tptq  tptq ✗                                                                                23m ⚑
▶ pip install -e .

(fontbakery-venv)
type-repos/tptq/fontbakery-tptq  tptq ✗                                                                                24m ⚑
▶ which fontbakery
/Users/stephennixon/type-repos/tptq/fontbakery-tptq/fontbakery-venv/bin/fontbakery

I think I also had to add the following to the profile to make it work:
from fontbakery.checkrunner import Section
profile = profile_factory(default_section=Section("Typotheque"))

I also found that to run a specific new profile with the check-profile command, you must pass its file path, like so:
▶ fontbakery check-profile Lib/fontbakery/profiles/typotheque.py path/to/fonts/*.ttf

At this stage, the profile looks like this.

Potential improvements for docs
These ideas reflect my personal experience/opinion, so please take these ideas with a grain of salt.

The “Writing Profiles” guide could start with more actionable, basic example with step-by-step instructions. For example:

It could also include information about pip installation
And then it could give just a hello world example, which someone could copy-paste
Maybe it could also link to a hello world in an example repo
If from fontbakery.checkrunner import Section \n profile = profile_factory(default_section=Section("Typotheque")) must be added, please include that in the hello world example
It should probably include instructions on how to make a new command
Then, it could give more information about the optional parts of a profile. Currently, the page starts with a few seemingly in-depth features that are hard to understand as a new reader.

If the contributor guide recommends a venv called fontbakery-venv, I think this should be included in the .gitignore, correct? (It currently isn’t.)
The first command of "Running Profiles" seems to maybe be incorrect. Doesn’t it need to give the relative filepath to the profile?

Phase two: "Profile fails expected checks test"
I have now gotten fontbakery to recognize the new profile. However, it is giving the error Profile fails expected checks test. Details inside this dropdown:

registering expected checks (Click to expand)
At this stage, the profile looks like this.
This was the error from it:
type-repos/tptq/fontbakery-tptq  tptq ✗                                                                                31m ⚑  ⍉
▶ fontbakery check-profile Lib/fontbakery/profiles/typotheque.py /Users/stephennixon/type-repos/tptq/fontbakery-testing/tremoloVF
Traceback (most recent call last):
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/fontbakery-venv/bin/fontbakery", line 11, in <module>
    load_entry_point('fontbakery', 'console_scripts', 'fontbakery')()
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/Lib/fontbakery/cli.py", line 22, in main
    "fontbakery.commands." + subcommand_module, run_name='__main__')
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 208, in run_module
    return _run_code(code, {}, init_globals, run_name, mod_spec)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/Lib/fontbakery/commands/check_profile.py", line 346, in <module>
    sys.exit(main())
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/Lib/fontbakery/commands/check_profile.py", line 229, in main
    profile = get_profile()
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/Lib/fontbakery/commands/check_profile.py", line 214, in get_profile
    imported = get_module(args.profile)
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/Lib/fontbakery/commands/check_profile.py", line 195, in get_module
    imported = get_module_from_file(name)
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/Lib/fontbakery/commands/check_profile.py", line 187, in get_module_from_file
    profile.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "Lib/fontbakery/profiles/typotheque.py", line 117, in <module>
    profile.test_expected_checks(expected_check_ids, exclusive=True)
  File "/Users/stephennixon/type-repos/tptq/fontbakery-tptq/Lib/fontbakery/checkrunner.py", line 1109, in test_expected_checks
    '\n'.join(message)))
fontbakery.checkrunner.SetupError: Profile fails expected checks test:
missing checks: com.typotheque/examples/hello, com.typotheque/examples/ttf_has_glyphs;
unexpected checks: com.google.fonts/check/family/panose_familytype, com.google.fonts/check/family_naming_recommendations,

# ETC. 64 more check IDs omitted

I am confused by this ... I have the following in my code near the top of the profile:
expected_check_ids = (
    'com.typotheque/examples/hello',
    'com.typotheque/examples/ttf_has_glyphs',
)

and both of those are in the code, as shown in the Quick Start but named for this profile. However, the error is calling those checks as missing checks.
...my profile also has the final line of:
profile.test_expected_checks(expected_check_ids, exclusive=True)

Have I missed something here?
UDPATE
I have found that I can get the check running with the following code, where I exclude the profile_imports = ('fontbakery.profiles.universal',) temporarily. This works and even allows me to run the ghmarkdown option.

🍞 PASS: Simple "Hello World" example.

[com.typotheque/check/hello](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/<Section: Typotheque>.html#com.typotheque/check/hello)

🍞 PASS Hello World

However, I still need to find how to import other checks.
UPDATE 2
I have solved this expected checks by taking some cues from the googlefonts profile. This included a couple of additions:
At the top:
from fontbakery.profiles.universal import UNIVERSAL_PROFILE_CHECKS

Near the top:
TYPOTHEQUE_CHECK_IDS = [
    'com.typotheque/check/hello',
]

EXPECTED_CHECK_IDS = \
    UNIVERSAL_PROFILE_CHECKS + \
    TYPOTHEQUE_CHECK_IDS

Last line:
profile.test_expected_checks(EXPECTED_CHECK_IDS, exclusive=True)

So, I think this is actually closer to a "Quick Start" / "Hello World" example, though obviously others would have to swap in their own foundry naming.
Suggestions for docs

Maybe update the "Hello World" with a complete example, similar to what I linked to just above?
Please explain why it is necessary to use both of the following (or if there is a better way?)

from fontbakery.profiles.universal import UNIVERSAL_PROFILE_CHECKS
profile_imports = ('fontbakery.profiles.universal',)

I think I also had to add the following to the profile to make it work:
from fontbakery.checkrunner import Section
profile = profile_factory(default_section=Section("Typotheque"))

I second that from when I was writing a custom profile a while back. It's not super clear but seems to be required, even if that is your "only" section.
Personally also the profile_imports syntax is not super obvious (basically, python modules/methods). I recall it took me a while to understand how to pick only specific tests of a profile, or how to link to local relative files with checks or conditions.

Hmm, yeah I bet I will also need to experiment to get that right. Do you happen to have an open example of where you did pull in a specific check from another profile?

This includes a few different examples:
profile_imports = [
    [
        # Only a specific condition from the fontbakery module
        "fontbakery.profiles.shared_conditions", ["is_cff"]
    ],
    [
        # Only a specific condition from a local relative module (conditions.py)
        ".conditions", ["psautohint_stats"]
    ],
    [
        # A bunch of fontbakery profiles with all their checks
        "fontbakery.profiles",
        [
            "cff",
            "cmap",
            ...
            "post",
            "shared_conditions"
        ]
     ],
    [
        # One specific check from a profile in the fontbakery module
        "fontbakery.profiles.googlefonts", [
            "com_google_fonts_check_hinting_impact"
        ]
    ]
]

I'm not sure does it work so that omitting the second list includes all checks of a module, but at least if you want to cherry pick yourself some checks this works.

There's a lot going on here, I'll try to answer some things.
First: there are separate options how to run a profile with Font Bakery. In general if you want to make a custom profile, I wouldn't implement it in a clone/fork of Font Bakery. Just use the file path to the file that contains the profile OR make a module and install it into your virtual environment.
You should only work in a clone of Font Bakery if you either want to contribute or if you want to fork it and hence also maintain the fork. The "Source Code Contributor Guide" is meant for contributing.

The “Writing Profiles” guide could start with more actionable, basic example with step-by-step instructions. […]

We could make add a "Step by Step Beginners Guide to writing profiles"

It should probably include instructions on how to make a new command

This is IMO not a direction authors of custom profiles should go. Maybe just write a one line shell command next to your custom profile or even in your users ~/.bin

Then, it could give more information about the optional parts of a profile. Currently, the page starts with a few seemingly in-depth features that are hard to understand as a new reader.

Yes, it's more like documentation, less like a guide, which is different, but a simpler guide could be present somewhere. Also, maybe you should have tried to read it again, I believe the stuff you did not understand is all in the very beginning of the document, with some exceptions, so maybe it's just necessary to put it there. I'd call it rather documentation than a guide, because the way one reads documentation is not linear, it's more like jumping on the page between passages and information.
I think one source of confusion was to use the "contributing" document along with the "writing profiles" document. So clearly, there's a need to improve the conversion funnel for the user.

If from fontbakery.checkrunner import Section \n profile = profile_factory(default_section=Section("Typotheque")) must be added, please include that in the hello world example

This is documented in detail at the beginning of the documentation: From automatic discovery to full control

I second that from when I was writing a custom profile a while back. It's not super clear but seems to be required, even if that is your "only" section.

No, it is not required.
I can copy and paste the example given in 'writing profiles' into a file, then run:
(venv3) commander@draugr:~/Projects/googlefonts> fontbakery  check-profile ./fontbakery-example-profile/my-custom-profile.py ~/Desktop/NotoSans-Regular.ttf

# Note, the profile is not in the fontbakery project directory:
(venv3) commander@draugr:~/Projects/googlefonts> which fontbakery
/home/commander/Projects/googlefonts/fontbakery/venv3/bin/fontbakery

The first command of "Running Profiles" seems to maybe be incorrect. Doesn’t it need to give the relative filepath to the profile?

Depends if your profile is installed as a module or not. I'm not exactly sure what you mean actually, but the one example uses a relative path and the other a module name, just look at the extension .py if you are not sure what is what, but there are also comments above (under "execute" in Quick start). However, you can also use an absolute path, FWIW.
(venv3) commander@draugr:~/Projects/googlefonts> fontbakery  check-profile /home/commander/Projects/googlefonts/fontbakery-example-profile/my-custom-profile.py ~/Desktop/NotoSans-Regular.ttf

About

[…]  "Profile fails expected checks test"

Maybe update the "Hello World" with a complete example, similar to what I linked to just above?

I believe it's mostly complete, but maybe we need a more verbose guide. But who's going to read it? If it's wrong or missing things we should correct that.

Please explain why it is necessary to use both of the following (or if there is a better way?)
from fontbakery.profiles.universal import UNIVERSAL_PROFILE_CHECKS
profile_imports = ('fontbakery.profiles.universal',)

There's a lot of info about what profile_imports does and why it's there, here's a shorter one, but there's a whole section.

profile_imports can be used to mix other profiles into this profile

if you follow the UNIVERSAL_PROFILE_CHECKS variable you'll see it ends up in EXPECTED_CHECK_IDS and that ends up in profile.test_expected_checks(EXPECTED_CHECK_IDS, exclusive=True)
Now profile.test_expected_checks is documented this describes what it is good for.  Please also search for this sentence:

Since we have the profile reference we can also use the expected_check_ids self check method.

This is optional, hence we can (not must) use it. It's meant as self-check, similar to a check-sum. If you want to use it, you need a reference to a profile and that's why you create it: profile = profile_factory(default_section=Section("Typotheque")).
Importing UNIVERSAL_PROFILE_CHECKS in a way defeats the self-check, because you don't have control over the check id's in that list, you could maintain the list yourself in your custom profile, to be sure you don't miss it when a  profile that is a dependency of your profile of you changes which checks it defines. But also, if you don't get why to use profile.test_expected_checks or if you don't need that kind of (self-)control, you should probably not use it in the first place.

Hey Lasse, this is really terrific info. Thank you so much for your in-depth response! I will need a bit of time to properly digest it and perhaps respond in-depth, myself.

In general if you want to make a custom profile, I wouldn't implement it in a clone/fork of Font Bakery

So, the more general approach you expect individual foundries to take is to just have their own repo for a profile, and then just point to this profile path when they run FontBakery ?

So, the more general approach you expect individual foundries to take is to just have their own repo for a profile […]

Yes, though, it really depends. We have Adobe Fonts in Font Bakery. It's probably hard to come up with a good set of rules and decision criteria.

[…] , and then just point to this profile path when they run FontBakery ?

Well, if you make a proper package and and a setup.py and install it you can also point to the module name. You can even put your profile on pypi and install it with pip.

My suggestion is that new profiles should be always created as a pull request to fontbakery's repo. The only exception to that should be when there's any motivation to keep the checks private. The goal is to gradually migrate checks from vendor-specific profiles to the universal one (whenever possible), which is meant to be more generally useful to the overall user base.

The only exception to that should be when there's any motivation to keep the checks private.

Or not having to bother with this project directly, e.g. if you don't want to write tests for your checks or don't want to bother with other contributor duties like PR-reviews and other overhead. Another reason could be, that there's just not enough relevance to your profile. It could even be an off-topic profile, e.g. one that checks something else, like PDF documents. I can think of a hundred reasons why I wouldn't contribute directly.

The goal is to gradually migrate checks from vendor-specific profiles to the universal one (whenever possible), which is meant to be more generally useful to the overall user base.

I'd expect, like the googlefonts profile, that most vendor specific checks are no fit for universal (because they are vendor specific). Though, I see that if the checks are in here already, its a lot easier to migrate and move them around, and that's a good reason.

Please check this: https://fontbakery.readthedocs.io/en/latest/developer/writing-profiles.html
I noticed that there is an outdated copy of the documentation under a URL that contains a dash in "font-bakery", while the most up-to-date is in URLs without the dash. I am not sure who originally configured that outdated instance on ReadTheDocs. I'd like to take it down to avoid this kind of problem.
I have just updated our README.md now to fix all links that were pointed to the outdated docs. Please let me know if you find any bad URL I may have not seen yet.

@felipesanches Thank you for guiding me in the right direction :) I was indeed on the wrong readthedocs page.


updated a skeleton of the readme

hmmmm, for some reason it won't let me approve this request.

hmmmm, for some reason it won't let me approve this request.

weird, can you try again?


Re-export some of petit-type-system

In order to make it more transparent for the user, we can re-export some of petit-type-system functions

done


Create unipamplona.txt

add register of University of Pamplona to JetBrains
link of unipamplona: https://www.unipamplona.edu.co/

page university: https://www.unipamplona.edu.co/
email info: https://www.unipamplona.edu.co/email/
email outlook link: http://outlook.com/unipamplona.edu.co


maskxgrid/maskygrid impact to image simulation

hi,
I am experimenting with your package. It seems that maskxpitch/maskypitch in source and lens classes have a large impact on the final image. I noticed that by default those values are set as the xrange/yrange of the given mask. However,  for the same mask, if I use different maskxptich and maskypitch, the calAI, calRI will create different arial and resist image. I wonder what is the meaning of maskxpitch and maskypitch and what is the correct way to set it if I need to simulate a large number of gds images with different sizes under the same condition?
thanks!
Mark

Hi Mark,
Yes, it will. In this simulation, we simply assume a period pattern with x period of maskxpitch and y period of maskypitch. Setting different mask pitch basically means the pattern period is changed although the mask pattern is same.
I guess you just want simulate an isolated mask pattern. I that sense, you can set a relatively large mask pitch.
Sorry for the later reply.
Bests,
Wen


As a user, I want to know the countries and continents that I have not visited, so I may visit them in future.

This was slightly modified to display a bar chart of the countries that have been visited, as oppose to the countries that have not been visited.
Also, the continents, which are related to the Google Maps feature, has been pushed back to v2.0 due to lack of time.


Added autofac registration extension method for registering all consumers found through scanning assemblies/

Simple extension method for registration scanning of the marker interface IConsumer

+1


WinAppSDK application crashes (KERNELBASE.dll) immediately when opened

Describe the bug
When attempting to open the application on Windows 10 / Windows 11 machines that don't have Visual Studio installed, the application crashes immediately. The following information is available in EventViewer:
Faulting application name: ETI.TDHub.GUI.exe, version: <IP_ADDRESS>, time stamp: 0x638f99ee
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1348, time stamp: 0x76fcd692
Exception code: 0xc000027b
Faul offset: 0x000000000010b302
Faulting process ID: 0x8fc
Faulting application start time: 0x01d93fc0f0652814
Faulting application path: C:\Program Files\WindowsApps\9989bc1e-77a1-4f02-b7ab-076f05e0038_<IP_ADDRESS>_x64__5jgsvtw2f5y9t\ETI.TDHub.GUI.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report ID: 88597352-3a22-4e2e-8de8-b8068daa31b7
Faulting package full name: 9989bc1e-77a1-4f02-b7ab-076f05e00e38_<IP_ADDRESS>_x64__5jgsvtw2f5y9t
Faulting package-relative application ID: App

We've tried to capture the issue in App.xaml.cs > App_UnhandledException (writing to the EventViewer) but the app doesn't ever reach this point.
The application runs as expected on machines that have Visual Studio installed.
The application did run previously on one of the Windows 11 test machines (without VS installed) for months without issue. The OS was then reset due to an unrelated issue - since then the application has been reinstalled and doesn't work.
Steps to reproduce the bug

Create a new 'Blank App, Packaged (WinUI 3 in Desktop)' solution
Use 'Package and Publish' > 'Create App Packages...' to publish the app using a test certificate for signing
Install the test certificate
Install the application
Run the application

Expected behavior
The application will display a white Window with a 'Click here' button in the centre.
Screenshots
No response
NuGet package version
Windows App SDK 1.2.3: 1.2.230118.102
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 22H2 (22621, 2022 Update), Windows 10 version 22H2 (19045, 2022 Update), Windows 10 version 21H2 (19044, November 2021 Update)
IDE
Visual Studio 2022
Additional context
The app is running has WindowsAppSDKSelfContained set to true.
We tried installing the latest VCRedist pack on two of the affected test machines (v14.34.31931) in the hopes that it may help - no success.

We have now also tried the following on the Windows 10 machine that worked previously, had Windows reset, and now no longer runs the app:

Installed Microsoft Visual C++2015-2022 Redistributable (x64) - 14.34.31938
Installed Microsoft.WindowsAppRuntime.Redist.1.0.1-20220317.0-46583170
Installed Windows 10 SDK 10.0.19041.685
Installed Microsoft Visual Studio Community (with WinAppSDK pre-reqs)
Installed Windows App SDK 1.3.0 Experimental 1 (1.3.230202101 -experimental1)
Installed Windows App SDK 1.2.3 (1.2.230118.102)
Installed Microsoft.WindowsAppRuntime.Redist.1.2.230118.102

None of which have worked - we still receive the same KERNELBASE.dll error.
Further information relating to the application / setup:
-Using Microsoft Visual Studio v1.7.5
App is packaged via 'Package and Publish > Create App Package', Sideloading, Signed with a test certificate (SHA512), and configured as 'Release (x64)'.
The csproj file contains the following:
<OutputType>WinExe</OutputType>
<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<Platforms>x86;x64</Platforms>
<RuntimeIdentifiers>win10-x86;win10-x64</RuntimeIdentifiers>
<PublishProfile>win10-$(Platform).pubxml</PublishProfile>
<UseWinUI>true</UseWinUI>
<EnableMsixTooling>true</EnableMsixTooling>
<PlatformTarget>x64</PlatformTarget>
<SignAssembly>True</SignAssembly>
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
<AppxBundle>Never</AppxBundle>
<EnablePreviewMsixTooling>true</EnablePreviewMsixTooling>
<Configurations>Debug;Release;Sideload</Configurations>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>

The win10-x64 publish profile contains:
<PublishProtocol>FileSystem</PublishProtocol>
<Platform>x64</Platform>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<PublishDir>bin\\\win10-x64\publish\</PublishDir>
<SelfContained>true</SelfContained>
<PublishSingleFile>false</PublishSingleFile>
<PublishReadyToRun Condition="'$(Configuration)' == 'Debug'">False</PublishReadyToRun>
<PublishReadyToRun Condition="'$(Configuration)' != 'Debug'">true</PublishReadyToRun>
<Configuration>Release</Configuration>
<TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
<PublishTrimmed>false</PublishTrimmed>

@s3nt1n3l-hub could you please add information how you managed to fix this issue? We struggle with similar problem but not during application start. In our case application can fail in any random moment.
Something along the lines can be found here:
https://learn.microsoft.com/en-us/answers/questions/1191322/how-to-track-down-source-of-kernelbase-dll-error-(?comment=question


Award and Lab for Biosources and Individual

We want to have the lab and biosources to be common items for 4DN. The schemas had award and lab required, so I now changed it to be not required. The submitted by still will be recorded.
Is this fine in terms of permissions?
If it is okay, shall we take lab and award out of the schema completely?

Once Jeremy gets to have a look at the issue I had with permissions I will be able to give a better answer but I've also been thinking about this.
I think for biosources (and maybe individual) the only drawbacks to taking them out of the schema entirely is that 1) only the submitter or someone with admin privileges would be able to edit the biosource while it was being reviewed.  That would likely not be that much of an issue but you could imagine a case where someone submitted a biosource (maybe maliciously) then left the lab and then one of us would need to take care of it. 2) It would not be possible as it is currently set up to make a biosource only visible to 4DN members or lab members - I think if I am correct on how permissions work then as soon a biosource was created then it would be visible to everyone (though I also think that we can probably control that by using a non-default status so it would only be visible to the submitter and admin/wranglers until reviewed?

Going to leave attribution mixin in these now though they are no longer required and closing issue.


Make proxyv2 image building operations universal

ref: #24457
When building a proxyv2 image, you can specify the name of Sidecar through environment variables, so that various data planes can be easily integrated into Istio

Use environment variable SIDECAR to replace hard-coded envoy
Download WebAssembly only when sidecar is envoy

By default, use envoy to build, the command is as follows:
make docker.proxyv2

If you use other data planes, such as mosn, use the following command to build
ISTIO_ENVOY_VERSION=v0.13.0 ISTIO_ENVOY_RELEASE_URL=https://github.com/GLYASAI/mosn/releases/download/0.13.0/mosn.tgz ISTIO_ENVOY_MACOS_RELEASE_URL=https://github.com/GLYASAI/mosn/releases/download/0.13.0/mosn-macos.tar.gz ISTIO_ENVOY_MACOS_RELEASE_NAME=mosn-0.13.0 SIDECAR=mosn make docker.proxyv2

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[X] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@GLYASAI: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Hi @GLYASAI. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@googlebot I consent

@howardjohn  Plz review,thx.

@googlebot I consent.

@googlebot I consent.

/ok-to-test

@GLYASAI: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
93426e4a61f4e81ea5c511f71661290428d7637e
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@googlebot I consent.

@GLYASAI: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
93426e4a61f4e81ea5c511f71661290428d7637e
link
/test lint_istio

integ-telemetry-k8s-tests_istio
93426e4a61f4e81ea5c511f71661290428d7637e
link
/test integ-telemetry-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

How many other customizations will MOSN need in the future? It seems to me like it may be more practical for MOSN to have its own dockerfile?

Not strongly against this right now, just worried about the future for both projects - I don't want MOSN to be slowed down by Istio and also don't want Istio to take on too much complexity (in the future - this PR is simple).
I am also slightly worried about the variable rename, as I know a number of build pipelines setting these currently.

Not strongly against this right now, just worried about the future for both projects - I don't want MOSN to be slowed down by Istio and also don't want Istio to take on too much complexity (in the future - this PR is simple).
I am also slightly worried about the variable rename, as I know a number of build pipelines setting these currently.

@howardjohn Thank's your reply. This PR is used to decouple Istio from specific data plane when building proxyv2 images，for example, it can be via parameter specifies the name of the sidecar, which is convenient for compiling other data planes(MOSN is only one of them). On the other hand, the default is to use the Envoy data plane, which is compatible with the previous version.

How many other customizations will MOSN need in the future? It seems to me like it may be more practical for MOSN to have its own dockerfile?

@howardjohn There will be no special customization, and we‘ll follow the Istio standard. As mentioned above, this PR is designed to make it easy for istio's consumers to quickly integrate other data planes（default use Envoy） into Istio.

ref: #24457
When building a proxyv2 image, you can specify the name of Sidecar through environment variables, so that various data planes can be easily integrated into Istio

Use environment variable SIDECAR to replace hard-coded envoy
Download WebAssembly only when sidecar is envoy

By default, use envoy to build, the command is as follows:
make docker.proxyv2

If you use other data planes, such as mosn, use the following command to build
ISTIO_ENVOY_VERSION=v0.13.0 ISTIO_ENVOY_RELEASE_URL=https://github.com/GLYASAI/mosn/releases/download/0.13.0/mosn.tgz ISTIO_ENVOY_MACOS_RELEASE_URL=https://github.com/GLYASAI/mosn/releases/download/0.13.0/mosn-macos.tar.gz ISTIO_ENVOY_MACOS_RELEASE_NAME=mosn-0.13.0 SIDECAR=mosn make docker.proxyv2

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[X] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

example should use SIDECAR replace ENVOY, such as
ISTIO_SIDECAR_VERSION=v0.13.0 ISTIO_SIDECAR_RELEASE_URL=https://github.com/GLYASAI/mosn/releases/download/0.13.0/mosn.tgz ISTIO_SIDECAR_MACOS_RELEASE_URL=https://github.com/GLYASAI/mosn/releases/download/0.13.0/mosn-macos.tar.gz ISTIO_SIDECAR_MACOS_RELEASE_NAME=mosn-0.13.0 SIDECAR=mosn make docker.proxyv2

/assign howardjohn

/assign @howardjohn

Do we need to change all the variable names? MOSN can still override the variables even if it's named "envoy". There are so many CI pipelines using these variables that will be painful to update for no real reason.
Also is it so bad to have the wasm bundles added? They are quite small... If you want to customize the image more I highly encourage building your own images

Do we need to change all the variable names? MOSN can still override the variables even if it's named "envoy". There are so many CI pipelines using these variables that will be painful to update for no real reason.

Now, after changing the variable names, the envoy variables is still supported.

I don't think renaming this benefits anyone, and only causes additional confusion and complexity. If you do not want to name a variable "envoy" (which has absolutely no impact on users of MOSN) then you should create your own dockerfile hosted in the MOSN org or istio-ecosystem.
Attempting to rename all mentions of "envoy" to a generic term does not help anyone and just causes wasted time and confusion in my opinion.

The purpose of this is to make istio more standardized and more convenient for istio users.
If you think that renaming variables will waste time and conclusion, we can still use the envoy variables.

@howardjohn I have changed the variable back. Plz review, thx.

I got confused now, what is 'we have replaced envoy with SIDECAR' mean?

I don't get the purpose of this now - we have replaced envoy with SIDECAR but the behavior I'd identical?

I got confused now, what is 'we have replaced envoy with SIDECAR' mean?

@howardjohn Could you please explain it in more detail? thx.

I don't get the purpose of this now - we have replaced envoy with SIDECAR but the behavior I'd identical?

@howardjohn  Now the build script for the proxyv2 image has some logic hardcoded, So this PR is designed to make it easy for istio's user to quickly integrate other data planes（default use Envoy) into Istio via some istio's environment variables.


Change created field of variant annotation to ISO8601

Variant annotations currently have a created field that uses unix timestamp. To come in line with https://github.com/ga4gh/schemas/pull/552 this PR adds a test to ensure the created time follows ISO8601.

Looks good, although it's a bit odd to not change of isoformat globally. However, that's an issue for the schemas, and nothing to do with us here.
I'm sure the standard library will provide methods for going to/from isoformat so we should need to encode the format strings ourselves.

@jeromekelleher I changed it to use the .isoformat() method :). Python datetime does not handle timezones by default, so the Z character is string appended.

Looks good, thanks @david4096. We should try to centralise the + 'Z' bit when we universally move to isoformat, but this is good for now.
+1


Bugfix/mouse selection buffer bar

Added user-select: none to tabs.less to stop users highlighting buffer bar text.
Added keys to WindowSplits - :worried: I couldn't find any id like data to use as keys hopefully the index here will be fine if not ill take them out, was just desperate to make the error go away
Fixes #1010 (hopefully)

Awesome, thanks for fixing this @Akin909 !
PR looks good, I'm re-running the OSX build but I don't believe the failure is related to the change.

Added keys to WindowSplits - 😟 I couldn't find any id like data to use as keys hopefully the index here will be fine if not ill take them out, was just desperate to make the error go away

Cool, I think is reasonable for now, and it will definitely reduce noise - at the moment we only have one split. We'll need to add a proper ID later (once that is actually leveraged).

I tested locally and ran it, and it passed - I believe this may be failing due to the typescript version being upgraded (it's using 2.6.1 on the build machine), but the change doesn't have the #1003 fixes in it. I'll bring it and check the master build.
Thanks @Akin909 !


Material Card Fix & Styling

Made a streamlined styling for material design cards that we use on our website condensed into three css classes instead of individualized ones for each page that we used them on.
They are:
.material-header
.material-info
.material-link
Also cleaned up the Community page with these styling changes to make consistent across pages

@jhamrick Pinging you on this since you created the Community page! What do you think of this design change?
Previous Community Page

New Styling

:+1: looks great!

Sweet.


[QUESTION]

Hi, thanks for your great tool (used it already in a few SingelPageApps). Now I would like to use LiteDB for our small business 5 user at the same time (could be max 10).  Is LiteDb working in this kind of environment? Read/ Write access /concurrency? Or Is LiteDb more of a singel user solution? I can't find any info on  multiuser scenarios and limitations?

LiteDB does provide a "shared" connection access, but this has performance overhead - it's generally preferred to use it in direct connection access. The main issue you will be facing for multi-user access is where you'd be placing your LiteDB file. If you place it on a network storage device (like a Cloud NAS device) and attempt to directly access the file, writing to the database will be slow because of I/O costs. If you are talking to a server, then LiteDB will be usuable, but may not be competitive with other server-dedicated databases.


localdev fails with jekyll 3.9.0 | Error:  no implicit conversion of Hash into Integer

fresh install
d6dc5ddf4e4d:/workspaces/burabure.com/docs# localdev
Configuration file: /workspaces/burabure.com/docs/_config.yml
            Source: /workspaces/burabure.com/docs
       Destination: /workspaces/burabure.com/docs/_site
 Incremental build: enabled
      Generating...
      Remote Theme: Using theme mmistakes/minimal-mistakes
       Jekyll Feed: Generating feed for posts
   GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
                    done in 5.111 seconds.
jekyll 3.9.0 | Error:  no implicit conversion of Hash into Integer
/usr/gem/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read': no implicit conversion of Hash into Integer (TypeError)
        from /usr/gem/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/utils/platforms.rb:75:in `proc_version'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/utils/platforms.rb:40:in `bash_on_windows?'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/commands/build.rb:77:in `watch'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/commands/build.rb:43:in `process'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `block in start'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `each'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `start'
        from /usr/gem/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
        from /usr/gem/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
        from /usr/gem/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
        from /usr/gem/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
        from /usr/gem/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
        from /usr/gem/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
        from /usr/gem/gems/jekyll-3.9.0/exe/jekyll:15:in `<top (required)>'
        from /usr/gem/bin/jekyll:25:in `load'
        from /usr/gem/bin/jekyll:25:in `<top (required)>'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/cli/exec.rb:63:in `load'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/cli/exec.rb:63:in `kernel_load'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/cli/exec.rb:28:in `run'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/cli.rb:475:in `exec'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/cli.rb:31:in `dispatch'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/cli.rb:25:in `start'
        from /usr/gem/gems/bundler-2.2.24/exe/bundle:49:in `block in <top (required)>'
        from /usr/gem/gems/bundler-2.2.24/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
        from /usr/gem/gems/bundler-2.2.24/exe/bundle:37:in `<top (required)>'
        from /usr/local/bin/bundle:25:in `load'
        from /usr/local/bin/bundle:25:in `<main>'
        ````

Thanks for reporting this! I believe the issue is with some container changes I made thinking it'd be better compatible with GitHub pages. The container has an incompatible version of ruby and Jekyll. I'll fix this ASAP.

A few more notes -- this is an issue, as far as I can tell, because the Jekyll Docker container and its associated labels are not the friendliest for our purposes. We can build our container from jekyll/jekyll, which is jekyll 4 and incompatible with jekyll 3.9. Or we can use jekyll/jekyll:pages which could work for pages but has some incorrect dependencies, or we could use jekyll/jekyll:3 which is 3 years old.
What we need is to be able to create our own container that has:

The version of Ruby compatible with GitHub pages
The version of Jekyll compatible with that version of Ruby and GitHub pages
The version of node that will work well with our tools.

Up to this point, I'd been relying on someone else's container and dealing with the trade-offs.
But my hope in the PR I just started (#80), is that it will resolve this issue and allow me to peg the correct versions for the correct release of github pages.


fix: remove unused destroy

This started causing problems when babel released this change yesterday https://github.com/babel/babel/pull/9493
resolves #15
cc @evbogue

ah, the ellusive delete only PR
merged into 1.7.3


ci(dependabot): tweak config

@MDr164 I think this change should help reduce the strain on CI. Also took the liberty of assigning myself as reviewer and assignee.


Getting "cluster ID mismatch:" When Starting A New Cluster

Hi,
Every time I start a new cluster from systemctl, the Etcd process starts but the cluster never "connects".  The following error message keep flooding the logs and I can't seem to understand why this is happening.  Can someone point me in the right direction?  I'm running etcd on Centos 7.
Error messages from both servers:
sudo systemctl status etcd
● etcd.service - Etcd Server
Loaded: loaded (/usr/lib/systemd/system/etcd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2016-04-20 08:20:02 EDT; 7s ago
Main PID: 3052 (etcd)
Memory: 4.4M
CGroup: /system.slice/etcd.service
└─3052 /usr/bin/etcd
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: request sent was ignored (cluster ID mismatch: remote[d02e4310f63aca8f]=337bbf...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: publish error: etcdserver: request timed out
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: streaming request ignored (cluster ID mismatch got 337bbf1d89b93fd5 want d0527...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: streaming request ignored (cluster ID mismatch got 337bbf1d89b93fd5 want d0527...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: request sent was ignored (cluster ID mismatch: remote[d02e4310f63aca8f]=337bbf...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: request sent was ignored (cluster ID mismatch: remote[d02e4310f63aca8f]=337bbf...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: streaming request ignored (cluster ID mismatch got 337bbf1d89b93fd5 want d0527...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: streaming request ignored (cluster ID mismatch got 337bbf1d89b93fd5 want d0527...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: request sent was ignored (cluster ID mismatch: remote[d02e4310f63aca8f]=337bbf...29778)
Apr 20 08:20:09 StefanoC7-2 etcd[3052]: request sent was ignored (cluster ID mismatch: remote[d02e4310f63aca8f]=337bbf...29778)
Hint: Some lines were ellipsized, use -l to show in full.
Here's my config on both servers:
sudo cat /usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
set GOMAXPROCS to number of processors
ExecStart=/usr/bin/etcd
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
Server 1
sudo cat /etc/etcd/etcd.conf
[cluster]
ETCD_NAME=StefanoC7-1
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://<IP_ADDRESS>:2380"
ETCD_LISTEN_PEER_URLS="http://<IP_ADDRESS>:2380"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://<IP_ADDRESS>:2379"
ETCD_INITIAL_CLUSTER_TOKEN="843c4abe-4e8f-4add-8c70-516206dae53b" #Need to dynamically generate this in the future.
ETCD_INITIAL_CLUSTER="StefanoC7-1=http://<IP_ADDRESS>:2380,StefanoC7-2=http://<IP_ADDRESS>:2380" #Need to research how to build this dynamically
ETCD_INITIAL_CLUSTER_STATE="new"
#ETCD_DISCOVERY=""
#ETCD_DISCOVERY_SRV=""
#ETCD_DISCOVERY_FALLBACK="proxy"
#ETCD_DISCOVERY_PROXY=""[stefano@StefanoC7-1 Calico]
Server 2
sudo cat /etc/etcd/etcd.conf
[cluster]
ETCD_NAME=StefanoC7-2
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://<IP_ADDRESS>:2380"
ETCD_LISTEN_PEER_URLS="http://<IP_ADDRESS>:2380"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://<IP_ADDRESS>:2379"
ETCD_INITIAL_CLUSTER_TOKEN="843c4abe-4e8f-4add-8c70-516206dae53b" #Need to dynamically generate this in the future.
ETCD_INITIAL_CLUSTER="StefanoC7-2=http://<IP_ADDRESS>:2380,StefanoC7-1=http://<IP_ADDRESS>:2380" #Need to research how to build this dynamically
ETCD_INITIAL_CLUSTER_STATE="new"
#ETCD_DISCOVERY=""
#ETCD_DISCOVERY_SRV=""
#ETCD_DISCOVERY_FALLBACK="proxy"
#ETCD_DISCOVERY_PROXY=""

Do you have other etcd cluster running in the same machine or reuse ETCD_INITIAL_CLUSTER_TOKEN?

No this is the only cluster I have running.  I am using the same token
configured in "ETCD_INITIAL_CLUSTER_TOKEN" for each machine in the cluster.
On Wed, Apr 20, 2016 at 12:05 PM, Gyu-Ho Lee<EMAIL_ADDRESS>wrote:

Do you have other etcd cluster running in the same machine or reuse
ETCD_INITIAL_CLUSTER_TOKEN?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/coreos/etcd/issues/5139#issuecomment-212491281

Or did you restart the node before? Trying to understand where the other cluster ID d0527... might have come from...

What's interesting is if I run etcd with the same parameters via exec etcd,
they clusters run fine.  See below for my example:
exec etcd --name "StefanoC7-1"
--data-dir "/var/lib/etcd/"
--initial-advertise-peer-urls "http://<IP_ADDRESS>:2380"
--listen-peer-urls "http://<IP_ADDRESS>:2380"
--listen-client-urls "http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379"
--advertise-client-urls "http://<IP_ADDRESS>:2379"
--initial-cluster-token "843c4abe-4e8f-4add-8c70-516206dae53b"
--initial-cluster "StefanoC7-1=http://<IP_ADDRESS>:2380,StefanoC7-2=
http://<IP_ADDRESS>:2380"
--initial-cluster-state "new"
Node:2
exec etcd --name "StefanoC7-2"
--data-dir "/var/lib/etcd/"
--initial-advertise-peer-urls "http://<IP_ADDRESS>:2380"
--listen-peer-urls "http://<IP_ADDRESS>:2380"
--listen-client-urls "http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2379"
--advertise-client-urls "http://<IP_ADDRESS>:2379"
--initial-cluster-token "843c4abe-4e8f-4add-8c70-516206dae53b"
--initial-cluster "StefanoC7-1=http://<IP_ADDRESS>:2380,StefanoC7-2=
http://<IP_ADDRESS>:2380"
--initial-cluster-state "new"
On Wed, Apr 20, 2016 at 2:58 PM, Gyu-Ho Lee<EMAIL_ADDRESS>wrote:

Or did you restart the node before? Trying to understand where the other
cluster ID d0527... might have come from...
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/coreos/etcd/issues/5139#issuecomment-212558365

Yeah it should because I can't find anything wrong in your configuration.
Might be systemd specific issue?

How could it be systemd specific if it's loading the same parameters?  Do
you have any other recommendations for a daemon manager?  The docs
recommended systemd so that's what I used.
On Wed, Apr 20, 2016 at 3:37 PM, Gyu-Ho Lee<EMAIL_ADDRESS>wrote:

Yeah it should because I can't find anything wrong in your configuration.
Might be systemd specific issue?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/coreos/etcd/issues/5139#issuecomment-212572801

@spirrello Sorry, I am not a systemd expert. Could you clean up the data directory after you back up and restart the cluster? The new configuration will be ignored if data directory exists.

@spirrello @gyuho I can reproduce this locally.
For server2, I think the unit file should match server1's ETCD_INITIAL_CLUSTER:
ETCD_INITIAL_CLUSTER="StefanoC7-1=http://<IP_ADDRESS>:2380,StefanoC7-2=http://<IP_ADDRESS>:2380"

(the manual launch had this order for both nodes, which is probably why it worked)
The upshot is etcd seems to be generating different cluster ids based on the ordering (it shouldn't afaik). Will investigate.

Or not... it seems I had a stale data directory left over from an old cluster. Back to the drawing board.

Finally got it working.  I did two things:

removed the comments that were listed for the cluster token and initial
cluster
I then changed the token to something more simple.  Not sure if this
helped but I'll continue testing.

Thanks for the quick responses.
On Wed, Apr 20, 2016 at 4:22 PM, Anthony Romano<EMAIL_ADDRESS>wrote:

@spirrello https://github.com/spirrello @gyuho
https://github.com/gyuho I can reproduce this locally.
For server2, I think the unit file should match server1's
ETCD_INITIAL_CLUSTER:
ETCD_INITIAL_CLUSTER="StefanoC7-1=http://<IP_ADDRESS>:2380,StefanoC7-2=http://<IP_ADDRESS>:2380"
(the manual launch had this order for both nodes, which is probably why it
worked)
The upshot is etcd seems to be generating different cluster ids based on
the ordering (it shouldn't afaik). Will investigate.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/coreos/etcd/issues/5139#issuecomment-212587924

Glad that it worked. Please let us know if you still have the same issue.

Will do and again thanks for the help today.
On Wed, Apr 20, 2016 at 5:31 PM, Gyu-Ho Lee<EMAIL_ADDRESS>wrote:

Glad that it worked. Please let us know if you still have the same issue.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/coreos/etcd/issues/5139#issuecomment-212614725

@spirrello Closing this issue since it works now!


Add extract-headers

Add extract_headers cmd utility to hard-code historical headers.
It reads chaindata and generates an .h file with the headers base64 encoded.
It mimic the behavior of hack -action extractHeaders

:-) Alexey asked me to port the "hack/extractHeaders" to Silkworm. According to him it is one of the building blocks for implementing stage 1 (header downloading) for silkworm. Anyway it was a first task to introduce me to silkworm code.


Adds missing query parameters for ML forecast API

This PR updates the specification for the machine learning "forecast" API, since the parameters listed in the body of the API are also applicable as query parameters.

@lcawl , shall this PR be backported as well? If so, you can simply add the backport 7.16 label and you're all set :)


[INTEGRATION] Database permissions

pytest -s test/integration/test_ray.py:
The integration tests are dropping the databases, which is something that requires admin privileges. In the general case, we cannot assume admin permissions, and therefore we have to revise the test-cases.

In the Helm charts, I currently create a mongo superduper user with full access to documents
The user can do everything within this database, except for dropping it. As a result, the tests fails.
I can see three ways to handle it:

Empty the database instead of dropping it (requires changes in the code)
Create an admin user, and use this one for the deployment (requires changes in the backend)
Create both an admin and superduper user. (requires changes in both the backend and frontend)

Drop collection instead of database


"output right" doesn't follow i3's behaviour

On i3, using "focus output right" while on the outer right monitor focuses the outer left monitor (and the same for "output {left,above,below}" of course).
On sway it does nothing, and the ipc returns (when trying swaymsg focus right on the cli) :
{ "success": false, "input": "focus output", "error": "Can't find output with name\/at direction 'right' @ (2240,885)" }

EDIT: It may be not clear on the message, but of course, this isn't specific to the "focus" command : others commands like "move container to" or "move workspace to" follow the same behaviour.

I can confirm this.


Agent waiting for ok to reboot will hammer API server without backoff if API server responds with errors

https://github.com/flatcar-linux/flatcar-linux-update-operator/blob/c180704dde101d2c8313c7beabfdfec24fbe8920/pkg/agent/agent.go#L192-L202 this loop should have some kind of backoff on error, as it may fail in the following conditions:

getting Node object fails
creating watcher fails
watching times out (this happens regularly every 24h #23)

Not only this, but once this happens it also won't stop gracefully after closing the control channel.


Out of sync with docker state (deleted containers still appear in the GUI)

There are some delays with virtualbox reporting the containers are being alive when they have been removed via the CLI.
This is a known issue and has been added to our bug list


saving annotations to github always defaults to CVAT1.1 instead of selected option

My actions before raising this issue

[ ] Read/searched the docs
[ ] Searched past issues

Expected Behaviour

Current Behaviour

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Git hash commit (git log -1):
Docker version docker version (e.g. Docker 17.0.05):
Are you using Docker Swarm or Kubernetes?
Operating System and version (e.g. Linux, Windows, MacOS):
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Logs from `cvat` container

Next steps
You may join our Gitter channel for community support.

Thanks for the report, I will check the issue

Maybe duplicate of #4084