Broken release at maven central

Hello @kitlangton! Thank you very much for this toolbox! Unfortunately the last published release (0.0.10) in maven central is broken (it seems it is an empty jar) an 0.0.7-0.0.9 are absent :( could you please publish fixed version? Thanks!

😅 Oopsies!
Thanks for letting me know. I've just tried to fix the build.  Let me know if 0.0.12 works for ya (once the pipeline completes in just a few minutes).

Thanks @kitlangton, but 0.0.11 seems to be broken as well 😔

Regarding documentation - for a person somehow familiar with macros quotidian is pretty intuitive, it's a definitive sign of great work 👍 But truly, examples are helpful - my current desire is to implement companion-object-based derivation for https://github.com/tofu-tf/glass

No idea what was wrong, but version 0.0.14 seems to be working. I checked this time in another local project :D.

0.0.14 is fine, thanks!

 Good luck with your macros ;)


No image loading unless - clearCacheOnStart: false

Describe the bug
No image will load for me if the clearCacheOnStart is set to true.
If I set it to false, it loads correctly
No errors in log or dev tools.
var config = {
    address: "localhost",
    port: 8080,
    basePath: "/",
    ipWhitelist: ["<IP_ADDRESS>", "::ffff:<IP_ADDRESS>", "::1"],

    useHttps: false,
    httpsPrivateKey: "",
    httpsCertificate: "",

    language: "en",
    logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"],
    timeFormat: 24,
    units: "metric",

    modules: [{
            module: "WallberryTheme",
            position: "fullscreen_below",
            config: {
                unsplashAccessKey: "XXX",
                collections: "45585351",
                clearCacheOnStart: false,
            }
        }, {
            module: "WallberryTheme/WB-clock",
            position: "top_bar",
            config: {}
        }, {
            module: "WallberryTheme/WB-weather",
            position: "bottom_bar",
            config: {
                apiKey: "XXX",
                providerName: "openweathermap",
                latitude: 55.7974140,
                longitude: 9.694617
            }
        }, {
            module: "calendar",
            position: "top_right",
            disabled: true,
            config: {
                maximumEntries: 10000,
                colored: true,
                coloredSymbolOnly: false,
                calendars: [{
                        url: 'https://calendar.google.com/calendar/ical/shacki325%40gmail.com/private-b73419420c970edbf2d00eca4b25c341/basic.ics',
                        color: '#263261',
                    },
                ],
            }
        }, {
            module: "MMM-MonthlyCalendar",
            position: "bottom_bar",
            config: {
                mode: "nextFourWeeks",
            }
        },
    ]
};

/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {
    module.exports = config;
}

Brand new setup of Magic Mirror on a Pi 4 2GB
Let me know if you need anything else!
Based on one of the other issues #8  I think it would be better to clear the cache, but atm it only works if that's disabled.

Describe the bug
No image will load for me if the clearCacheOnStart is set to true.
If I set it to false, it loads correctly
No errors in log or dev tools.

I just installed on a RPi4 4gb and had the exact same issue, except i didnt have clear cache in at all, this actually fixed it for me. Thanks for the help. But i agree i would think you would want it to clear.

Describe the bug
No image will load for me if the clearCacheOnStart is set to true.
If I set it to false, it loads correctly
No errors in log or dev tools.

I just installed on a RPi4 4gb and had the exact same issue, except i didnt have clear cache in at all, this actually fixed it for me. Thanks for the help. But i agree i would think you would want it to clear.

This is an excellent report, thank you. I ordered a Rpi4 not too long ago so I will investigate this soon :)

This is an excellent report, thank you. I ordered a Rpi4 not too long ago so I will investigate this soon :)

Sounds good, thanks a bunch for all the effort you have put into this.
Really enjoying the look of it, it's soon going up on the wall!

Sounds good, thanks a bunch for all the effort you have put into this.
Really enjoying the look of it, it's soon going up on the wall!

I just updated the module on my pi with the 2 latest commits you did (fast help!) and the background wouldn't show with clearCacheOnStart: false, after I set it to true it showed up immediately.
Seems like you fixed it 👍

I just updated the module on my pi with the 2 latest commits you did (fast help!) and the background wouldn't show with clearCacheOnStart: false, after I set it to true it showed up immediately.
Seems like you fixed it 👍

Awesome, thanks for the confirmation and for your help submitting the reports.

Awesome, thanks for the confirmation and for your help submitting the reports.


Remove Akka Cluster

Codecov Report

Merging #246 into master will decrease coverage by 0.26%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #246      +/-   ##
==========================================
- Coverage   92.88%   92.62%   -0.27%
==========================================
  Files         134      128       -6
  Lines        2418     2319      -99
  Branches      121      117       -4
==========================================
- Hits         2246     2148      -98
+ Misses        172      171       -1

Impacted Files
Coverage Δ

...ydra.ingest/services/IngestionHandlerGateway.scala
100% <ø> (ø)
:arrow_up:

...c/main/scala/hydra/core/monitor/HydraMetrics.scala
100% <100%> (ø)
:arrow_up:

...la/hydra.ingest/services/IngestionSupervisor.scala
97.95% <100%> (ø)
:arrow_up:

...ydra/kafka/serializers/TopicMetadataV2Parser.scala
95.74% <100%> (ø)
:arrow_up:

...ala/hydra/avro/resource/SchemaResourceLoader.scala
100% <100%> (ø)
:arrow_up:

...in/scala/hydra/core/akka/SchemaRegistryActor.scala
94.73% <100%> (-0.39%)
:arrow_down:

...la/hydra/core/bootstrap/BootstrappingSupport.scala
92.85% <100%> (-0.9%)
:arrow_down:

Continue to review full report at Codecov.

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


Editing the Less/CSS code doesnt change the preview

Hi !
I don't know if its me doing something wrong, but I think that editing the less/CSS code in the corresponding panel has no effect on the preview panel. Changing the brand colors for example doesnt change the colors of corresponding buttons.
As a side question : how can I use a theme created using Bootstrap magic for example inside pingendo.
I tried copy pasting the resulting Less file but as mentioned before ... nothing seems to happen in the preview window.
Thanks

:+1:


Jira Issue Details always expanded

Hello,
first and foremost thank you for porting and maintaining this wonderful integration.
We have a little issue with the trigger and i wonder if there's anything one can do about it.
The trigger worked out of the box with rocket.chat 6.46 but if we post an issue the details are always expanded by default:

Which results in a wall of text. We reduced the fields to ["Status", "Assignee", "Created", "Updated"] and the max_text_length to "1" because otherwise the chat is flooded with text.
We had that issue also with https://github.com/gustavkarlsson/rocketchat-jira-trigger (the old one) and i didn't found any way to change that behaviour. I tested with Chrome, Firefox and also the Windows Desktop App. Version 6.0.1 of Rocket-Chat Server was working fine, Versions after that have that Problem.
If you know any way to change the appearance of the posted message regarding the button state i would be very glad. This element seems to cause the issue.
<button type="button" title="Einblenden" class="rcx-box rcx-box--full rcx-button--mini-square rcx-button--square rcx-button--icon rcx-button rcx-css-wcp0mp" data-title="Ausblenden"><i aria-hidden="true" class="rcx-box rcx-box--full rcx-icon--name-chevron-left rcx-icon rcx-css-1tg7yd0">{</i></button>
Any help would be appreciated.
Thank you very much!

Hello,
Oh yes, we have this annoying behavior too.
There is an option for this in API (collapsed: true), but it looks like it doesn't work in newer version of Rocket.Chat Server. Where is an open issue https://github.com/RocketChat/Rocket.Chat/issues/29276, so I think i cannot fix this in webhook, it's on server side.
But where is a work around, you can disable attachment expansion in client configuration, to do so you need (on client) to going to  "Account  => Preferences => Messages => Collapse Embedded Media by Default => (turn on)"

Hi,
Sorry it took so long, I'm sure this was really annoying to deal with. I've added a PR to resolve this and it should (hopefully) be fixed in the next release :)


IndexError:  array index out of range.

Upon running the driver in linux mint/ubuntu I receive the following error in terminal.
This had been working for me a month prior and I suppose something in one of the libraries has changed to invalidate the setting.
============================================
grabbed interface %d 0
grabbed interface %d 1
Huion Kamvas GT220 driver should now be running
Traceback (most recent call last):
File "kamvas.py", line 45, in
X = (data[8] << 16) + (data[3] << 8) + data[2]
IndexError: array index out of range
Thanks in advance if someone sees this and can help me remedy it.

========================================
Huion Kamvas GT220 driver should now be running
Data: array('B', [7, 129, 115, 69, 130, 37, 17, 1])
Traceback (most recent call last):
File "kamvas.py", line 46, in
X = (data[8] << 16) + (data[3] << 8) + data[2]
IndexError: array index out of range
I always thought python indexing started at 0, but this exact fix was working for me literally last week, so I'm not really aware of what I've done to mess it up.  I'm pretty new to linux, so it's easily possible that one of the required packages updated due to my own carelessness.

Hola!  I have resolved my issue and know roughly what went wrong.  I had compiled one of the necessary compenents under different circumstances from what was originally configured and forgot that I had done so and this is what caused the rest of the driver to error out.  Your code is still legitimate, I'll try to get specifics so other people don't hit the same speed bumps in the future.
Thanks for responding.


Incremental migration for File Shares

https://docs.microsoft.com/en-gb/sharepointmigration/mm-fileshare-copy-to-migrations
Would be useful if the table of what happens on a migration rerun, contains what happens to delete folders/files on the file share, does it delete them off the migration destination or does it keep them.

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

ID: e06d8f2b-828c-aafe-41cc-30be91fbdf41
Version Independent ID: 1ed236b8-ab64-6f0e-1cab-901743d575dc
Content: Step 3: Copy to migrations for file share migration - Migrate to Microsoft 365
Content Source: migration/mm-fileshare-copy-to-migrations.md
Service: sharepoint-online
GitHub Login: @JoanneHendrickson
Microsoft Alias: jhendr

Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hello @FingerlessGlov3s
I tested this, removed files from source and re-run, the files already migrated and removed from source were not touched. Will propose to add that to the article.
Thanks

If your migrating large File Shares in the TBs, you want the "go live" day to match the files they move, created, modified or deleted at the time of the last "sync" (Probably ran at midnight for 8am go live). As it may take a few weeks to upload all the data in to SharePoint, depending on the internet speed. If it keeps deleted files on the destination when they've been deleted from source. This would lead to confusion, would it not?
How would it see a moved file? Would it end up with 2 copies, one in the original folder and one in the moved to folder? If the tool doesn't reflected deleted files in the destination, I assume this would happen?
Is this intended or wanted behaviour?

Hello @FingerlessGlov3s

