Tool to split/merge TTC

As requested by Adam.  Would be useful.  Possibly as a separate tool as well as with support in ttx.

The FDK now includes otc2otf and otf2otc tools.

@twardoch ^^^

Cool :) I'm leaving this one open so Behdad remembers that he intends to still improve fontTools a bit (ability to handle TTC as a whole, he mentioned).

@miguelsousa Is there documentation about those tools in FDK?  I can provide the same API.

@behdad the documentation that exists is in the scripts themselves and can be obtained by using the -h option.
otc2otf otc2otf.py  [-r]

Extract all OpenType fonts from the parent OpenType Collection font.
-r  Optional. Report TTC fonts and tables, Will not write the output files.

example:
 AFDKOPython otc2otf.py  -r  LogoCutStd.ttc

The script may be invoked with either the FDK command:
  otc2otf
or directly with the command:
  python <path to FDK directory>/FDK/Tools/SharedData/FDKScripts/otc2otf.py

otf2otc  -t
 -o <output ttc file name> <input font file 0> ... <input font file n>

-t
  Optional. When this option is present, the matching table from the specified font file is
used for all the font files.

example:
  otf2otc -t 'CFF '=2 -o LogoCutStd.ttc LogoCutStd-Light.otf LogoCutStd-Medium.otf LogoCutStd-Bold.otf LogoCutStd-Ultra.otf
# The 'ttc' file will contain only one CFF table, taken from  LogoCutStd-Bold.otf.

The script may be invoked with either the FDK command:
  otf2otc
or directly with the command:
  python <path to FDK directory>/FDK/Tools/SharedData/FDKScripts/otf2otc.py

Build an OpenType Collection font file from two or more OpenType font
files. The fonts are ordered in the output 'ttc' file in the same order
that the file names are listed in the command line. If a table is
identical for more than one font file, it is shared.

For each file, check that it looks like an sfnt file.

For each file, read in tables. Build a font object list, and dict of table tags to table data blocks.

A font object contains;
  font file name
  list of [tableTag, table data, shared] pairs

as the font tables are being read in, they are compared against the list of already seen data items.
If any match, the font table reference is replaced by the reference to the table already seen.

I'd like to add support for collections to the WOFF2 encoder. However we first need to decide on an API for TTCollection.
Any suggestions?

Let me upload whatever I have and leave it to your mighty hands...

:+1:

BTW, note that the otc tools in FDK are completely standalone, simple, dependency-free pure-Python tools:
https://github.com/adobe-type-tools/afdko/blob/master/FDK/Tools/SharedData/FDKScripts/otc2otf.py
https://github.com/adobe-type-tools/afdko/blob/master/FDK/Tools/SharedData/FDKScripts/otf2otc.py
I think this could be easily lifted, except that FDK is Apache 2 while fontTools is MIT-licensed. Not sure how this affects things.
A.

Note that Doug also wrote one in nototools:
https://github.com/googlei18n/nototools/blob/master/nototools/ttc_utils.py
https://github.com/googlei18n/nototools/blob/master/nototools/decompose_ttc.py
I agree we want to add API though.  Unfortunately I cannot find what I had :(.  It wasn't much though, was TTCollection indeed.  For decompiling, it's easy.  I think we want to set something like collection.fonts to be a list of TTFont() objects.  Add iteration to the collection object as well such that we can just do for "font in collection:".
Compiling becomes more complicated, but I leave that to you!
Also, maybe we should add a TTFontOrCollection() function that creates either a TTFont or TTCollection based on the font data.  We also need to add a simpler way to detect what the data represents.  Currently one has to try to open...
TTCollection should preferably have much of the same API as TTFont, in terms of compile(), save(), fromXML(), etc.
Thanks!

FWIW I did a test implementation (not realizing this issue existed) of TTC for fontTools and I found needing to branch what I was creating and worry about whether I had a TTFont or a SomethingElse annoying. I found it more convenient to make TTFont capable of representing either a regular font or a collection. If its a collection it has a fonts attribute with the TTFont's within the collection. This results in compile, save, to/from XML working with minimal changes.

I found it more convenient to make TTFont capable of representing either a regular font or a collection. If its a collection it has a fonts attribute with the TTFont's within the collection. This results in compile, save, to/from XML working with minimal changes.

Since it's Python, you can have two different types that implement the same save, XML, compile, ... API...

The convenience factor was mostly avoiding having to open the file to decide which object I was creating. As far as the API, my thinking was just that if it's the same entry points it doesn't have "much of the same API", it has exactly the same API and there is less tendency for those APIs to diverge over time. Either way is certainly workable.
However, IMHO the more interesting question is how to handle editing shared tables. For example, if fonts 0 and 1 share glyf, can I reach in and edit by both fonts[0]['glyf'] and fonts[1]['glyf']? How does one check if a table is shared or cause it to become shared?

@anthrotype Want to take this one?  Perhaps summarize what we discussed in person?  Thanks.

Sure, I was planning to do it as soon as I finish the logging thing I'm working on.

While implementing DSIG checking a while ago, I noticed some TTCs have individual DSIG's in their member fonts, and I have always wondered if I can split them up and verify the individual ones.  MS Font Validator has some code for writing fonts (which itself does not use), so this is probably do'able.

@rsheeter : about sharing tables. Sharing glyf table is messy (or have a superset that includes all the edits), but sharing most other tables could work at a copy-on-write manner, I guess; and just before writing, one needs to calculate the table checksum anyway, and I seem to have seen some code, either in ttx or in FontVal, which avoid writing duplicate tables of identical checksums.
Hmm, it is in FontVal, OTFontFile/OTFile.cs:WriteTTCFile(), line 566 onwards - it does a barbaric binary check.

@behdad @davelab6 @anthrotype @aaronbell @twardoch @miguelsousa @n8willis : A mere 30 lines (include blank lines, minus comments), IronPython Fontval-based example to split ttc's.
https://gist.github.com/HinTak/33cdcb8e1558538389cb5e0475674acc
I have only tried it on mingliu.tttc and the output seems to be valid. This is just to check that the Writefont functionality inside FontVal (which it does not use itself - obviously it has no use of that sort of routines) is functional. I might update it a bit to do what I have in mind - see if after splitting, whether individual DSIG in member fonts are valid in some such files I see.

You shouldn't bother verifying the individual DSIGs of TTC's members. They should have never been there in the first place. TTC may only have a single Format-1 DSIG table for the whole collection.
From https://www.microsoft.com/en-us/Typography/dsig.aspx

Individual fonts included in a TrueType collection should not be individually signed as the process of making the TTC could invalidate the signature on the font.

You shouldn't bother verifying the individual DSIGs of TTC's members.

I know - I am just curious whether the merge happens immediately after the signing, or if there are changes between signing and merging.

The corresponding FontVal-based IronPython script to merge truetype fonts into a truetype collection is about the same length, and 2/3 the same - they use the same modules, etc, obviously.
https://gist.github.com/HinTak/96a686572a824d78f8e1967b464821aa
Ran the splitter and merger against mingliu, @rsheeter , and there was already de-duplication on write, which is, I am glad to see, functional - note re-merge is a lot smaller than sum of all members:
32217124 original
27349496 member0
27349516 member1
27387460 member2
32210100 re-merged version
The 7k difference between the original and the new-merge is the TTC DSIG. The old version had all the directories up front, while the new has 2nd directory after tables of 1st font, etc.
The 32MB TTC is about 22MB of glyphs, common to all three members, but contains two versions of EBDT at 5MB . So that's how all 3 member fonts are about 27MB each.

This is done now by fonttools ttLib...

This is done now by fonttools ttLib...

Is there someplace where how to use these new split/merge features is explained?
Nothing in the official docs, and I do not see anything in the files (as mentioned above).
Thanks.

Is there someplace where how to use these new split/merge features is explained?

Try fonttools ttLib --help
This currently only supports extracting one face from a TTC at a time, using -y parameter to choose which face, and -o to save the output. Or building a TTC by listing multiple input fonts and using -o to save the output.

Already had updated to latest fonttools and had also ran that help command.
And am already familiar with extracting one-by-one.
Thought this added some features.
Thanks for the info.

@behdad Try fonttools ttLib --help

This does not seem to work with the latest release
$ fonttools
fonttools v4.39.3

fonttools cffLib.width Calculate optimum defaultWidthX/nominalWidthX values
fonttools cu2qu        Convert a UFO font from cubic to quadratic curves
fonttools cu2qu.benchmark Benchmark the cu2qu algorithm performance.
...
$ fonttools ttLib --help
Traceback (most recent call last):
  File "<frozen runpy>", line 148, in _get_module_details
  File "<frozen runpy>", line 142, in _get_module_details
ImportError: No module named fontTools.ttLib.__main__

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/fonttools", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/fontTools/__main__.py", line 31, in main
    runpy.run_module(mod, run_name="__main__")
  File "<frozen runpy>", line 222, in run_module
  File "<frozen runpy>", line 152, in _get_module_details
ImportError: No module named fontTools.ttLib.__main__; 'fontTools.ttLib' is a package and cannot be directly executed

However if I invoke the ttLib module directly it works
$ python3 -m fontTools.ttLib.__init__ --help
usage: fonttools ttLib [-h] [-o FILE] [-y NUMBER] [--lazy] [--no-lazy] [--flavor FLAVOR]
                       [font ...]

Open/save fonts with TTFont() or TTCollection()
...

Environment:

Python 3.11.2 (CPython)
macOS 10.15 x86_64
fonttools 4.39.3

That seems to be picking up an older fonttools command it seems. How did you install the latest fonttools?

How did you install the latest fonttools?

I've tried both a "normal" system-wide install and installing in a virtual environment (same results)
I.e.
$ pip3 install fonttools
$ fonttools 2>&1 | head -n1
fonttools v4.39.3

and isolated with venv:
$ mkdir tmp1 && cd tmp1
$ python3 -m venv venv
$ . venv/bin/activate
(venv) $ which pip
/Users/rsms/tmp1/venv/bin/pip
$ pip install fonttools
Collecting fonttools
  Using cached fonttools-4.39.3-py3-none-any.whl (1.0 MB)
Installing collected packages: fonttools
Successfully installed fonttools-4.39.3
$ fonttools 2>&1 | head -n1
fonttools v4.39.3
$ fonttools ttLib --help
Traceback (most recent call last):
  File "<frozen runpy>", line 148, in _get_module_details
  File "<frozen runpy>", line 142, in _get_module_details
ImportError: No module named fontTools.ttLib.__main__
...

yeah, I can reproduce, thanks for the report. We need to add a __main__.py to fontTools/ttLib since it is a package (directory). I'll fix this


implemented bogo sort in nim

I implemented bogo sort in nim, I also fixed a small formatting error I made in my last commit under book.json (the nim lang section was off a space).

The formatting in book.json is still weird. The code looks fine to me though


Incorrect arc angles in parse_circle

In parse circle (and maybe the ellips version)
https://github.com/SlugFiller/godot-vector2d/blob/bd7940f568aee89a133b6995bbc7bf17bb4eb251/addons/vector2d/svg.gd#L581
The circle element is parsed into a start and two arc segments for the shape path. I may be misunderstanding how these arcs are setup based on the four points for each arc, but it appears to me like they've got the wrong angles and coordinates around the circle. I would expect the start segment to be on the first arc start point and then the two arc 180°s to form the full circle. But instead the start is in another point and the two arcs seem to be 270°, causing overlapping shapes.

I'm not entirely sure what you're saying here, but the logic of the code seems correct, and I did test this to see it forms the correct shape.
The start point is the left-most point on the circle (cx-r, cy)
Then it makes an arc the the right-most point (cx+r, cy)
Then a second arc right back.
The format for arc segments is [SEGMENT_TYPE.ARC, center+x_axis, center, center+y_axis, end] with an implicit start parameter taken from the previous segment.
The formula for it is center+x_axis*cos(alpha)+y_axis*sin(alpha) where alpha is monotonic rising (up to wrap-around at 360 degrees) from alpha_start to alpha_end, where x_axis*cos(alpha_start)+y_axis*sin(alpha_start) is colinear to start-center and x_axis*cos(alpha_end)+y_axis*sin(alpha_end) is colinear to end-center.
In the circle case, center+y_axis=end for both arcs, while x_axis is y-positive for the first arc, and y-negative for the second arc. This means both arcs go from -90 to 90 degrees, creating a full circle going x-negative, y-positive, x-positive, y-negative, and back to x-negative.

The format for arc segments is [SEGMENT_TYPE.ARC, center+x_axis, center, center+y_axis, end] with an implicit start parameter taken from the previous segment.

Ah, I see. Then it was just a case of me misunderstanding some of the points, thank you for the explanation.


toggle slider instead of checkbox for confirmation in popup (popup.html, popup.js)

i can do this one


some refactoring

@mmelko @phantomjinx mind to take a look and give feedback?

Please note that is far from being complete :)

