Also select font via unprettified family name

Description
Typst prettifies some font names, but ideally the true name should also work, that is, in the example below both line 2 and 3 should render in New CM.
Hello \
#text(font: "NewComputerModern10")[Hello] \
#text(font: "New Computer Modern")[Hello]

Moreover, conceivably a font could be selectable via full name or perhaps also PostScript name:
_Hello_ \
#text(font: "Linux Libertine Italic")[Hello]

Use Case
More compatibility.

I can take a look at this. I kinda familiarized myself with the fonts while investigating #2917.

I'll open one.

Maybe related: there seems to be no way to select font by size. For example,
#set text(font: "Latin Modern Sans", size: 17pt)

Hello, world!

uses an 8pt font:
$ pdffonts LM17.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
AKPPLH+LMSans8-Regular-Identity-H    CID Type 0C       Identity-H       yes yes yes      4  0

but I do have a "Latin Modern Sans" in 17pt installed:
$ fc-scan --format="%{file} / %{family} / %{style}\n" /usr/share/fonts/latinmodern/lmsans[0-9]*.otf
/usr/share/fonts/latinmodern/lmsans10-bold.otf / Latin Modern Sans,LM Sans 10 / 10 Bold,Bold
/usr/share/fonts/latinmodern/lmsans10-boldoblique.otf / Latin Modern Sans,LM Sans 10 / 10 Bold Oblique,Bold Italic
/usr/share/fonts/latinmodern/lmsans10-oblique.otf / Latin Modern Sans,LM Sans 10 / 10 Oblique,Italic
/usr/share/fonts/latinmodern/lmsans10-regular.otf / Latin Modern Sans,LM Sans 10 / 10 Regular,Regular
/usr/share/fonts/latinmodern/lmsans12-oblique.otf / Latin Modern Sans,LM Sans 12 / 12 Oblique,Italic
/usr/share/fonts/latinmodern/lmsans12-regular.otf / Latin Modern Sans,LM Sans 12 / 12 Regular,Regular
/usr/share/fonts/latinmodern/lmsans17-oblique.otf / Latin Modern Sans,LM Sans 17 / 17 Oblique,Italic
/usr/share/fonts/latinmodern/lmsans17-regular.otf / Latin Modern Sans,LM Sans 17 / 17 Regular,Regular
/usr/share/fonts/latinmodern/lmsans8-oblique.otf / Latin Modern Sans,LM Sans 8 / 8 Oblique,Italic
/usr/share/fonts/latinmodern/lmsans8-regular.otf / Latin Modern Sans,LM Sans 8 / 8 Regular,Regular
/usr/share/fonts/latinmodern/lmsans9-oblique.otf / Latin Modern Sans,LM Sans 9 / 9 Oblique,Italic
/usr/share/fonts/latinmodern/lmsans9-regular.otf / Latin Modern Sans,LM Sans 9 / 9 Regular,Regular

In fact, it seems typst finds all of these fonts:
$ typst fonts --variants
[...]
Latin Modern Sans
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 600, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 700, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
[...]

But it will only use the 8pt font lmsans8-regular.otf. If I move away this file, it will then choose the 17pt one lmsans17-regular.otf.
Note that the 17pt font is not the same as the 8pt scaled to 17pt (which is what typst produces).

With Roboto and Roboto Condensed installed there's no way to select a specific variant.
https://fonts.google.com/specimen/Roboto
https://fonts.google.com/specimen/Roboto+Condensed
$ typst fonts --variants
…
Roboto
- Style: Normal, Weight: 500, Stretch: FontStretch(1000)
- Style: Normal, Weight: 300, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 500, Stretch: FontStretch(1000)
- Style: Italic, Weight: 250, Stretch: FontStretch(1000)
- Style: Italic, Weight: 700, Stretch: FontStretch(1000)
- Style: Italic, Weight: 300, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 900, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Normal, Weight: 250, Stretch: FontStretch(1000)
- Style: Normal, Weight: 900, Stretch: FontStretch(1000)

Note that Roboto Condensed is a variable font so even though it's only showing up at weight=400, it's valid for any weight.
Being able to select a weight by name is also be a nice to have and that would be captured by the PostScript name.  Fonts like e.g. Bell Centennial have non-standard names (Address, Name & Number, Sub-Caption, Bold Listing) for their weights and it would be nice to not have to manually map them to numeric values.  Others like FF Meta have two variants at the same weight with different names.

I just installed Typst for the first time today, as well, to try and re-make my resume in it.
But my preferred font is Roboto, so I have also run into this issue now.
I do not know what to do to properly fix it.
My old resume, in LibreOffice:

What Typst makes of it:

The normal body text is fine, but any bold or heading text is condensed against my wishes.
My "code" is super simple for now, as I have not got further than this:
#set page(
	paper: "a4",
	margin: (x: 0.5cm, y: 0.7cm),
)
#set text(
	font: "Roboto",
	size: 11pt,
)

// *snip**

== Education

=== Bachelor of Creative Media and Game Technologies Sept 2021 - Present
At *Saxion University of Applied Sciences*

I would love a fix for this issue. In my opinion font: "Roboto" should use the Roboto font, and not Roboto Condensed.

you might want also to look at my ticket https://github.com/typst/typst/issues/5455

Currently, I worked around this issue by ignoring the system fonts, and supplying my own specific font files.
Like this:
typst compile resume.typ --font-path ./Fonts/ --ignore-system-fonts

My specific file structure
.
├── compile.sh
├── Fonts
│   ├── fontawesome-free-6.6.0-desktop
│   │   ├── Font Awesome 6 Brands-Regular-400.otf
│   │   ├── Font Awesome 6 Free-Regular-400.otf
│   │   └── LICENSE.txt
│   ├── JetBrainsMono-2.304
│   │   ├── AUTHORS.txt
│   │   ├── JetBrainsMono-Regular.ttf
│   │   └── OFL.txt
│   ├── Noto Color Emoji
│   │   ├── NotoColorEmoji-Regular.ttf
│   │   └── OFL.txt
│   ├── Roboto
│   │   ├── LICENSE.txt
│   │   ├── Roboto-BlackItalic.ttf
│   │   ├── Roboto-Black.ttf
│   │   ├── Roboto-BoldItalic.ttf
│   │   ├── Roboto-Bold.ttf
│   │   ├── Roboto-Italic.ttf
│   │   ├── Roboto-LightItalic.ttf
│   │   ├── Roboto-Light.ttf
│   │   ├── Roboto-MediumItalic.ttf
│   │   ├── Roboto-Medium.ttf
│   │   ├── Roboto-Regular.ttf
│   │   ├── Roboto-ThinItalic.ttf
│   │   └── Roboto-Thin.ttf
│   └── simple-icons-font-9.19.0
│       ├── DISCLAIMER.md
│       ├── LICENSE.md
│       ├── SimpleIcons.otf
│       └── SimpleIcons.otf.7z
├── resume.pdf
└── resume.typ

Yes, there is font duplication now, but the additional advantage of this (aside from it working) is that other devices can compile it as well, without having to have those fonts installed.

Note that Roboto Condensed is a variable font so even though it's only showing up at weight=400, it's valid for any weight.

if i remember correctly, variable font files are not valid for pdf embedding.

Roboto should be available in a non variable version and I would use that instead as variable fonts have limited support for now.  Roboto vs Roboto Condensed comes down to ttf-parser not looking in every last location where a font can specify its stretch.
As of ttf-parser 0.25.0 the STAT table is also checked and this should get condensed versions of Roboto identified properly as condensed.  See also #576.  Unfortunately, I believe there are some breaking changes going from ttf-parser 0.24 to 0.25.  Related, I've not had the bandwidth recently to finish up the PANOSE support (harfbuzz/ttf-parser#172), so some older fonts may still be identified incorrectly if their OS/2 table has incorrect information.
Short term the more more correct end-user fix is to use the static version of Roboto and add an exception to typst here for your local builds:
https://github.com/typst/typst/blob/main/crates/typst-library/src/text/font/exceptions.rs

@terefang Whoever sold you those fonts should fix them.  typst is getting the weight and/or slant wrong because ttf-parser is being fed incorrect information and not (as of 0.24) checking the additional places where correct information may (or may not) exist.  typst currently uses ttf-parser 0.24.
As of 0.25 ttf-parser provides primitives to mitigate some of this, however looking at harfbuzz/ttf-parser#166, the changes to check STAT for weight and slant in the higher level functions didn't get included.
For diagnostic information start here:
https://github.com/typst/typst/issues/576#issuecomment-2322372272

That said I think a mechanism to select a font by its Postscript name would be a big win.

let me add:
$ fc-scan --format="%{file} | %{family} | %{style}\n" *.ttf|sort
Bodoni-Antiqua-Pro-BoldItalic.ttf | Bodoni Antiqua Pro | Bold Italic
Bodoni-Antiqua-Pro-Bold.ttf | Bodoni Antiqua Pro | Bold
Bodoni-Antiqua-Pro-Caps-Light.ttf | Bodoni Antiqua Pro Caps,Bodoni Antiqua Pro Caps Light | Light,Regular
Bodoni-Antiqua-Pro-Caps-Regular.ttf | Bodoni Antiqua Pro Caps | Regular
Bodoni-Antiqua-Pro-Cd-BoldItalic.ttf | Bodoni Antiqua Pro Cd | Bold Italic
Bodoni-Antiqua-Pro-Cd-Bold.ttf | Bodoni Antiqua Pro Cd | Bold
Bodoni-Antiqua-Pro-Cd-DemiItalic.ttf | Bodoni Antiqua Pro Cd,Bodoni Antiqua Pro Cd Demi | Demi Italic,Italic
Bodoni-Antiqua-Pro-Cd-Demi.ttf | Bodoni Antiqua Pro Cd,Bodoni Antiqua Pro Cd Demi | Demi,Regular
Bodoni-Antiqua-Pro-Cd-Italic.ttf | Bodoni Antiqua Pro Cd | Italic
Bodoni-Antiqua-Pro-Cd-Regular.ttf | Bodoni Antiqua Pro Cd | Regular
Bodoni-Antiqua-Pro-Compress-Bold.ttf | Bodoni Antiqua Pro Compress | Bold
Bodoni-Antiqua-Pro-Compress-Regular.ttf | Bodoni Antiqua Pro Compress | Regular
Bodoni-Antiqua-Pro-DemiItalic.ttf | Bodoni Antiqua Pro,Bodoni Antiqua Pro Demi | Demi Italic,Italic
Bodoni-Antiqua-Pro-Demi.ttf | Bodoni Antiqua Pro,Bodoni Antiqua Pro Demi | Demi,Regular
Bodoni-Antiqua-Pro-Italic.ttf | Bodoni Antiqua Pro | Italic
Bodoni-Antiqua-Pro-LightItalic.ttf | Bodoni Antiqua Pro,Bodoni Antiqua Pro Light | Light Italic,Italic
Bodoni-Antiqua-Pro-Light.ttf | Bodoni Antiqua Pro,Bodoni Antiqua Pro Light | Light,Regular
Bodoni-Antiqua-Pro-Regular.ttf | Bodoni Antiqua Pro | Regular