How would it see a moved file? Would it end up with 2 copies, one in the original folder and one in the moved to folder? If the tool doesn't reflected deleted files in the destination, I assume this would happen?

Tested this, the moved file was copied to the new destination,

Is this intended or wanted behaviour?

I think it is, however, I can not confirm as here, we are limited to documentation changes and improvements, so I am proposing to add the current behavior of the migration agent to the article. I think that, to get the information you are asking now the better would be to open a support ticket, that way, it can reach the team behind the migration manager

Your correct some of this is more directed at Support, but these are the questions people will be wanting to know when they read the documentation 😊


functional test: Fixes for os and arch validating test and for ACE validator image creation

Thanks! LGTM


Add documentation for wasm-bindgen

Adds a wasm-bindgen section to docs and gives a high level
description of it's crates and how they are used with Yew.
It's such a big topic with lots of rabbit holes to go down so
I'm sure this doesn't cover everything even at a high level but
hopefully covers some of the FAQ stuff and provides a base to
build off (both in this PR and in future) :)
Just master/next docs in this PR to avoid tweaking two sets
once this one lands I'll move it over to v0.18 which I don't think
will need much adapting.
Description

Fixes #1460
Checklist

[x] I have run cargo make pr-flow
[x] I have reviewed my own code
I have added tests N/A (but technically I did because of website tests 😏)

I'm now concerned what I've got against "its" and why I felt the need to turn them all into "it's" 😅

Should this also touch a bit about gloo since it's somewhat under that umbrella and Yew uses it?

I did consider it but wasn't quite sure - I wouldn't want to go in great depths about it, I don't want to add gloo documentation too, but didn't know whether it should have just a small section to highlight it or maybe a subsection under the external libraries section as a special mention because it's from the working group?

@hamza1311 did you have something specific in mind?

After this small indent issue I think we should merge this. We can add the dedicated gloo stuff in a new PR.

Yeah, I don't see this section as "complete" but I think it provides somewhat of a good starting point to tweak and build off of :)

So is this ready to be merged? The review progress was reset because of the force push so I need to re-read everything again :D