@phantomjinx @mmelko I think some basic stuffs are now in place, there are a few stuffs to be done:

add support for subpath (https://github.com/KaotoIO/kaoto-standalone/issues/32)
configure CORS
improve bundle/index generation
and of course add some tests :)

I think those additional things can be added as a second step, WDYT ?

@rinaldodev mind having a look ?

@Delawen @lordrip @phantomjinx anythint missing in this pr ? I'd like to get it merged to start working on the pipeline to build and release the operator on operatorhub


[Impeller] implement golden tests for opengles

We have golden tests for metal and vulkan, we should have them.  As of 125180b8a7204de823544d658e89f7d3dac65e11 there were a handful of playgrounds tests that didn't render correctly and one that stalled the process.
I think the easiest way to implement this may be to use Angle on macOS to expand our existing golden test runner.  If Angle works, I think the code will be almost exactly the same as we did for vulkan (see vulkan_screenshoter.mm).

One of the failures is known: https://github.com/flutter/flutter/issues/111775


Required prep dependency not in centos 8

javapackages-local macros are required for some packages:
Packages:

c8: istack-commons, java-comment-preprocessor, javapoet, jboss-jaxrs-2.0-api, jboss-logging, jboss-logging-tools, jboss-logmanager, jboss-modules, jdeparser, jolokia-jvm-agent, maven-verifier-plugin, ongres-scram, jarjar

also c8: junit5, but after install, it will fail with weirdly expanded macro:
%global platform_version 1.%(v=%{version}; echo ${v:2}) expands to 1.version} instead of 1.4.0`


Initial pass at reports in the public api

import wandb
api = wandb.Api()
report = api.reports("stacey/keras_finetune", name="Curriculum Learning with Nature Photos")[0]
section_0 = report.sections[0]
section_1 = report.sections[1]
section_2 = report.sections[2]
section_0_runs = report.runs(section_0)
section_1_runs = report.runs(section_1)
section_2_runs = report.runs(section_2)

This is super cool

`import pypandoc
HEADER = r"""
\documentclass{article}
\usepackage{graphicx}
\usepackage{csvsimple}
\usepackage{booktabs}
\usepackage{longtable}
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\title{TITLE}
\author{%
AUTHOR
}
\begin{document}
\maketitle"""
FOOTER = r"""
\begin{thebibliography}{9}
\bibitem{wandb}
Weights and Biases,
\\texttt{http://wandb.com}
\end{thebibliography}
\end{document}
"""
def runs_to_df(runs):
summary_list = []
config_list = []
name_list = []
for run in runs:
# run.summary are the output key/values like accuracy.  We call ._json_dict to omit large files
summary_list.append(run.summary._json_dict)
    # run.config is the input metrics.  We remove special values that start with _.
    config_list.append({k: v for k, v in run.config.items() if not k.startswith('_')})

    # run.name is the name of the run.
    name_list.append(run.name)

summary_df = pd.DataFrame.from_records(summary_list)
config_df = pd.DataFrame.from_records(config_list)
name_df = pd.DataFrame({'name': name_list})
all_df = pd.concat([name_df, config_df, summary_df], axis=1)

# should put smarter logic in here to drop all columns that are non-numeric or strings
all_df = all_df.drop(['graph'], axis=1)

return all_df

def markdown_to_latex(markdown):
latex= pypandoc.convert_text(markdown, "latex", format="markdown")
return latex
def section_to_latex(section):
section_latex = ""
title = section['name']
for panel in section['panels']['views']['0']['config']:
if panel['viewType'] == "Markdown Panel":
section_latex += markdown_to_latex(panel['config']['value'])
return section_latex

def runs_table_to_latex(runs):
df = runs_to_df(runs)
return df.to_latex()
def report_to_latex(report):
report_latex = ""
report_latex += HEADER.replace("AUTHOR", report.entity).replace("TITLE", report.name)
for section in report.sections:
report_latex += section_to_latex(section)
report_latex += runs_table_to_latex(report.runs(section))
report_latex += FOOTER
return report_latex