Right, see my comment above for information on how to get more detailed information from your fonts.

do you suggest that i must install a complete rust dev environment just to get the debugging utility ?

maybe a more common tool could be used like ttfdump ?
$ ttfdump Bodoni-Antiqua-Pro-Cd-Regular.ttf -t 'OS/2'
True Type Font File Dumper: v 0.5.5
Copyright 1996-1998<EMAIL_ADDRESS>Dumping File:Bodoni-Antiqua-Pro-Cd-Regular.ttf

Offset Table
------------
	 sfnt version: 		 1.0
	 number of tables: 20
   0. 'GPOS' - checksum = 0x005f349f, offset = 0x00048fc0, len =      4414
   1. 'GSUB' - checksum = 0xe5296039, offset = 0x0004a100, len =      2412
   2. 'LTSH' - checksum = 0xa4add681, offset = 0x00000c44, len =       651
   3. 'OS/2' - checksum = 0xf5e9dc5b, offset = 0x000001c8, len =        96
   4. 'VDMX' - checksum = 0x67e46f6d, offset = 0x00000ed0, len =      1504
   5. 'cmap' - checksum = 0xb7f3ba18, offset = 0x00004f4c, len =      3530
   6. 'cvt ' - checksum = 0x02c406a1, offset = 0x00006068, len =        62
   7. 'fpgm' - checksum = 0x06599c37, offset = 0x00005d18, len =       371
   8. 'gasp' - checksum = 0x00150009, offset = 0x00048fb0, len =        16
   9. 'glyf' - checksum = 0x3c374c29, offset = 0x000060a8, len =    258752
  10. 'hdmx' - checksum = 0x7426c81b, offset = 0x000014b0, len =     15004
  11. 'head' - checksum = 0x06e368d0, offset = 0x0000014c, len =        54
  12. 'hhea' - checksum = 0x06310526, offset = 0x00000184, len =        36
  13. 'hmtx' - checksum = 0x42e07467, offset = 0x00000228, len =      2588
  14. 'kern' - checksum = 0x1ba31ea6, offset = 0x00045d88, len =      6000
  15. 'loca' - checksum = 0x05516960, offset = 0x00045368, len =      2592
  16. 'maxp' - checksum = 0x04ab0b98, offset = 0x000001a8, len =        32
  17. 'name' - checksum = 0x49c73483, offset = 0x000474f8, len =      1560
  18. 'post' - checksum = 0x6247564c, offset = 0x00047b10, len =      5279
  19. 'prep' - checksum = 0xd39efa8b, offset = 0x00005e8c, len =       474

'OS/2' Table - OS/2 and Windows Metrics
---------------------------------------
	 'OS/2' version:	 3
	 xAvgCharWidth:		 432
	 usWeightClass:		 400 	 'Normal'
	 usWidthClass:		 5 	 'Medium'
	 fsType:		 4
	 ySubscriptXSize:	 700
	 ySubscriptYSize:	 650
	 ySubscriptXOffset:	 0
	 ySubscriptYOffset:	 140
	 ySuperscriptXSize:	 700
	 ySuperscriptYSize:	 650
	 ySuperscriptXOffset:	 0
	 ySuperscriptYOffset:	 477
	 yStrikeoutSize:	 50
	 yStrikeoutPosition	 250
	 sFamilyClass:	 0 	 subclass = 0
	 PANOSE:
		 Family Kind:	 2 	 'Text and Display'
		 Serif Style:	 0 	 'Any'
		 Weight:	 5 	 'Book'
		 Proportion:	 6 	 'Condensed'
		 Contrast:	 8 	 'High'
		 Stroke:	 0 	 'Any'
		 Arm Style:	 0 	 'Any'
		 Lettreform:	 2 	 'Normal/Contact'
		 Midline:	 0 	 'Any'
		 X-height:	 3 	 'Constant/Standard'
	 Unicode Range 1( Bits 0 - 31 ): 	 0xa000006f
	 Unicode Range 2( Bits 32 - 63 ): 	 0x500078bb
	 Unicode Range 3( Bits 64 - 95 ): 	 0x00000000
	 Unicode Range 4( Bits 96 - 128 ): 	 0x00000000
	 achVendID:		 'smak'
	 fsSelection:		 0x0040 	 'Regular '
	 usFirstCharIndex:	 0x0020
 	 usLastCharIndex:	 0xfb04
	 sTypoAscender:		 667
	 sTypoDescender:	 -200
	 sTypoLineGap:		 44
	 usWinAscent:		 859
	 usWinDescent:		 267
	 CodePage Range 1( Bits 0 - 31 ):	 0x20000093
	 CodePage Range 2( Bits 32- 63 ):	 0x4d000000
	 sxHeight:		 427
	 sCapHeight:		 667
	 usDefaultChar:		 0x0000
	 usBreakChar:		 0x0020
	 usMaxContext:		 5


Shift + Spacebar should move back to the previous slide

Shift-Space doesn't move back to the previous step on:
Google Chrome	70.0.3538.110 (Official Build) (64-bit)