Adding default value for a placeholder `:PROPERTY'

Adding a pair value to the global metadata:
metalsmith.metadata({
  PROPERTY: "special"
});

and reading it from the metalsmith-permalinks plugin, so that it's then possible to have default values for a placeholder.
I personally use it to create personalized urls based on the "locale" value.

I wrote this patch when I was starting to use Metalsmith. It isn't worth it, just ignore the pull request ;)


Cannot suppress ContainerDependency

I have several services that use the container by their very nature, like lazy-load-proxy-services or generic classes that execute methods on configurable services. This plugin flags these services with the ContainerDependency issue, which i would like to suppress for these instances. Psalm itself allows suppressing any issues using the psalm-suppress annotation, but this does not seem to work for the ContainerDependency issue-type.
https://psalm.dev/docs/running_psalm/dealing_with_code_issues/
https://psalm.dev/docs/annotating_code/supported_annotations/#psalm-suppress-someissuename
$ bin/psalm src/Foo/Bar/SomeExampleLazyLoadProxy.php
Scanning files...
Analyzing files...

E

ERROR: ContainerDependency - src/Foo/Bar/SomeExampleLazyLoadProxy.php:26:5 - Container must not inject into services as dependency! Use dependency-injection. (see https://psalm.dev/000)
    /**
     * @psalm-suppress ContainerDependency
     */
    public function __construct(
        ContainerInterface $container,
        string $serviceId
    ) {
        $this->container = $container;
        $this->serviceId = $serviceId;
    }

------------------------------
1 errors found
------------------------------

Checks took 11.64 seconds and used 1,694.197MB of memory
Psalm was able to infer types for 93.8762% of the codebase

It even shows the suppress-annotation in the error-output itself.
I am not sure if this is an issue with psalm itself or with this plugin, but when looking at the issues in psalm itself that have to do with suppression, it seems to me that suppression works differently depending on the issue-type and the ContainerDependency issue is colored differently then the other issues in the console, so I think that this is probably a problem with the issue-type ContainerDependency itself.
Have I maybe applied the suppression in a wrong way? I tried different ways of specifying it (one-liner, on the class, on the assignment-line, supressing "all"), but suppressing this issue seems impossible at the moment.
Versions:
psalm/plugin-symfony: v1.2.3
vimeo/psalm: 3.11.6
symfony 3.4.41
PHP 7.2.31.

Looks like suppressing the issue using the psalm.xml config via the PluginIssue tag does still work here, which I will do for now as a workaround. The psalm-suppress annotation for this issue-type should still be fixed.
https://psalm.dev/docs/running_psalm/plugins/authoring_plugins/


Zen mode doesn't rescale to large resolution

Issue Type: Bug
Minor inconvenciance but feels like a bug.

Start Zen mode on lower resolution screen (laptop screen in my case)
Send application to larger screen (using Win+Shift+Arrow)
Observe Zen mode still active but no longer full screen

VS Code version: Code - Insiders 1.42.0-insider (705f01577dd37d6f17eaa683ab89b0c392fa1a7c, 2020-02-03T14:02:55.075Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_offsurface_control: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.86GB (7.78GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

This feels like an electron bug.
@csholmq can you reproduce this with Chrome, and going to full screen?
fyi @deepak1556 in case you are aware of an existing Electron issue

@isidorn Using normal Chrome browser and running full screen (F11) I was not able to reproduce.

@csholmq can you still reproduce this with latest vscode insiders?
If yes let us know and we can reopen this


Where is August 31?

This may sound stupid, but for some reason I can not visualize on August 31, It does not appear in my project, it does not appear in the examples.

If not wrong Chile has or is on DST right now (Yes, I stalked you...) that's why this happens it's being reported for all browser and it's a deal with how JavaScript and browsers deal with it, for you in this case doesn't appear for other is duplcated!, and quoted from Matt Johnson of Moment.js

To be clear, this is a browser issue - not a moment issue. Similar results can be obtained by just using the Date object. Moment could detect this issue and compensate, but it currently does not.

Source of quote
https://stackoverflow.com/questions/32573951/getting-invalid-day-in-date-when-using-moment-js-in-mozilla-firefox

Thanks for the info, now with this, I'll see how to solve it, it's so funny.


Think about blog post topics from past 6 months

For @opoudjis .

Drawing on https://github.com/orgs/metanorma/discussions/6 for announcables over the last 6 months.

[ ] Document collections in Word (for ITU)
[ ] Plateau support
[ ] Hover anchor links for HTML sections
[ ] Attachments within documents
[ ] Enhancements to collection manifest structure
[ ] Number formatting and formula number formatting support
[ ] Maximum size of Data URIs
[ ] CJK support: Ruby, CJK line breaks, Japanese i18n
[ ] Author-date referencing in IEEE
[ ] Collapsible code and figure snippets in HTML
[ ] Configurable metanorma-generic: run end-to-end (mxbif proof of concept)
[ ] Error logs https://github.com/metanorma/metanorma.org/issues/821

@ronaldtse Kindly indicate which of these I should schedule for work

@opoudjis whatever you think is worth talking about, feel free to do them. If you move the task list to the "first post", then you can "click and create" the issues.


Strings functions

Also:
Removed class Predicate and migrated its functionality into Expr, in order to
support general bool expressions in where().

This change is


.NET Core October Update - 2.1.5

.NET Core October Update - 2.1.5
Release Notes
Download 2.1.5
Please report any issues you find with 2.1.5, either responding to this issue, creating a new issue or creating a new issue in one of the following repos:

aspnet/Home - for ASP.NET Core questions
aspnet/EntityFrameworkCore - for Entity Framework Core questions
dotnet/cli - for CLI tools and questions
dotnet/corefx - for API issues and questions
dotnet/coreclr - for runtime issues
dotnet/core-setup - for installer issues
nuget/home - for NuGet questions and issues

Hi, it seems the download urls in releases.json now uses absolute URL's instead of relative paths to the base url blob-sdk
This brakes the .NET Core VSTS task from installing sdk 2.1.403 on my build agent
Is this change intentional? In that case I probably should raise an issue in the VSTS Tasks GitHub

@mkleijn - yes, this is intentional. We have changed our publishing CDN  and they do not have a stable "container" portion of the resulting URL. Without this, it would be extremely unpleasant to construct URLs in the current json file. Apologies for the breaking change.

@leecow this is breaking the Azure pipelines(formerly VSTS) task. What is the long term approach here as want to make sure that the task work well over the time?
Are blob urls not longer going to be there? Will each location directly point to full dlc url? Are you going to change this behavior for older versions as well? There seems to be no set pattern.

Created a new issue #1977 as the current one is an "announcement".

I'm currently on .Net Core 2.0, and trying to upgrade to v2.1. I'm following this [https://docs.microsoft.com/en-us/aspnet/core/migration/20_21?view=aspnetcore-2.1](2.0 to 2.1). However, my .Net Core app uses the target framework as .Net4.7 using .Net core references to 2.0. With the 2.1.5 release, should I update these references to v2.1.5, or just update these to use 2.1. Would it be of any significant difference of going in with 2.1.0 over 2.1.5? Thanks!

Superseded by newer release 2.1.6 - see #2053


fullPaths: true

Hi,
How can I pass the flags to browserify?
Im trying to user discify and I got this error:
Error: Please recompile this browserify bundle using the --full-paths flag (when using the command-line interface) or with the fullPaths option set to true (when using the JavaScript API).

Hi @fabiooshiro,
To specify flags, you'll have to use the Browserify CLI directly.  Simplifyify is meant to be an opinionated tool for using Browserify in a few specific common scenarios, so it intentionally doesn't expose all of Browserify's functionality or arguments.


Updating local master with jekyll updat

Changing jekyll dependency from 2.0 to 3.0

Approving Pull Request to update Jekyll dependency from 2.0 to 3.0


Fix: FindName now matches partial name, matching UG behaviour

closes #172  and #148

Codecov Report
Base: 60.70% // Head: 60.70% // No change to project coverage :thumbsup:

Coverage data is based on head (db2740f) compared to base (651da2e).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #212   +/-   ##
=========================================
  Coverage     60.70%   60.70%
  Complexity      554      554
=========================================
  Files           103      103
  Lines          2059     2059
  Branches        211      211
=========================================
  Hits           1250     1250
  Misses          737      737
  Partials         72       72

Impacted Files
Coverage Δ

...ss/model/person/NameContainsKeywordsPredicate.java
85.71% <100.00%> (ø)

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

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


Widget: accident_count_by_severity_urban

Name
accident_count_by_severity_urban
Widget for accidents in urban street resolution for all accident types at a specific street.
Title
accident_count_by_severity_urban
Visualization

Sample graphic image of the widget that will be displayed by FE.
Visualization explanation
Similar to accident_count_by_severity widget, show by type : critical, severe and light accidents
Additional context
API widget structure provided by BE team:
    {
        "name": "accident_count_by_severity_urban",
        "data": {
            "items": {
                "severity_severe_count": 33,
                "severity_light_count": 822,
                "severity_fatal_count": 0,
                "start_year": 2014,
                "end_year": 2021,
                "total_accidents_count": 855
            },
            "text": {
                "title": "בשנים 2014 - 2021 ברחוב ז'בוטינסקי, רמת גן, התרחשו 855 תאונות"
            }
        },
        "meta": {
            "rank": 1,
            "information": "כמות התאונות הקטלניות, הקשות והקלות במקטע בפרק הזמן הנבחר."
        }
    }

FE Team - Note:
This widget exists for interurban accidents (with the name accident_count_by_severity)
Please duplicate it for street resolution
For best practices - we can also make sure that the widget's name will be exactly the same as interurban (meaning change the widget's name from accident_count_by_severity_urban to accident_count_by_severity)
However - beforehand we want to make sure we do not break anything in the FE first.
Link to an urban newsflash:
https://anyway-infographics-staging.web.app/newsflash/108495

@ziv17 already created the API in the BE (issue: https://github.com/hasadna/anyway/issues/2093)

After some checks - no need to do anything in the FE - this BE fix should be enough - https://github.com/hasadna/anyway/pull/2159


README autocreation

README autocreation for every folder
As part of technical documentation, every folder has to include a README file explaning data/function of this folder.

Every folder, what's the reasoning?

If you can't explain me now every function and the meaning of every file and it's variables, then we do not need that. But I doubt it as during many discussion I've found there was a bunch of important things people dont know. One of them is their own coding (in this case ours).
Without documenting and understanding full code, there is no sense for us to develop it. And if we dont know it, who would you suppose will know it if nothing is documented.
Look up in contrib folder, there are several tools which were not really used. What do you think is the reason? I think either people did not know how to use it or it simply did not work. In both cases missing documentation would be a solution.


Interested on Wireguard API

Hello there :)
As you probably know, most users of this provider are homlab-ers that have an infra too-pro-to-be-at-home. Honestly, one of the best features in this regard is having a VPN right in the firewall, but right now everything is manually configured.
I would love to have some support for this API
WDYT?

Hey @achetronic, thank you for raising an issue.
I will definitely look into this! Most of the prioritisation so far has been based on my own usage, so I'll be sure to priorize this.
I'm currently unavailable for the next few days, so I can't give you an accurate ETA. I reckon it should be done in the next few weeks.

Hey @achetronic, thank you for raising an issue.
I will definitely look into this! Most of the prioritisation so far has been based on my own usage, so I'll be sure to priorize this.
I'm currently unavailable for the next few days, so I can't give you an accurate ETA. I reckon it should be done in the next few weeks.

Hey, thank you for answering :)
Honestly, this provider cover a lot of things, so please, don't put any pressure over you, not anything. Another cool feature I would love to, is to manage BGP plugin with is, as it could manage neighbors just before configuring MetalLB on bare metal environments used for Kubernetes. Anyway, thank you in advance mate, this is a great job

Hey there @achetronic
I've just released v0.7.0 which has the wireguard resources. Give it a go whenever you get time and let me know if you run into any issues!
I'm also looking into adding the BGP resources, but I'm not too sure when I'll be able to get around to implementing it.

Managed to get some BGP resources out in v0.8.0 too! Give them a go when you get some time, hopefully they work for you :)


Add submission button goes out of bounds when window is halved

When the window size decreases the add submission button goes outside the bounds of the timeline data block

It looks like it is happening if the window width is less than 1080xp


Adds a setting to strip namespace prefix from path for OData methods

right now we're projecting
/me/microsoft.graph.sendMail
with that setting, set to microsoft.graph we should be able to project instead
/me/sendMail
If a function/action is defined in a sub namespace like
/.../microsoft.graph.callRecords.activate
it should keep the subnamespace like so
/.../callRecords.activate

Namespaces like microsoft.graph.callRecords, microsoft.graph.security and microsoft.graph are fully qualified namespaces. Why would we only want to use the last segments e.g. for the 1st two namespaces?

Namespaces like microsoft.graph.callRecords, microsoft.graph.security and microsoft.graph are fully qualified namespaces. Why would we only want to use the last segments e.g. for the 1st two namespaces?
We currently use the setting EnableUnqualifiedCall to generate operation names without their namespaces.
https://github.com/microsoft/OpenAPI.NET.OData/blob/a8d815a19f8feae41c55fc66779d25d26ef7eb78/src/Microsoft.OpenApi.OData.Reader/OpenApiConvertSettings.cs#L38

Does that mean changing the setting would change the paths currently generated from
/me/microsoft.graph.sendMail

to
/me/sendMail

Namespaces like microsoft.graph.callRecords, microsoft.graph.security and microsoft.graph are fully qualified namespaces. Why would we only want to use the last segments e.g. for the 1st two namespaces?
We currently use the setting EnableUnqualifiedCall to generate operation names without their namespaces.
https://github.com/microsoft/OpenAPI.NET.OData/blob/a8d815a19f8feae41c55fc66779d25d26ef7eb78/src/Microsoft.OpenApi.OData.Reader/OpenApiConvertSettings.cs#L38

Does that mean changing the setting would change the paths currently generated from
/me/microsoft.graph.sendMail

to
/me/sendMail

Correct

We currently use the fully qualified namespace names in operations and type cast segments. Are we anticipating this setting to simplify the naming of both segments?

I didn't anticipate the impact on cast, in theory as long as the default namespace is defined it should be fine. But we might want to test a file of endpoints first.
Also do we have this default namespace information in the csdl?
https://docs.oasis-open.org/odata/odata/v4.01/os/part2-url-conventions/odata-v4.01-os-part2-url-conventions.html#sec_AddressingDerivedTypes

I didn't anticipate the impact on cast, in theory as long as the default namespace is defined it should be fine. But we might want to test a file of endpoints first.
Also do we have this default namespace information in the csdl? https://docs.oasis-open.org/odata/odata/v4.01/os/part2-url-conventions/odata-v4.01-os-part2-url-conventions.html#sec_AddressingDerivedTypes

Yes we do. Here's an example:
<NavigationProperty Name="registeredOwners" Type="Collection(graph.directoryObject)">
<Annotation Term="Org.OData.Validation.V1.DerivedTypeConstraint">
  <Collection>
    <String>microsoft.graph.appRoleAssignment</String>
    <String>microsoft.graph.endpoint</String>
    <String>microsoft.graph.servicePrincipal</String>
    <String>microsoft.graph.user</String>
  </Collection>
</Annotation>

To be specific, the derived type constraint is not what I was referring to but rather this:

Services MAY additionally support the use of the unqualified name of a derived type in a URL by defining one or more default namespaces through the Core.DefaultNamespace term defined in [OData-VocCore]. For more information on default namespaces, see Default Namespaces in [OData-Protocol].

We currently don't define this default namespace term in our CSDL.

Do you think we need to enforce a requirement to have this default namespace (ex.: microsoft.graph) defined in the CSDL for us to use in stripping out the fully qualified names?

I think we need to separate two aspects:

In the conversion process, if that term is defined, the conversion should not emit the default namespace as part of the prefix.
We can only do that if the service defines it, otherwise the service the service won't understand requests from the client. (we shouldn't add it as part of the XSL)

As far as I can tell, it's not defined on the service side, however we know that AGS understands methods without the namespace prefix.
Few tests:
works
GET https://graph.microsoft.com/v1.0/groups/0f514b9e-8031-49e9-9ba2-2cf2e1d66ed4/members/microsoft.graph.user

works
GET https://graph.microsoft.com/v1.0/groups/0f514b9e-8031-49e9-9ba2-2cf2e1d66ed4/members/graph.user

(I believe this one works because there's a namespace alias from microsoft.graph to graph)
but this fails
https://graph.microsoft.com/v1.0/groups/0f514b9e-8031-49e9-9ba2-2cf2e1d66ed4/members/user

So here is my suggestion.
If EnableUnqualifiedCall is true, don't project namespace in cast segments and methods.
else if a Default Namespace is defined, don't emit that part when projecting type cast segments and methods.
Then (outside of the conditional blocks above) if a namespace strip for methods prefix is defined, strip that part from the beginning of the method namespace.
We could additionally add a namespace strip for type cast segments prefix that does the same for type case segments.
What do you think?

Additionally we could/should also project a smaller path segment if an alias is defined.

If this is failing...
https://graph.microsoft.com/v1.0/groups/0f514b9e-8031-49e9-9ba2-2cf2e1d66ed4/members/user

won't that mean we'll end up generating failing endpoints if we stripped off the namespaces from operations?
You mention this "else if a Default Namespace is defined, don't emit that part when projecting type cast segments and methods."
Doesn't the spec say the opposite?

Services MAY additionally support the use of the unqualified name of a derived type in a URL by defining one or more default namespaces through the Core.DefaultNamespace term defined in [OData-VocCore].

Further, I don't think our dependent OData.Edm lib. currently supports the term Core.DefaultNamespace. I've tried in futile retrieving this value when defined in a sample CSDL.
"namespace strip for methods" - are you referring to a convert setting that will hold this value?

https://graph.microsoft.com/v1.0/groups/0f514b9e-8031-49e9-9ba2-2cf2e1d66ed4/members/user

This will fail, I'm not suggesting we do this today. I've been reaching out to AGS folks to understand whether the default namespace is set on their end, but they replied that most likely not, waiting to get a confirmation.

Further, I don't think our dependent OData.Edm lib. currently supports the term Core.DefaultNamespace. I've tried in futile retrieving this value when defined in a sample CSDL.

The constants file doesn't have a trace for it I think that kind of resolves our question here, since we don't have access to the information and we're time constrained, we probably don't have the luxury to wait for the OData team to turn around and add it.
I've added an issue for them to add support for it
Here is a recap of what I'm suggesting

add a namespacePrefixToStripForMethodPaths convert setting.
add a namespacePrefixToStripForTypeCastPaths convert setting.

(you can imagine the same chart with namespacePrefixToStripForTypeCastPaths when projecting type cast segments)
flowchart TD
     A[generate path segment] ---> B{EnableUnqualifiedCall?};
     B -- True --> C[use short name];
     B -- False --> E{Is namespace aliased?};
     E -- True --> F[project alias to segment];
     E -- False --> G[project namespace to segment];
     F ----> H[Add type name to segment];
     G ----> H[Add type name to segment];
     H ----> I{Is namespacePrefixToStripForMethodPaths empty?};
     I --  Yes --> D[Path segment generated];
     I -- No --> J[Strip prefix from generated segment];
     J ----> D[Path segment generated];
     C ----> D[Path segment generated];

(confirmed, AGS doesn't make use of the default namespace attribtute)

Thank you for the visual representation 👌🏽
With regards to namespacePrefixToStripForTypeCastPaths does the service support referencing type casts be without their fully qualified names?
See: http://docs.oasis-open.org/odata/odata/v4.0/cs01/part2-url-conventions/odata-v4.0-cs01-part2-url-conventions.html#_Toc365046436

A type cast using the qualifiedEntityTypeName to a type containing the property is required in order to expand a navigation property defined on a derived type.

Should the service be using the default namespace it would. Namespace aliasing also allows you to shorten it up. I don't think there's another way.
And we know that ags is using aliasing but it not using default namespace.
If you want I can introduce aliasing support in my diagram and remove the setting for type cast. This way we'd be feature complete to the exception of default namespace which needs to be added in edm anyway

Should the service be using the default namespace it would. Namespace aliasing also allows you to shorten it up. I don't think there's another way. And we know that ags is using aliasing but it not using default namespace. If you want I can introduce aliasing support in my diagram and remove the setting for type cast. This way we'd be feature complete to the exception of default namespace which needs to be added in edm anyway

This comment implies that we can't proceed to add the feature for striping type cast paths using the convert setting value?

If we made such a setting available, people using it would need to be aware of the risks it presents (crafting requests the service won't understand).
For type cast segments my suggestion at this point it simply to implement aliasing and no stripping, meaning that if a namespace or parent namespace is aliased, we simply project the aliased namespace instead of the full name. That should be safe since the service should understand the request. And as a failsafe we can always add a boolean setting (default true) "EnableUseOfAliasForTypeCastSegments" (or something along those lines).
What do you think?

I agree. Maybe bool AliasTypeCastSegments. But I think the default should be false, which is the current behaviour.
However, is this currently blocking shipping of the dotnet SDK? If not, I would suggest moving it to a separate issue for now.

It's the same argument as for the methods. Yes we can ship SDKs as is. However we're highly likely to get feedback that having to put the fully qualified name as a code path to cast is "poor experience" at best, and fixing it post GA would mean a breaking change customers would need to handle code updated for.
This change should be simple enough to fast-track it with the other set of changes so we don't have to come back to it. Especially since the PRs for the other 2 issues are mostly done at this point.
Now, I understand it's getting late where you are and I'd suggest we take advantage of the time difference. Take some rest, and start with that tomorrow. Thoughts?

As an alternative @andrueastman or myself can pick it up tomorrow.

It's the same argument as for the methods. Yes we can ship SDKs as is. However we're highly likely to get feedback that having to put the fully qualified name as a code path to cast is "poor experience" at best, and fixing it post GA would mean a breaking change customers would need to handle code updated for. This change should be simple enough to fast-track it with the other set of changes so we don't have to come back to it. Especially since the PRs for the other 2 issues are mostly done at this point.
Now, I understand it's getting late where you are and I'd suggest we take advantage of the time difference. Take some rest, and start with that tomorrow. Thoughts?

Sounds good


Differentiate between classes and resources when proposing

As it is now, the proposal does not place classes and resources under different spaces (e.g. they share the URI prefx odalic.eu/concept).
This should be changed when possible.

The pull request #220 was created.

Rename config parameters to SchemaElementPrefix and DataElementPrefix


[DatePicker] Fix passing clearable prop

[X] I have followed (at least) the PR section of the contributing guide.
Fixes: #30676

Demo
Problems:

clearable prop did not render the clear button in DesktopDatePicker component and it was only passed to the MobileDatePicker component

Solution:

passing clearable and clearText props and rendering clear button on PickersPopper whenever clearable is true

Thanks for the comments @mnajdova. I will work on them

👋 The migration PR has been merged.
Please follow these steps to make sure that the contents are all updated. (Sorry for the inconvenience)

pull latest master from upstream to your branch
if your PR has changes on the *.md or demo files, you are likely to encounter conflict because all of them have been moved to the new folder.
2.1 revert the change on those markdown files you did
2.2 pull latest master from upstream (you should not see conflict)
2.3 make the changes again at docs/data/material/*
run yarn docs:api

you might see the changes in docs/pages/material/api/* if your PR touches some of the components
it is okay if there is no changes

If you are struggle with the steps above, feel free to tag @siriwatknp

clearable not showing clear button

Hi,
Thanks for your contribution.
Could you provide a working reproduction, this Codesandbox template might be a good starting point.

https://codesandbox.io/s/date-and-time-pickers-forked-2r22q3?file=/src/App.tsx

We changed the way users can customize the actions on the pickers
See our latest release note for more details
A doc page will soon follow.
Here is your example updated: https://codesandbox.io/s/date-and-time-pickers-forked-j1swd3?file=/src/App.tsx
By the way, I don't think our components ever had an onClear callback, did you find this prop documented somewhere ?

Ok, thank you. I removed the onClear. I saw it in the code. How do I change actions label? For example Accept instead of Ok
![Uploading Captura de Pantalla 2022-05-25 a la(s) 14.21.12.png…](Source code)


fix Use correct PREAGGREGATION in agg(filter(scan))

Proposed changes
Issue Number: close #33351

set PreAggStatus to ON when agg key column by max or min;
#28747 may change PreAggStatus of scan, inherit it from the previous one.

Further comments
Further regression test case will be conducted later.

 This PR is ready for merge. Do you have time to have a look at it?

run buildall

@starocean999 Hi, I fix the regression test case, can you take another look at this PR?


more confusing/inconsistant tooltips

all tooltips for mov instructions of the form [esp+displacement], imm in a particular function say "Reads stack frame offset -0x3c from esp". If 0x3c is referring to the displacement from esp, the value is wrong, and it should be a write to that location rather than a read. If I'm misunderstanding the tooltip entirely, the language is ambiguous. The value 0x3c seems related to the size of the stack frame, as if referring to current esp as the value of esp upon function entry minus a displacement.

similar instructions (same opcode, different operands) in a different function have a completely different tooltip:

more confusion/inconsistency

This tooltip makes perfect sense. I would expect the next tooltip to look very similar...

...but instead of being like the last one, it's very confusing. It seems like the words "stack frame offset -0xc" just need to be removed:

Would it be possible for you to share the binary for this? Or would it be possible to post what the LLIL looks like? Those tool tips are generated from the il, so if the IL is messed up that would explain the issue.

Here's the binary. bufbomb.zip
The stack pivot I showed in item 3) above is at 0x8048fdf. The IL looks normal to me.
It's almost like it's trying to track the value "stack frame offset -0x3c" being moved between registers, starting in esp (once the function prologue is complete), then to eax, then the edx

Since we already have an issue tracking this #123 I'm going to close this one.


fix: add set -eu to scripts and fix a few errors

Description:
Adding set -eu to the top of each bash script so that we exit script if error is thrown or if a variable is undefined
Note: only added set -e to prefix-list.sh because it was erroring due to undefined $BATS_PREFIX_LIST variable on line 29:
if [ -z "$BATS_PREFIX_LIST" ]; then

This is meant to check if the variable is defined, but bash does not like it. In bash 4.2 it is possible to check variable definitions with
if [ -v BATS_PREFIX_LIST ]; then

However, OSX only comes with bash 3.2 so we will need to upgrade our local bash for this to work....
Related:
https://github.com/devlinjunker/template.github.semver/issues/151
https://cuddly-octo-palm-tree.com/posts/2021-01-24-bash-set-dash-u/
https://cuddly-octo-palm-tree.com/posts/2021-01-17-bash-set-dash-e/
Visual:
N/A
Tests:
All Unit Tests Pass
TODO:

[x] Updated README documents
[x] Complete PR Body

!merge


Improve explanation of port mapping from containers

I was a little confused by the wording in this paragraph. It made it seem like the purpose of non 1:1 port mapping had to do with running two python apps inside the same container on the same port. As far as I understand (general dev/unix newb here), this isn't possible. Only one thing can listen on a port at a time. So the example didn't make sense.
I've updated the wording in a way that makes sense to me.
PS, I could also be wrong in my interpretation and the original docs could be more accurate. In that case, I'll have learned something new!

Can you please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
git commit --amend -s --no-edit && git push -f

yes, very true, and a good change - thank you!
LGTM - @fredlf @jamtur01

@jamtur01 fixed

LGTM Thanks for the contribution!


get_term_in_defining_ontology returning multiple results in OLS4

This test has consistently been failing in OLS4, haven't had time to debug it yet.

This has been fixed in OLS4 now, the test is passing on our end.


Move Go buildserver code from sourcegraph/sourcegraph to go-langserver

This moves all of the Go buildserver code from https://github.com/sourcegraph/sourcegraph/tree/fc30b1acc532d0d2ccae95e06017cf28893bb165/enterprise/cmd/xlang-go into this repo.
The first commit is huge and mechanical (contains all the copied buildserver code as well as vendor/ changes).
TODO

[ ] Update CI to run new tests in buildserver/
[ ] Determine whether or not noGoGetDomains and/or blacklistGoGet are still necessary, and if so decide how to plumb them through (command line args, global vars, etc.)
[ ] Decide how to incorporate odds and ends (copy, omit, or factor out?). @keegancsmith I could use your input on this, what do you recommend?

pkg/tracer (currently omitted)
pkg/debugserver (currently omitted)
pkg/diskcache (currently copied)
pkg/vfsutil (currently copied)
pkg/gituri (currently copied)
pkg/gosrc (currently copied)

copying is fine. Diskcache may make sense as its own package since other projects may benefit from it. (We use it in quite a few places in sourcegraph). But that can be done another time. Ping when CI is happy.

@keegancsmith CI is ✅
I also tested this locally (hovers, defs, external refs, etc.) and it seems to work as long as you pass -usebinarypkgcache=false. Passing true causes errors like "/src/github.com/gorilla/mux not found", not sure if it's worth investigating.

I also tested this locally (hovers, defs, external refs, etc.) and it seems to work as long as you pass -usebinarypkgcache=false. Passing true causes errors like "/src/github.com/gorilla/mux not found", not sure if it's worth investigating.

We have binary pkg cache disabled in production @ sourcegraph, so that seems fine given the build server is for that environment. I'll take a look at the PR now.


Unbound: Basic LuCI to go with recent Unbound UCI enhancements

Compile tested: ar71xx OpenWrt 15.05.1
Run tested: TL-WDR3600
Description: Basic LuCI to go with recent Unbound UCI enhancements
cc: @hansmi @Borromini

Nice, does the setup integrate the DNS for hosts on the local domain that have been configured with DHCP (like dnsmasq does) ?
A setup in which unbound runs alongside of dnsmasq and where the latter is delegated the local domain works well.
—
Paul

Op 4 dec. 2016, om 11:08 heeft Hannu Nyman<EMAIL_ADDRESS>het volgende geschreven:
@hnyman commented on this pull request.
In applications/luci-app-unbound/luasrc/model/cbi/unbound.lua https://github.com/openwrt/luci/pull/864#pullrequestreview-11291915:

+end

+--Service Tab
+
+mcf = s:taboption("service", Flag, "manual_conf", translate("Manual Conf:"),

translate("Skip UCI and use the Unbound raw configuration in /etc/unbound/unbound.conf."))
+mcf.rmempty = false

+eds = s:taboption("service", Value, "edns_size", translate("EDNS Size:"),

translate("Extended DNS packet size limit to manange MTU restrictions."))
+eds.datatype = "and(uinteger,min(512),max(4096))"
+eds.rmempty = false

+prt = s:taboption("service", Value, "listen_port", translate("Listening Port:"),

translate("Unbound will listen for queries on this port."))
+prt.datatype = "and(uinteger,53,min(1024),max(8192))"
prt.datatype = "and(uinteger,53,min(1024),max(8192))"
I think that you are aiming at (53 or 1024-8192) right?
Did you test this?
I have not tested this myself, but the datatype looks suspicious. Almost as if you would require it to be both 53 and at least 1024 at the same time. That might require more complex datatype (or alternatively, a validation function).

"and(port,max(8192),or(53,min(1024)))" ???
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/openwrt/luci/pull/864#pullrequestreview-11291915, or mute the thread https://github.com/notifications/unsubscribe-auth/AAmBiThRhJiqojZ5l6vKZGLxn7j5kCoAks5rEpEpgaJpZM4LDg4J.

@poranje - Yes exactly. See README.md in packages/net/unbound.


Installation fails due to old better-sqlite3 dependency on Node 19.

This package fails to install due to the old better-sqlite3 dependency. Since this is now a dependency of 3d-tiles-validator, installation of that package fails as well when using the latest HEAD. The dependency should be updated to 8.0.1 to match.
See also CesiumGS/3d-tiles-validator#245

Thanks for this hint. I have opened a PR for the update at https://github.com/CesiumGS/3d-tiles-tools/pull/25 , but still have to...

test this from a freshly cloned state, with different node versions and
test this in the context of CI (see https://github.com/CesiumGS/3d-tiles-tools/issues/19 )

Also, I think that it should now be possible to remove this dependency in the validator. It should no longer depend on better-sqlite3 directly (but only indirectly, via the 3d-tiles-tools)

Thanks!


Can't save Excluded List

After updated to version 2.10.18, Can't save  Excluded List by drawing gesture Z or manually adding programs to the list.

The test is ok, maybe the json config file is broken.


Clarify about "DJANGO_ALLOW_ASYNC_UNSAFE"

Clarify why we set "DJANGO_ALLOW_ASYNC_UNSAFE", see: https://github.com/microsoft/playwright-python/issues/439#issuecomment-763339612

Codecov Report

Merging #69 (d5e1c38) into master (86e98b6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #69   +/-   ##
=======================================
  Coverage   94.87%   94.87%
=======================================
  Files         100      100
  Lines        3608     3608
=======================================
  Hits         3423     3423
  Misses        185      185

Impacted Files
Coverage Δ

bx_django_utils_tests/test_project/settings.py
100.00% <ø> (ø)

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


Definition of scoring method unclear

Which score will be used to score an individual prediction?
accuracy(confusion_matrix)
accuracy_adjacent(confusion_matrix, adjacent_facies)
skm.metrics.f1_score(Y_true, Y_pred, sample="weighted")
accuracy*accuracy_adjacent?

Notwithstanding the unresolved conversation in #2, my preference is to use the F1 score as the true measure of performance, since the confusion matrix — while really nice and very practical in a real-world problem — opens another can of worms. Probably several cans, eg.

How should we relate facies?-
Are some facies more alike than others?
Does or should it change the objective function? etc)

Definitely open to others' opinions on this.

I thought the:

Are some facies more alike than others?
question is dealt by accuracy_adjacent.

The easiest would be F1 score. Essentially a high F1 score would also mean that the well log is predicted correctly and "adjacency". Only going for high adjacency could mean that your well logs have all the "allowed adjacent" facies but a low F1 score i.e. wrong exact predictions.
Curious to see what others run into here.

Connected to #14
I notice that the cross validation stuff has changed a little in scikit-learn 0.18. There are a couple of k-fold CV classes in there... has anyone played with them?
Docs >> http://scikit-learn.org/stable/tutorial/statistical_inference/model_selection.html#cross-validation-generators

I tested stratiefiedKfold. I remember that it gives much higher results
(average f1 score of near 74%). However, as we would like to cross
validate the dataset for each well (i.e., take iteratively a well as a
blind), I'm not sure that any of these are suited. We could always give
a try (i.e., 80/20 train/test, without preserve the well distribution),
but from the geological point of view I'm not sure this is the best
approach.
Matt Hall wrote:

Connected to #14 https://github.com/seg/2016-ml-contest/pull/14
I notice that the cross validation stuff has changed a little in
scikit-learn 0.18. There are a couple of k-fold CV classes in there...
has anyone played with them?
Docs >>
http://scikit-learn.org/stable/tutorial/statistical_inference/model_selection.html#cross-validation-generators
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/seg/2016-ml-contest/issues/4#issuecomment-258231861,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF6UYbGPphw7t-LQl3mVq3wnX1JAu-u9ks5q6idHgaJpZM4Khp-r.

We now have STUART and CRAWFORD facies data so will score the contest based on F1 score against those known facies.
Please see this notebook for a demo of the k-fold workflow in scikit-learn.
I am closing this issue now, because I think those were the main two concerns and — I think! — they have both been addressed. Please let me know if you disagree!


Word generation sometimes returns undefined.

Describe the bug
generateWord() seemed to break the game this morning. Didn't have time to look into the reason, but for the time being I deployed a hotfix with a solution that doesn't involve rng.
The goal of this ticket is to look into the issue with the function and remove the hotfix solution.
Reproduction
Checkout commit ea9c4a and play the game with your system/browser time set to 12/1/2022.
Logs
No response
System Info
Windows and Android, chrome desktop and Firefox app

Additional Information
No response

Above commit was the hotfix to prevent the crash. While we should still have that undefined check in probably, it's still an indicator that there is something wrong with the word generation.

The code that selects which word in the dictionary to randomly select was asking for an out of bounds array

This has been fixed


Changing bazel skylib version from 1.1.1 to 1.3.0

This intends to be solving issue #10965 and #2530. It just updates bazel skylib to version 1.3.0.

Thanks! Could you also update dependencies.bzl please?


[#86543196] remove existing deployement files

as part of the restore process we need to
remove any existing deployment files, before
we run the install...
this sets the last step of the import to remove the deployment
files. this way we can be relatively certain that
the files are cleared before the install
runs

Reviewed, verified the location of the file on an actual installation. Would suggest running it against an actual install when its wired up.


All of my apps are suddenly broken (OpenSSL issue?)

All of my apps on IBM Cloud suddenly stopped working. I am unable to restart them as my code no longer compiles.
Here's my output when I attempt to push the app again:
Staging app and tracing logs...
   Downloading swift_buildpack...
   Downloaded swift_buildpack
   Cell 93b00c5c-012c-4501-aa85-748d9f1b1064 creating container for instance 7520b7c8-e297-4c04-baba-43f5b89d04d2
   Cell 93b00c5c-012c-4501-aa85-748d9f1b1064 successfully created container for instance 7520b7c8-e297-4c04-baba-43f5b89d04d2
   Downloading app package...
   Downloaded app package (20.2M)
   -----> Buildpack version 2.1.0
   -----> Default supported Swift version is 5.0
   -----> Configure for apt-get installs...
   -----> Writing profile script...
   -----> Copying deb files to installation folder...
   -----> No Aptfile found.
   -----> Getting swift-4.2.4
   -----> WARNING: Default supported Swift version: swift-5.0
   -----> WARNING: Requested Swift version for your app: swift-4.2.4
          Cached swift-4.2.4
   -----> Unpacking swift-4.2.4.tar.gz
   -----> Getting clang-8.0.0
          Cached clang-8.0.0
   -----> Unpacking clang-8.0.0.tar.xz
   -----> .ssh directory and config file not found.
   -----> Skipping cache restore (disabled by config)
   -----> Fetching Swift packages and parsing Package.swift files...
          Fetching https://github.com/IBM-Swift/swift-html-entities
          Fetching https://github.com/kylef/Stencil.git
          Fetching https://github.com/IBM-Swift/HeliumLogger.git
          Fetching https://github.com/OpenKitten/CryptoKitten.git
          Fetching https://github.com/IBM-Swift/Kitura-TemplateEngine.git
          Fetching https://github.com/OpenKitten/BSON.git
          Fetching https://github.com/IBM-Swift/Configuration.git
          Fetching https://github.com/IBM-Swift/Kitura.git
          Fetching https://github.com/IBM-Swift/Kitura-Session.git
          Fetching https://github.com/OpenKitten/Schrodinger.git
          Fetching https://github.com/IBM-Swift/Kitura-Credentials.git
          Fetching https://github.com/IBM-Swift/Health.git
          Fetching https://github.com/IBM-Swift/Kitura-StencilTemplateEngine.git
          Fetching https://github.com/IBM-Swift/Kitura-CredentialsFacebook.git
          Fetching https://github.com/IBM-Swift/SwiftyRequest.git
          Fetching https://github.com/IBM-Swift/TypeDecoder.git
          Fetching https://github.com/IBM-Swift/CircuitBreaker.git
          Fetching https://github.com/kylef/PathKit.git
          Fetching https://github.com/IBM-Swift/BlueSSLService.git
          Fetching https://github.com/IBM-Swift/FileKit.git
          Fetching https://github.com/OpenKitten/MongoKitten.git
          Fetching https://github.com/IBM-Swift/BlueSocket.git
          Fetching https://github.com/IBM-Swift/LoggerAPI.git
          Fetching https://github.com/IBM-Swift/KituraContracts.git
          Fetching https://github.com/IBM-Swift/Kitura-net.git
          Fetching https://github.com/IBM-Swift/Swift-cfenv.git
          Fetching https://github.com/IBM-Swift/BlueCryptor.git
          Fetching https://github.com/OpenKitten/Cheetah.git
          Fetching https://github.com/kylef/Spectre.git
          Fetching https://github.com/IBM-Swift/BlueSignals.git
          Fetching https://github.com/IBM-Swift/OpenSSL.git
          Fetching https://github.com/OpenKitten/KittenCTLS.git
   Completed resolution in 16.32s
          Cloning https://github.com/IBM-Swift/Kitura-CredentialsFacebook.git
          Resolving https://github.com/IBM-Swift/Kitura-CredentialsFacebook.git at 2.2.3
          Cloning https://github.com/IBM-Swift/Configuration.git
          Resolving https://github.com/IBM-Swift/Configuration.git at 3.0.2
          Cloning https://github.com/IBM-Swift/HeliumLogger.git
          Resolving https://github.com/IBM-Swift/HeliumLogger.git at 1.8.0
          Cloning https://github.com/IBM-Swift/FileKit.git
          Resolving https://github.com/IBM-Swift/FileKit.git at 0.0.1
          Cloning https://github.com/kylef/Spectre.git
          Resolving https://github.com/kylef/Spectre.git at 0.9.0
          Cloning https://github.com/OpenKitten/Cheetah.git
          Resolving https://github.com/OpenKitten/Cheetah.git at 2.0.2
          Cloning https://github.com/IBM-Swift/BlueCryptor.git
          Resolving https://github.com/IBM-Swift/BlueCryptor.git at 1.0.23
          Cloning https://github.com/OpenKitten/MongoKitten.git
          Resolving https://github.com/OpenKitten/MongoKitten.git at 4.1.3
          Cloning https://github.com/IBM-Swift/Kitura-net.git
          Resolving https://github.com/IBM-Swift/Kitura-net.git at 2.1.6
          Cloning https://github.com/IBM-Swift/CircuitBreaker.git
          Resolving https://github.com/IBM-Swift/CircuitBreaker.git at 5.0.1
          Cloning https://github.com/IBM-Swift/Kitura-TemplateEngine.git
          Resolving https://github.com/IBM-Swift/Kitura-TemplateEngine.git at 2.0.0
          Cloning https://github.com/IBM-Swift/TypeDecoder.git
          Resolving https://github.com/IBM-Swift/TypeDecoder.git at 1.3.0
          Cloning https://github.com/kylef/PathKit.git
          Resolving https://github.com/kylef/PathKit.git at 0.9.2
          Cloning https://github.com/IBM-Swift/OpenSSL.git
          Resolving https://github.com/IBM-Swift/OpenSSL.git at 2.2.2
          Cloning https://github.com/IBM-Swift/swift-html-entities
          Resolving https://github.com/IBM-Swift/swift-html-entities at 3.0.10
          Cloning https://github.com/IBM-Swift/Kitura.git
          Resolving https://github.com/IBM-Swift/Kitura.git at 2.6.0
          Cloning https://github.com/kylef/Stencil.git
          Resolving https://github.com/kylef/Stencil.git at 0.13.1
          Cloning https://github.com/IBM-Swift/Health.git
          Resolving https://github.com/IBM-Swift/Health.git at 1.0.4
          Cloning https://github.com/OpenKitten/BSON.git
          Resolving https://github.com/OpenKitten/BSON.git at 5.2.4
          Cloning https://github.com/OpenKitten/CryptoKitten.git
          Resolving https://github.com/OpenKitten/CryptoKitten.git at 0.2.3
          Cloning https://github.com/IBM-Swift/Swift-cfenv.git
          Resolving https://github.com/IBM-Swift/Swift-cfenv.git at 6.0.2
          Cloning https://github.com/IBM-Swift/BlueSignals.git
          Resolving https://github.com/IBM-Swift/BlueSignals.git at 1.0.20
          Cloning https://github.com/IBM-Swift/Kitura-Credentials.git
          Resolving https://github.com/IBM-Swift/Kitura-Credentials.git at 2.3.1
          Cloning https://github.com/IBM-Swift/BlueSSLService.git
          Resolving https://github.com/IBM-Swift/BlueSSLService.git at 1.0.44
          Cloning https://github.com/OpenKitten/KittenCTLS.git
          Resolving https://github.com/OpenKitten/KittenCTLS.git at 1.0.1
          Cloning https://github.com/IBM-Swift/Kitura-StencilTemplateEngine.git
          Resolving https://github.com/IBM-Swift/Kitura-StencilTemplateEngine.git at 1.11.0
          Cloning https://github.com/IBM-Swift/SwiftyRequest.git
          Resolving https://github.com/IBM-Swift/SwiftyRequest.git at 2.0.3
          Cloning https://github.com/IBM-Swift/BlueSocket.git
          Resolving https://github.com/IBM-Swift/BlueSocket.git at 1.0.44
          Cloning https://github.com/OpenKitten/Schrodinger.git
          Resolving https://github.com/OpenKitten/Schrodinger.git at 1.0.1
          Cloning https://github.com/IBM-Swift/KituraContracts.git
          Resolving https://github.com/IBM-Swift/KituraContracts.git at 1.1.1
          Cloning https://github.com/IBM-Swift/Kitura-Session.git
          Resolving https://github.com/IBM-Swift/Kitura-Session.git at 3.3.0
          Cloning https://github.com/IBM-Swift/LoggerAPI.git
          Resolving https://github.com/IBM-Swift/LoggerAPI.git at 1.8.0
   -----> Additional packages to download: openssl
   -----> openssl is already installed.
   -----> No additional packages to download.
   -----> Skipping installation of App Management (debug)
   -----> Installing system level dependencies...
   -----> Building Package...
   -----> Build config: release
   warning: PackageDescription API v3 is deprecated and will be removed in the future; used by package(s): MongoKitten, KittenCTLS, Schrodinger, CryptoKitten, Cheetah, BSON, HTMLEntities
          Compile CHTTPParser utils.c
          Compile CHTTPParser http_parser.c
          Compile Swift Module 'LoggerAPI' (1 sources)
          Compile Swift Module 'TypeDecoder' (2 sources)
          Compile Swift Module 'Socket' (3 sources)
          Compile Swift Module 'Signals' (1 sources)
          Compile Swift Module 'Schrodinger' (1 sources)
          Compile Swift Module 'PathKit' (1 sources)
          Compile Swift Module 'KituraTemplateEngine' (1 sources)
          Compile Swift Module 'KituraContracts' (9 sources)
          Compile Swift Module 'HeliumLogger' (2 sources)
          Compile Swift Module 'Stencil' (20 sources)
          Compile Swift Module 'SSLService' (2 sources)
          Compile Swift Module 'Health' (3 sources)
          Compile Swift Module 'HTMLEntities' (4 sources)
          Compile Swift Module 'KituraNet' (36 sources)
          Compile Swift Module 'FileKit' (1 sources)
          Compile Swift Module 'Cryptor' (11 sources)
          Compile Swift Module 'KituraStencil' (1 sources)
          Compile Swift Module 'CryptoKitten' (10 sources)
          Compile Swift Module 'Configuration' (5 sources)
          Compile Swift Module 'Kitura' (52 sources)
          Compile Swift Module 'CircuitBreaker' (10 sources)
          Compile Swift Module 'Cheetah' (7 sources)
          /tmp/app/.build/checkouts/CryptoKitten.git--8745850272021827022/Sources/CryptoKitten/Helpers.swift:3:61: warning: 'IndexDistance' is deprecated: all index distances are now of type Int
          extension Swift.Collection where Iterator.Element == UInt8, IndexDistance == Int {
                                                                      ^
          /tmp/app/.build/checkouts/CryptoKitten.git--8745850272021827022/Sources/CryptoKitten/Helpers.swift:3:75: warning: neither type in same-type constraint ('Self.IndexDistance' (aka 'Int') or 'Int') refers to a generic parameter or associated type
          extension Swift.Collection where Iterator.Element == UInt8, IndexDistance == Int {
                                                                      ~~~~~~~~~~~~~ ^  ~~~
          /tmp/app/.build/checkouts/CryptoKitten.git--8745850272021827022/Sources/CryptoKitten/Helpers.swift:3:61: warning: 'IndexDistance' is deprecated: all index distances are now of type Int
          extension Swift.Collection where Iterator.Element == UInt8, IndexDistance == Int {
                                                                      ^
          /tmp/app/.build/checkouts/CryptoKitten.git--8745850272021827022/Sources/CryptoKitten/Helpers.swift:3:61: warning: 'IndexDistance' is deprecated: all index distances are now of type Int
          extension Swift.Collection where Iterator.Element == UInt8, IndexDistance == Int {
                                                                      ^
          Compile Swift Module 'CloudFoundryEnv' (6 sources)
          Compile Swift Module 'BSON' (21 sources)
          Compile Swift Module 'SwiftyRequest' (10 sources)
          /tmp/app/.build/checkouts/Cheetah.git--346028729905725053/Sources/Cheetah/Codable.swift:655:43: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
                  return decoder.target.object.keys.flatMap { Key(stringValue: $0) }
                                                    ^
          /tmp/app/.build/checkouts/Cheetah.git--346028729905725053/Sources/Cheetah/Codable.swift:655:43: note: use 'compactMap(_:)' instead
                  return decoder.target.object.keys.flatMap { Key(stringValue: $0) }
                                                    ^~~~~~~
                                                    compactMap
          /tmp/app/.build/checkouts/Cheetah.git--346028729905725053/Sources/Cheetah/Parser.swift:219:47: warning: 'characters' is deprecated: Please use String or Substring directly
                      if negate && autoNegate && prefix.characters.first != "-" {
                                                        ^
          /tmp/app/.build/checkouts/Cheetah.git--346028729905725053/Sources/Cheetah/Parser.swift:231:26: warning: 'characters' is deprecated: Please use String or Substring directly
                      guard number.characters.count > 0 else {
                                   ^
          /tmp/app/.build/checkouts/Cheetah.git--346028729905725053/Sources/Cheetah/Value.swift:103:24: warning: 'characters' is deprecated: Please use String or Substring directly
                          if str.characters.count == 1 {
                                 ^
          /tmp/app/.build/checkouts/Cheetah.git--346028729905725053/Sources/Cheetah/Value.swift:170:26: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
                  let array = self.flatMap { value -> CheetahValue? in
                                   ^
          /tmp/app/.build/checkouts/Cheetah.git--346028729905725053/Sources/Cheetah/Value.swift:170:26: note: use 'compactMap(_:)' instead
                  let array = self.flatMap { value -> CheetahValue? in
                                   ^~~~~~~
                                   compactMap
          /tmp/app/.build/checkouts/BSON.git--6126586813750914861/Sources/BSON/DeserializationHelpers.swift:3:104: warning: 'IndexDistance' is deprecated: all index distances are now of type Int
          internal func fromBytes<T, S : Collection>(_ bytes: S) throws -> T where S.Iterator.Element == Byte, S.IndexDistance == Int {
                                                                                ^
          /tmp/app/.build/checkouts/BSON.git--6126586813750914861/Sources/BSON/Document+Subscripts.swift:242:54: warning: 'characters' is deprecated: Please use String or Substring directly
                      position = stringPosition + newValue.key.characters.count + 1
                                                               ^
          /tmp/app/.build/checkouts/BSON.git--6126586813750914861/Sources/BSON/ObjectId.swift:76:25: warning: 'characters' is deprecated: Please use String or Substring directly
                  guard hexString.characters.count == 24 else {
                                  ^
          /tmp/app/.build/checkouts/BSON.git--6126586813750914861/Sources/BSON/ObjectId.swift:82:29: warning: 'characters' is deprecated: Please use String or Substring directly
                  var gen = hexString.characters.makeIterator()
                                      ^
          Compile Swift Module 'MongoSocket' (2 sources)
          Compile Swift Module 'GeoJSON' (11 sources)
          Compile Swift Module 'ExtendedJSON' (2 sources)
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:32:49: error: use of undeclared type 'SSL'
              private let sslClient: UnsafeMutablePointer<SSL>?
                                                          ^~~
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:33:42: error: use of undeclared type 'SSL_METHOD'
              private let sslMethod: UnsafePointer<SSL_METHOD>?
                                                   ^~~~~~~~~~
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:34:50: error: use of undeclared type 'SSL_CTX'
              private let sslContext: UnsafeMutablePointer<SSL_CTX>?
                                                           ^~~~~~~
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:217:21: error: use of unresolved identifier 'SSL_library_init'
                              SSL_library_init()
                              ^~~~~~~~~~~~~~~~
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:218:21: error: use of unresolved identifier 'SSL_load_error_strings'; did you mean 'ERR_lib_error_string'?
                              SSL_load_error_strings()
                              ^~~~~~~~~~~~~~~~~~~~~~
                              ERR_lib_error_string
          KittenCTLS.ERR_lib_error_string:1:13: note: 'ERR_lib_error_string' declared here
          public func ERR_lib_error_string(_ e: UInt) -> UnsafePointer<Int8>!
                      ^
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:219:21: warning: 'OPENSSL_config' is deprecated
                              OPENSSL_config(nil)
                              ^
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:220:21: error: use of unresolved identifier 'OPENSSL_add_all_algorithms_conf'
                              OPENSSL_add_all_algorithms_conf()
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:224:30: error: use of unresolved identifier 'SSLv23_client_method'
                          let method = SSLv23_client_method()
                                       ^~~~~~~~~~~~~~~~~~~~
          KittenCTLS.DTLS_client_method:1:13: note: did you mean 'DTLS_client_method'?
          public func DTLS_client_method() -> OpaquePointer!
                      ^
          KittenCTLS.DTLSv1_client_method:2:13: note: did you mean 'DTLSv1_client_method'?
          public func DTLSv1_client_method() -> OpaquePointer!
                      ^
          KittenCTLS.TLS_client_method:1:13: note: did you mean 'TLS_client_method'?
          public func TLS_client_method() -> OpaquePointer!
                      ^
          KittenCTLS.TLSv1_client_method:2:13: note: did you mean 'TLSv1_client_method'?
          public func TLSv1_client_method() -> OpaquePointer!
                      ^
          /tmp/app/.build/checkouts/MongoKitten.git-8286272547337349665/Sources/MongoSocket/Socket.swift:234:35: error: use of unresolved identifier 'SSL_CTRL_OPTIONS'
                          SSL_CTX_ctrl(ctx, SSL_CTRL_OPTIONS, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION, nil)
                                            ^~~~~~~~~~~~~~~~
          KittenCTLS.SSL_CTRL_CHAIN:1:12: note: did you mean 'SSL_CTRL_CHAIN'?
          public var SSL_CTRL_CHAIN: Int32 { get }
                     ^
          KittenCTLS.SSL_CTRL_SET_MTU:1:12: note: did you mean 'SSL_CTRL_SET_MTU'?
          public var SSL_CTRL_SET_MTU: Int32 { get }
                     ^
   error: terminated(1): /tmp/cache/final/swift-4.2.4/swift-4.2.4-RELEASE-ubuntu18.04/usr/bin/swift-build-tool -f /tmp/app/.build/release.yaml main output:

   Failed to compile droplet: Failed to compile droplet: exit status 1
   Exit status 223
   Cell 93b00c5c-012c-4501-aa85-748d9f1b1064 stopping instance 7520b7c8-e297-4c04-baba-43f5b89d04d2
   Cell 93b00c5c-012c-4501-aa85-748d9f1b1064 destroying container for instance 7520b7c8-e297-4c04-baba-43f5b89d04d2
Error staging application: App staging failed in the buildpack compile phase
FAILED

This app worked fine until this morning.

Note that this is unrelated to MongoKitten. For another app, it's the IBM OpenSSL package that compiles with the same errors.

Seems like this is caused by many packages still requiring OpenSSL 1.0, whereas IBM Cloud now uses OpenSSL 1.1. I've been able to fix some apps by bumping versions.

@svanimpe Thank you for investigating this.  Given that OpenSSL 1.0 is used by many Swift apps, I will ask the foundational team whether this can be specified easily.


Values missing

Star & fork value numbers have gone missing!

I think the caching is still a little iffy.. it fixes itself after a while.
According to the GitHub API doc, you can send a "If-Modified-Since" header, to not count against your request (since you only get 60 an hour)   sometimes it appears that it doesnt work.


Initial framework and binary

This set lays the groundwork for our program.
The executable at cmd/fs is buildable with go build and can be invoked, but doesn't do anything interesting besides printing its help-text.
The code in this set works, and is highly covered in tests. But that's all.
Docs are missing or may be outdated. There's likely a bunch of lint, and maybe other problems too.
So this still needs a proper full review with finishing touches on top.
The commits themselves (message and contents) are probably fine, but open for change if something seems obviously better.
Likewise with the pkg layout. If pkgs should be organized differently, it's fine to move or split them up more.
Full context:

For legacy reasons we're using the go-ipfs-cmds library as our primary framework.
(We used to be part of the go-ipfs daemon, but the code is being extracted out into this standalone client executable)
Interfaces which wrap this library have been introduced, and imo make things a little easier to work with.
This set only contains the cmds-lib options (formal parameters) portion, which is responsible for taking arbitrary structs and generating cmds-lib options for them with single call per Command definition.
Options: settings.MakeOptions[someStructType](options.WithBuiltin(true)),
More importantly, it introduces a layer of abstraction which may allow us to phase the cmds-lib out gradually for something less complex.
(We don't need all that it offers, and it's not likely intended for other programs besides go-ipfs in the first place.)
It's not a priority, but anyone is welcome to make suggestions for simpler alternatives.
^Anything that can generate command-line parameters, parse argv.
Separate from that would be a simple ipc/rpc layer, like gRPC. So that we can have some persistent background process that holds state for us (such as active mount and file tables) between command invocations (such as fs mount ...).
As-is we use a cmds-lib server to handle this with a daemon Command of our own that talks over a unix domain socket (code for this will be in the next patch set)

The argument ("actual parameters") parsing code will come in the next patch set, as Commands need it.
At the moment, it follows a similar simple convention. someSettings, err := settings.Parse[*someSettingsType](ctx, cmdsRequest)
No need to deal with maps of untyped interface{} values on either side of the calling/client code.

The introduction of generics in Go 1.18 has been nice, and there is a simple generic pkg included here that is used extensivley throughout the rest of the codebase. Said code is not present here, but will be in subsequent commits that implement various Commands.
History / note for collaborators:
The internal repo used to reference e3579cb92cb79d72ca8f5bd6e5398cff3d50cfc5 for this branch.
Fixes and refactors were applied to the staging/mount branch (up to 81b4bd797777d280f1b7a0ba47a05bae9ccda88f).
Instead of backporting commits, this just paves over it completely to form a new base. Changes were then applied over-top of that.
The internal repo is going to be shut down. Any references to it can now be considered invalid and all future work should be done here on GitHub.

After discussing both PRs with various collaborators, it's become clear that all of this is too complicated for the purpose it serves.
It does work, and it tries to be understandable; but as pointed out, things like reflection just make it all too much.
Both in terms of comprehension, and actual runtime/binary costs.
We needed to use reflection in the first place in order to avoid hand asserting interface{} values returned from go-ipfs-cmds, but reflection in Go is almost never nice to work with, if only for the verbosity of it.
The dynamic/runtime cost isn't great either.
We should be able to do type related things at compile time, and with Go 1.18's type parameters we more easily can, but we're still constrained by the library at that point.
However, since we're no longer a part of go-ipfs and since plugin support for it has seen no progress in all this time, I no longer see a reason to maintain this compatibility.
After evaluating other libraries, as well as experimenting with some other tactics like introducing more generic type parameters, using code generators, and more, we ultimately decided that it'd be easier to just drop this dependency and write our own libraries to handle the CLI and RPC.
(Note that we'll still need it to interface with the IPFS API as a client, but we'll no longer be using it to house our own commands.)

The new CLI handler should be much smaller and simpler to reason about and will show up in a PR later that will replace these 2.
The current prototype without tests comes in at ~600 lines and offers a generic "Command" constructor.
All that's needed from the caller is a generic structure to hold flags, and an execute function.
func execute(context.Context, *settings, ...string) error {
	// The root command only holds subcommands
	// and has no functionality on its own.
	return command.ErrUsage
}
cmd := command.MakeCommand(
	cmdName, synopsis, usage,
	execute,
	command.WithSubcommands(subcommands...),
)
err := cmd.Execute(ctx, cmdArgs...)

The settings structure only needs to implement this method func (set *settings) BindFlags(fs *flag.FlagSet) which can also automatically be generated.
A prototype method/code generator that goes from source code -> AST -> source code, has also implemented which plays nice with //go:generate (much like the stringer utility) so you'll really only have to define a struct and an execute method, then run go generate when/if the struct changes in the source.
This is by no means "simple", but is certainly simpler than what we have.
And I don't expect the size/complexity to grow too much now. The bulk of additions should be test code and the code generator, not major changes.

In addition, a proof of concept was done to see how feasible it would be to make an RPC library for our purposes.
A simple client + server that speak to each other over 9P was developed, and seems like it should be sufficient for our needs while simultaneously being simpler and more flexible than the cmds-lib's HTTP server.

Best of all, is that these concepts are separate from each other, rather than conflated into 1 "do everything" structure like we had with the cmds-lib.
Hopefully it will be a good idea, even if it will delay things a little longer.🤞
And even though most of the work done in these PRs will be discarded, it wasn't a waste of time.
It highlighted the problem areas, and made alternate solutions more clear.


parsing code is wrong?

Hey,
I just tried to parse some things like
some text
 ``` #!/bin/sh