import wandb
api = wandb.Api()
report = api.reports("stacey/keras_finetune", name="Curriculum Learning with Nature Photos")[0]
report_latex = report_to_latex(report) `
Produced [
test-auto.pdf
](url)

@shawnlewis check it out


Error when transform block with mark to list

Bug Report 🐛
Expected Behavior
There should be no errors.
Current Behavior
A wild Error appears
Steps to Reproduce

Go to https://ap-web-components.netlify.app/?path=/story/markdown-editor--demo
Select the first paragraph AFTER any marked block (bold, italics)
Try to change it to UL  or OL
See an error in the console

Desktop
Slate: 0.58.3
Browser: Chrome
OS: Windows 10

can you assign me on it

can you assign me on it

Done

Solved , needs to test it and make a pull request


Star glyph not rendering correctly

fix #4515

Fixed CI

CI failed on mysql but that seems to be just a cloudfront outage.

CI restarted

Codecov Report

Merging #4532 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #4532   +/-   ##
======================================
  Coverage    20.2%   20.2%
======================================
  Files         156     156
  Lines       31140   31140
======================================
  Hits         6292    6292
  Misses      23890   23890
  Partials      958     958

Continue to review full report at Codecov.

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

I don't think that is correct way to fix this. I'm on mobile can't check right now but fa class should set correct font family already

@lafriks agreed, but there is some strange interference between the Semantic UI iconfont and fontawesome...guess that's causing all the trouble.

Simply changing the icon type from fa-star-o to fa-star fixes this rather than a bunch of file edits.

@atom0s sadly that change also isn't entirely effective, as it would break logic:  is the existing logic, and changing it would mean that a user couldn't tell if they are have starred the repo yet.

Does not changing to  help?

@lafriks that specific change didn't work, however I found replacing icon with fa worked. Even though it did work I'm still unsure about it because icon is used everywhere else in the application.

@techknowlogick @Wqrld it is caused by semantic ui update.
This is correct solution for unstarred use:  for starred:

That's great news! I should be waking up in a few hours and can submit a PR with that change, or if you get to it before me I can give it my LG-TM

I have submitted fix, closing this


failing test (tcp_writealot)

Version: 1.19.1
Platform: CentOS 7

I've downloaded and built libuv according to instructions (with extra git reset --hard v1.19.1 call) -- in make check one test (tcp_writealot) has failed. I ran make check about 5 times after that -- they all succeeded.

Some tests are timing-sensitive by nature.  If you run them on a slow or busy system, they can be flaky.  Not much we can do about that.

No probs. I thought you may want to be aware of this.

Hi
I've run on a similar issue on Debian mipsel build system where tcp_writealot test fails on timeout.
Could you setup a test option (or an environment variable) to disable time-sensitive tests ? So that only (more) robust tests would be run on Debian (or other) build systems ?
All the best
Dod (for Debian)

This issue is 2 years old, please open a new one since many things have changed and it’s better to start fresh :-)


added document on project structure in README.md

Added Skeleton of project structure and brief description on most item

Corrected typo on line 33

Looks good to me!


allow to register subdivisions

At present subdivisions are always loaded from files (even if the country is custom registered). This fix enables passing subdivison data to ISO3166::Data.register

sure, will do

@rposborne should be good now


Provide variables when autopublishalias is REFed in Globals

Issue #, if available:
fix #1633
Description of changes:

Update Serverless Transform logic to handle REFs in the Globals AutoPublishAlias parameter

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We are already doing this when it isn't in the Globals so just expanding it for the Globals


added eslint setup

Description
added eslint setup and prettier code by linting the code
Fixes #497
Type of change

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

[x] New feature (non-breaking change which adds functionality)

[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

[ ] This change requires a documentation update

[x] My code follows the style guidelines of this project

[x] I have performed a self-review of my own code

[x] I have commented my code, particularly in hard-to-understand areas

[x] I have made corresponding changes to the documentation

[x] My changes generate no new warnings

[x] I have added tests that prove my fix is effective or that my feature works

[x] New and existing unit tests pass locally with my changes

@ravikr126 @harikesh409 please merge my pr

@ravikr126 the whole configuration is wrong did you check if it is working?

I check may be some error show now.can I revert this?


Update qiskit_version

What should we add?
We are moving towards qiskit=qiskit-terra and many subpackages have been removed from the metapackage (aqua, ignis, ibmq-provider and soon aer). What are going to do with the version string __qiskit_version__ and the handy %qiskit_version_table jupyter magic command (which just display the information of __qiskit_version__?
There a few cases:

Deprecated packages (for example, aqua, ignis, ibmq-provider).

Packages: aqua, ignis, ibmq-provider
Suggestion: Remove them

New packages that replaced the deprecated packages:

Packages nature, optimization, finance, machine-learning, experiments, ibm-provider, ibm-runtime, ibm-experiment.
Currently we include aqua's replacement the application modules, but not ignis' replacement qiskit-experiments, and ibmq-provider's replacements qiskit-ibm-provider, qiskit-ibm-runtime, qiskit-ibm-experiment
Suggestion: add the replacements packages.

Other ibm developed qiskit packages that were not replacement of old "element" sub packages.

Packages: dynamics, metal
Suggestion: I am not sure.

Tbh, we should just remove it, this was added for the context of everything sharing the same qiskit namespace. Like specifically it was because when everything was all under qiskit you couldn't use qiskit.__version__ to figure out which versions of all the various elements were installed. In a world where all these things have different namespaces they all should have different version attributes and we don't need a common entry point (especially for the core project that all these others depend on).

All the Jupyter tooling currently uses __qiskit_version__ to make the version table at the bottom of basically every notebook that's built into any form of Qiskit documentation.  We'll most likely want some sort of single-callable replacement for that if we're getting rid of __qiskit_version__.

All the Jupyter tooling currently uses __qiskit_version__ to make the version table at the bottom of basically every notebook that's built into any form of Qiskit documentation. We'll most likely want some sort of single-callable replacement for that if we're getting rid of __qiskit_version__.

Yes I agree with this. The version table is still very useful for documentation purposes.
Related to this, it would be great to have an equivalent version table that is friendly for rst files without using jupyter-execute directive.

A bit unrelated, maybe a QiskitVersion._repr_html_() instead of the magic?


Added new MovieType of Game.

Great project by the way! This change is super simple. I just had an error deserializing a search request that happened to have "game" as a MovieType enum.

Great project by the way! This change is super simple. I just had an error deserializing a search request that happened to have "game" as a MovieType enum.

Thanks, I'm glad you like it.
Sorry about that, and thanks for the PR.


Supports limit options on filtered image list

With additional  filteredLimit property user can limit the filtered list count.
e.g.: search by tag in a specific user's feed and only render the first X image

Can you provide a working example please?

I found a problem when I want to filter for something (ie: user's tag) and I'd like to limit the results (ie: the first 4 image). Then the original script loads the most recent 4 image from the API and iterate through with the custom filter function. But with these method if the first 4 image don't have the searched tag the script returns with fewer results or maybe an empty array.
This modification has a new property for the settings of the Instafeed object, a new limit property. First it iterates through with the filter function in the image collection. In this point the filter function can return with false, so the size of the collection can decrease. After that depends on the new filter property limits the size of the collection.
So my answer: in that case the user used the original limit property and used a filter function which can returns with false value, then this is a solution.
Example of the using in a Gist


feat: Support Llama 3 code completions

Most Llama models don't support code completions (only Code Llama and Deepseek Coder).
This PR fixes the NPE that was produced and adds support for Llama 3.
I guess #495 beginning of empty line is not possible with com.intellij.codeInsight.inline.completion.elements.InlineCompletionGrayTextElement.Presentable#render returning on empty text.
But entering tabulators shows no completion either.
Any number of spaces shows completions.
But when followed by a backspace (some spaces deleted), completions disappear again 😅

Hmm, if infilling is not supported for Llama 3, then why support it? Can we just disable it?

Are you sure? 😉 I tried this PR locally and code completions were shown 😅
Please try if it works for you too.

Code completions require a different prompt template

I added a new InfillPromptTemplate, can you fix it?
Otherwise I'll remove it and just leave the NPE fixes.


Use the correct Jest and rename fluxible-app to fluxible

Jest is jest-cli on npm
fluxible-app is deprecated since 0.1.5

@jessy1092 I'll review and merge ASAP, thanks

thanks man, merged :+1:


Cosmos: Document that Resource Tokens can be used

I would like to use Azure Cosmos DB and EF in a Xamarin Forms App.

Specifically, I'd like to control access to data in Azure Cosmos DB by means of a Resource Token granted based on app user authentication (e.g. Azure AD B2C).
In the example (i.e. Azure Cosmos DB Provider example), a master key is used:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    => optionsBuilder.UseCosmos(
            "https://localhost:8081",
            "[Master key]",
            databaseName: "OrdersDB");

In contrast, the Azure Cosmos documentation promotes the use of a Resource Token for Secure access to Azure Cosmos DB, as a better approach compared to the distribution of the master key to the app.
I already have the Azure AD B2C/Resource Token Broker infrastructure in place (see here), however it doesn't look like it is possible to define DBContext in such a way, that a granted Resource Token can be used, rather than a master key. Or am I missing something?

Note from triage: link to the Azure documentation for this.

Fixed in 8e3bce5ebcc045b5b3be9cffd691cef1fa81a956


[FEAT] Add media url transformer for the magento driver

:bulb: Feature request
Feature Name
Add media url transformer for the magento driver
The Desired Behavior
Code to transform the magento media url in product requests are spread between many product transformers. This repeated computation should be moved into a single common transformer that occurs before the product type specific transformers.

This was accidentally resolved by this PR: https://github.com/graycoreio/daffodil/pull/1626
Now, all media url transforming happens in the product-preview transformer


Add piperTTS in-browser text-to-speech

Pull Request Type

[x] ✨ feat
[ ] 🐛 fix
[ ] ♻ refactor
[ ] 💄 style
[ ] 🔨 chore
[ ] 📝 docs

Relevant Issues

resolves #xxx
What is in this change?

Adds native browser support for PiperTTS the runs fully on-client for each user using web-workers.

Additional Information

Developer Validations

[x] I ran yarn lint from the root of the repo & committed changes
[x] Relevant documentation has been updated
[x] I have tested my code functionality
[ ] Docker build succeeds locally

RTM


Determine length for bindValues as bindParam does

so in
public function bindParam($name, &$value, $dataType = null, $length = null, $driverOptions = null)
it determine the length of the datatype which is i'm using PDO.
in bindvalues ?
I'm using oracle stored procedure with out param
Additional info

Q
A

Yii version
2.0.14.x

PHP version
5.6

DB
Oracle

I don't think it's possible since PDO doesn't have $length for bindValue().


Add 1px gap for floating elements

@dplsek asked to add a 1px gap between the anchor and the floating panel. Figma will have to be updated too.
### Affected components
- [x] Dropdown
- [x] Combo Box
- [x] Menu

Closed by #3813


Add a Hex wrapper for integer type, with a ToTokens impl using {:X}.

This doesn’t make a difference when rustc is parsing generated code, but sometimes humans need to look at that code for debugging and bit-packed values are much more readable in hexadecimal than decimal.

Thanks! All three of your PRs looked great, I published them as 0.3.9.


Doc - Add a section to explain how to install a java, spring boot application

The existing's doc explains how to play with nodejs's application but not how to install a Java | Spring Boot application
Tasks :

[ ] Enhance the Getting started page to include a java's section
[ ] Update the Examples page to include the java's image

/assign

TBD if it needs docs


Consolidate Namespaces

Currently, the script behind the kube-deploy Make target creates two namespaces, "gateway-system" and "envoy-gateway-system". Instead of requiring two Namespaces to run EG, I suggest we consolidate on the "gateway-system" Namespace name.
Note that the "gateway-system" Namespace is created by the Gateway API install script.
@youngnick is there any reason why the Gateway API admission controller should be in a different Namespace than EG?

At least from my perspective, the intent with "gateway-system" was to reserve it for anything released by Gateway API (limited to the webhook right now). That is not currently documented and likely should be. I would personally suggest deploying Envoy Gateway in a separate namespace.

Yes, I agree that we should leave gateway-system to the Gateway API, and probably suggest eg-system, envoy-gateway, or envoy-gateway-system for EG.
The reason here is that in my experience, it's better to keep the namespace boundary equivalent to the application boundary. Having two applications that are closely related, but have separate lifecycles sharing a namespace sounds like a problem waiting to happen to me. Namespaces are almost-zero cost, so I think it's better to maximize our cleanliness in this area.

@robscott @youngnick thanks for the feedback. I suggest we keep the "envoy-gateway-system" namespace for v0.2.0. I'm moving this issue to the backlog so we can discuss during planning after the release.

@danehans can we close this issue ?

Yes, the 2 namespaces are required to split WG and Gateway API.


System Close item shows .properties.isenabled as false

This one is a little strange, and I haven't come up with an easy repro scenario.  Sometimes, the X close button on the titlebar shows up as disabled (it appears grey) even though you can click it to close the window.  One way to see this is to not have the window in question with the focus, but there appears to be other conditions as well.

I think this is my bug, I believe I have an unhandled popup getting in the way.


How to use?

The "how to use" issue did not make sense because it referred to the Crypto++ Wiki page that is prior to the time when this repository was created.
I use macOS Catalina with Xcode11.4.1, have cloned Crypto++ and then used this CMakeLists.txt file. It SEEMS that everything works because the config is created and when I "build" cryptopp-static, it says "successful". But I cannot find any lib/a/binary files in my build folder.
cryptopp-shared does not compile because it directly jumps to creating symlinks and then, clearly, says that it cannot find any dylib.
Any ideas?

@MichaelVoelkel,

Any ideas?

According to Travis CI, the builds are passing for CMake on OS X. You can find the recipe used for Travis in .travis.yml.
Travis tests OS X 10.10, Clang, XCode 6.4 and OS X 10.14, Clang, XCode 11.2. The recipe to build using CMake is:
script:
  # CMake is being run from .../cryptopp/cmake_build/ directory
  - cmake -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" ../
  - make -k -j 2 VERBOSE=1
  - ctest --output-on-failure
  - ./cryptest.exe v

If you can't straighten out the CMake problems on your installation, then you might try the GNUmakefile. It should build without problems.

Hi,
I have tried again and the issue seems specific to the Xcode generator. So, having checked out your repository and cd'ed into it, what does not work is:
mkdir build && cd build
cmake -G Xcode ..
cmake --build .

The build of crypttest executable complains about no "libcryptopp.a" file, which is fair because the new Debug subdirectory is empty. If I open the whole xcodeproj file in Xcode and try to build the "libcrypt-static" project, it says "succeeded" immediately but does not create any output.
Any ideas?

Ok, I could pin it down. It seems, Xcode generator is not able to work with intermediate object file outputs. So, disabling them works fine now :)
set(USE_INTERMEDIATE_OBJECTS_TARGET OFF)

This ticket from Xcode could be related to this issue: https://gitlab.kitware.com/cmake/cmake/-/issues/17370
So, all fine and working for me now!
By the way, my use case is somewhat important for everyone who would like to develop in Xcode and use Crypto++ because mixing generators can lead to nasty issues... and the Unix generator does not generate nice project files... Xcode should just be able to work with CMakeLists.txt directly like QtCreator or Visual Studio Code but well...

I checked this in at Commit f56dba1082bf.


UI freezes after collecting large amounts of data

Joulescope model
JS110
UI version
other
What OS are you seeing the problem on?
Windows 10
What happened?
I'm running the newest UI version (v1.1.10). I've been trying to run overnight tests and now two nights in a row when I come back in the morning the UI is completely unresponsive. My only option is to kill it and open a new instance.
Sample rate was set to 20 kHz with a ~20 GB buffer, which according to the UI should mean I can record up to ~22 hrs of data. Though even if it runs out of space I would expect it to just drop old samples and not freeze.
In this file you can see I stopped interacting with the UI at 2024-07-22 20:07:28, then the next line seems to be when I closed it at 2024-07-23 13:59:12. (Closing required right clicking on the taskbar icon and clicking "close", the "X" button on the UI didn't respond.)
joulescope_20240723_025928_34488.log
What was expected?
UI should not crash
How to reproduce?

Start signal sample streaming
Wait some number of hours more than a couple and less than 17
Observe unresponsive UI

Extra information

Version Information:

Item
Version

UI
1.1.10

driver
1.5.3

JLS
0.9.5

Python
3.11.9 (tags/v3.11.9:de54cf5, Apr 2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)]

Platform
Windows-10-10.0.19045-SP0

Processor
AMD64 Family 23 Model 49 Stepping 0, AuthenticAMD

I can say we have not tested this configuration of 20 kHz sampling rate and 20 GB buffer.  It should work, and we will set up a test to see if we can duplicate this.  As you already observed, the log file does not give any hints as to what went wrong.
In general, here are some recommendations for long-term data collection:

Ensure that your computer power management is disabled.  Modern OSes aggressively throttle back USB and processing when they think you are not looking.
Disable all updates (Windows, vendor such as Dell, antivirus), backups, & scans.  I use wired network, and I physically unplug ethernet from the computer when performing long-term captures.
Switch to the Multimeter view (no Waveform widget).  The Waveform widget requires a fair amount of processing that can exacerbate other issues.
Record to JLS rather than increasing the RAM buffer size.  Windows has no great way to say keep this buffer in RAM.  If it decides to swap it to disk, then UI performance nose dives, which could explain this behavior.  Also, the RAM buffer goes away if the application crashes, the computer crashes, the computer resets, etc.  The JLS file persists.

All good suggestions. I forgot to note that I have successfully run similar setups with buffers of 12-20 GB quite a number of times on previous UI versions. Probably the last time I did was sometime last fall or last summer.

Well, I ran the Joulescope UI overnight on a Rizen 7 5800U machine with 32 GB RAM [Amazon].  The UI was still very responsive this morning.  The configuration was 20 kHz and 20 GB RAM buffer.  However, I used a JS220, since that was what was already connected.
I just started a new test with a JS110 now...

This time after 19 hours it still and about 15 GB it's still working fine. The computer did go through windows updates and some reboots since the runs where it froze. So maybe just chalk it up to windows being dumb.

I just check on my Rizen 7 5800U computer, and it is still running with a JS110.  It's been 24 hours.  I will keep it running over the weekend and see what happens.
Long-term stability is definitely a challenge on Windows.  Let's keep this open and I'll continue to see if I come across anything.  Likewise, post if you see this again, especially if the logs show something!

While we do get occassional reports of the UI not performing on Windows, most are with version 1.0.x.  Version 1.1.11, 1.1.12 and especially the soon-to-be-released 1.2.0 picked up many Qt / PySide6 / PySide6-QtAds fixes that could explain some memory & performance problems.
I am going to close this issue.  We continue to monitor performance and stability.  If you see any issues, feel free to reopen this or create a new one.


unable to find valid certification path to requested target with wso2 and Azure AD integration

Describe the issue:
I'm getting the following error after setting up Azure AD authentication on WSO2. "ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler} - Authentication failed exception! Exception while requesting access token javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target" I have imported the wso2carbon.cer to the java cacerts so how can this issue still persist?
How to reproduce:
Register Application on Azure AD and give User.Read permission
Create Service Provider with OAuth and OpenID on Inbound Authentication which is connected to my Java Application and configure outbound Authentication that includes both basic and federated authentication methods.
Create an Identity Provider with Office365 as a Federated Authenticator which is integrated to Azure AD Application with clientID and ClientSecret.
Import wso2carbon.cer certificate to java cacert
Configure my java application with the Service Provider Client ID and Secret.
Run the java application.
After the above steps, I'm able to authenticate to my application with basic authentication (username and password) but I'm unable to authenticate using Office365 credential. It keeps on throwing "unable to find valid certification path to requested target" exception.
FYI: If there is a better way of integrating Azure AD with wso2 so that the users of my application can authenticate with their AD (office365) credential, please let me know
Expected behavior:
I expected to be able to authenticate using my office365 credential
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS Latest 5.11.0
OS: [Windows]
Database: [H2]
Userstore: [External Identity Provider, Azure AD]

Optional Fields
Related issues:

Suggested labels:

seems the issue occurred while requesting the access token from Azure. Can you try importing the Azure public certificate to client-truststore.jks of the identity server. You will need to restart the Identity Server after importing the certificate.

Hey @omindu,
Kindly explain what you meant by Azure public certificate?

It's the TLS certificate corresponding to the azure token endpoint. You can get the root CA certificate from the token url (ex: https://stackoverflow.com/a/65435907) and import it to <IS_HOME>/repository/resources/security/client-truststore.jks

Closing since answered. Please feel free to reopen if further clarifications are needed.

Hi,
I seem to be having the exact same problem with the same scenario:

I'm putting duende identity server behind wso2.
I get redirected to duende login page, type in credentials,
and crashes with that exception.

I chose to add the certificate .pem through wso2 console management in the federated authentication configuration because, it seemed a bit complicated the other way (creating keystores, using multiple ssl and keytool commands, changing deployment file etc.).
Still, I get the exception
ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler} - Authentication failed exception! javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

seems the issue occurred while requesting the access token from Azure. Can you try importing the Azure public certificate to client-truststore.jks of the identity server. You will need to restart the Identity Server after importing the certificate.

Also, what i don't understand in this explanation, if there was an issue with the certificate, I think souldn't even be able to be redirected to the login page, should I?


Add qbft_getRequestTimeoutSeconds RPC Method

Fixes: #7032
Adds a new RPC method qbft_getRequestTimeoutSeconds to allow querying the current request timeout seconds value for QBFT nodes.
Output:
curl -X POST --data '{"jsonrpc":"2.0","method":"qbft_getRequestTimeoutSeconds","params":[],"id":1}' http://localhost:8545
{"jsonrpc":"2.0","id":1,"result":10}

@macfarla If this gets merged, it would make sense to add the same method for IBFT nodes as well right? That could be in another PR

@jframe Hi, I just removed it, can you please re-run

@7suyash7 there are some spotless errors to fix

@7suyash7 there are some spotless errors to fix

Can you please re-run


ARROW-3988: [C++] Do not build unit tests by default, fix building Gandiva unit tests when ARROW_BUILD_TESTS=OFF

I found while working on this that disabling ARROW_GANDIVA_BUILD_TESTS would break the build -- I think this was caused by some other changes I made. We should remove that option and instead use the new modular build targets and invoke unit tests using labels. So we would write
ninja gandiva  # this will build all libraries and unit tests when ARROW_BUILD_TESTS=ON
ctest -L gandiva

I opened https://issues.apache.org/jira/browse/ARROW-3994. That can be done in a follow up patch


Sync pipes

Sorry, but let's drop this for now. Those pipes are like that because underlying data sources are observables, like translation tokens or format options — we should probably just switch those to signals and take it from there, maybe some of those pipes won't even make sense anymore and will turn into helper functions that inject things they need under the hood.


[reconciler] Don't Prune During Inactive Reconciliation

This PR fixes a regression in #221 where inactive reconciliation could result in pruning. It is a bad idea to prune during inactive reconciliation because we may accidentally prune the only historical balance record of an account (in active reconciliation there is always a new change stored).

Pull Request Test Coverage Report for Build 10753

25 of 25 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 79.073%

Totals

Change from base Build 10726:
0.03%

Covered Lines:
7368

Relevant Lines:
9318

💛  - Coveralls


Prebuild for Cocos2d fails when working on a clean Windows install

Installed rapidgame and VS Commuity 2015.
Prebuild fails.
Error deleting symlink: Error: ENOENT, no such file or directory 'C:\Program Files\nodejs\node_modules\rapidgame\latest'
And
Building Windows Debug cocos2d-js-win32.sln...
Build failed. Please run with --verbose or check the build log: C:\Program Files\nodejs\node_modules\rapidgame\build.log
build.log says
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(55,5): error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, please install Visual Studio 2010 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\Program Files\nodejs\node_modules\rapidgame\src\cocos2d-x\external\Box2D\proj.win32\libbox2d.vcxproj]
So I opened the solution cocos2d-js-win32.sln in VS and built it from within the IDE. No problems.

Usually this happens when you forget to run your commandline as administrator (as mentioned in the readme).
If you did run as administrator, then feel free to re-open this issue.

I definetely ran everything as an administrator.


Whish list - add a link on "How to change the Unique Name"

Hello,
It would be nice, after I found a way to get the Organization ID and Unique Name, to have a link to "extra information" like how to change that "Unique Name".
Kind Regards,
Lucian

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

ID: bf73e46f-9ed3-cd73-fe3c-dca0c74f329e
Version Independent ID: 11b2f145-ae97-416d-5536-0365be23a68d
Content: Determine your environment's organization ID and name - Power Platform
Content Source: power-platform/admin/determine-org-id-name.md
Service: power-platform
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@luconsta
Thanks for the suggestion. We'll update the topic with that info.


How to get the File Path of the selected file from FineUploader control

How to get the File Path of the selected file from Fine Uploader control.Appreciate early response.
Regards
Manidipa

Please don't post the same question twice. If you have a specific question, you'll need to show your code, describe the issue you are having in detail, and post on stack overflow (keeping in mind the rules for questions on that site)


V9.x does not preselect select boxes properly

DIO's 9er version does NOT preselect the first item of select boxes by default.
This was working fine in DIO's 8.x versions.
Demo:
https://jsfiddle.net/fdegkc7m/

This is related to https://github.com/facebook/react/issues/12200 in that the implementation was trying to mimic this expected behavior, though that seems to have leaked to non-multiple select elements.
Out of curiosity i wonder what the spec says about this particular interaction/difference between multiple vs non-multiple default selection.

Patched in 9.0.2

Great ... muchas gracias :-)


Table page should show everyone with permissions against that table

It shows groups and users in a grid right now, but it doesn't show a list of ALL users who can do things on that table including via their groups.

files-to-prompt datasette_acl/__init__.py | llm -m claude-3.5-sonnet --system 'SQL query for listing every user who can perform :action_name against :resource_id including both users with direct permission and users with permission via one of their groups.

If I return "**direct**" as the string there (and ban that as a group name) I could use a view and standard Datasette JSON faceting to build a really neat interface here. I'd have to solve exposing views from the internal.db table first though.

llm -c 'Modify that query so it only takes resource_id as an argument, and returns all users who have any access on the table with columns action_name, actor_id and permission_source - that permission_source should always be an array, strings for group names and null if the user is a direct permission user for that thing'
I eventually got to this code:
# resource_id, action, actor_id, grant_sources
# 1, alter-table, simon, ["staff","dev", null]
# Would indicate simon has alter-table on resource 1
# thanks to a direct user grant (null) + through two groups
GRANT_SOURCES_CTE = """
with direct_permissions as (
    select
        acl.resource_id,
        acl.actor_id,
        acl_actions.name as action,
        null as group_name
    from acl
    join acl_actions on acl.action_id = acl_actions.id
    where acl.actor_id is not null
),
group_permissions as (
    select
        acl.resource_id,
        acl_actor_groups.actor_id,
        acl_actions.name as action,
        acl_groups.name as group_name
    from acl
    join acl_actions on acl.action_id = acl_actions.id
    join acl_groups on acl.group_id = acl_groups.id
    join acl_actor_groups on acl.group_id = acl_actor_groups.group_id
    where acl.group_id is not null
),
all_permissions as (
    select
        resource_id, actor_id, action, group_name
    from direct_permissions
    union all
    select
        resource_id, actor_id, action, group_name
    from group_permissions
),
grant_sources as (
    select
        resource_id,
        action,
        actor_id,
        json_group_array(
            distinct group_name
        ) as grant_source
    from all_permissions
    group by resource_id, action, actor_id
    order by resource_id, action, actor_id
)
"""

async def grant_sources(datasette, resource_id=None):
    sql = GRANT_SOURCES_CTE
    sql += "\nselect * from grant_sources"
    args = {}
    if resource_id is not None:
        sql += " where resource_id = :resource_id"
        args["resource_id"] = resource_id
    db = datasette.get_internal_database()
    result = await db.execute(sql, args)
    return [dict(r, grant_source=json.loads(r["grant_source"])) for r in result.rows]

Which returns results like this:
[
  {
    "action": "delete-row",
    "actor_id": "simon",
    "grant_source": [
      "staff"
    ],
    "resource_id": 2
  },
  {
    "action": "drop-table",
    "actor_id": "simon",
    "grant_source": [
      null
    ],
    "resource_id": 2
  },
  {
    "action": "insert-row",
    "actor_id": "peanut",
    "grant_source": [
      null
    ],
    "resource_id": 2
  },
  {
    "action": "insert-row",
    "actor_id": "roo",
    "grant_source": [
      null
    ],
    "resource_id": 2
  },
  {
    "action": "insert-row",
    "actor_id": "simon",
    "grant_source": [
      null,
      "staff"
    ],
    "resource_id": 2
  },
  {
    "action": "update-row",
    "actor_id": "simon",
    "grant_source": [
      "staff"
    ],
    "resource_id": 2
  },
  {
    "action": "update-row",
    "actor_id": "tanko",
    "grant_source": [
      "sales"
    ],
    "resource_id": 2
  },
  {
    "action": "update-row",
    "actor_id": "terry",
    "grant_source": [
      "sales"
    ],
    "resource_id": 2
  },
  {
    "action": "update-row",
    "actor_id": "tom",
    "grant_source": [
      "sales"
    ],
    "resource_id": 2
  }
]

For this table:

But I've decided to go a different direction for the logic to display things on this page.

The question to answer here is "what is the full list of users who are allowed to do thing X, including users who gained that ability through a group"
Some options for how to display that:

List of groups, full list of users, no indication of which users came from which group
List of groups, for each group a list of users, then a list of direct users. This could show users multiple times but does at least express ALL of the information

I'm leaning to the second option. Even if we have teams with hundreds of groups with thousands of members I think that will still be readable enough, and I expect most Datasette instances will have less than 100 members total.

One other option here: if it turns out the list of users for insert-row and update-row and delete-row are exactly the same (which I imagine will happen a lot) I could render that as:

insert-row, update-row, delete-row

Groups:

sales: sam, tom, terry
dev: barry, simon

Users:

simon

Should that format show the combined users in a single list? Not unless someone asks for it, I think we're OK without that.


Feature/1979 remove dirname constraint

Removes dirname constraint on helm package.
Closes #1979

Due to https://github.com/kubernetes/helm/issues/1979#issuecomment-280507379, we cannot make this change since it'll break the chart spec. This can be a good discussion point for Helm 3.0, so I'll mark it for that milestone.

closed via https://github.com/helm/helm/pull/4141


Explanation of the Hydrogen Wiki

@n-riesco I know that you haven't contributed in a while, but I would still love to knock off some of the things you original developers left as to-do's/enhancements. The only problem is that for most of it I am unsure of what it all means. Could you provide some explanation on how to abstractly do those tasks or why its beneficial?
We kind of already have rich completions and the plugin api, and we are working on writing test, but what about the other stuff.

The wiki page is obsolete (the latest incarnation of a roadmap was issue #657).
I've skimmed quickly through all the goals, and here's what I remember/understand:

rich completions: as far as I know, this is an experimental feature (not part of the Jupyter messaging protocol yet).
plugin API: this has been done (@nikitakit led this work)
kernelspecs: done, this is already one of Hydrogen's dependencies
Replace jmp with enchannel-zmq-backend, enchannel-zmq or rx-jupyter: @rgbkrk would know better which of nteract's libraries is the most appropriate.
Add console support: not done yet (unless I missed it); this could be part of Hydrogen or a plugin.

All the other items seem to have already been done to some degree. Please, let me know if I missed any.

I noticed there were some efforts to move nteract to Typescript, are there any plans for Hydrogen?

@n-riesco we considered migrating but we wanted to wait till after the major. Now that we just released I may bring it up again.

@n-riesco Thanks for your help ! 😄


Docs infrastructure

Created an index.md file that serves to create a menu
Created overview.md
README for how to interact

Signed-off-by: Mary Anthony<EMAIL_ADDRESS>

@diogomonica @NathanMcCauley gents seems to be some git magic on the repo where git status tells me I deleted VERSION then I do a git checkout -- VERSION and it tells me I deleted version/version.go --- in any case until this is resolve I couldn't rebase and squash. So, two commits.


Make Recipe a subclass of App

Fixes #160
Proposed changes

Add a name parameter and attribute to App — allows to reverse routes of sub-apps by name (will be documented later).
Store mounted apps by prefix and name.
Refactor Recipe so that it is a subclass of App.

TODO

[ ] Update docs: "a recipe behaves just like any other app."

Codecov Report

Merging #166 into master will decrease coverage by 1.92%.
The diff coverage is 93.65%.

@@            Coverage Diff             @@
##           master     #166      +/-   ##
==========================================
- Coverage   98.96%   97.03%   -1.93%
==========================================
  Files          21       21
  Lines         967      979      +12
  Branches       85       88       +3
==========================================
- Hits          957      950       -7
- Misses          6       22      +16
- Partials        4        7       +3

Impacted Files
Coverage Δ

bocadillo/recipes.py
100% <100%> (ø)
:arrow_up:

bocadillo/templates.py
95.71% <100%> (ø)
:arrow_up:

bocadillo/applications.py
97.51% <90.69%> (-2.49%)
:arrow_down:

bocadillo/misc.py
63.63% <0%> (-36.37%)
:arrow_down:

bocadillo/routing.py
93.95% <0%> (-6.05%)
:arrow_down:

bocadillo/deprecation.py
86.79% <0%> (-3.78%)
:arrow_down:

Continue to review full report at Codecov.

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


OLS-757: Updated list of packages for Cachi2

Description
Updated list of packages for Cachi2
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[x] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

Related Tickets & Documents

Related Issue #OLS-757

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.75%. Comparing base (d3076b3) to head (be17242).
Report is 18 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #1518   +/-   ##
=======================================
  Coverage   94.75%   94.75%
=======================================
  Files          59       59
  Lines        2631     2631
=======================================
  Hits         2493     2493
  Misses        138      138

/lgtm

/approve

/override "Red Hat Konflux / ols-enterprise-contract / lightspeed-service"

/hold

/unhold

/hold

/unhold


css resize of the thumbnail

if the thumbnail is huge this still downloads the whole thing

see #1004


UNDER CONSTRUCTION -- Use versionIRI as a concept prefix

Background

A new issue needs to be worked through w.r.t. the proposed strategy of using the versionIRI as a concept prefix.
If a concept is defined with the versionIRI as part of its IRI, there is nothing in OWL that induces the existence of the unversioned IRI form.  E.g. http://example.org/ontology/0.1.0/File does not imply the existence of http://example.org/ontology/File.
Ultimately, the effect of this is that if a knowledge base intends to pin a version of CASE to be used, this is not easily possible.
Requirements

Requirement 1
Allow to pin a particular version of CASE in a knowledge base by applying its versionIRI.
Requirement 2
Allow to pin the most recent version of CASE in a knowledge base by default
Risk / Benefit analysis
Benefits
CASE allows adopters of the standard to refer to either a particular version of CASE, or to apply the default most recent version of CASE.
Risks

The submitter is unaware of risks associated with this change
Competencies demonstrated

Competency 1

Competency Question 1.1
Result 1.1
Competency Question 1.2

Result 1.2
Solution suggestion

Define within the knowledge base an all-encompassing owl:Ontology, and have it import the versionIRI of CASE.  Management issues around detection of multiple conflicting versionIRIs for a single ontology can then be handled with a SHACL rule within this proposal on Github:
UCO should perform OWL 2 DL review with SHACL-SPARQL (Change Proposal #406)
So, if our frequently-exercised knowledge base IRI for example individuals, http://example.org/kb/, were to involve pinning a used version of CASE, the correct answer would be to include this in the graph pertaining to that prefix:
<http://example.org/kb>
    a owl:Ontology ;
    owl:imports <https://ontology.caseontology.org/case/case/0.9.0> ;
    .

Correct, this is resolved.


Added new LupV Board for LupIO Devices

From what I understand, the (new) third commit modifies some of what the first commit is doing. Would it makes sense to fold some of this commit (or even the entire thing?) into the first commit? Otherwise, it's a bit difficult to review this PR knowing that the last commit fixes some aspects of the first commit.. Thoughts?

We could squash them all.. I've been just looking at the final changes and not per-commit, personally.
I'm not sure if it matters too much right now. We will probably have to merge these into other changesets in the lupio/main branch before pushing to upstream anyway. I don't think we want upstream to first see the version with the lupv platform and then removing the platform.
I could be wrong though.


Update v2-windows.md

Update agent creation docs in order to make sure agents folder should be editable by admins only.

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

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

#label:"aq-pr-triaged"

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


adjust 'toggle_blocking' to address several issues

use F_GETFL instead of F_GETFD to obtain the current flags
don't operate on -1 (in case of an error)
mask with bitwise NOT instead of logical negation
run F_SETFL only, if the resulting flags differ

Good catch!


Realpath command not found

++ realpath /tmp/android_build/toolchains/darwin/x86/bin/i686-linux-android-ar
android.build.sh: line 42: realpath: command not found
++ realpath /tmp/android_build/toolchains/darwin/x86/bin/i686-linux-android-clang
android.build.sh: line 42: realpath: command not found
cargo config file doesn't get correct ar and linker path, so couldn't compile ursa.

@mgkarakaya, would you be able to provide the steps to reproduce this issue and details on where you're seeing this error?


Revert "Fix wrong path for dhclient.conf on RedHat/CentOS"

Reverts kubernetes-incubator/kargo#755
Rhel-7 GCE image doesn't have the /etc/dhcp/dhclient.conf file and there is /etc/dhclient.conf, which is a regular file, not a symlink.

@bogdando Ah, so the dhclient.conf is already there on GCE RedHat? On Azure CentOS it didn't even exist and was ignored when put to /etc/dhclient.conf. Are you sure that the file you've seen is not a left-over from a previous deployment?
Maybe some better conditional logic is required here.

for GCE it's there right upon an instance creation and it contains:
retry 10;```