Shift-Tab works fine and I think that the problem is with the heavily commented logic inside the isNavigationEvent function.
The second if statement returns true for tab only and the third returns false if shift is pressed. event.shiftKey and event.keyCode === 32 // Shift+space is then never handled by the code added in https://github.com/impress/impress.js/pull/706/commits/b1e5186c3b995d7e3bcdf1e7428b3f22db55d5ea . PR https://github.com/impress/impress.js/pull/706 was to make Shift-Space move back a step and close issue https://github.com/impress/impress.js/issues/248.
I think this could be a one line change:
-            if ( event.keyCode === 9 ) {
+            if ( event.keyCode === 9 || event.keyCode === 32 ) {

But that would leave difficult to follow comments, for example "sole exception" on the line above or:
        //   as another way to moving to next step... And yes, I know that for the sake of
        //   consistency I should add [shift+tab] as opposite action...

When I think Shift-Tab was added in 0dc8b436502cde657dda3137c17271e8fb3e87a0.
It might be better to refactor the logic in this function or rewrite the comments. I'd be happy to have a go at a PR for this but I didn't get the test suite running on my first attempt. I use puppeteer for other projects on this setup and merging https://github.com/impress/impress.js/pull/637 as it is now should make writing and running tests easier for me.

Confirming and just to be clear, shift+space of course doesn't work on firefox either, as this is purely a logic issue.
I merged #637. Please let me know if you have more issues with tests, I'm very interested in getting that aspect working smoothly now. Note that I recently merged an up to date https://github.com/impress/impress.js/blob/master/test/HOWTO.md. Also, as a first step, you should be able to run all tests by simply opening qunit_test_runner.html in firefox. (Chrome refuses to run it due to íframe security policy.)

OK good we both see the same thing - a logic bug.
I will try to get the tests suite running somehow, thanks for the HOWTO doc. I normally use a Chromebook so I haven't run Firefox recently. I'll either run Firefox somehow or try and get https://github.com/impress/impress.js/pull/637 ready to merge.

I will be looking into this with V3


HackMD notes from days 4 and 6

I don't have energy go go through and look for names and all... I guess it is good, right?

I edited it and think/hope it's good.


docs: add transitiongrid theme

I forgot to include this in the docs in the previous PR where the transition-grid was inntroduced

Okay! Whoops I didn't notice. Thanks for trying to fix it up. Now it looks like the docs build is broken? Is it from this commit or something else?

Okay! Whoops I didn't notice. Thanks for trying to fix it up. Now it looks like the docs build is broken? Is it from this commit or something else?

Most likely from this commit. Will try to fix it when i find some free time.

Okay! Whoops I didn't notice. Thanks for trying to fix it up. Now it looks like the docs build is broken? Is it from this commit or something else?

@frankier I think now it's really fixed

Oh the nightly tests failed :disappointed:. I might be wrong, but by looking at the details I think it's a dependency issue that has nothing to do with this PR.


Graph explore in simple mode

In console page, support graph explore (simple mode, just view)

support in #143


ScrollContainer creates 2 scrollable areas for single child container

Tested versions

Only tested in 4.2.1.stable

System information
Windows 11, Godot 4.2.1.stable
Issue description
Setup:
ScrollContainer has a PanelContainer as a child, which has a VBoxContainer with 2 RichTextLabel.
Expected Result:
The PanelContainer is scrollable.
Actual Result:
The two RichTextLabel are scrollable independantly.
Steps to reproduce
The MRP contains 3 test cases (test_1.tscn, test_2.tscn, test_3.tscn) with different configurations to attempt 1 scrollable area. The ScrollContainer creates 2 scrollable areas (children count of VBoxContainer) even if I use a PanelContainer as a wrapper (test_2.tscn) or save the PanelContainer as a scene (test_3.tscn).
Minimal reproduction project (MRP)
MRP: ScrollContainerBug.zip

RichTextLabel nodes have an internal scroller that's enabled by default. In order to disable this behvaior, you need to enable Fit Content, which forces the label to grow according to the text size.

WHOOPSIE my bad.
To be fair this is kind of unexpected behaviour by default.
Thank you.


Is there a mechanism to filter exception serialization?

Summary
We recently encountered a scenario in NLog where we logged what happened to be an Entity Framework exception, and we did so  with full serialization.  The Entity Framework exception included references to the database entity in question,  and while serializing the object graph of the exception NLog began to evaluate every property which caused a 'Lazy Load' on all the related tables, their related tables, and their related tables.  This particular event was responsible for an application outage.
The particular exception that we attempted to log was a UpdateException (link).  The serialization problem begins when serializing exception.StateEntries[0].Entity.
As a consumer, it would be nice to blacklist certain types using a lambda, or another mechanism, or give the consumer the ability to subclass the serializer.  The classes would be trivial to exclude by lambda, because the class names all follow the pattern System.Data.Entity.DynamicProxies.TableName_E2DC4A5B7B1B73EDD543E8CD945EC967B53FA31EA65D6F4D4F23EC13451D87FD
Details
Version: NLog 4.6.3 via Nuget
Configuration:
<nlog>
  <targets>
    <target name="console" type="Console" layout="${sequenceid}|${machinename}|${longdate}|${logger}|${level}|${message}|${exception:format=@}"/>
  </targets>
  <rules>
    <logger name="*" minlevel="Info" writeTo="console"/>
  </rules>
</nlog>

Sample Code:
try
{
    // Database configured to have multiple tables, lazy loading enabled, TableName referencing many child tables.
    var db = IoC.Container.GetInstance<EntityFrameworkDataContext>()
    var databaseObject = db.TableName.First();
    databaseObject.NonNullableField = null;
    db.SubmitChanges();
}
catch (Exception ex)
{
    // On execution, run Sql Server Profiler and view all tables in the database being scanned.
    Logger.Error(ex, "Error");
}

Internal Log (Debug): Available if you need it, but it doesn't show anything relevant
Current Result: When Logger.Error(exception, "...") is called with a Entity Framework exception, the entire object graph is traversed by the NLog Serializer, causing repeated table scans against the entire database.
Expected Result: A mechanism to blacklist certain types from being serialized.
Workarounds:

Remove exception from the error log: Logger.Error("Something happened." + ex.Message);,
Modify every place that we could potentially see an EF Exception with a seperate set of logging. (This would involve replacing every exception handling scenario in the application with a second catch)

// Should replace this:
catch(Exception ex){ Logger.Error(ex, "..."); }
// with this:
catch(UpdateException uex){ Logger.Error("UpdateException..."); }
catch(Exception ex){ Logger.Error(ex, "..."); }

Any help you could offer would be greatly appreciated.

Also interested in making the Exception-serialization as safe as possible.
You can always overrider the JsonConverter in NLog, and perform special handling of System.Data.DataException-types:
Maybe this will work:
internal class EvilExceptionJsonConverter : NLog.IJsonConverter
{
    private JsonSerializeOptions _jsonOptions = new NLog.Targets.JsonSerializeOptions() { MaxRecursionLimit = 1 };
    private NLog.IJsonConverter _originalConverter;
    public JsonLogModelSerializer(NLog.IJsonConverter originalConverter)
    {
        _originalConverter = originalConverter;
    }

    /// <summary>Serialization of an object into JSON format.</summary>
    /// <param name="value">The object to serialize to JSON.</param>
    /// <param name="builder">Output destination.</param>
    /// <returns>Serialize succeeded (true/false)</returns>
    public bool SerializeObject(object value, System.Text.StringBuilder builder)
    {
        if (value is System.Data.DataException evilException)
        {
            return NLog.Targets.DefaultJsonSerializer.Instance.SerializeObject(value, builder, _jsonOptions);
        }

        return _originalConverter.SerializeObject(value, builder);
    }
}

Then register it like this, before loading NLog.config:
var oldJsonConverter = NLog.Config.ConfigurationItemFactory.Default.JsonConverter;
var newConverter = new EvilExceptionJsonConverter(oldJsonConverter);
NLog.Config.ConfigurationItemFactory.Default.JsonConverter = newConverter;

@mmurrell Would it work if changed the default JsonConverter to handle Exception-properties of type IEnumerable a little different?
Instead of doing reflection on objects inside IEnumerable, then it will just perform ToString() of each item. What happens if one calls ObjectStateEntry.ToString() ?

@snakefoot - Thanks for the quick reply.
I'd hate to limit the serializer to "ToString" enumerable properties because I can imagine several "safe" scenarios where the enumerable data inside an exception, would add value... probably most notably AggregateException.
Your sample EvilExceptionJsonConverter may be a good short-term workaround to prevent this specific crash.  The underlying concern is that when there serializer has the max depth set, the logs would be missing the detail that could be serialized safely,
Would it be possible to "unseal" (make the singleton pattern publicly settable, and some of the methods protected) so a consumer could hook into the recursive SerializeObject calls? or perhaps if this were worth supporting at a NLog level, would you consider a Func<object, bool> ShouldSerializeObject on the JsonSerializeOptions that can be consumer-set?

I guess we could also make it possible to pre-register known dangerous types in the ObjectReflectionCache.
The NLog ObjectReflectionCache controls what properties to include in reflection. I have already implemented rules to not reflect dangerous types like these:
            if (typeof(IFormattable).IsAssignableFrom(objectType))
                return true;

            if (typeof(Uri).IsAssignableFrom(objectType))
                return true;

            if (typeof(MemberInfo).IsAssignableFrom(objectType))
                return true;

            if (typeof(Assembly).IsAssignableFrom(objectType))
                return true;

I guess one could create an interface to make it possible to register a type like ObjectStateEntry

I guess we could also make it possible to pre-register known dangerous types in the ObjectReflectionCache.

Sounds good to me!

@mmurrell NLog 4.7 has been released that includes #3610


Update throws error with top level undefined when ignoreUndefinedProperties is set

Calling .update() with a data object that contains undefined in the top level fields is throwing an error when ignoreUndefinedProperties is set.
I tracked it to the validateFieldValue function on write-batch.ts that calls validateUserInput without a level parameter to inform that the value being validated is already 1 level deep.
https://github.com/googleapis/nodejs-firestore/blob/dc94946f261db527f913d1ff89a2572cd9539f70/dev/src/write-batch.ts#L841-L854
I also noticed that the test that should catch this doesn't test for a top level field with undefined.
https://github.com/googleapis/nodejs-firestore/blob/dc94946f261db527f913d1ff89a2572cd9539f70/dev/test/ignore-undefined.ts#L90-L115
Code to reproduce
const firestore = new Firestore({
  ignoreUndefinedProperties: true,
});

const col = firestore.collection('collection');
const doc = col.doc('uid');

await doc.update({
  required: 'string',
  optional: undefined,
});

Environment details

OS: Ubuntu 20.04 on WSL 2 on Windows 10 19041.572
node version: 14.14.0
yarn version: 1.22.5
@google-cloud/firestore version: 4.7.0

Thanks for filing this. I will get a fix out for this early next week.


ArgumentDictionary._get_bytes relies on hash which for same object returns different values between Python interpreter runs

Related to #2, I didn't think about the issue carefully.
value.__hash__() shouldn't be used for the generation of hashes that need to persist between Python interpreter runs, see the docs https://docs.python.org/3/reference/datamodel.html#object.hash
The current implementation leads to AbstractHDF5Datasets with objects, having the __hash__ method, as __init__ arguments, e.g. ('M1', 'M2'), not being cached as a new cache path is generated during every run.

@intsco Thank you. Reproducibility across interpreter invocations can be maintained by the user (if desired) by setting PYTHONHASHSEED. Though, using this environment variable would not be recommended for use in e.g. a web server.


xweb support for default handler

As it stands now, the demux'ing of xweb handlers does not have the concept of a "default handler" and as such the Edge Client API handler is globing more paths than it needs to in order to be the "default" for scenarios when the non-prefixed API paths are being used.
The proposed solution is to have the IsHandledDemuxer support the concept of a "default" handler when all other handlers fail. The workaround as of now is adding path prefixes to new APIs that are ignored (e.g. fabric-metrics)

fixed with v2.0.0 version of xweb


Not working with Laravel 9.12.2

I have tried to use the package but it's not working for me the Laravel latest version(9.12.2) and php version(8.1.5). Could you please help me to resolve the issue. Please find the attached screenshot for reference.
Thanks

This package is not compatible with any pack that is using guzzlehttp/psr7 ^2, is updating the dependencies easy enough?

This is an issue for me as well. A lot of new packages have guzzlehttp/psr7 ^2 as their min version. It would be good to push up to it

Hey @ajeshakqa @i-bajrai @ValCanBuild ,
contentful-core is now updated to support guzzlehttp/psr7 >=2.1.1, which should fix this issue. Could you kindly try and see whether it now works for you?

Seems to fix it, thanks!

Great :)


chore(main): release 1.11.4

:robot: I have created a release beep boop
1.11.4 (2024-03-26)
Bug Fixes

alacritty: update alt keycodes to work with recent tmux keymaps (871f3d7)

Miscellaneous

pandoc: add custom option for shifting header level and change TOC generator (ed06734)
software: try "usage" and add mise as a software source (611a9f1)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/engeir/stowfiles/releases/tag/v1.11.4 :sunflower:


Handling multivalued attributes in curation concerns

Curation concerns defines nearly all the DC attributes as multivalued, but we want some of them single valued. Investigate how to override defining a property. Examples include title and description

This seems to be the default in CurationConcerns. I feel like we should just let it be and leave it up to implementers to determine what they want to do here. Thoughts?


A few naive bioinformatics questions for anyone with any experience in sequence analysis

Hi,
Any help is greatly appreciated
I had a few very simple and naive questions. ( I am a physics student with no biology background about to handle some serious RNA sequence data).
I am about to get some viral RNA sequence data to analyze and I was wondering if viral RNA sequence data could be analyzed the same way as RNA sequence data of transcriptomes are analyzed. I found a protocol online : http://www.nature.com/nprot/journal/v8/n9/abs/nprot.2013.099.html which does differential expression analysis on RNA sequences.
I have to specify data formats to my collaborator this weekend and I am really at sea because I am not sure I can use Bioconductor and this protocol for what I need.\
Thank you
Ashish

@legolagon - whew, great questions. Are you comfortable using R? Both DESeq and edgeR, mentioned in the protocol you posted, are in R.
Not sure if you can analyze RNA and viral RNA sequence data the same way. You could search Web of Science for background literature.

Thanks Tom,
I am learning R currently for this very purpose.  I found out a little about DESeq and edgeR, but what I don't know is if they can be used for viral RNA sequence analysis too which really prompted my question here.

Hi Ashish,
So I can't speak to the RNA / viral RNA question but it might have been asked at the Bioconductor support page or the libraries' documentation might mention something. Wish I could be more helpful.

@legolagon Hi Ashish, were you able to resolve your question? Curious to hear how it worked out.

well, a little bit. I talked to my advisor and someone who knows a little
bit about the field. We kinda came to some kind of consensus i guess
On Tue, Oct 13, 2015 at 2:50 PM, Tom Hohenstein<EMAIL_ADDRESS>wrote:

@legolagon https://github.com/legolagon Hi Ashish, were you able to
resolve your question? Curious to hear how it worked out.
—
Reply to this email directly or view it on GitHub
https://github.com/bulib/studyGroup/issues/15#issuecomment-147811091.

@legolagon I'm closing this issue for now. Feel free to reopen it if need be.


Parser should also return AST of ImportDeclaration (i.e. classes that are imported)

Feature request

What is the expected behavior?
Tapping into program will spit out AST of any ImportDeclaration.
What is motivation or use case for adding/changing the behavior?
Avoid additional unnecessary tree traversal
How should this be implemented in your opinion?
resolve the path and find out what files are imported in the form of ImportDeclaration and return their ASTs
Are you willing to work on this yourself?
yes, with guidance

parser.hooks.import is called with the AST.
https://github.com/webpack/webpack/blob/09b6eaed8a89b559000f68cd6d34c24faaae6873/lib/Parser.js#L1135

Hmmm but say I have the following:
        compiler.hooks.normalModuleFactory.tap('Plugin', factory => {
            factory.hooks.parser.for('javascript/auto').tap('Plguin', data => {
                data.hooks.import.tap('Plugin', ast => {
                    console.log(ast);
            });
        });

The ast returned is
    Node {
      type: 'ImportDeclaration',
      start: 140,
      end: 185,
      loc:
       SourceLocation {
         start: Position { line: 6, column: 0 },
         end: Position { line: 6, column: 45 } },
      range: [ 140, 185 ],
      specifiers:
       [ Node {
           type: 'ImportSpecifier',
           start: 149,
           end: 161,
           loc: [Object],
           range: [Array],
           imported: [Object],
           local: [Object] } ],
      source:
       Node {
         type: 'Literal',
         start: 169,
         end: 184,
         loc: SourceLocation { start: [Object], end: [Object] },
         range: [ 169, 184 ],
         value: './overView.js',
         raw: '\'./overView.js\'' } }

which reflect the import statement in my entry file which is
import { ShoppingList } from './overView.js';   //this line
const matchMakerNode = React.createElement(ShoppingList);
console.log('entry A');

but what I want is the ast in ./overView, which should be the following code
import React from 'react';

export class ShoppingList extends React.Component {
    render() {
        return (

Shopping List for {this.props.name}

Instagram

WhatsApp

Oculus

        );
    }
}

We don't determine this while parsing. Parsing affects only a single file. This is not possible (at least not while parsing).

So how come tapping into the program of entryFile the following code
require('module1.js')
where module1.js has the following code:
const asyncFn = () => new Promise((resolve, reject) => resolve());
module.exports = async () => {
    await asyncFn();
    return true;
};

will return the ast for both the entryFile and module1.js?

It don't do that.

But with
class TestPlugin {
    apply(compiler) {
        const asyncFileArray = [];
        let index = 0;
        compiler.hooks.normalModuleFactory.tap('DibsAsyncCheckPlugin', factory => {
            factory.hooks.parser.for('javascript/auto').tap('DibsAsyncCheckPlguin', data => {
                data.hooks.statement.tap('DibsAsyncCheckPlugin', node => {
                    console.log(node);
                });
            });
        });
    }
}
module.exports = TestPlugin;

It does behave like that

But with the following
 data.hooks.statement.tap('Plugin', node => {
         console.log(node)
});


NetcodeClientTransport.client_id() still returns u64

Might have been missed in this PR https://github.com/lucaspoffo/renet/pull/103

Yes I was confused at this, glad other people noticed


First commit

This is my first commit to the project.
Added information on using pudb and connections via TCP

Thanks Mark (@mgrennan),
Our continuous integration system doesn't cope well with the documented integration model. So I'll pull this into a branch on our repo and close this one (doing needed fixes at the same time). I'll close this and keep you posted.
Regards
Hamish
PS Then I'll update our contribution process docs!


:e fails to reload file

When pressing :e Atom freezes for a moment and then shows the file as plain text.

@arashm Does pressing : actually show the command bar at the bottom?


B 19035 update payment reminder email template

B-19035
Summary
Integration PR: https://github.com/transcom/mymove/pull/12204
As a Customer  you should receive an email if you haven't submitted any docs within the last 14 days of today.
This PR updates the original template and updates the trigger.
Also adds back in the send-payment-reminder task to main.
Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

How to test

Create a move with an estimateDepartureDate that is >= 14 days from today(i.e. today = January 14, 2024 estimateDeparture  could be January 1, 2024 ), and has no null estimate values(incentive, weight), and set the personal email to one you can access
Approve this move as a service counselor
Run aws-vault exec transcom-gov-dev to get into the subshell
Run go run ./cmd/milmove-tasks send-payment-reminder --email-backend=ses --aws-ses-domain=devlocal.dp3.us  --aws-ses-region=us-gov-west-1
You should get a payment reminder email in a couple minutes max

Screenshots
Actual Email

Email template from PO
Complete your PPM EMail_Final.docx

verify rpt.
B19035-12148.verify_rpt.txt
    Same?         file
     y      -     pkg/assets/notifications/templates/move_payment_reminder_template.html
     y      -     pkg/assets/notifications/templates/move_payment_reminder_template.txt
     -      n     pkg/factory/ppm_shipment_factory.go
     y      -     pkg/notifications/move_payment_reminder.go
     y      -     pkg/notifications/move_payment_reminder_test.go

verify rpt. B19035-12148.verify_rpt.txt
    Same?         file
     y      -     pkg/assets/notifications/templates/move_payment_reminder_template.html
     y      -     pkg/assets/notifications/templates/move_payment_reminder_template.txt
     -      n     pkg/factory/ppm_shipment_factory.go
     y      -     pkg/notifications/move_payment_reminder.go
     y      -     pkg/notifications/move_payment_reminder_test.go

The diff from the factory file exists in main, so I think when I updated the branch that's how it ended up in the commit. So everything looks correct and complete


Keep matching after a match is found.

There may be a need to match and continue searching for matches within the same message
+ * ~yes *
-  {continue} sure

+ * add *~4 cart *
- I will

> okay, ya I like that and add it to my cart
< sure I will

So {continue} will keep searching for a match, and the default behaviour is to end and return.

So to expand on this a little more, perhaps we could introduce {continue} {continue-all} and {continue-global} Which would continue to the end of the topic, continue though ALL topics, and continue to all topics and system topics (global).

@silentrob Is this still an issue, after the conversation enhancement?


Pass csrf token in arg

I don't use javascript so I want to send csrf token in form hidden field
I made additional argument in validate_csrf that I can pass this token.
Example is in test_correct_form_hidden_field_token method

Can you check the latest commits on origin/master to see if it fits the criteria better? (No JavaScript)
This was requested for a while so I had some skeleton code made.

Yes, I think it works the same I will try to use it

サンキュ


About search Trace with tag this function?

Dear wu-sheng:
This is my search with queryTrace function:

We can find out this result include <url,"http://t-xg.boleme.net/pl/pack/login/usernameLogin"> this tag.
But when I using queryBasicTraces this function:

The result is NULL,In other words,I didn't get result with tag.
Maybe I got it wrong,this function can't index trace result for I want?
Or did  I use the wrong way?
Hope you can answer for me as soon as possible.

Find searchableTracesTags in doc https://github.com/apache/skywalking/blob/ac36a3ff49bb174dc5d7982098fab5dc4cd583c4/docs/en/setup/backend/configuration-vocabulary.md, also exist in the application.yml of the OAP.
You should find your own answer.

OK . thank you very much!

This mean is I can't use myself tag In my code?

Do you really read? They are configurations.

I'm sorry, maybe I was wrong about what i meant.
There include some default configuration.But my mean is use  ActiveSpan.tag this function in my code to  add myself tag.Use this function I can add one segement.
like this:

I want use some tag to find this segement.
Uh......
Maybe I shouldn't use this function?
I am a novice for skywalking.

Again, this is a configuration. If you want more tags, add them.

Ah .I see. thank you very much


[In-Progress] Fixes for issue #289, #290, #291

Concerned about the readability/usability/entanglement of renderRuleDesc and renderMessageWithEmbeddedLinks. Thinking about if there's a better way.


Feature/scrolling

Fixes #27

Added basic but missing CollectionView example tests
Added new scrolling options
Added ShowTime so people can see what the tests are doing/where it's tapping and dragging
Added new visibleIn state, so people can choose which Element it must be visible in (rather than defaulting to the parent element)

Before merging this PR I'll add a changelog and add what's new there.

As well as a contributing file I should make sure the README is up-to-date with this PR

Fixes #32 as well.


feat: background audit config, severity and category annotations.

Description
Updates policy metadata.yml file adding the new configuration to enabled background audit checks and adds two new annotations used by the audit scanner in its reports.
Related to https://github.com/kubewarden/kubewarden-controller/issues/479

@kubewarden/kubewarden-developers I'm not able to update the PR fields. I think we need to fix the permissions.


Dummy PR to check Python 3.10 tests

@mike0sv @madhur-tandon you're awesome - just TAL at tests in 3.10. They just pass! This is a development with future taken into account. Nice!


New version: JetBrains.DataSpell version 2024.1.1

Created by 🥟 Dumplings in workflow run #4491.
Logs
Updated: 2024.1 → 2024.1.1
Submitting WinGet manifests

Microsoft Reviewers: Open in CodeFlow

Hi @SpecterShell,

This PR's version number 2024.1.1 has 3 parameters (sets of numbers between dots - major, minor, etc), which is greater than the current manifest's version 2024.1, which has 2 parameters.

Does this PR's version number exactly match the version reported in the Apps & features Settings page? (Feel free to attach a screenshot.)
(Automated response - build 877)


Prompt failure:Handle Deployment to Cluster    Failed to apply manifests to cluster.  Error: Value cannot be null. (Parameter 'path1')

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
----Handle Deployment to Cluster----------------------------------------------------------------------------------------------------------
(!) Failed to apply manifests to cluster.
(!) Error: Value cannot be null. (Parameter 'path1')
Expected Behavior
(!) Failed to apply manifests to cluster.
(!) Error: Value cannot be null. (Parameter 'path1')
Steps To Reproduce
(!) Failed to apply manifests to cluster.
(!) Error: Value cannot be null. (Parameter 'path1')
Exceptions (if any)
no
.NET Version info
.net8
Anything else?
use cmd

Is this an aspirate issue?

I also encountered this problem

aspirate run Can be deployed to k8s
aspirate apply  can not

i use minikube

Can you file this issue here https://github.com/prom3theu5/aspirational-manifests/issues


Traffic not shown in Kiali

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
I tried to install the bookinfo demo. It looks like it works. I do get the virtual services to point to 1 specific version of reviews, so it looks like things  are working.
However, when I look in Kiali, I see this:

Here it only shows traffic from the ingress to productpage, but all traffic between productpage, details, reviews, etc. is not visible. Also, it doesn't show the icon that the traffic is mTLS encrypted, even though I specified that it should be enabled.
I expected something more like this (without the ratings traffic, since I specified only reviews v1 traffic):

Version
Hardware: Raspberry Pi 4B (8x)
Arch: arm64
OS version: Ubuntu 22.04.4 LTS
Rancher version: v2.9.0
K8S version: k3s v1.30.3+k3s1
Helm chart: rancher-istio (version: 104.4.0+up1.22.1)
Istio version: 1.22.1
Kiali version: v1.86.0

Additional Information
Bookinfo config
General config:
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: default
  namespace: istio-system
spec:
  mtls:
    mode: STRICT

Hey, I recommend looking into https://kiali.io/docs/faq/graph/. Note that Kiali is not a part of Istio, so you will want to engage there community (https://github.com/kiali/kiali/) if the FAQ doesn't help. The FAQ will at least give some more diagnostic information

Ah, my bad. It came bundled in the same helm chart, so I wrongfully assumed.

NP. That may be from rancher-istio usage rather than the official


StepInput value formatter function can't overwrite locale formatting

OpenUI5 version: 1.102.7
Browser/version (+device/version): N/A
URL (minimal example if possible): https://jsbin.com/gufihiduci/1/edit?html,output
What is the expected result?
The result of the value formatter function is displayed as-is.
What happens instead?
The result of the formatter function is instead parsed as a number again and formatted with .toLocaleString() as it seems.
I'd expect this to be the default formatter function which can be overwritten, but not as a wrapper for the provided formatter.

Hi @nkappler ,
according to the documentation, the type of the "value" property of sap.m.StepInput is "float", so the control initially makes
sure it is passed as a number. If it cannot be parsed it shows 0 as a value.
Best regards,
Petya Markova.
(UI5 Dispatcher)


Add Typescript example to securing-your-webhooks.md

Why:
The existing Securing your webhooks page includes examples for Python and Ruby, but not Typescript. This PR adds a Typescript example that hopefully saves X minutes off future webhook receivers that prefer to code in TS/JS.
Closes: 25789
What's being changed (if available, include any code snippets, screenshots, or gifs):
An example for verifying webhook payloads written in Typescript is included on the Securing your webhooks page

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@tycrimm Thanks so much for opening a PR! I'll get this triaged for review :zap:
If you're looking for another issue to pick up while waiting, take a look at our help wanted section to find open issues you can work on. ✨


Remove www-origin-staging from nginx

Gor doesn't send traffic to this hostname anymore so it's completely unused. There's no need to keep it in our nginx config.

Code looks fine. Merge away.


Feature SLIM-755 Replace soap ui with java clients

Feature SLIM-755

This pull request makes the build fail.

retest this please

retest this please

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.


Generation crashes in 02-texture.py on step 4/5 and headless server

Hi
Thanks for the interesting fork of the TripSR project!
I just tested it and can't finish the texture generation since it uses some OpenGL features that are rarely available on servers.
Here is the log:
(2/5): Load mesh
(3/5): Generate UVs
(4/5): Rasterize UV atlas
Traceback (most recent call last):
  File "/home/gorbuz/content/TripoSR-Bake/02-texture.py", line 268, in <module>
    main()
  File "/home/gorbuz/content/TripoSR-Bake/02-texture.py", line 245, in main
    rasterize_result = run_rasterize(args, mesh_result, xatlas_result)
  File "/home/gorbuz/content/TripoSR-Bake/02-texture.py", line 53, in run_rasterize
    ctx = moderngl.create_context(standalone=True)
  File "/home/gorbuz/.local/lib/python3.10/site-packages/moderngl/__init__.py", line 1936, in create_context
    ctx.mglo, ctx.version_code = mgl.create_context(glversion=require, mode=mode, **settings)
  File "/home/gorbuz/.local/lib/python3.10/site-packages/glcontext/__init__.py", line 90, in create
    return x11.create_context(**kwargs)
Exception: (standalone) XOpenDisplay: cannot open display

I haven't looked at the code yet, so it might be an easy fix or a key showstopper. Will post there if anything changes.

@Nomad1 I don't have time to look into it today, but there are a few references in the ModernGL docs which may be helpful to look at in your case:
https://moderngl.readthedocs.io/en/latest/install/using-moderngl-in-ci.html
https://moderngl.readthedocs.io/en/latest/techniques/headless_ubuntu_18_server.html

So the fix is relatively easy: a headless machine has to run Xvfb before the second stage. The easiest way is to install xvfb  and run it as shown in the articles linked by @iffyloop:
sudo apt-get install xvfb
export DISPLAY=:99.0
Xvfb :99 -screen 0 640x480x24 &

Great, glad to hear that worked for you and thanks for sharing here on the issue tracker. Also, I see you posted another issue with a bugfix - really appreciate you contributing back to the project! If you're using this tool heavily and don't mind sharing about your use case then I'd be really interested to hear from you, also may have some advice on how to improve output quality/postprocess (am planning to wrap everything up in a nice one-click GUI app sometime but haven't gotten to it yet). Here is a link to a Discord server for another of my products, if you join this you should be able to DM me (tinydaw) directly: https://discord.com/invite/phPnkQQ37s


magic-button can generate slugs now

magic-button should have a general slugification transform

Coverage decreased (-0.06%) to 85.289% when pulling 9e72a8dd49a4d4f61286de1c14dd8957051e9d9f on magic-slug into 02bade2895e1f08b77ac8c1f44bd816c57d671c8 on master.

Coverage increased (+1.0%) to 86.331% when pulling b83a86934d93a74cb848654786a37dfe1bc2a373 on magic-slug into 02bade2895e1f08b77ac8c1f44bd816c57d671c8 on master.

👍


docker2aci should work with local docker images

Currently docker2aci can only take a docker image from a registry (through the network).
After building a Docker image locally from a Dockerfile, it is inconvenient to have to upload it to a registry before being able to convert it to an aci with docker2aci.
Instead, it would be great if docker2aci could work on local files produced by docker-save.

Welp, absolutely, for some reason I thought this was already implemented

I'm confused on the status of this, is there a branch floating around?

Yes: https://github.com/endocode/docker2aci/commit/9780d10f8e2b54c7e441b6c9c264c80937035ec0
It still needs some love though


B-Tree Algorithm in Tree Folder

B-Tree is a self-balancing search tree. When the number of keys is high, the data is read from disk in the form of blocks. Disk access time is very high compared to the main memory access time. The main idea of using B-Trees is to reduce the number of disk accesses. This is highly used for the data base management and other places where large data is to be stored.
I would like to contribute this with C- Program.
@Lakhankumawat will you please assign this issue to me ?
I'm GSSoC 2022 Participant.
Time Complexity
Search - O(log n)
Insert - O(log n)
Delete - O(log n)

Also please read this section , it will be helpful Algorithms
Coding period starts form 1st March , before that you can contribute but sorry to say you won't get any points.
Thanks for your interest ,
Happy Coding !!


Enable Managed HSM live tests

PR #17925 created a custom platform for Managed HSM tests, but successive backup/restore is causing issues in preview. For now, this custom platform has been disabled and #16483 will be completed to update the service version and recordings including Managed HSM key-creation tests (and other tests for the Keys package).

Should just need to re-enable tests/testing.


Feature Request: Selectively sync tables for MySQL

Currently, we sync all the tables present in a database for a MySQL source. We need to allow a way to only provide selective table sync.

This is already possible with --src_filter, so we won't add an extra switch.


Web Components support

Hi,
I was trying the Custom Element demo, and I noticed the lack of browser support for the Web Components part.
Is that something that will ever be included in incremental-dom? If not, it would probably make more sense to use a library like polymer in the demo?

For the demo, we could use webcomponentsjs, which is used by Polymer to polyfill web components. I'm not sure if the shadow dom implementation will work with the demo however. The library itself might need some extra support to allow it to be used with the shadow dom polyfill.

After looking into this a bit, there are currently some issues with trying to use the webcomponentsjs polyfill with the demo. I'll take a look to see if there might be an alternate way to achieve the same thing using the polyfills.

I tried using polymer with incremental dom. It seems to work on safari/firefox but not in chrome.

I'm not quite certain what is going on exactly. The Element seems to have the props setter on the prototype, but the setter is never called when using the polyfill. I can create a branch with the polyfill which might be a good starting point for investigating.

@sparhami Should I open a different issue for polymer support? Not sure if that fall under the scope of this project to support polymer components.

I'd definitely like to support web components created using vanilla JS, Polymer or any other libary. Another issue for Polymer support would be a good idea.
I haven't had a chance to try using Incremental DOM with Polymer. If there is an example use case that doesn't work, it would be good to include that in the issue.

The reason why I opened this issue was: can Incremental DOM be used together with the Web Components standard?
Because in the demo, the define_component.js is not enough to guarantee browser support.
Just wanted to understand if incremental DOM can work well with Web Components, in the same way it works with Closure Templates and JSX

It definitely can as all Incremental DOM does is render DOM elements, whether they are ordinary elements or custom elements. You can also render into a shadow root. But the library's responsibilities end at rendering DOM. It doesn't give you a way of directly creating web components like Polymer.
The demo is just one potential way of using Incremental DOM with web components in a React-like way. It only really makes sense if the components you are creating are only used within your applications.
If instead you wanted to create standalone web components, you might want a library that helps. It could use attributeChangedCallback and Object.observe to be notified of changes to the custom element and queue a re-render.
I haven't created a library to provide you with a nice way to create reusable web components using Incremental DOM, but I can take a look.

In the define_component example if I instead of this[shadowRoot], I just want to pass this, it works fine if the element is in the dom however when i include it in a patch render the subcomponent is empty.

That's because the elementClose will clear out the contents. The shadow root is necessary until something like elementPlaceholder lands.

@timmak I would really like to see a nice way create reusable web components using Incremental DOM. Is this possible? Is it ever going to be possible?
I want a way to create a reusable web component with only Javascript not using HTML  syntax like polymer.


crypto/x509: TestSystemRoots failure

go tip 23cd87eb0a2d49a3208824feaf34d8b852da422f and earlier in 1.9 candidates
while running ./all.bash i have a reproducible test error on darwin:
--- FAIL: TestSystemRoots (1.41s)
root_darwin_test.go:31:     cgo sys roots: 443.728642ms
root_darwin_test.go:32: non-cgo sys roots: 964.424609ms
root_darwin_test.go:44: got 169 roots
root_darwin_test.go:44: got 453 roots
root_darwin_test.go:73: insufficient overlap between cgo and non-cgo roots; want at least 226, have 168
FAIL
macOS Sierra 10.12.6 but i have seen that failure on macOS 10.11 too since i just upgraded.
Darwin ender 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64
another similar report here:
https://groups.google.com/forum/#!topic/golang-nuts/LZvj2N_8gs4

a005a8d1b4 html/template: use the same escaper across multiple template executions
go test -run=TestSystemRoots
PASS
ok  	crypto/x509	0.214s
4dbcacda96... crypto/x509: load all trusted certs on darwin (nocgo)
ender:x509 martisch$ go test -run=TestSystemRoots
--- FAIL: TestSystemRoots (0.74s)
	root_darwin_test.go:31:     cgo sys roots: 124.339674ms
	root_darwin_test.go:32: non-cgo sys roots: 614.074109ms
	root_darwin_test.go:44: got 169 roots
	root_darwin_test.go:44: got 453 roots
	root_darwin_test.go:73: insufficient overlap between cgo and non-cgo roots; want at least 226, have 168
FAIL
exit status 1
FAIL	crypto/x509	0.752s

/cc @dsnet @ianlancetaylor

adding authors and more reviewers from the CL
/cc @mastercactapus @josharian

I tagged this Go1.9 since i traced it to a CL merged at end of 1.9 cycle and it would be nice to have a working test suite on darwin with 1.9 release and also counter confusion and issue tickets from any others that will encounter the above failure when compiling 1.9 from source on darwin.

I suspect this is due to the cgo counterpart to that fix not having made it into 1.9 (as it's still in-progress)
https://go-review.googlesource.com/c/36942

If this is a release blocker why did 1.9 get released without this?

Because the label was a suggestion by me but the decision was made by the go team that the issue should not hold up the release of 1.9. It can be considered for 1.9.x.

If I'm reading this correctly, the fix for this test failure is to disable the test.
I guess that is OK for a backport to 1.9.

Sure, we can disable the test that non-cgo works here.
CL 57830 OK for Go 1.9.2.

I'm going to remilestone this to Go 1.10 for a proper fix, since there is good context in this thread, and I created #22256 for the Go 1.9.2 cherry-pick.

reopening because after submission of https://golang.org/cl/117055
./all.bash on tip is broken again on my private macbook pro (Darwin ender 16.7.0 Darwin Kernel Version 16.7.0: Fri Apr 27 17:59:46 PDT 2018; root:xnu-3789.73.13~1/RELEASE_X86_64 x86_64
):
$ git checkout 2642df9a2c82b9de3e2868321cd109085d6910d3
$ ./all.bash
...
--- FAIL: TestSystemRoots (4.97s)
root_darwin_test.go:31:     cgo sys roots: 420.836945ms
root_darwin_test.go:32: non-cgo sys roots: 4.545627256s
root_darwin_test.go:44: got 177 roots
root_darwin_test.go:44: got 467 roots
root_darwin_test.go:73: insufficient overlap between cgo and non-cgo roots; want at least 233, have 172
FAIL
FAIL	crypto/x509	6.895s
@bradfitz
can we rollback cl/117055 until the underlying issue is fixed (happy to provide more information until root cause of problem is found)?

@martisch Could you try with these CL's and see if the test is fixed?
https://github.com/golang/go/issues/24652#issuecomment-401421022

applied 3 patches from #24652 to tip:
ec09ea9fa4 (HEAD -> x509test) crypto/x509: on darwin verify-cert with ssl policy
54a3bdbe1e crypto/x509: collect keychain certs without explicit usage constraints
a6f6cfa570 crypto/x509: check darwin keychain policy in cgo path
8a330454dc (origin/master, origin/HEAD, master) net/url: don't escape sub-delims in fragment
result:
--- FAIL: TestSystemRoots (1.58s)
root_darwin_test.go:31:     cgo sys roots: 126.320357ms
root_darwin_test.go:32: non-cgo sys roots: 1.44816439s
root_darwin_test.go:44: got 177 roots
root_darwin_test.go:44: got 467 roots
root_darwin_test.go:73: insufficient overlap between cgo and non-cgo roots; want at least 233, have 171
any other CLs i should apply?

@martisch 400+ roots seems like a lot compared to my system. I only have two custom CA's installed.
I tried from 8a33045 (in your comment) and ebdba42 with both examples passing:
// https://github.com/golang/go/commit/ebdba42d9e1de46ebf611baec98d53f01c534cac
$ ../bin/go test -v -count 1 -run TestSystemRoots crypto/x509
=== RUN   TestSystemRoots
--- PASS: TestSystemRoots (3.03s)
    root_darwin_test.go:31:     cgo sys roots: 1.467407679s
    root_darwin_test.go:32: non-cgo sys roots: 1.5584415s
    root_darwin_test.go:44: got 169 roots
    root_darwin_test.go:44: got 173 roots
PASS
ok  	crypto/x509	3.043s

Could you explain more about the certificates picked up in the non-cgo route? Adding GODEBUG=x509roots=1 will list them out as they're picked up. (Please from from tip as there's better debugging.)

I have a lot of email certificates in my login key chain from smime signed emails from a common authority (e.g. DFN-PKI) . AFAIK apple mail adds them automatically to my keychain. I just deleted one of those and the number of "got roots" decreased by one. The trust on those certificates is system default.

It's been mentioned crypto/x509 is just for the web PKI, so we could probably exclude these certs from the SystemCertPool() result.
Do these certificates only have SubjectAltNames's for emails or Extended KeyUsage for email?

The certificates have:
X509v3 Key Usage:  Digital Signature, Non Repudiation, Key Encipherment
X509v3 Extended Key Usage: TLS Web Client Authentication, E-mail Protection, Microsoft Smartcardlogin
and:
X509v3 Subject Alternative Name:
email: X, email:Y .....
(Where X and Y are placeholders here for actual email addresses)

@FiloSottile Should we ignore picking up certs that only have email SANs?
Also, I don't really see crypto/x509 documented as "web pki only", but should we?

This is failing again on the 10.11 builders (but not the other darwin builders) as of https://golang.org/cl/128117.
--- FAIL: TestSystemRoots (0.30s)
    root_darwin_test.go:34:     cgo sys roots: 66.259292ms
    root_darwin_test.go:35: non-cgo sys roots: 201.101857ms
    root_darwin_test.go:76: signed certificate only present in non-cgo pool (acceptable): CN=Developer ID Certification Authority,OU=Apple Certification Authority,O=Apple Inc.,C=US
    root_darwin_test.go:103: expired certificate only present in cgo pool (acceptable): OU=Equifax Secure Certificate Authority,O=Equifax,C=US
    root_darwin_test.go:107: certificate only present in cgo pool: CN=Thawte Premium Server CA,OU=Certification Services Division,O=Thawte Consulting cc,L=Cape Town,ST=Western Cape,C=ZA
    root_darwin_test.go:103: expired certificate only present in cgo pool (acceptable): CN=GTE CyberTrust Global Root,OU=GTE CyberTrust Solutions\, Inc.,O=GTE Corporation,C=US
    root_darwin_test.go:107: certificate only present in cgo pool: CN=Thawte Server CA,OU=Certification Services Division,O=Thawte Consulting cc,L=Cape Town,ST=Western Cape,C=ZA
    root_darwin_test.go:107: certificate only present in cgo pool: OU=Class 3 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US

I'm working on it. I have so far not figured out where those three certificates come from.

Just a note that this is still failing the darwin 10.11 builds.


Messages-Admin-App -Sprint 2

Description:

Build the Screen using the style guide.
Integrate Screen with the Backend

Will be doing this task


Repo: Implement DEV branch to allow pre-validation before merging to main

To not merge to main directly but instead collect changes and validate them in combination we should introduce a DEV branch to merge changes to and from there create a join PR to main after a certain period of time (e.g. monthly).

Pushed back for the time being

For the time being will not be used.


docs: how to set up code provider and what is it?

yup. dont know what that means
source: https://fib3.github.io/ssjs-vsc/use/

Right! :D Another docs improvement.
Code Provider is the way SSJS Manager shares the code to SFMC behind the scene. Their differences are described in the Extension tab.
You can probably use the default "Asset Provider".


Increase Version

Coverage increased (+0.02%) to 42.336% when pulling c31a57c302dfb5e48226d4cd8bc1dc4101928feb on NTR-fix-triggers into 81b1b9aa88a4651ea105621d298b28f5fd1b41b7 on master.


Dive rule should not be mutually exclusive with other rules

For example, Vec<T: Validate> might benefit from #[garde(length(...), dive)]

Fixed by https://github.com/jprochazk/garde/pull/28.


1.2.1 version breaks webgl program

This change https://github.com/elm-community/linear-algebra/commit/7c8d96a6a622b94d654430f6232b66d41ed63991 has broken my webgl game in Chrome 56.0.2924.87. Using linear-algebra 1.2.0 fixes the problem.

Yep, me too. The problem is that gl is expecting Float32Arrays, and the new linear algebra is defaulting to Float64Arrays.

Comments on this, @felixLam?

What is your interface with GL? If you are using a port it might be better to "downcast" in the native code.

@felixLam the main purpose of linear-algebra is to work with webgl.

Given that we cannot configure this packages externally, I would opt for the higher precision default and reduce precision as late as possible in any implementation.

@w0rm the simplest would probably be to upgrade the WebGL code to use 64 bit precision as well. Which might be as simple as replacing 32 with 64 in https://github.com/elm-community/webgl/blob/master/src/Native/WebGL.js#L201

@w0rm I just check out the examples, and they all appear to work fine.

@felixLam maybe you don't quite get the impact of this change. It has silently broken multiple applications that use webgl. In my opinion it should be reverted asap, and then we can discuss the change and run benchmarks to see if it has perf impact and works across the browsers

@w0rm I am aware now and am happy to maintain a 64 bit clone of this package if that is the only way to resolve this, but was hoping that there is a way to make webGL work with 64 bit as the examples run fine as they are.

This is a major change. It should've been a major patch bump. I will handle fixing this.

Would it be possible to keep the change and only change the versioning? As pointed out in the original PR https://github.com/elm-community/linear-algebra/pull/5 there are legitimate use cases (also in a WebGL context) that require the added precision.

@felixLam Yes, that's what I'm doing

Awesome, thanks

Thanks @eeue56!

Maybe we should add a test that uses WebGL as a package if that is one of the principal applications of this package.

I've published the old 32 bit version again as 1.2.2, meaning it will be preferred. I've published the 64 bit change as 2.0.0. I sadly had to do some tricks in order to get that package version to work - by adding a dummy constructor (http://package.elm-lang.org/packages/elm-community/linear-algebra/2.0.0/Math-Vector3) to Vec3. This won't affect anyone's code, since Vec3 will be used in the same way.
However, I do recommend that the next PR to be merged to this repo is one that stops exposing the constructors. These are fake constructors and will cause breakage if anyone actually tries to use them.

Whatever happened here broke elm-github-install for me. It does not want to grab version 1.2.2

@cplotter You're gonna need to explain and expand a bit more if you want help.

@eeue56 More of a note to anyone else that finds this thread. I had to manually set it to 1.2.0 to make it work. For some reason it does not pick up 1.2.2

Can someone suggest some test cases that we can add that would have caught this problem?

@fredcy The code that probably needs to be triggered in the unit test is most likely: https://github.com/elm-community/webgl/blob/master/src/Native/WebGL.js#L201
Unfortunately the WebGL examples do not seem to be affected.

I don't understand WebGL anywhere near well enough to see how to invoke the internal getAttributeInfo function referenced above. Any help?

The exception that I got was not in attributes, but in uniforms. I don't see any good way to export the native part from webgl. The native representation of linear algebra types is an implicit contract between the elm compiler, linear algebra and webgl.

Might it be possible to make the accuracy of linear-algebra a compile-time option in _elm_community$linear_algebra$Native_MJS ? Linear-algebra needs to produce Float32Array to be compatible with WebGL because that's the only type that functions like https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/uniformMatrix accept, but MJS will (I think) happily switch between types if MJS_FLOAT_ARRAY_TYPE is set correctly at https://github.com/elm-community/linear-algebra/blob/master/src/Native/MJS.js#L69. WebGLFloatArray was dropped in favour of Float32Array, so we can't set it to that.

This was fixed in WebGL, by converting Float64Array to Float32Array


Intellicode Throwing System.IO.InvalidDataException [Python]

Product and Version [VS/VSCode]:
OS Version [ArchLinux]:
IntelliCode Extension Version: 1.2.6
Target Platform or Language [Python]:
Python Version : 3.8.2
Microsoft Python Language Server : <IP_ADDRESS>
Scenario
Enabling the IntelliCode extension and invoking it on any python file, causes this error ( I can't possibly use it)
Its Raises an System.IO.InvalidDataException: End of Central Directory record could not be found
Python Language Server [Output in VSCode]
[Info  - 10:25:56 pm] Analysis cache path: /home/adil/.cache/Microsoft/Python Language Server
[Info  - 10:25:56 pm] Microsoft Python Language Server version <IP_ADDRESS>
[Info  - 10:25:56 pm] Workspace root: /home/adil/microblog
[Info  - 10:25:57 pm] GetCurrentSearchPaths /home/adil/microblog/venv/bin/python3
[Info  - 10:25:57 pm] Interpreter search paths:
[Info  - 10:25:57 pm]     /usr/lib/python3.8
[Info  - 10:25:57 pm]     /usr/lib/python3.8/lib-dynload
[Info  - 10:25:57 pm]     /home/adil/microblog/venv/lib/python3.8/site-packages
[Info  - 10:25:57 pm] User search paths:
[Info  - 10:25:57 pm] Initializing for /home/adil/microblog/venv/bin/python3
[Info  - 10:25:57 pm] Analysis caching mode: None.
[Error - 10:26:32 pm] Exception in IntelliCode extension for Microsoft Python Language Server: System.IO.InvalidDataException: End of Central Directory record could not be found.
   at System.IO.Compression.ZipArchive.ReadEndOfCentralDirectory()
   at System.IO.Compression.ZipArchive.Init(Stream stream, ZipArchiveMode mode, Boolean leaveOpen)
   at System.IO.Compression.ZipArchive..ctor(Stream stream, ZipArchiveMode mode, Boolean leaveOpen, Encoding entryNameEncoding)
   at System.IO.Compression.ZipFile.Open(String archiveFileName, ZipArchiveMode mode, Encoding entryNameEncoding)
   at System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileName, String destinationDirectoryName, Encoding entryNameEncoding, Boolean overwriteFiles)
   at System.IO.Compression.ZipFile.ExtractToDirectory(String sourceArchiveFileName, String destinationDirectoryName, Boolean overwriteFiles)
   at Microsoft.PythonTools.Analysis.Pythia.PythiaModelLoader.LoadModel(String modelPath, ILogger logger, IDictionary`2& tokenIdMap, IList`1& tokens, InferenceSession& session, PythiaModelMetaData& modelMetaData)
   at Microsoft.PythonTools.Analysis.Pythia.PythiaService.<LoadModel>b__18_0()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.<>c.<.cctor>b__274_0(Object obj)
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.PythonTools.Analysis.Pythia.PythiaService.GetRecommendationsAsync(IDocumentAnalysis analysis, CompletionList completionList, SourceLocation location, Int32 recommendataionLimit, CancellationToken cancellationToken)
   at Microsoft.PythonTools.Analysis.Pythia.LanguageServerExtension.HandleCompletionAsync(IDocumentAnalysis analysis, SourceLocation location, CompletionList completionList, CancellationToken token)
[Error - 10:26:32 pm] For more information about IntelliCode deep learning model, see https://aka.ms/intellicode/vscode-experiments

@adilcpm if you're continuing to see issues, we'd love to hear from you.
Please give us a shout in a new issue!


Fix file permissions for LICENSE and README.md

Changes proposed in this pull request:

Let LICENSE, README.md and box.json files be correct file permissions.

@Narno please review :eyes:

Hello @peter279k, what is the goal of this permission changes? Thx.

The goal is about these files should set the non-executable permissions because they're no-executable files.

Ah! of course, thank you.

@all-contributors please add @peter279k for security and code.


Release v1.0.2

PR for release of v1.0.2
Changelog:

template update to nf-core/tools 1.12.1
Bugfix: read --input parameters correctly
cleaned up multiqc config

PR checklist

[x] This comment contains a description of changes (with reason)
[x] CHANGELOG.md is updated

Good spot, thanks!!

Good spot, thanks!!


Please add Software AG

Project or Product name:
Software AG Digital Business Platform
Is it open source? (if you are tempted to say partially, please answer no):
No
What are the best URL(s) for it? Repo and homepage (if different) for open source, product homepage for closed source?:
http://www2.softwareag.com/corporate/products/bis/default.aspx - Products available for cloud deployment as Docker images: https://store.docker.com/publishers/softwareag
What one category does it best belong in?
Database & Data Analytics
What's the URL for the best logo (and it needs to include the name)?
http://www.softwareag.com/corporate/images/SAG_Logo_RGB_tcm16-134070.jpg
Anything else we need to know?:

Closing as this update was included in the most recent version https://github.com/cncf/landscape#current-version


⚠ TROJAN 🇯🇵 Japan JPP 1 has degraded performance

In e3b06bb, TROJAN 🇯🇵 Japan JPP 1 (https://jpt-1.opensvr.net/) experienced degraded performance:

HTTP code: 200
Response time: 17925 ms

Resolved: TROJAN 🇯🇵 Japan JPP 1 performance has improved in 6b63ab6.


Update README.md

Signed-off-by: Mark Cohen<EMAIL_ADDRESS>Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #62 (20da200) into testing_pr_stats (579f205) will not change coverage.
The diff coverage is n/a.

@@                 Coverage Diff                 @@
##             testing_pr_stats      #62   +/-   ##
===================================================
  Coverage               65.52%   65.52%
  Complexity                172      172
===================================================
  Files                      29       29
  Lines                     879      879
  Branches                  119      119
===================================================
  Hits                      576      576
  Misses                    254      254
  Partials                   49       49

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


bazel: Bump rules_python to 0.3.0

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>Commit Message: bazel: Bump rules_python to 0.3.0
Additional Description:
This brings in a lot of updates, particularly pip_install_incremental - which iiuc will allows us cut down duplication of deps and speed up ci
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

this pr requires a pip update, as afaict there is a dependency conflict with upstream packages in current requirements

...as such it may conflict with #17977

/lgtm deps


Support directory listing on bzz endpoint

Task
When accessing directory on bzz endpoint, listing of existing files and directories should be listed, instead of returning error message (since no file on that path exists).
Acceptance criterea

When user is accessing root or some other directory path on existing manifest hash, some kind of directory listing should be returned (comparable to how it works in browsers for some websites).
Suggestion has been made that some JSON object structure could be returned.

Putting this on hold, until a user requests it. Perhaps @jmozah , do you need this?

This would be indeed nice to have.
A possible workaround for this is to access the manifest with a client side library, such as the manifest-js.

To follow up on this topic: there were discussions in the swarm team and the outcome is that the direction with manifests are going to become a generic key-value store, rather than mapping it to a filesystem oriented abstraction.
One of the biggest argument for this decision was that filesystems are tied to operating systems, therefore they are less universal and has their own idiosyncrasies on each platform. A generic key-value store can be used to represent a filesystem by convention and that can be done in the application layer instead of doing it in Bee.
Therefore I am closing this issue.

To follow up on this topic: there were discussions in the swarm team and the outcome is that the direction with manifests are going to become a generic key-value store, rather than mapping it to a filesystem oriented abstraction.

Wait, to help me understand this.  If manifests and the /bzz/reference/path/to/file capability are removed from the bee node, just how does the swarm expect to conveniently store web site file structures without extensive modifications to every image and anchor relative links?

First of all, no existing capability is planned to remove from Bee, at least not anytime soon and even if that happens there will be an alternative way or tooling to provide the existing functionality.
However this decision means that currently there are no plans to extend the current API to support working with manifests as directories and that includes features such as this one (e.g. listing directories).

Maybe what is not clear, that the current manifest implementation is already a generic key-value store, and the /bzz endpoint treats the key as a path. While this works to some degree and it enables things such as serving directories and files over it, this abstraction breaks at some point, e.g. when using a key which is not a valid path.
What is not a valid path depends on the operating system, but also listing the keys raises questions, because in JSON you cannot represent all possible values, so these are all scenarios where the abstraction breaks and therefore on the long term it would take a lot of effort to maintain and document all the edge-cases.

Thank you for quelling my fears about losing capabilities that currently work with every bee node out there!  Long live the mantaray manifest with transparent /bzz/reference/path/to/file access!


About Fine tune model

Can we use Fine tune able model like Davinci, ada, curie model for conversational chat boat application ?

All the analysis of request intentions, construction of interactive Q&A, and summarization of answers require strong reasoning support from LLM. Therefore, I am concerned that other models may not be able to support the development of logical reasoning based on these texts.

Someone wanna clue me in ?On Wed, 4 Oct 2023 at 20:50, github-actions[bot] @.***> wrote:
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 10 days.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


No link to pay shakee93 a coffee

This is unacceptable, how there is no link to pay you a cup of tea, coffee or a bear?
Proposed solution: Please add a BTC address or paypal for donations.
Thank you for this repo!

Thanks buddy, really appreciate it, it means alot !!
i love developing and making this project better, with my spare time 😉  kinda my hobby.. and its a tiny project.. i think it already has what it deserves.. 😍


fix panic in Writer

Commit 766cfece introduced this bug by defining an incorrect split function. First it breaks the old behavior because it never splits at newlines now. Second, it causes a panic because it never tells the scanner to stop. See the bufio.ScanLines function, something like:
if atEOF && len(data) == 0 {
	return 0, nil, nil
}

is needed to do that.
This commit fixes it by restoring the old behavior and calling bufio.ScanLines but also keep the 64KB check in place to avoid buffering for to long.
Two tests are added to ensure it is working as expected.
Fixes #1383

@ashmckenzie @Luap99 I've decided to merge this behaviour and it has been released as v1.9.3. Thank you both for your efforts!
It is the least invasive change, and I'm committed to maintaining as strong backwards compatibility as possible due to the # of users of logrus. Let me know if you find any behaviours with this version

Thanks @sirupsen and @Luap99, am very pleased to see this merged 🙂:+1::bow:

Great! But as noted here https://github.com/k0sproject/k0s/pull/3182#issuecomment-1578691745 - the downside is it's not unicode safe

Yeah, for us the problem comes from an external program which is launched through os/exec and is given logrus a writer as cmd.Stdout, one of the external tools dumped a certificate or whatever in debug mode and made the writer crash.


"need" a file, but don't create its parent directory?

If I say, need [ "a/b/c/d/foo"] does shake automatically create a/b/c/d/ directory? Is there any way to turn this behaviour off on a case-by-case basis?
Use-cases:

I want to make sure that a user has been created on a system, and I'm using /home/<username>/.bashrc as a target file for this action. However, because shake seems to be automatically creating /home/<username> the useradd command refuses to initialize the user's home-dir and the .bashrc file doesn't get automatically created.
I want to make sure that /usr/share/elasticsearch/bin/elasticsearch is available on a system. If not, it is "produced" by sudo dpkg -i elasticsearch.deb command. However, before this command can be run, shake tries to create /usr/share/elasticsearch/bin and runs into permission errors.

It's not the need that automatically creates the file, but the rule itself, so when you give a rule for producing a/b/c/d/foo, that rule, before it runs any of the user-supplied code, will first create the containing directory. There is no way to turn that off. One way to deal with these things specially would be to use oracles or similar, so define an oracle rule for creating a user, and then have that do what you need. Also, generally Shake should be creating things in a defined output directory, so not sure it messing around in /home or /usr/share is going to be a good plan - although I don't think anything will actually go wrong because of that.
newtype User = User String deriving (Show,Typeable,Eq,Hashable,Binary,NFData)
type instance RuleResult User = (
rules = do
    addOracle $ \(User x) -> do
        cmd "adduser" x

If you really want to track the .bashrc in the users home directory, so that it will rerun if the user edits it, you can add the need inside the addOracle after the execution of adduser, which will ensure it always gets run first.

Also, generally Shake should be creating things in a defined output directory, so not sure it messing around in /home or /usr/share is going to be a good plan - although I don't think anything will actually go wrong because of that.

I'm experimenting with using Shake as a replacement for server provisioning tools to consolidate the number of tools required in a large-ish project. Bad idea?


Parallelization when using a user-defined distribution

Having a great time getting started with nimble, thanks to some excellent documentation! Thank you.
But... I'm having a wee bit of trouble using a distribution I've defined while also attempting to run nimble in parallel. It seems like I'm getting the environment misspecified but I am not sure how. I've pasted a "minimal" example below based on the parallelization guide but using the dmyexp as defined in the user manual.
Things I have tried:

defining dmyexp inside run_MCMC_allcode (shown below), using <- or <<- as assignment.

when <<- is used to assign the function, it seems like registerDistributions doesn't work as the error is about a missing rmyexp.
when <- is used, dmyexp isn't found (similar to this issue?).

defining dmyexp outside run_MCMC_allcode, using clusterExport(c("dmyexp"), cl=this_cluster) to "export" the function into the cluster environment.

similar to above, error that we can't find rmyexp.

I could define an r* function, but it's a bit fiddly so I was hoping I could avoid it if I can.
With apologies if I've missed something obvious here. Thanks for any advice!
library(parallel)

this_cluster <- makeCluster(4)

set.seed(10120)
# Simulate some data
myData <- rexp(1000, rate = 0.8)

# Create a function with all the needed code
run_MCMC_allcode <- function(seed, data) {
  library(nimble)

  # from the manual
  dmyexp <<- nimbleFunction(
    run = function(x = double(0), rate = double(0, default = 1),
                   log = integer(0, default = 0)) {
      returnType(double(0))
      logProb <- log(rate) - x*rate
      if(log) return(logProb)
      else return(exp(logProb))
    })

  registerDistributions(list( dmyexp = list(
    BUGSdist = "dmyexp(rate)",
    range = c(0, Inf),
    pqAvail =FALSE)
  ), userEnv=parent.frame(1))

  myCode <- nimbleCode({
    b ~ dnorm(0, 100)

    for (i in 1:length_y) {
      y[i] ~ dmyexp(rate = b)
    }
  })

  myModel <- nimbleModel(code = myCode,
                          data = list(y = data),
                          constants = list(length_y = 1000),
                          inits = list(a = 0.5, b = 0.5))

  CmyModel <- compileNimble(myModel)

  myMCMC <- buildMCMC(CmyModel)
  CmyMCMC <- compileNimble(myMCMC)

  results <- runMCMC(CmyMCMC, niter = 10000, setSeed = seed)

  return(results)
}

chain_output <- parLapply(cl = this_cluster, X = 1:4,
                          fun = run_MCMC_allcode,
                          data = myData)

stopCluster(this_cluster)

System info:
dill@nibbler3 sim (master *)$ uname -a
Darwin nibbler3.fritz.box 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64
dill@nibbler3 sim (master *)$ R --version
R version 4.0.0 (2020-04-24) -- "Arbor Day"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin17.0 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
https://www.gnu.org/licenses/.

dill@nibbler3 sim (master *)$ Rscript -e "packageVersion('nimble')"
[1] '0.10.0'

(Installed nimble from github.)

@dill Thanks for this report.
It looks like you've run into some limitations in how we handle scoping that is causing the user-defined functions not to be found in various ways.  I'm going to iterate with some of our other developers later in this issue thread, but I wanted to first directly give you a work-around.
Basically I think you do for now need to defined the r function. It's not hard -- the body of the function can just be dummy code:
returnType(double())
return(0)

The args should have n = integer(0) as the first args and then all the parameters that are args to your d function, and of course omit the log argument.
You can either define this in your master process and export it or you can define it in the same place as you define your d function in the function. And if you define in the function, use <<- for both d and r functions.
I haven't tested this, so if things don't work, please follow up.

Thanks for the quick solution @paciorek, this worked in the example above. Just for those following up, I added the following code chunk to the run_MCMC_allcode above:
  rmyexp <<- nimbleFunction(
    run = function(n = integer(0), rate = double(0, default = 1)) {
      returnType(double())
      return(0)
  })

I'll try applying this in my more complicated example and report back.

@perrydv @danielturek It looks like we have some holes in how we handle scoping when defining user-defined distributions (and presumably functions and samplers) inside functions.
I started to go through to try to set the environment where user-defined stuff is searched for to be the environment where a model is being defined. I did this in prepareDistributionInput (which is called by registerDistributions). This is in branch fix-userdist-scope (a bad name since I think this is a more general issue than for distributions only).
However, the next scoping error arose in getSymbolicParentNodesRecurse. I am happy to keep follow things through our processing, but in checkNimbleOrRfunctionNames I see a comment from Perry from 2017 that gave me pause:
## Would like to do this by R's scoping rules here and in genCpp_sizeProcessing but that is problematic

Hopefully we can do something because I believe that right now, one can only use user-defined dists/funs/samplers if they are defined in the GlobalEnv. And I'm happy to pursue this but wanted to see what you both remember about our discussion of scoping in the past. I have a vague memory of this coming up but I don't see any relevant issues in nimble-dev or NCT.
Depending on where we go with solving this, we might add a note to our parallel example that says to always put user-defined dists/funs/samplers in the GlobalEnv.

@paciorek Can we look at this on devel because there are some unreleased changes there in how things are found.

@perrydv Not sure what you mean by "look at on devel". I branched fix-userdist-scope off devel just this morning.

That's all I wanted to check.  If it's in GlobalEnv, will it work in parallelization?

Currently, if user-defined 'stuff' is in GlobalEnv on the workers, I believe it will work. The snag is that when we autogenerate the 'r' function, it is not put in GlobalEnv if the nimbleModel call is inside a function, which is what happens when users use things like parLapply.
Another issue is that it's weird to tell users to put stuff in GlobalEnv while also telling them all nimbleModel, buildMCMC, compileNimble calls that are done in parallel should be done inside the function being parallelized.

@paciorek Maybe I'm missing something here, and this might sound like a work-around rather than fixing the root problem.  But when we auto-generate the r function, could we create it the manually force it to be defined in the GlobalEnv?

Yes, that would address the smaller piece of the puzzle, but there is still the general issue that a user defining a user-defined nimbleFunction within a function will see an error and that telling them to define things in the Global is the reverse of what we say in general about how to do parallelization, where we tell them to do everything within the function being parallelized.

I need to dig a bit deeper into the source, but at a glance it seems like it should be feasible to pass an env argument to the compilation step. Is there an architectural reason users can't just specify where they want the custom stuff to be found?


if --tmpdir does not exist, osxphotos crashes with error

This is a weird error that happens if osxphotos export --tmpdir TMPDIR does not exist:
osxphotos version: 0.56.7
Error: Error binding parameter 14: type 'FileNotFoundError' is not supported
Traceback (most recent call last):
  File "/Users/rhet/.local/pipx/venvs/osxphotos/lib/python3.11/site-packages/osxphotos/crash_reporter.py", line 36, in wrapped
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/rhet/.local/pipx/venvs/osxphotos/lib/python3.11/site-packages/osxphotos/cli/export.py", line 1673, in export
    report_writer.write(export_results)
  File "/Users/rhet/.local/pipx/venvs/osxphotos/lib/python3.11/site-packages/osxphotos/cli/report_writer.py", line 195, in write
    cursor.execute(
sqlite3.ProgrammingError: Error binding parameter 14: type 'FileNotFoundError' is not supported

Could not replicate. --tmpdir is a click.Path and correctly exits if it doesn't exist:
osxphotos export ~/Desktop/export -V --tmpdir /foo
Usage: python -m osxphotos export [OPTIONS] [PHOTOS_LIBRARY]... DEST
Try 'python -m osxphotos export -h' for help.

Error: Invalid value for '--tmpdir': Directory '/foo' does not exist.


Use URIs instead of GUIDs in URLs

Once again this PR is split into a few separate commits, mostly (hopefully) logical and separate enough to help get reviewed.
Commit 1 - new index on Page table for page type+uri
This index will allow us to quickly look up pages by their URI, as well
as (filter down measures by type and uri). This will help keep lookups
performant as we move from the combination of guid+version for CMS route
resolution to page type + uri.
Commit 2 - Use URIs instead of GUIDs
For the CMS routes, we currently use topic and subtopic GUIDs in the
URLs instead of their respective URIs/slugs. This leads to a weird
experience as a CMS user (with strange-looking URLs), as well as a more
confusing experience as a developer, having to remember whether you have
a GUID or a URI in a given variable called 'topic' or 'subtopic'.
This patch moves to consistently use the uri of a page in the URL,
which should make life a little nicer for both users and developers.
Commit 3 - Rename URI route variables - optional?
Rename variables that handle topic, subtopic and measure URIs to be more
explicit about the fact they're holding a URI string (as opposed to,
say, a GUID).
Ticket
https://trello.com/c/Epn14w5O/910

URI is definitely the wrong term - I'd like to switch over to something like slug as well. 👍  I'll create a tech improvement ticket. We could also definitely refine some of the getters, yep.

URI is definitely the wrong term - I'd like to switch over to something like slug as well. 👍  I'll create a tech improvement ticket. We could also definitely refine some of the getters, yep.


[SPARK-26420][k8s] Generate more unique IDs when creating k8s resource names.

Using the current time as an ID is more prone to clashes than people generally
realize, so try to make things a bit more unique without necessarily using a
UUID, which would eat too much space in the names otherwise.
The implemented approach uses some bits from the current time, plus some random
bits, which should be more resistant to clashes.

Test build #102405 has started for PR 23805 at commit 92eb16d.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/7985/

Test build #102405 has finished for PR 23805 at commit 92eb16d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102405/
Test PASSed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/7985/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/7985/
Test PASSed.

Ping.

Retest this please.

Test build #102880 has started for PR 23805 at commit 92eb16d.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/8368/

Test build #102880 has finished for PR 23805 at commit 92eb16d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102880/
Test PASSed.

Merged build finished. Test PASSed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/8368/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8368/
Test PASSed.

Test build #102894 has started for PR 23805 at commit fd4c1fa.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/8375/

Test build #102894 has finished for PR 23805 at commit fd4c1fa.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102894/
Test PASSed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/8375/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/8375/
Test PASSed.