unset $(git rev-parse --local-env-vars)
cd ~/bar.com
git pull
 \``` (without that slash)
some text

with bitter, but I think it's more a problem of marked, because it showed no line as code. when I added back slashed to the end it parsed it correctly, but then there was a backslash at every line in the output-html

Closing as stale. Please resubmit if you are still using marked and experiencing the issue.


Change getFilesRecursive() in runner.js to get the files with a glob

This would be a lot simpler and easier than the current implementation.
Thought I would open this up for a beginner, in the spirit of hacktober :)
NB:  Fair attempts are more than welcome! Garbage submissions will be reported.

(Possible) hint: Using a node package is fine.

Hi! I'd like to take this up.


How to set rightTitles diffrent range axisY2?

rightTitle y-range as same as left.
i wanna change the rightitles range from +500~-500.leftTitles range +90--90.how can i do?

Duplicate of #429


[4.2] [sourcekit] Send compile notifications when argument parsing files

Cherry-pick #16895

When swift command-line argument parsing fails in sourcekit, make sure we can still send a compile notification including the diagnostic about the incorrect arguments.
rdar://39225180

@swift-ci please test


Static / global styles outside of React

https://github.com/rtsao/styletron#static-styles shows how to associate a style to a tag name, if I understood correctly. But the code is React only.
Is there a way to inject static / global style (eg. styling html or body tags) on the server? Or outside of React?

Not yet. Right now Styletron only handles atomic CSS classes.
Styling body/html tags is definitely an important use-case, but it hasn't been a priority yet in Styletron as at work we use server-rendering so we can just inlined these static global styles into the page markup into the head in a plain style element.
That said, it's something I'd like to support in the future, ideally as a mixin or something.

OK, I suppose I will leave this open to track this feature, or feel free to close it if you prefer.
I test Styletron with other libraries: https://github.com/PhiLhoSoft/css-in-js-perf-tests/tree/complex-test-case (will be merged to the original project, if it goes well), and that's what I did for libraries without "proper" management of globals (either it is out of their scope, or not done yet).
My way works because the global styles are still simple (static), so I can manage them with primitive code, but it might lack auto-prefixing or managing complex values, media queries, etc.

Styletron is opinionated towards component-based CSS so I think true global styles support will probably never be added.
Ideally global styles are minimized to a small reset, where I think rendering a <style> element is sufficient for most use cases.


Universal class for Factory

Universal class which implements "create if doesn't exist" behaviour
*Manufacturers
*Locations
*Assets
*Models

This was implemented in an update our fork of the SnipeSharp API.


Incorrect variable declaration location

We are one of COMP0053 mini-project groups, during the use of this kit in our project, we found that the elapsed_time is declared in a wrong place, such that when the data is being recorded, the waveform chart stop updating and error message: error in reading data ... keep coming out through stdout. The data can be recorded correctly, but the freezing chart is pretty annoying as it prevent user to monitor the data collection phase for any potential anomaly.
We here to propose the fix and hopefully it would be helpful for any other user of this kit.

Hi,
Thanks for your efforts in trying to debug the error you are facing.
I reviewed your fix, though elapsed_time doesn't seem to be in wrong place at first. This is because, we need to support both time-bound acquisition as well as unbounded acquisition, in which recording stops only on pressing Stop Record button manually.
Can you describe more about the error you are facing as then I might be able to fix it appropriately.

Sorry for my vague description of the issue. Yes, we have totally aware the unbounded time acquisition feature, that is what we have used to record our data. But we found the code also reference the elapsed_time in the else branch (line 584), while the variable is accidentally declared in the scope of the if branch (line 567). This cause Python complaining about "variable not declared in the scope", and thus the control flow goes to the except block, emitting false error message (i.e., Error in reading serial data .....) and preventing the chart from updating.
The proposed fix is to move the elapsed_time declaration to the correct scope, so it can be properly accessed in both branches.
I hope my clarification will be helpful and informative. Please clarify me if I have misunderstand something.

Oh, now I get it right. And thanks for figuring this very correctly. I'll merge your suggested change and this should fix the issue that you might be facing while using PhysioKit for unbounded recording of the data.


Query error after assigning array of class-based DTOs to a collection with cascade

Describe the bug
During the migration of my Nest.js project from TypeORM to MikroORM I stumbled upon an issue with getting a DB query error during the cascade updating of an entity with a 1:n relation.
After spending hours reading the docs, trying the different approaches, and debugging I understood that the issue is caused by using class-based DTOs which is a quite popular approach in Nest.js.
One of my services has an update method that looks like that:
  async update(id: number, updateEntityDto: UpdateAuthorDto): Promise<Author | null> {
    const entity = await this.authorsRepository.findOne(id);

    if (entity == null) {
      return null;
    }

    this.authorsRepository.assign(entity, updateEntityDto);
    await this.authorsRepository.persistAndFlush(entity);

    return entity;
  }

Where UpdateAuthorDto is a class-based DTO with the validation rules from class-validator package:
class UpdateAuthorDto {
  @IsString()
  @IsNotEmpty()
  name!: string;

  @ValidateNested()
  @Type(() => UpdateBookDto)
  books!: UpdateBookDto[];
}

and the UpdateBookDto is also a class-based DTO:
class UpdateBookDto {
  @IsNumber()
  @IsOptional()
  id?: number;

  @IsString()
  @IsNotEmpty()
  name: string;
}

The issue is not reproduced if I convert class-based DTOs to plain objects using instanceToPlain() function from class-transformer package beforehand:
    this.authorsRepository.assign(entity, {
      ...updateEntityDto,
      books: instanceToPlain(updateEntityDto.books),
    });

Stack trace
[10:59:18.664] ERROR: update "books" set "author_id" = 4 where "id" = '[object Object]' - invalid input syntax for type integer: "[object Object]"
    context: "ExceptionsHandler"
    err: {
      "type": "Error",
      "message": "update \"books\" set \"author_id\" = 4 where \"id\" = '[object Object]' - invalid input syntax for type integer: \"[object Object]\"",
      "stack":
          DriverException: update "books" set "author_id" = 4 where "id" = '[object Object]' - invalid input syntax for type integer: "[object Object]"
              at PostgreSqlExceptionConverter.convertException (myproject/node_modules/@mikro-orm/core/platforms/ExceptionConverter.js:8:16)
              at PostgreSqlExceptionConverter.convertException (myproject/node_modules/@mikro-orm/postgresql/PostgreSqlExceptionConverter.js:42:22)
              at PostgreSqlDriver.convertException (myproject/node_modules/@mikro-orm/core/drivers/DatabaseDriver.js:197:54)
              at myproject/node_modules/@mikro-orm/core/drivers/DatabaseDriver.js:201:24
              at processTicksAndRejections (node:internal/process/task_queues:96:5)
              at PostgreSqlDriver.nativeUpdate (myproject/node_modules/@mikro-orm/knex/AbstractSqlDriver.js:326:19)
              at ChangeSetPersister.persistManagedEntity (myproject/node_modules/@mikro-orm/core/unit-of-work/ChangeSetPersister.js:137:21)
              at ChangeSetPersister.executeUpdates (myproject/node_modules/@mikro-orm/core/unit-of-work/ChangeSetPersister.js:42:13)
              at ChangeSetPersister.runForEachSchema (myproject/node_modules/@mikro-orm/core/unit-of-work/ChangeSetPersister.js:68:13)
              at UnitOfWork.commitUpdateChangeSets (myproject/node_modules/@mikro-orm/core/unit-of-work/UnitOfWork.js:755:9)

          previous error: update "books" set "authors" = 4 where "id" = '[object Object]' - invalid input syntax for type integer: "[object Object]"
              at Parser.parseErrorMessage (myproject/node_modules/pg-protocol/src/parser.ts:369:69)
              at Parser.handlePacket (myproject/node_modules/pg-protocol/src/parser.ts:188:21)
              at Parser.parse (myproject/node_modules/pg-protocol/src/parser.ts:103:30)
              at Socket.<anonymous> (myproject/node_modules/pg-protocol/src/index.ts:7:48)
              at Socket.emit (node:events:527:28)
              at Socket.emit (node:domain:475:12)
              at addChunk (node:internal/streams/readable:315:12)
              at readableAddChunk (node:internal/streams/readable:289:9)
              at Socket.Readable.push (node:internal/streams/readable:228:10)
              at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
    }

To Reproduce
Steps to reproduce the behavior:

Create a 1:n relation with cascading (Cascade.ALL). For example Author -> Books.
Create a class-based DTO for a Book relation.
Assign an array of book DTOs to an author.
Persist and flush author.

Expected behavior
The books collection is updated and persisted in DB as described in docs.
Additional context
The assignment result is the following:
Author {
  id: 4,
  name: 'John Doe',
  books: Collection<Book> {
    '0': (Book) { id: [UpdateBookDto], author: [Author] },
    initialized: true,
    dirty: true
  }
}

Versions

Dependency
Version

node
16.15.1

typescript
4.9.5

mikro-orm
5.6.8

your-driver
<EMAIL_ADDRESS>

The problem here is that assign expects you to provide the payload as POJO. You can make your class act like a POJO when you extend the PlainObject from it.
import { PlainObject } from '@mikro-orm/core';

class UpdateBookDto extends PlainObject {
  // ...
}

Thank you for the explanation and the workaround. I confirm that it solves the issue and it's pretty easy to implement in my codebase because all the DTOs extend the abstract BaseDto that can be easily extended from the PlainObject.
BTW, assignment of a parent DTO (UpdateAuthorDto) to an entity works without issues so probably the assignCollection() method can be improved to handle such cases.

The problem here is that assign expects you to provide the payload as POJO

Is this expectation reflected in the docs? It would be really helpful to have such a notice, probably highlighted as an important requirement.
Also, I would like to ask you to describe working with the assignments to properties that hold collections, especially the fact that the collection is merged and mention that it's easy to use together with cascading. This is a quite powerful feature and I was impressed when I realized that it's possible without any additional moves.
Despite my suggestions, the overall quality of the documentation is impressive. Thank you for that!

Is this expectation reflected in the docs? It would be really helpful to have such a notice, probably highlighted as an important requirement.

Probably not, and the PlainObject class is documented only for a different use case - as in filters it is the same story and that what why this class was added.
https://mikro-orm.io/docs/entity-manager#using-custom-classes-in-filterquery

Also, I would like to ask you to describe working with the assignments to properties that hold collections, especially the fact that the collection is merged and mention that it's easy to use together with cascading. This is a quite powerful feature and I was impressed when I realized that it's possible without any additional moves.

Can you maybe prepare an example code and I would just comment on what it does in the docs? I am not entirely sure what you mean by this, so an example would help - give me something you would want to have mentioned in the docs.

I'm afraid we will need to keep this as is, will add a section to the assign docs about it.