Ok, gonna prepare a PR that checks for existence of /etc/dhclient.conf first.


Problems with auth/access_token

When attempting to submit a POST request to auth/access_token, I am getting a 404 response. The fully qualified URI I am using is:
http://anilist.co/api/auth/access_token
Needless to say, this is fairly critical, as it stops users from being able to authenticate in any way, thus rendering the rest of the API useless.

Use HTTPS to access the API instead of HTTP.

Yup, was actually just about to update this. Sorry about that. Was non-SSL access revoked recently? It was working up until a few days ago.
Either way, good deal. Thanks, @Kazakuri.

I don't think anything has changed on the API in quite some time unless it was changed in a server config, which is very unlikely.
As far as I know a bunch of routes do work over HTTP, but access tokens really shouldn't be transported over HTTP anyways.

As far as I know a bunch of routes do work over HTTP, but access tokens really shouldn't be transported over HTTP anyways.

True that. Alas, lesson learned.


Remove Pods From Demo App and Added JustTweak Dependency as swift Package

Remove Pods From Demo App and Added JustTweak Dependency as swift Package
Description
Previously the Example App was using JustTweak depency through Pods, remove CocoaPods from the whole project and added this dependency through swift package.
Renamed the Example App as "Demo App".
Removed the Unit tests from "Demo App" and moved them under JustTweak Package.
Added "TweakAccessorGenerator" as a an executable Target in main package ("JustTweak").
Made Changes in GitHub Actions, to run tests from package instead of directly from the workspace.
Motivation and Context
Did this change to remove CocoaPods and move to usage of SPM.
Organise the code into a more structured form.
How Has This Been Tested?
Build and Run the project.
Run all tests through fastlane and also compiled and run in Xcode.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

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

Hi @mariumhassan, this PR got left open for more than 1 year. We are now moving to Toggles and not investing in this component anymore. I'm gonna go ahead and close this as well as deprecating and archiving the repo.


Flatten simplify

This is an attempt at resolving issues #37 and #42 (a problem I ran into using lp-modeler and that in my case could not be solved by increasing the stack -- the overflow still happened at a vastly increased stack size). This pull request introduces an arena allocator for a collection of LpExpressions (for an objective function or a constraint). Instead of directly pointing to a left and right child LpExpression, the LpExpression now points to the indices of the left and right child LpExpression in the arena allocator. This was inspired by:
https://sachanganesh.com/programming/graph-tree-traversals-in-rust/
This code works, with all existing tests passing. So it should not have changed any behaviour. But I am not the most seasoned (Rust) programmer, so please do scrutinize this pull request. E.g. one important thing to note, is that currently no LpExpressions ever get deleted during the lifetime of an LpExprArena, even if no other LpExpression from the arena points to them any more.
Should anybody feel like improving the code, I have also come across other crates that might help with this, e.g.:
https://github.com/SimonSapin/rust-typed-arena/
And a crate that might also provide a solution to delete unused LpExpressions (e.g. in case the LpExprArenas get too big for some functions):
https://crates.io/crates/generational-arena

So good, thank you so much. I will take a look in the next few days.

Cool, thanks!
I just remembered another thing I wanted to mention: I basically did test-driven debugging after the restructure, blindly trusting the tests (I simply didn't have time to think through the tests and they did seem comprehensive at a cursory glance ;). And I did run into failing tests, so I know that I didn't directly get the previous recursion structure translated one-by-one and might have changed untested logic somewhere. So if you are aware of any weaker spots in the tests, it might make sense to add some more tests before merging this.

Just a quick bump up, in case this has slipped off the radar, @jcavat . And if there are infos or added docs with which I could make a review easier, please let me know!

Hi @dlaehnemann. Don't worry, it's on my todo list. I should take care of your PR soon. I'm coming back towards you as soon as possible. Thanks

I'm reading the code quietly. I understand the purpose of the arena but I'm not sure this is a good idea to expose this implementation details into the dsl. LpExpression is a good abstraction even if it uses an arena. How can we hide this ? Is it possible to rename LpExprArena to LpExpression and LpExpression to something else ? In order to keep the dsl vocabulary generic ? What do you think ?

You are definitely right that no user needs to know about any of these details. So we can definitely go and simply rename stuff as suggested. In the previous version, there was no real distinction between an individual LpExpression and a whole set of them, as they were simply recursive. But now we clearly have individual LpExpressions that are only one entry in an arena, and then the compound LpExpression that is a full arena of such individual expressions. And I'm not sure what the right terminology would or should be. Any suggestions from linear programming lingo? Or would something like LpExpressionElement or LpExpressionEntry be a good substitute for the previous LpExpression?
From a more structural point of view, it might also make sense to check which functions that are implemented on LpExprArena actually need to be public. Most, if not all, are only used internally and should not be exposed anywhere outside of the crate, anyways. Some are even only used within variables.rs. And users should only ever use the binary operators defined on top of those functions. But when I submitted the PR, I was simply happy that I had gotten everything to work and had no energy and time left to check into this. Looking at the Rust docs of pub, we could probably easily make a lot more stuff restricted to pub(super) (i.e. the dsl module only) or pub(crate) or make it outright private---and only keep those binary operators truly public for access from outside the crate.

Good questions.  Meditate on this i will !

Let me know where the meditation takes you. And also feel free to provide detailed reviews to specific code bits via the Files changed tab. I'll gladly address any detailed feedback, as well and could even start on that while you are still reviewing other parts.

I didn't forget you. I really need to take maybe half a day to review your code. Quite hard right now !

Thanks for the update, and also for making this a priority for the next release. I very much appreciate this. And for any suggestions, I'll try and address them immediately to get this ready for the release!

Thanks for this great job. Here is what I propose :

changing name for LpExprArena to LpExpression so that we can keep this struct public regarding to the dsl. At the same time, changing array field to arena to enforce the semantic of this pattern:

pub struct LpExprArena {
    root: LpExprArenaIndex,
    array: Vec<LpExpression>
}

become:
pub struct LpExpression {
    root: LpExprArenaIndex,
    arena: Vec<LpExpression> // instead of `array`
}

changing name from LpExpression to LpExpressionTree

removing all log made by println! (mainly in variable.rs I suppose.

Waiting for you opinion. See you

Thanks a lot!
Sounds good, I'll try to implement this. And adapt the changes from the latest merged PR to the new setup. I should find time for this next week.

Hi @jcavat ,
I finally managed to do the refactor and adapt the newly added native_cbc.rs to the new structure. I eventually renamed LpExpression to LpExprNode instead of your suggestion of LpExpressionTree, as each LpExprNode represents only a node in the tree, not a full tree (even though this is in itself the root of a subtree). Hope that works?
And as I moved around and adapted code from native_cbc.rs in this PR, maybe @carrascomj also wants to have a go at looking over the PR? Most importantly, I turned the var_lit() function into a function that works on an LpExpression (formerly an LpExprArena) and simplified it a bit, by assuming that the LpExpression has been simplify()ed before (which it now is in native_cbc.rs).
Also, I'll put in a follow-up pull request that tries to make all the functions implemented for LpExpression as private as possible (pub(crate) should do for all of them, and I think some are even only used within the module and need no publicity).

Thanks for looking at this, @carrascomj !
A slight degredation of performance is expected, as simplify() is explicitly maintaining its own stack in memory, instead of using the stack. But a greater degredation of performance would worry me, and would call for some further investigation and possibly optimization. Can you quantify how much slower?
And regarding the usage question, I think that generally the user interface should still work as in the examples, so e.g. like:
https://github.com/jcavat/rust-lp-modeler#example-2---an-assignment-model
But I haven't tried it in detail, but should try my code calling this library ASAP by pointing to the branch for this PR, and then can hopefully give you a more meaningful answer as to what works. As to what is intended, I'd refer that question on to @jcavat ... ;)

@dlaehnemann I measured with criterion the performance change in populating a LP model (3741 variables, 5532 constraints):

(blue is new, red is old)
That's about a 53% increase. A smaller model got a 35% increase (the one used at #58; 95 variables, 144 constraints). Maybe I'm doing unnecessary conversions in the new iteration, I'm doing it as I wrote in the comment above.

I would prefer a better memory management avoiding stack troubleshooting even if performances decrease. We can merge on master and try some examples to be sure that the dsl won't change. LpExprNode should'nt be used by the user. I have just some ugly conflicts with the last PR !
@dlaehnemann can you fix the conflicts ? Then I merge and wait a week or two before updating the cargo.

I would prefer a better memory management avoiding stack troubleshooting even if performances decrease. We can merge on master and try some examples to be sure that the dsl won't change. LpExprNode should'nt be used by the user. I have just some ugly conflicts with the last PR !
@dlaehnemann can you fix the conflicts ? Then I merge and wait a week or two before updating the cargo.

Yeah, I agree. It's a tolerable runtime increase for fixing the stack overflow issue.
I have just become a father and will be away from work for a moment, but I'll try to fix the conflicts ASAP. I had already done it for the other recently merged PR, so it shouldn't be too complicated.

Yeah, I agree. It's a tolerable runtime increase for fixing the stack overflow issue.
I have just become a father and will be away from work for a moment, but I'll try to fix the conflicts ASAP. I had already done it for the other recently merged PR, so it shouldn't be too complicated.

And regarding usage @carrascomj, I have started using my branch overe here, with lots of iteration, for loopa and then the sum() function. Maybe it has useful ideas:
https://github.com/varlociraptor/varlociraptor/blob/7f93e2295f81769c70e056bade6c723468956208/src/calling/loh.rs#L110
And regarding runtime, maybe it makes sense to do some mire thorough benchmarking (e.g. cargo flamegraphing) at some point, to find out where to focus for optimizations.

And regarding usage @carrascomj, I have started using my branch overe here, with lots of iteration, for loopa and then the sum() function. Maybe it has useful ideas:
https://github.com/varlociraptor/varlociraptor/blob/7f93e2295f81769c70e056bade6c723468956208/src/calling/loh.rs#L110
And regarding runtime, maybe it makes sense to do some mire thorough benchmarking (e.g. cargo flamegraphing) at some point, to find out where to focus for optimizations.

Thanks, @dlaehnemann! I'll take a look at the code there. Yes, we could do some profiling in the future but I agree that the performance on the construction of the model is not that important; the bottleneck will always be the optimization.

Thanks, @dlaehnemann! I'll take a look at the code there. Yes, we could do some profiling in the future but I agree that the performance on the construction of the model is not that important; the bottleneck will always be the optimization.

Hello ! What is the status of this PR ?

We "just" need to resolve conflicts. @dlaehnemann is it still on the pipeline?

Jep, I just came back from parental leave and am back on this project. I am also still testing the branch on my real-world example to check that it can do the heavy lifting beyond the test cases. This generally looks good, so I hope to find the time to resolve those conflicts this week.
And should there be further opportunities to optimise (e.g. the simplify() function), we can also open another PR later...

No pressure!

@dlaehnemann @jcavat : I fixed the conflicts in #68


add statement about player check on registration end page

https://github.com/redditdota2league/server/commit/dc7faeb5c72763c7cbc5846e7cd719b49d6fccf1


way to ensure that the cookbook runs as last cookbook

This work is currently tracked in https://github.com/chef/chef-rfc/blob/tm_ch/audit_phase/new/audit_phase.md

404

@spuder it is accepted now: https://github.com/chef/chef-rfc/blob/b96da1734d341a7a05d8bc92c82a9b75c94d197b/rfc083-audit-phase.md

What’s happening? Why was this issue closed?
This issue was closed due to some much needed review of legacy issues or issues that were spawned in older versions of InSpec, i.e. < v3.
Why do I care?
You would care about this if this was an issue that you are still seeing and/or feel needs to be addressed in the current version of InSpec.
What do I need to do?
If this issue is no longer important, no further action is necessary. However, if you think this is something that should be addressed, please open a new issue and refer to the original issue in the description.


Adding terms and conditions

@Luson045
I would like to add terms and conditions option in the footer, when user click terms and conditions will be displayed
could you please assign this to me

ok

@Luson045 Could you please consider it as level 2, i have to work more


Serialization failure using RemoteFunc.Invoke

Hi there,
I'm stuck trying to use RemoteFunc.Invoke to make use of a dynamic domain. It appears I'm hitting the exact serialization issue mentioned in the readme (the lambda not getting marked as serializable).
There's a class DTLogic.Slave.DynamicDomain+<>c__DisplayClass7 which is apparently trying to be serialized. Using ILSpy on my assembly, this appears to be the RemoteFunc.Invoke expression :(
.class public auto ansi beforefieldinit DTLogic.Slave.DynamicDomain
extends [mscorlib]System.Object
{
// Nested Types
.class nested private auto ansi sealed beforefieldinit '<>c__DisplayClass7'
	extends [mscorlib]System.Object
{

My lambda takes a custom serializable type (InvokeRequest) and returns another serializable one (InvokeResult). I've been chipping away at these to get them happy, now everything seems to be unblocked, but then this. Doh.
Finding this library has been great and saved me a bunch of time, I'm just now at the last hurdle of actually getting it running. I'd love to hear any ideas you might have on solving this. I can post a snippet if that helps.
Here's my stack trace:
System.Runtime.Serialization.SerializationException: Type 'DTLogic.Slave.DynamicDomain+<>c__DisplayClass7' in Assemb
y 'DT.Logic, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
Server stack trace:
at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type)
at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context)
at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo()
at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector su
rogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, Object
riter objectWriter, SerializationBinder binder)
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberN
meInfo, NameInfo typeNameInfo)
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __Bina
yWriter serWriter, Boolean fCheck)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object gr
ph, Header[] headers, Boolean fCheck)
at System.Runtime.Remoting.Channels.CrossAppDomainSerializer.SerializeMessageParts(ArrayList argsToSerialize)
at System.Runtime.Remoting.Messaging.SmuggledMethodCallMessage..ctor(IMethodCallMessage mcm)
at System.Runtime.Remoting.Messaging.SmuggledMethodCallMessage.SmuggleIfPossible(IMessage msg)
at System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at AppDomainToolkit.RemoteFunc2.Invoke(T arg, Func2 toInvoke)
at AppDomainToolkit.RemoteFunc.Invoke[T,TResult](AppDomain domain, T arg1, Func`2 toInvoke) in z:\Developer\GitHu
\AppDomainToolkit\AppDomainToolkit\RemoteFunc.cs:line 76
at DTLogic.Slave.DynamicDomain.ExecuteInvoke(InvokeRequest request) in c:\Users\Eddie\Documents\work\git\dtrunner
DT.Logic\Slave\DynamicDomain.cs:line 84

There's definitely something wierd going on, I'm now getting other SerializationException errors in and around the class I am using to wrap my context. For example, trying to add an event handler onto context.Domain.AssemblyResolve.
I think I must be 'leaking' my non default app domain, although I've added a few log statements to check this, and AppDomain.CurrentDomain.IsDefaultAppDomain() is always true as far as I can see.
I think I need to start from scratch and build up the lifecycle of my appdomain context, making sure its clean.

Will give it a look later today.
Also check for any anonymous implementations via lamdas etc. Those are never serializable.
Sent from jduv's iPhone

On Jun 29, 2015, at 4:41 AM, Eddie Sholl<EMAIL_ADDRESS>wrote:
There's definitely something wierd going on, I'm now getting other SerializationException errors in and around the class I am using to wrap my context. For example, trying to add an event handler onto context.Domain.AssemblyResolve.
I think I must be 'leaking' my non default app domain, although I've added a few log statements to check this, and AppDomain.CurrentDomain.IsDefaultAppDomain() is always true as far as I can see.
I think I need to start from scratch and build up the lifecycle of my appdomain context, making sure its clean.
—
Reply to this email directly or view it on GitHub.

So, yeah. The information I have points to some lambda that's the CLR is attempting to serialize. Can you perhaps provide an example that reproduces the problem?

@eddiesholl were you ever able to resolve this issue?
I ran into this issue with the class described here.
Create a new instance of the object with the static Create function, passing in a path to a .DLL file, exported type, and function to be executed.  Upon calling .Execute(), I received the same exception message that had been reported in the original issue.

I ran into this issue today and was able to determine the cause.
This happens when the lambda passed into .Invoke captures something that either cannot be serialized (as opposed to primitives or ISerializeable).  Passing objects to the child application domain requires them to be serialized first.
I had this issue because I was passing a generic object instance into the lambda in the hopes of later retrieving its value and casting it to a type provided by a generic parameter.  Because object in itself is not serializable, .NET choked.
The solution was to pass a MemoryStream into the lambda, and to write the result of the lambda's logic into that (serialized with BinaryFormatter).  I could then deserialize the contents of the stream after the application domain was disposed and execution of the lambda had ceased.

Makes sense! Thanks for the update.


Ability to optionally exclude examples

I set up my new laptop along with a working environment for go. However when I set it up I wondered why I suddenly had 3 more source packages for go-gl. Since I do not need them do not want to keep maintaining that bit of code (meaning checking for (security-)updates etc.) it would be nice to be able to exclude it when installing go-sdl2.

@veeableful
TestSurface() fails now due to the lack of ../assets/test.bmp.
if image, err = LoadBMP("../assets/test.bmp"); err != nil {
	t.Error(err)
}

https://github.com/veandco/go-sdl2/blob/master/sdl/surface_test.go#L37

@malashin
Hmm, I guess I'll add the go-sdl2-examples repository as submodule. Thanks for the notice!


Avoid head-on collisions

Sorry it shows all the feature/dev-create-brain branch commits since i branched off that. will squash at the end anyways tho.

Great!

Great!


302 Redirect response results in failing the package-validator

When attempting to validate for example this URL:
https://developer.android.com/studio/intro/

The response from the server is a 302 (Found / Redirect), however, the HttpClient isn't correctly following the redirect, and as a result, a false is returned, since the final part of the code does the following:
return response.StatusCode == System.Net.HttpStatusCode.OK;

Given that the server is returning a 302, I believe that this should result in passing package-validator.

This came up as a result of attempts to validate the URL's for this package version:
https://chocolatey.org/packages/AndroidStudio/<IP_ADDRESS>

This came up as a result of attempts to validate the URL's for this package version:
https://chocolatey.org/packages/AndroidStudio/<IP_ADDRESS>


Check for valid existing headers and suppress clang warning

MIT Licensed

The problem in question were fixed in a sligthly different way. Closing the ticket.


ScrollViewer scrollbar visibility not applied

In our use case, we'd like to hide the scrollbars of the ScrollViewer in the RichItemsControl. We are using:
ScrollViewer.VerticalScrollBarVisibility="Hidden" ScrollViewer.HorizontalScrollBarVisibility="Hidden" properties.
These unfortunately do nothing yet. Is there anything we're missing?

Hi
There's an existing DependencyProperty on RichItemsControl, DisableScroll which is disabling the scroll.That's hiding the scrollbars, but you will lose scrolling functionality like mouse wheel scroll, auto-panning and so on.
I will also push some fixes regarding DisableScroll, because right now it's not updating the UI when the value is changed.
If you need to just hide the scrollbars and keep the whole scrolling logic, that's not possible right now, as I am explicitly setting the scrollbar visibility when styling the control. If you need this kind of functionality, tell me and I will add a new DependencyProperty to hide the scrollbars.

Hi,
Thank you for your reply! It would be nice to have them as separate properties. So far, I've cloned the repository and made this change myself, but we will revert back to using the Nuget package once the update is available.

Hi,
I've released v2.4.1 which includes 2 properties VerticalScrollBarVisibility and HorizontalScrollBarVisibility which lets you manipulate the visibility of scrollbars inside the ScrollViewer.
Please close this issue if this works for you or let me know if you have any questions.


For New Model Of Respberry

Hi, I'm impressed with your project JASPER i like it. I want to build my own AI using Jasper but i have some confusion I'm from india when i search Respberry model in amazon i got this model RASPBERRYPI-2-MODB-1GB. So can you please let me know Jasper is work on this model?
Here its url
http://www.amazon.in/Raspberry-Pi-MODB-Quad-core/dp/B00T7EE3D0/

Yes. JASPER works on RPi2B.


Update dhall-generic to 0.3.81

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

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "us.oyanglul", artifactId = "dhall-generic" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequest = { frequency = "@monthly" },
  dependency = { groupId = "us.oyanglul", artifactId = "dhall-generic" }
}]

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

Codecov Report

Merging #194 (442132f) into master (06ca5fa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #194   +/-   ##
=======================================
  Coverage   98.27%   98.27%
=======================================
  Files           1        1
  Lines          58       58
  Branches        2        2
=======================================
  Hits           57       57
  Misses          1        1

Continue to review full report at Codecov.

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

Superseded by #195.


Unified Token Cache - ADAL -> Common

Creating a single parent issue for migrating the ADAL caching logic to Common

Now that skeleton is largely complete.  Closing this issue in favor of smaller issues/PRs.


Add NOTICE.txt to the repo

Add NOTICE.txt to the repo

Since these are all notices for specific dependency versions, what's the lifecycle for maintaining it?  I.e. when we update dependency versions, how does this file stay up to date?

An excellent question.  There's likely a build-centric way to do so, but for now, we're getting started with the right contents here.


Nested colorbar example.

Just came across this while looking at snowfall totals for the current storm. This is a great example of a nested sequential colorbar, which came up a lot during our CSU presentation.

Nice. Might be nice to have a whole section on nested colorbars like this in the "theory" notebook, and add some appropriate sample datasets to the colormap-building notebook.


Colormaps missing from Palette

It seems plt.cm.datad is missing some colormaps:
Palette.colormaps.update({cm: plt.get_cmap(cm) for cm in plt.cm.datad})

For instance, I have to add 'viridis' manually.

This has been fixed in https://github.com/matplotlib/matplotlib/issues/5202 and should have land in the 1.5.2 release, which I believe is imminent.

Going to close now that 2.0 is out.


Add BP_DEBUG_ENABLED

Summary

Resolves #329
Also switches to parsing environment variable configuration and storing it in a struct. Adds some godoc to that struct to explain what the env var configurations mean.
Checklist

[ ] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.
[ ] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

Integration tests blocked by https://github.com/paketo-buildpacks/dotnet-core/issues/745

Labeling as minor since this PR adds a new env var configuration option to the buildpack.


Provide config info into the translation files

Enable to reference config info from the translation files.
For example, if the paremeter maximum_attempts value is default(20), and the translation file is like this.
en:
  devise:
    failure:
      locked: "Your account is locked. Maximum amount of failed attempts(%{resource_maximum_attempts}) was reached."

Then, the result is translated would be the following.
Your account is locked. Maximum amount of failed attempts(20) was reached.

To inform the detail reason why user failed to log in. It might be a good idea to specify the config values as part of error message. In that case, it will be easy to change the code.

Thank you for the pull request but I don't think we need to add more things to the devise i18n. If you want to provide this information to your users you already able to show that information changing the message yourself. Of course it would not be dynamic, but it doesn't need to.

All right. Thanks.


Rich text enhancement to notes

As a User
I want to user RTE
so that I can leave important messages to my team
Acceptance Criteria
Scenario 1:
GIVEN Workplan page is open
WHEN Open Notes on First Nations / Issues / Status
THEN I see the following UI changes:
.rdw-editor-toolbar {
background: #f9f9fb;
margin-bottom: 8px;
padding: 8px 8px 8px;
border-bottom: 1px solid rgb (224, 224, 224);
Screenshot
Private Zenhub Image
element.style {
height: 485px;
padding: 16px;
resize: vertical;
border: 1px solid rgb(224,224,224);
padding-top: 0px;
border-radius: 4px;
.public-DraftStyleDefault-block {
margin: 8px 0;
Screenshot
Private Zenhub Image
Scenario 2:
GIVEN Workplan page is open
WHEN I click on Notes section
THEN I see the border colour changes to #0070E0
Screenshot
Private Zenhub Image
Scenario 3:
GIVEN Workplan page is open
WHEN Open Notes on First Nations / Issues / Status
THEN I see the following changes to functionality:
Remove:

Superscript
Subscript
Block Type
Embedded
Image

Change

Text font is default to 16px

Scenario 3:
GIVEN Notes are open and has text notes
WHEN I click on any tab
THEN Notes are saved

@maria-kuzmenko

Rich text working great + notes are saving! I believe the autosave resets the typing cursor to start back at the beginning, so as a user is typing, their sentences can come out sort of garbled. See screenshot:

Confirming that these are the final set of options desired?
@maria-kuzmenko


Annotate missing properties

The build give us the following errors:
  - Warning: Task type 'com.moowork.gradle.node.task.NodeTask' declares property that is not annotated: 'args'.
  - Warning: Task type 'com.moowork.gradle.node.task.NodeTask' declares property that is not annotated: 'result'.
  - Warning: Task type 'com.moowork.gradle.node.task.NpmInstallTask' declares property that is not annotated: 'args'.
  - Warning: Task type 'com.moowork.gradle.node.task.NpmInstallTask' declares property that is not annotated: 'result'.
  - Warning: Task type 'com.moowork.gradle.node.task.NpmSetupTask' declares property that is not annotated: 'args'.
  - Warning: Task type 'com.moowork.gradle.node.task.NpmSetupTask' declares property that is not annotated: 'result'.
  - Warning: Task type 'com.moowork.gradle.node.task.NpmTask' declares property that is not annotated: 'args'.
  - Warning: Task type 'com.moowork.gradle.node.task.NpmTask' declares property that is not annotated: 'result'.
  - Warning: Task type 'com.moowork.gradle.node.task.SetupTask' declares property that is not annotated: 'nodeArchiveFile'.
  - Warning: Task type 'com.moowork.gradle.node.task.SetupTask' declares property that is not annotated: 'nodeExeFile'.
  - Warning: Task type 'com.moowork.gradle.node.task.YarnInstallTask' declares property that is not annotated: 'args'.
  - Warning: Task type 'com.moowork.gradle.node.task.YarnInstallTask' declares property that is not annotated: 'result'.
  - Warning: Task type 'com.moowork.gradle.node.task.YarnSetupTask' declares property that is not annotated: 'args'.
  - Warning: Task type 'com.moowork.gradle.node.task.YarnSetupTask' declares property that is not annotated: 'result'.
  - Warning: Task type 'com.moowork.gradle.node.task.YarnTask' declares property that is not annotated: 'args'.
  - Warning: Task type 'com.moowork.gradle.node.task.YarnTask' declares property that is not annotated: 'result'.

Let's try to fix this.

Annotated them with @Internal for now to get rid of the warnings.