Question about demuxing DASH

Hi there @leandromoreira,
That tutorial is really impressive, but I've got some question. I'm generally new in C/C++ and using ffmpeg as a library. I want to try to open DASH with following code
struct representation {
    char *url_template;
    AVIOContext pb;
    AVIOContext *input;
    AVFormatContext *parent;
    AVFormatContext *ctx;
    AVPacket pkt;
    int rep_idx;
    int rep_count;
    int stream_index;

    enum AVMediaType type;
    char id[20];
    int bandwidth;
    AVRational framerate;
    AVStream *assoc_stream; /* demuxer stream associated with this representation */

    int n_fragments;
    struct fragment **fragments; /* VOD list of fragment for profile */

    int n_timelines;
    struct timeline **timelines;

    int64_t first_seq_no;
    int64_t last_seq_no;
    int64_t start_number; /* used in case when we have dynamic list of segment to know which segments are new one*/

    int64_t fragment_duration;
    int64_t fragment_timescale;

    int64_t presentation_timeoffset;

    int64_t cur_seq_no;
    int64_t cur_seg_offset;
    int64_t cur_seg_size;
    struct fragment *cur_seg;

    /* Currently active Media Initialization Section */
    struct fragment *init_section;
    uint8_t *init_sec_buf;
    uint32_t init_sec_buf_size;
    uint32_t init_sec_data_len;
    uint32_t init_sec_buf_read_offset;
    int64_t cur_timestamp;
    int is_restart_needed;
};

static int readFunction(void* opaque, uint8_t* buf, int buf_size) {
    int ret = 0;
    struct DASHContext *v = static_cast<DASHContext *>(opaque);
//    DASHContext *c = static_cast<DASHContext *>(v->parent->priv_data);

//    if (!v->input) {
//        free_fragment(&v->cur_seg);
//        v->cur_seg = get_current_fragment(v);
//        if (!v->cur_seg) {
//            ret = AVERROR_EOF;
//        }
//    }
    return 0;
}

int main(int argc, char *argv[]) {
    char filepath[] = "https://***/stream.mpd";
    representation d = {
    };

    unsigned char *buffer = nullptr;
    const std::shared_ptr<AVIOContext> avioContext(avio_alloc_context(buffer, 8192, 0, &d, &readFunction, nullptr, nullptr), &av_free);
    const auto avFormat = std::shared_ptr<AVFormatContext>(avformat_alloc_context(), &avformat_free_context);

    auto avFormatPtr = avFormat.get();
    avFormatPtr->iformat = av_find_input_format("dash");
    avFormat->pb = avioContext.get();
    auto iFormat = av_find_input_format("dash");
    if (avformat_open_input(&avFormatPtr, filepath, iFormat, NULL) != 0) {
        printf("Couldn't open input stream.\n");
        return -1;
    }
}

The biggest problem with opening it is that: DASH init segment and data segments are encrypted with AES-256. Default DASH demuxer implementation is not able do decode segments on fly so I'm aware that I probably need to rewrite it, but I've no idea how to properly begin reading that stream because now I'm receiving a segfault at readData function. Have you got any idea how could I begin reading from that stream? I've got a key for decrypting that stream.

What I'd recommend is (what you're already aware 🤓 ) to follow along the ffmpeg's dash demuxer source code and try to see where you would add the code and then patch it and build it (or even try to submit it to FFmpeg)
I really don't know if the scenario where you just offer the buffer io (avio) and try to proxy the manifest and decrypt the segments is easier. =/

Hmm, thats the way I would like to follow but I don't know how to use my newly created demuxer code. How could I force ffmpeg to use it? Because for now the only way of overriding something I've found was using custom read_data function. Am I missing something?

I'm under the impression that if you override the current implementation and build/compile ffmpeg from scratch it'll work.
I think if you plan to add a new demuxer you can inspire yourself by looking in patches how people added (in this case a codec but it looks similar I suppose) or grep with git the addition of a new demuxer.

Here's the addition of dav1d (av1 codec) https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/beaa350e24167f4ff31275a6114693f5ce7cd409 so you might help you

Hi, I've managed to find some nice example of dash player in libdash sources and now I'm following it and reimplementing my own player so I probably won't add it directly in ffmpeg but add decryption after buffering chunk. But thanks for help :)

@madphysicist that's awesome, if you can just share it on github so more people might learn as you did.

@leandromoreira I'm assuming you meant @michalSolarz.

@leandromoreira here is a libdash repository: https://github.com/bitmovin/libdash and one day I'll probably create a PR


Text overlap on mobile

Describe the bug
As an applicant using an IPhone to apply to the Seattle Preschool Program, the "repeated entity type - Remove" button overlaps with the repeated entity.
See screenshot for example.
To Reproduce
Steps to reproduce the behavior:

Using an iphone
Go to civiform.seattle.gov
Click on 'Seattle Preschool Program
See that the "remove" button overlaps with the repeated entity name

Expected behavior
Auto-size to the appropriate device
Screenshots
Attached
Smartphone (please complete the following information):

Device: iPhone12

One possible solution is to have the button say "remove" (take out the repeated entity name").

@isabelcshaw -- To consider for Product Development committee. Would this need full project approval?

@msprenke -- I've exhausted my design skills, any other ideas for this one?

This seems like a bug so imo it shouldn't need product design committee approval. (Also tagging @nb1701 for visibility in case  the seattle status label is keeping it out of your triage dashboard)

Just fyi the numbers on the labels were added as an accessibility recommendation: https://github.com/civiform/civiform/issues/2624
So we may want to keep them on desktop if possible. We could also flex this so the "remove" button is below the entry field at small screen sizes instead of next to it.

It looks like the issue here is Safari increases the width of the button to keep the "Adult/Parent/Guardian" text on a single line, creating the overlap. (Interestingly, Firefox doesn't do this, splitting the text on the /). Fixing this can be achieved by inserting the <wbr> element after the backslashes. More generically, adding the Tailwind break-words class (along with max-w-full) would allow the long String to be broken up within the button. Another easy option is to just add spaces before/after the slashes in the text: "Adult / Parent / Guardian" which will make the line breaking work automatically.
The <wbr> option is Number 1, and the break-words (plus max-width: 100%) option is Number 2 (iPhone 12 Mini screen size):

Thanks for taking a look @Subzidion -- I can add spaces to the text for the easy workaround. If it helps, the overlap I experienced was on an iphone using chrome. Thanks for diving into this one!


Fan-in processor?

Hi there,
I am going to use benthos to build a data pipeline that aggregate 1000 messages to process publish to my consumer. But in my can, I need in 5 seconds, the messages being in buffered should be processed — I need messages should be processed if one of two of these conditions pass:

Buffer reach 1000
Tick interval reach 5s.

I am using this configuration:
input:
  type: amqp
  amqp:
    bindings_declare: []
    consumer_tag: benthos-consumer
    prefetch_count: 1000
    prefetch_size: 0
    queue: benthos-queue
    queue_declare:
      durable: true
      enabled: false
    url: amqp://go1:go1@rabbitmq:5672/
pipeline:
  processors:
  - type: combine
    combine:
      parts: 7
  - type: throttle
    throttle:
      period: 1000us
output:
  type: http_client
  http_client:
    backoff_on:
    - 429
    drop_on: []
    headers:
      Content-Type: application/json
    max_retry_backoff_ms: 300000
    retries: 3
    retry_period_ms: 1000
    timeout_ms: 5000
    url: http://requestbin.fullcontact.com/v6onirv6
    verb: POST

Thanks for supporting.

Hey @andytruong, I think I understand your problem. You might be better off using the batch processor instead of combine, it would let you batch messages on either:

The batch size reaching a limit (in this case you would be measuring in bytes, not messages)
A time period is reached (5s)

This differs from your requirements as it doesn't allow you to set an explicit message count. If I were to add that ability to the batch processor would it satisfy your needs?

Awesome. Thanks so much Jeff (:

@drushman, the batch processor only checks the conditions of its send on the event of a message being received. If you set up an AMQP queue with messages totaling less than 1000 bytes and Benthos reads the entire queue within 10ms then your example won't display any output.
If you want to see your example work you need to feed it a continuous stream of data. Alternatively you could fake it by simulating a slow feed with a throttle processor:
input:
  type: amqp
  amqp:
    bindings_declare: []
    consumer_tag: benthos-consumer
    prefetch_count: 1
    prefetch_size: 0
    queue: benthos-queue
    queue_declare:
      durable: true
      enabled: false
    url: amqp://root:root@<IP_ADDRESS>:5672/
  processors:
  - type: throttle
    throttle:
      period: 3ms
  - type: batch
    batch:
      byte_size: 1000
      period_ms: 10
output:
  type: stdout
  stdout:
    delimiter: "\n"

This will limit the stream from AMQP to one message per 3ms, and since your batches are every 10ms you should see roughly three messages per output batch. It'll be hard to detect that by looking at the output so maybe also try increasing the batch period_ms to 500 and the throttle period to 100ms.

Thanks @Jeffail, Your suggestion was working for me. but it only work perfectly when throttle.period is the same value as batch.period_ms and in that case batch.byte_size never be reached.


Font Request: Add UnifontEX

Font Name
UnifontEX
Link to font source
http://stgiga.github.io/UnifontEX
Link to font license
https://opensource.org/license/ofl-1-1
Additional context
Regular Unifont is in Fontsource because it is SIL OFLv1.1, and UnifontEX (my extended fork of GNU Unifont) is based on Unifont versions that have that.
UnifontEX basically merges Unicode's Plane 0 with Plane 1 as best as possible (something not done by upstream Unifont. Also this gives emoji support plus more historic scripts.)
It also has been given extra optimizations for higher compatibility, and I've pre-made WOFF and WOFF2 versions (as well as all the other webfont formats, such as EOT and iOS Safari SVG, and of course the TrueType.)
It also has special OpenType tables that aren't in regular Unifont.
Since Unifont is already in Fontsource, there is precedent for adding UnifontEX.

I should mention that I'm soon going to do an internal metadata update that changes no functionality and simply fixes an accidental omission of one of two people Roman Czyborra credited as a source of encouragement in the early days of Unifont, and the omission happened due to me only knowing said person with his professor title plus surname, and I didn't know anything else until I had already made my February 2nd, 2024 update. I have to regenerate the font in quite a few formats to add the info, and correct certain parts of the FONTLOG and Comments section of FontForge's PfEd table to reflect newer background information which is in my README.md file. This won't change any functionality.

Closed in #83.

Closed in #83.

In the time since this happened, I updated UnifontEX to support Unicode 15.1, and I'm hoping I was able to add the updated version properly. I gave it a version of 1.1 in the metadata, just so you know.


Create alias for the fields

As a developer, I want to custom an specific field name that is different than the rest field name so that my GQL API could be friendlier and more customizable

The API could be something like
nameField = new Field("name", "string)
nameField.setAlias("fullName")


KNOX-2779 - support multiple hosts for gateway.host config

support multiple hosts for gateway.host config

@nanhuirong - we need to get unit tests to insure that previous behavior with only one in the list and new behavior with multiples work as expected and do not regress in the future.

@lmccay -  We need two network cards for this config and can't assume another ip. Thus, I just test the gateway.host properties.

@smolnar82 , Please review the code.

@nanhuirong - thank you for your pull request. I've merged this into master and it will be included in the next release.
Let's also file a JIRA for documentation for this improvement.

Let's also file a JIRA for documentation for this improvement.

I don't know how to do for this. Do you have any suggestion?

@nanhuirong - sure - start by filing a JIRA and describe what documentation needs to be updated and then you can provide the documentation in the JIRA or follow the process description in https://cwiki.apache.org/confluence/display/KNOX/Contribution+Process#ContributionProcess-DocumentationContributorWorkflow
Note that the site docs are in subversion, not in github.
So, you will likely have to attach the patch file to the JIRA.
Thanks for your interest and followup!


Sign reviews need more options

Right now there are for each sign two options: "Correct" or "Incorrect". Having used the review feature for just five minutes (my first tag was "incorrect" on a bus stop sign that got mistaken for a "no u-turn" sign), I think there are two more options that need adding:

"Correct, but conditional" - For signs that have subtext, such as "4:00pm to 7:00pm" or "except buses". Allow entering of said subtext.
"Correct, but for a different road" - For signs that are correctly detected by OSC, but don't actually apply to the road from which the picture was taken, such as this one:

Also, "incorrect" signs should let you choose what the sign actually is.

Good points @ShadowFoxNixill. The purpose of the validation is to help improving the image recognition accuracy. To that end, both cases are 'correct' and should be marked as such, as the detected feature is indeed the one in the photo.
For the first case, we'll add at some point the conditional signs detections/tagging ( things like hours, buses, days of the week, etc ). They will be treated as different signs at detection time then logically merged with the main sign to get an accurate map feature.
The second example is similar, we're currently working on sign positioning ( where we compute the actual coordinate of the sign and snap to a road segment ). That will come with another validation layer to make sure they're positioned correctly, but for sign recognition both cases are correct.
Thanks for trying out the validation thing!


OXA Bootstrap - RGName- EdX Database (Mysql) Setup Failed

On, 11 December. I had deployed with oxa-tools, the creation of azure resources are successful.
But, mysql migration steps was failed.
I had deployed several time, same error was occurred.
here is the bootstrap log file.
bootstrap.zip
=======================
After error occurred, we kept an eye on our deployment.
But the lms site was opened and can access.

Does this status have no problem?
Thanks in advance.

@egonid, this appears to be transient dependency issue from upstream. Our deployment system has automatic retries. Therefore, it will overcome transient errors. Yes, it seems you got the final notification email. That means the setup was completed successfully. There should be no problems.
Thanks for using the tools. Are you working independently or as a LAAS partner?


Build Carla on Jetson or release the docker using on Jetson

CARLA version:
Any
Platform/OS:
Jetson tx2
(system of ubuntu 18.04.6
architecture of linux/arm64/v8)
Problem you have experienced:
I have searched the whole internet without the solution of using Carla on Jetson platform. I think it's really powerful and low energy consumption. I have tried using docker on Jetson but failed. I haven't tried to build it from source because I can't find any success
examples.
What you expected to happen:

Could you plz give me some advice about how to build from source on jeston platform? Is that worth to try?
Could you release the docker that can be used on Jetson? That will be really useful to do some work like 24 *7 data collection, algorithms reproduction and so on with a really low energy consumption. ( I have device of 1080Ti with power of 250W  and Jetson tx2 of only 7.5W)

I'm really looking forward of your reply.

Were you able to run carla on jetson?

I haven't 🥲


Update statefulset.md

quick update to note the 30s latency that can happen in issues like https://github.com/kubernetes/kubernetes/issues/92559

/lgtm
/approve
Thank you!!


Starter recipe for extensible interpreter using Final Tagless style

Recipe Name
SimpleTaglessFinal

Recipe Description
Re-cast the first example in this repo: https://github.com/afcondon/purescript-tagless-final-examples into the Recipe style

Not sure if this is good recipe material or not so go ahead and close if it's not

For those who know what they're looking for in the cookbook and are familiar with tagless-final style, this recipe may be helpful.
But another target audience of the cookbook are folks who just want to see a menu of building-blocks that they can use for their app, and I feel like a bit of explanation is required to make this topic digestible.
This may be a better fit for the DSL chapter of the book. We could even make the exercises a bit more involved (with less hand-holding) in this last chapter and suggest readers consult some specific sections of these papers for guidance.

Yeah, that sounds right.

You could go for a minimalist Final Tagless / mtl example that demonstrates the composition of functions that compsoe effectful functions that return Effect (Either e result), where the reader wouldn't have to understand another domain such as interpreters. This is based off of a question that came up in Slack the other day.
Something like this gist could be named maybe something like ComposeEithersFinalTagless:
https://try.purescript.org/?gist=fb1897409a2542ab2991d91b5a217b18
And then you could have it listed against a ComposeEithersExceptT (..with functions returning ExceptT MyError m Foo/etc.). And instead of having a ComposeEitherStaircase, the README.md for each recipe could just show the unwrapping with staircases problem that the recipes are trying to solve with eihter Final Tagless or ExceptT.

I think generally when we have multiple types like data Foo = Foo in a recipe is a sign that it's just that little bit too abstract for a recipe, in that it's asking a reader (who we'd like to imagine might be just dipping their toe in the water of PureScript and FP)  to hold extra abstractions in their mind while they try to see the shape of the solution on offer. That's how i remember it being as a total beginner in Haskell anyway.
i now think that examples like mine and yours (@and-pete) would actually be best in some annex to the useful list that's currently on the try.purescript.org landing page

Yeah, I tend to agree with you now too about those types.
I probably should have kept the example more closely replicate what the question on Slack was. The question asker had several functions. An initial Aff (Either Error Json) where they wanted to have the Json chained into several subsequent  Json -> Aff (Either Error Json).
I thought it might be less for a recipe reader to deal with if we didn't expect them to have any familiarity with handling the Aff type within main or any familiarity with Affjax/Argonaut's types.
Do you think there's a middle ground or is Final Tagless entirely out of recipe scope? :)

I think what's in and out of recipe scope is totally up to Miles and Jordan but how i personally see it is that cookbooks are a great asset for the sort of person who's (a) curious about the language, in this case PureScript (b) likes to learn by doing (c) comes to the cookbook with a desire to achieve some specific small win.
The specific example does sound cookbook-ish to me, i totally think you should suggest it.

Determining what is a good/bad recipe is something we're still figuring out (see #79). We want recipes to solve just one problem (at the cost of having many recipes that do similar things) rather than one large recipe that might better exist as its own repo.

Thoughts on #193 in regard to this recipe request?

i think it's an excellent contribution but maybe proves your own point in your comment above, @JordanMartinez - i think what you have there is something like a skeleton app / architecture...it's somewhere between a recipe and an example program like Real World Halogen. That said 180 LOC is not long, it's more that its showing how several things fit together.
It seems so useful tho that my $0.02 would be that it should stay in cookbook unless/until you find a place for things of that intermediate length, maybe? And it's a win that it's in the cookbook with the package set compatibilty and CI that that guarantees.

I think its the simplest example with enough complexity to be something worth storing here. I think I also realized later today that I likely could have used ExceptT to clean up the control flow a bit better.


Se agregan pruebas de Multiplicadores en OrderChoise y MChoise penali…

…zado
Se agregan test de Multiplicadores, aplicados a OrderChoise y a MChoise penalizado

Codecov Report

Merging #39 into V1.0 will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               V1.0      #39   +/-   ##
=========================================
  Coverage     93.23%   93.23%
  Complexity       76       76
=========================================
  Files            18       18
  Lines           207      207
  Branches          8        8
=========================================
  Hits            193      193
  Misses           14       14

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 a0d6de7...00d722d. Read the comment docs.


Homebrew Formula for macOS

Hi there,
Would be sick if there was a homebrew formula for this, so don't have to compile all the things from scratch.  It is easy to do, see this for example https://github.com/caskroom/homebrew-cask/pull/31938/files and see this guide https://github.com/caskroom/homebrew-cask/blob/master/CONTRIBUTING.md#adding-a-cask

@BrendanThompson Could you let me know how you installed it?  I'm following the 'alpha' instructions on the homepage but getting an error during dotnet restore from within the src folder.  I'm new to .NET Core and especially new to Mac OS side of .NET.  Looking to see if I could switch from VS/LINQPad in Windows (running in Parallels) to VSCode/RoslynPad on Mac.
Also note that I originally installed 2.1 Core, then went back and installed 1.1.8 as well.
Error:
/usr/local/share/dotnet/sdk/2.1.101/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.targets(41,3): error MSB4019: The imported project "/usr/local/share/dotnet/sdk/2.1.101/15.0/Bin/Microsoft.CSharp.targets" was not found. Confirm that the path in the  declaration is correct, and that the file exists on disk. [/Users/terryaney/Documents/BTR/roslynpad/src/RoslynPad.Roslyn.Windows/RoslynPad.Roslyn.Windows.csproj]

@terryaney you have to do the dotnet restore and dotnet build inside the RoslynPad.NetCore project folder.

Hi. Any update on mac version? I have LinqPad for Windows but nothing at all for Mac so I hope it can be ran here


Light and Deep Sleep

Im testing light and deep sleep for a battery powered device now, and seems to me that this is currently missing from esp-rs, at least from what I could tell.
Is this something that would be nice to add, if so, I can take a look at turning my experimentation into something generic.
I think this should be in this repo, agree?
If anybody have any ideas or strong opinion on what something like that should look like, please let me know.

Sounds like a plan


Domain name and certificate ARN

Domain name and certificate ARN
The module readme file states most or all inputs are "optional" but the terraform module has a required argument "domain_name" and "certificate_arn". Is there a default domain that can be used which is generated by AWS by default?
If your request is for a new feature, please use the Feature request template.

[X] ✋ I have searched the open/closed issues and my issue is not listed.

⚠ Note
Before you submit an issue, please perform the following first:

Remove the local .terraform directory (! ONLY if state is stored remotely, which hopefully you are following that best practice!): rm -rf .terraform/
Re-initialize the project root to pull down modules: terraform init
Re-attempt your terraform plan or apply and check if the issue still persists

Versions

Module version [Required]:

Terraform version:
Terraform v1.4.6

Provider version(s):
version = "> 4.0"

Reproduction Code [Required]
module "apigateway-v2" {
source  = "terraform-aws-modules/apigateway-v2/aws"
version = "2.2.2"
name          = "get_views_api"
description   = "REST API with lambda integration to get dynamoDB data for web application."
protocol_type = "HTTP"
cors_configuration = {
allow_headers = ["content-type", "x-amz-date", "authorization", "x-api-key", "x-amz-security-token", "x-amz-user-agent"]
allow_methods = [""]
allow_origins = [""]
}
Routes and integrations
integrations = {
"POST /" = {
lambda_arn             = module.get_viewer_count.lambda_function_arn
payload_format_version = "2.0"
timeout_milliseconds   = 12000
credentials_arn        = aws_iam_role.apigw_invoke_lambda_role.arn
}
"GET /some-route-with-authorizer" = {
  integration_type       = "HTTP_PROXY"
  integration_uri        = module.get_viewer_count.lambda_function_invoke_arn
  credentials_arn        = aws_iam_role.apigw_invoke_lambda_role.arn
}

}
default_stage_access_log_destination_arn = aws_cloudwatch_log_group.apigw_log_group.arn
default_stage_access_log_format          = "$context.identity.sourceIp $context.requestId"
}
Steps to reproduce the behavior:

Expected behavior
Terraform successful
Actual behavior
Error: Missing required argument
Error: Missing required argument

You can use
create_api_domain_name           = false

+1 for this since we can create only with an API name in the web console, even though this is not a bug.
i think this module should create the random domain and attach the ACM to it by default.

You can use create_api_domain_name = false

oh got this lately. working with it 👍

@bryantbiggs
guess solved by https://github.com/terraform-aws-modules/terraform-aws-apigateway-v2/issues/92#issuecomment-1697542065. would be close?


Remove retry on unknown errors

Errors that don't have a specified status code are considered "unknown"
and shouldn't be retried because we don't have reason to believe they
will succeed in future attempts. By retrying until timeout we lose the
information provided by the unknown error, and instead see the result of
a timeout.

Fixes #211


Update s3-transfer-manager to 2.17.179-PREVIEW

Updates software.amazon.awssdk:s3-transfer-manager from 2.17.155-PREVIEW to 2.17.179-PREVIEW.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "s3-transfer-manager" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequest = { frequency = "@monthly" },
  dependency = { groupId = "software.amazon.awssdk", artifactId = "s3-transfer-manager" }
}]

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

Superseded by #695.


Update CODEOWNERS

Just a little housekeeping 😢

[x] Use a meaningful title for the pull request. Include the name of the package modified.
[ ] Test the change in your own code.
[ ] Add or edit tests to reflect the change (run yarn test).
[ ] Add or edit Storybook examples to reflect the change (run yarn dev).
[ ] Add documentation to support any new features.

This pull request:

[ ] Fixes a bug in an existing package
[ ] Adds additional features/functionality to an existing package
[ ] Updates documentation or example code
[x] Other


render specified 'folder/', not default 'css/'

How can I avoid the rendering the default 'css/'? instead, I would like to just render the specified 'images/':
svg_sprite  : {
    your_target : {
        cwd     : 'src/',
        src : ['src/*.svg'],
        dest    : 'images/'
    }
}

Please read the documentation about output destinations to understand the different options. Basically you will have to set dest to "images" and mode.<mode>.dest to ".".

Thank you Joschi, it works now.


Create LICENSE

paper.md mentions:

Domainlab is free and open source. It is published under the MIT License.

So, I'm adding the MIT License for now. I don't have any strong feeling whether the MIT license or another open source license is used in the end. But regardless what license we decide to use, a license needs to be added to the repo.

@smilesun JOSS requires that the project uses one of the licenses listed here: https://opensource.org/licenses MIT license is on the list, but you also have some other choices if you prefer, depending on whether you allow commercial use, want attribution, etc. (a comprehensive comparison table of different open source licenses is here: https://choosealicense.com/appendix/ ). In my opinion the MIT license added in this pull request is fine.

@ccmarr  Could you say something here?

you mean: which license? what do you prefer/suggest?

Am 01.02.2023 um 15:02 schrieb Xudong Sun @.***>:
@ccmarr https://github.com/ccmarr Could you say something here?
—
Reply to this email directly, view it on GitHub https://github.com/marrlab/DomainLab/pull/54#issuecomment-1412109234, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJFU3AE27EVYUZWMGXYF4U3WVJUJDANCNFSM6AAAAAAT2SLSMM.
You are receiving this because you were mentioned.

@ccmarr sorry for the late reply, since I though this conversation is in issue tracker and I could not find it, but actually this conversation is in this pull reqeust.
To my understanding, MIT means one can do anything to the code, modify it, take part of it as a commercial product,
GPL is more restricted to open source and non-commercial use.
read more here
https://choosealicense.com/licenses/

i have a tendency to MIT
what is typical in GD?
what is your preference?

Am 10.02.2023 um 17:08 schrieb Xudong Sun @.***>:
@ccmarr https://github.com/ccmarr sorry for the late reply, since I though this conversation is in issue tracker and I could not find it, but actually this conversation is in this pull reqeust.
To my understanding, MIT means one can do anything to the code, modify it, take part of it as a commercial product,
GPL is more restricted to open source and non-commercial use.
read more here
https://choosealicense.com/licenses/
—
Reply to this email directly, view it on GitHub https://github.com/marrlab/DomainLab/pull/54#issuecomment-1426026496, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJFU3ADYTTREGSW3T2CRNXTWWZRWTANCNFSM6AAAAAAT2SLSMM.
You are receiving this because you were mentioned.

I also prefer MIT here. You can also mention it in the license that they need to cite your work when used.

Codecov Report

Merging #54 (0e80795) into master (e675c8c) will decrease coverage by 0.09%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #54      +/-   ##
==========================================
- Coverage   94.38%   94.29%   -0.09%
==========================================
  Files         108      108
  Lines        3348     3348
==========================================
- Hits         3160     3157       -3
- Misses        188      191       +3

Flag
Coverage Δ

unittests
94.29% <ø> (-0.09%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

domainlab/algos/msels/c_msel.py
85.00% <0.00%> (-15.00%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

i have a tendency to MIT - what is typical in GD? - what is your preference?
…
Am 10.02.2023 um 17:08 schrieb Xudong Sun @.***>: @ccmarr https://github.com/ccmarr sorry for the late reply, since I though this conversation is in issue tracker and I could not find it, but actually this conversation is in this pull reqeust. To my understanding, MIT means one can do anything to the code, modify it, take part of it as a commercial product, GPL is more restricted to open source and non-commercial use. read more here https://choosealicense.com/licenses/ — Reply to this email directly, view it on GitHub <#54 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJFU3ADYTTREGSW3T2CRNXTWWZRWTANCNFSM6AAAAAAT2SLSMM. You are receiving this because you were mentioned.

@ccmarr , although I have followed your preference,  sorry I did not manage to ask in time what is GD?
I am not expert on software licences :)
MIT:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so


GUI should prioritize .hal files

Is your feature request related to a problem? Please describe.
When a project file (.hal) for an input netlist already exists, the GUI should offer loading this file instead.
Related to issue #147

Done.


The top level "$type" value seems to be ignored when using JsonConvert.DeserializeObject(json)

If I serialise content with the option TypeNameHandling.All then I expect for the deserialised content to be correctly populated even if I don't give the JsonConvert.DeserializeObject a generic type parameter more specified than object.
For example:
public class Program
{
    public static void Main()
    {
        var source = new List<int> { 1, 2, 3 };

        var json = JsonConvert.SerializeObject(source, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All });
        Console.WriteLine("Json: " + json);

        var result = JsonConvert.DeserializeObject<object>(json);
        Console.WriteLine("Result: " + JsonConvert.SerializeObject(result));
    }
}

I would expect this to show that the Result is [1,2,3] but it shows an empty list instead. This behaviour does not match the .NET version of the library.
Example on Deck: deck.net/8abf237440bf631320e80a6ec30c62bb
Example on .NET Fiddle: dotnetfiddle.net/52P5li

Also related (though I'm not sure if you would prefer a separate issue?), the following is incorrectly deserialising into a string instead of a number:
JsonConvert.DeserializeObject<object>("12")

(calling GetType().Name on the result will return "String" instead of "Int64")
See deck.net/4aad517862d1b1a38a06a37b66d17c4a and dotnetfiddle.net/w09WBg.


Added GFG Ads Remove Extension

Description
I have added an extension to remove Ads from Geeks For Geeks website
Fixes:  #1536
Type of change

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

Checklist:

[x] I have made this from my own
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK
Before using the extension

After using the extension

@Sulagna-Dutta-Roy Changed the directory name, kindly review it


[Bug] CameraFragment.DisposeImageReader (): System.NullReferenceException: Object reference not set to an instance of an object

Description
One the tablets crashed today after taking a picture with the CameraView. With the following error:
CameraFragment.DisposeImageReader (): System.NullReferenceException: Object reference not set to an instance of an object
Stack Trace
System.NullReferenceException: Object reference not set to an instance of an object
at Xamarin.CommunityToolkit.UI.Views.CameraFragment.DisposeImageReader () [0x00013] in :0
at Xamarin.CommunityToolkit.UI.Views.CameraFragment.CloseDevice () [0x00051] in :0
at Xamarin.CommunityToolkit.UI.Views.CameraFragment.Android.Views.TextureView.ISurfaceTextureListener.OnSurfaceTextureDestroyed (Android.Graphics.SurfaceTexture surface) [0x00000] in :0
at Android.Views.TextureView+ISurfaceTextureListenerInvoker.n_OnSurfaceTextureDestroyed_Landroid_graphics_SurfaceTexture_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_surface) [0x0000f] in <7b5798cd11bb47ceaeae29d342017937>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.144(intptr,intptr,intptr)
I've checked the source CameraFragment.cs and the dispose is checked for null and is surrounded by Try {} Catch, but still it crashed the App
If there's anything i can add or log feel free to ask me.
Thanks in advance.
Link to Reproduction Sample
I'm sorry i can't reproduce it. Around 300 pictures were taken by 6 different devices. This was the only crash.
Steps to Reproduce
See above remark
Expected Behavior
Not to crash
Actual Behavior
Crashed
Basic Information

Version with issue: 1.2

Last known good version: -

IDE: VS 2019

Platform Target Frameworks:

Android:  Android 11

Android Support Library Version: /

Nuget Packages: /

Affected Devices:  Samsung SM-T725

Workaround
None
Reproduction imagery
None
report-2517680281170579999-2d5dc0c9-e3b0-440b-bb52-b79b22af0f56.txt

I got this issue as well in latest version. Hope it will be fixed soon.

There is a detailed analysis of this bug in https://github.com/xamarin/XamarinCommunityToolkit/issues/1413
The user even fixed the issue in his fork here: https://github.com/NuAoA/XamarinCommunityToolkit/commit/8f0d51df6a69bd48fa1640d2e04c5cf115140844
But unfortunately he doesn't made a pull request to the main repo.

Also getting this issue! A fixed version of the toolkit would help alot!

I am also facing this issue, hope it gets fixed in a newer version


ERROR: SystemStackError: stack level too deep

Getting the following error running knife tidy server report  --node-threshold 60 after a knife tidy clean has been run.
Currently the xxxorg has 0 nodes in it.
Organization: xxxorg
ERROR: SystemStackError: stack level too deep

@lcc2207 sorry that you're not able to run the report.
To help me understand what's happening please share the stacktrace.  You may need to add -VV flags onto the knife command.

the out put is extremely large is there something in the output I can possibly parse out?

run the knife command with -VV (extra verbosity) then send the part that is the stack strace. It would look something like:
/opt/chef/embedded/lib/ruby/2.1.0/net/http/response.rb:119:in `error!'
  /opt/chef/embedded/apps/chef/lib/chef/http.rb:145:in `request'
  /opt/chef/embedded/apps/chef/lib/chef/http.rb:118:in `put'
  /opt/chef/embedded/apps/chef/lib/chef/node.rb:512:in `save'
  /opt/chef/embedded/apps/chef/lib/chef/client.rb:257:in `save_updated_node'
  /opt/chef/embedded/apps/chef/lib/chef/client.rb:403:in `run'
  /opt/chef/embedded/apps/chef/lib/chef/application.rb:261:in `block in fork_chef_client'
  /opt/chef/embedded/apps/chef/lib/chef/application.rb:249:in `fork'
  /opt/chef/embedded/apps/chef/lib/chef/application.rb:249:in `fork_chef_client'
  /opt/chef/embedded/apps/chef/lib/chef/application.rb:215:in `block in run_chef_client'
  /opt/chef/embedded/apps/chef/lib/chef/local_mode.rb:38:in `with_server_connectivity'
  /opt/chef/embedded/apps/chef/lib/chef/application.rb:201:in `run_chef_client'
  /opt/chef/embedded/apps/chef/lib/chef/application/client.rb:355:in `block in interval_run_chef_client'
  /opt/chef/embedded/apps/chef/lib/chef/application/client.rb:345:in `loop'
  /opt/chef/embedded/apps/chef/lib/chef/application/client.rb:345:in `interval_run_chef_client'
  /opt/chef/embedded/apps/chef/lib/chef/application/client.rb:335:in `run_application'
  /opt/chef/embedded/apps/chef/lib/chef/application.rb:58:in `run'
  /opt/chef/embedded/apps/chef/bin/chef-client:26:in `<top (required)>'
  /usr/bin/chef-client:40:in `load'
  /usr/bin/chef-client:40:in `<main>'```

That tells me what library, method and even which line number was executing when the error was generated.

/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/mixlib-log-1.7.1/lib/mixlib/log/formatter.rb:45:in msg2str': stack level too deep (SystemStackError) 	from /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/mixlib-log-1.7.1/lib/mixlib/log/formatter.rb:36:in call'
from /opt/chef/embedded/lib/ruby/2.3.0/logger.rb:546:in format_message' 	from /opt/chef/embedded/lib/ruby/2.3.0/logger.rb:434:in add'
from /opt/chef/embedded/lib/ruby/2.3.0/logger.rb:455:in debug' 	from /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/mixlib-log-1.7.1/lib/mixlib/log.rb:120:in block in debug'
from /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/mixlib-log-1.7.1/lib/mixlib/log.rb:120:in each' 	from /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/mixlib-log-1.7.1/lib/mixlib/log.rb:120:in debug'
from /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.21.20/lib/chef/http/basic_client.rb:75:in block (2 levels) in request' 	 ... 7278 levels... 	from /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.21.20/lib/chef/application/knife.rb:156:in run'
from /opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-12.21.20/bin/knife:25:in <top (required)>' 	from /opt/chef/embedded/bin/knife:23:in load'
from /opt/chef/embedded/bin/knife:23:in `'


Consider implement *Ext traits in net2

I noticed that TcpStream, TcpListener and UdpSocket haven't implemented TcpStreamExt, TcpListenerExt and UdpSocketExt in net2 crate.

Note that extension traits in general are intended to not be implement across crates (as they'll likely grow in the future). Instead the raw underlying types should be exposed or the functionality should be reexported.

As per @alexcrichton, there isn't any action to take at this time.
Thanks for the report though!


v4 improvement: Standardise getCMSValidator for DataObjects/Forms

Pull requests
https://github.com/silverstripe/silverstripe-framework/pull/9406
https://github.com/silverstripe/silverstripe-admin/pull/1013
Standardise getCMSValidator for DataObjects/Forms
At this time, I'm mostly looking for feedback. There are also a few changes that would need to be made to (eg) the admin module, in order to support this change set.
Current situation
There is no standard API for getCMSValidator() (in that, it's not actually implemented on DataObject), it is simply a method that folks are free to implement ad hoc, and we check for its existence using (EG) $dataObject->hasMethod('getCMSValidator').
The problem/s
Because the method hasn't been implemented by any base class, there is no standard extension point being invoked. This puts on the onus on module owners/etc to add the extension point themselves if they implement getCMSValidator().
Another issue is that even if getCMSValidator() is implemented with an extension point, it only supports returning a single type/instance of Validator. This could prove troublesome if a module/etc uses a Validator class that does not match your requirements. You will then be forced to subclass/inject/etc.
Constraints
Backwards compatibility is a concern. If we were to implement a base getCMSValidator() method ourselves on DataObject, then it could very well mismatch with the type/return declarations that other developers have already made on their own classes.
Proposal
I think that, ideally, we should follow a principle of composition over inheritance (the same way we do for, eg, getCMSFields()).
Allow developers to add their own Validators to a List (through extension points, subclassing, etc). This List should then represent your validation concerns as a whole, and be interpreted by Forms in the same way as it would if you had returned a single Validator.
Enter: ValidatorList, and getValidatorList().
ValidatorList
The ValidatorList deals with an array of validators. You can add additional validators (or edit existing validators) through extension points/etc.
This ValidatorList is itself a subclass of Validator, so all existing methods are available on it, and they return values as expected. It should, therefor, be compatible with all of our current implementations of Validator.
New method getValidatorList() on DataObject
For reasons mentioned in "Constraints", I didn't feel that it would be possible to implement a base getCMSValidator() method, but, also, by using a totally new method, we're able to support instances of the old quite easily. IE: This new method will check for the existence of getCMSValidator on the DataObject, and if it exists, it will add that validator to the ValidatorList.
Wherever we previously called getCMSValidator() we should now instead call getValidatorList().
Extra
Some related discussion here:
https://github.com/silverstripe/silverstripe-admin/issues/1005

Closing. Pull requests were merged for (I believe) 4.7
#9406
silverstripe/silverstripe-admin#1013


How to disable previous date selection

Hi I have removed the Value From this. Its shows current date only on clink on the icon and can select previous date. I want to disable select previous date. for example today is [ 22 Jan 2018 ] HE can select after [ 24 jan 2018] No date before this can not be selected
I use momnet js  also. Please help

			    Datetime Picker
			    <input type="text" class="form-control datetimepicker" value="10/05/2016"/>

			    $('.datetimepicker').datetimepicker({
			    icons: {
			        time: "fa fa-clock-o",
			        date: "fa fa-calendar",
			        up: "fa fa-chevron-up",
			        down: "fa fa-chevron-down",
			        previous: 'fa fa-chevron-left',
			        next: 'fa fa-chevron-right',
			        today: 'fa fa-screenshot',
			        clear: 'fa fa-trash',
			        close: 'fa fa-remove'
			    }
			});

Duplicate of #2230


added background color feature and modified android folder

I added the background color feature which enables the users to edit the background color of the month picker dialog instead of it just being transparent.
I also created a new project and copied and pasted all the config folders in the example folder, so that it is updated, I guess XD.
Maybe me editing the example folder, but the rest is worth viewing.
Best Regards
Saleh Marji

Ok.
On Wed, Mar 29, 2023 at 3:06 PM Gianluca Bettega @.***>
wrote:

Currently im traveling. As soon as I return home, gonna review your PR.
Thanks for the contribution
—
Reply to this email directly, view it on GitHub
https://github.com/hmkrivoj/month_picker_dialog/pull/65#issuecomment-1488479109,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ3WJTRXDRBFET4JITJJD3DW6QQVNANCNFSM6AAAAAAWKTWG5Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

@Saleh-Marji Just took some time to look for the PR.
Gonna change some things before merging.
I'll return 10/04 so until 11 it'll be merged.
Tks.

changed a little.
It'll be avaliable in 1.1.0

Awesome, thanks!
On Tue, Apr 11, 2023 at 1:32 AM Gianluca Bettega @.***>
wrote:

changed a little.
It'll be avaliable in 1.1.0
—
Reply to this email directly, view it on GitHub
https://github.com/hmkrivoj/month_picker_dialog/pull/65#issuecomment-1502419967,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ3WJTVDQVY2AEUSUHHQ6CDXASC6NANCNFSM6AAAAAAWKTWG5Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


Progress bar with multiple bars doesn't pass scope variables to bars

When I use  it works correctly, but when I use  it won't take what I specify in the "max" scope. It only uses 100 as the max.
In my plunker you'll see I have each bar set to 50, and the max set to 500, but the whole bar is already full.
http://embed.plnkr.co/N5JEOPFOHo44jktPp8kt/preview
I guess it makes sense if you assume it's percentages instead of just values, but the full progressbar doesn't work that way so I figured this wouldn't work that way either.

Possible duplication of #3618

Ah, missed this issue - this sounds like a duplicate of #3618, which is now fixed in master


Basic auth

Add supports of basic auth for all requests.
This is useful for protecting endpoints during the development and testing, before allowing unrestricted access to them. This functionality is disabled by default and not granular enough to allow for per-route auth. I.e. enabled basic auth will affect all requests.

Are you planning a more flexible setting for each end point?

Are you planning a more flexible setting for each end point?

I'm not sure if it makes much sense. For any flexible support of basic auth, having a common static file of users won't be sufficient, so this will need to support multiple files, at least. In addition, such flexible support will need a way to reload htpasswd file on the fly. And for many real-life use cases outside of the current "turn the basic auth on for dev", it will need the support of other stores as a plain file(s) is not really something that useful.
So, I don't see much value of per-route basic auth implemented in the core. I think this is an excellent case for a plugin and such a plugin can be as sophisticated as we need.

however, if anyone has a clever idea how to make it more flexible without adding much code and many new configuration parameters - we can discuss it. And we need to see a clear use case for proposed functionality

Hey @umputun!
I wanted to mention that your middleware is excellent for testing purposes. However, there are instances where it becomes necessary to enable basic authentication only for specific services in the docker-compose setup.
Let's say we have a scenario where one service is "landing, under development, leave your email..." and another service needs to be protected.
Is there a convenient method to disable authentication for one or more services quickly? Thanks in advance for your help, and I appreciate any guidance you can provide!

Is there a convenient method to disable authentication for one or more services quickly? Thanks in advance for your help, and I appreciate any guidance you can provide!

Not without a change. Adding a new parameter to URLMapper like "disable_basic_auth" or smth like this, parsing it for providers, and checking it in basicAuthHandler (URLMapper is a part of ctxMatch context value) will do the trick


Add support for running tasks concurrently

Fixes #62
As discussed in #62 the ScienceAsync method can now specify concurrency settings (how many tasks to run at once).  Internally I am splitting the orderedBehaviors into smaller sublists (of ConcurrentTasks size), running the tasks in the sublist in parallel and collecting the observations.
I also added a test that asserts the tasks are in fact running concurrently by running 4 tasks with concurrent settings of 1,2 and 4 and ensuring the time taken to execute the ScienceAsync is as expected (with a small amount of headroom for plumbing code).
Possible enhancements could be an option to run ALL tasks concurrently rather than specifying the number.  Also I could easily add support for the task concurrency on the regular Science method too, rather than just ScienceAsync?
As an aside I also found issues with running the existing tests due to some of them not specifying their experimentName in the TestHelper.Results() call.  I tweaked the TestHelper to force a experimentName to be passed in rather than relying on the calling code to use a lambda, which seems better than needing to remember :grinning:
Even with that I do sometimes find tests will still fail randomly, I suspect the static ``Scientist.ResultPublisher` is at fault and tests executing simultaneously are sometimes tripping over eachother on this?

Whoops, I didnt realise a couple of other PRs got merged and I had conflicts sorry!
Ive updated to latest master and refactored my changes to suit.
Also FYI I am now running a build of my branch "in the wild", achieving the goal set out in my initial issue #62 (running tasks concurrently so users do not see a changein response time)  :+1:

This looks good! Thanks! :star2: (and that's awesome you're already making use of it!)
The only thing that worries me is the test, most specifically the headroom. I don't like tests that have a chance of not being consistent - in the event we're running tests while cpu resources are being used by another process there's a chance we can fall outside of the allowed range and the test will fail. If we increase the range too high, that defeats the purpose of the test because we won't know whether or not they actually ran concurrently. The likelyhood of this happening is probably pretty low, but I still don't necessarily like it.
Can you think of another way of testing this? Perhaps keeping track of which tasks have started and ensuring they all have started before one finishes?

You're probably right. That's something I've been meaning at looking into and fixing. (hint hint if you want to, go ahead :smile: )

Can you think of another way of testing this? Perhaps keeping track of which tasks have started and ensuring they all have started before one finishes? (Off the top of my head I'm not sure that'd be any better... but it's an idea)

Yeah it's pretty tough as any tests are going to be temporal in nature and I guess always susceptible to processing delays like you mention, but do we really need the tests to handle "drastic" CPU load conditions where it isnt able to execute 4 tasks of 1 second sleeps each, in less than 4 seconds plus 50ms headroom?  The headroom could be bumped up, even to 500ms perhaps...
I have one idea that I'll try now, that may be more satisfactory and a bit less susceptible to overall processing delays.  If I make the "long waited task" being used in the tests grab the current time stamp before it sleeps, then return that timestamp as the task result (instead of the int im returning now), then I can assert that the time difference between each "batch" of tasks starting is at least the duration of the task.  eg for 4 tasks with concurrency of 2 we are expecting 2 tasks to be kicked off, then another 2 tasks and we would assert that the "startTime" of tasks 3 and 4 was at least 1 second after tasks 1 and 2 started.  This means it doesnt matter how long the tasks actually take and also restricts the margin of error to the time between batches of tasks rather than overall time of (up to 4) tasks running one after another...

ive rewritten the test but its still not really that elegant.  If you have other ideas let me know but either the 1st way or this way, are the best I can come up with :grinning:

Any feedback on this @davezych @Haacked ?  Im running my stuff on a locally built/privately hosted nuget feed, but would be nice to move over to the "official" library... but I need my concurrent task change to be merged first obviously :grinning:

This looks better although I have not had any time (and probably won't) to pull it and test it. I'll have to defer to @Haacked for his comments, and since he's the only one that can approve it anyway. :laughing:

Sorry, been real busy. I'll take a look soon.

So this PR doesn't build for me. It just hangs. There's also some error messages even before I build.
Severity	Code	Description	Project	File	Line	Suppression State
Error	NU1008	"netstandard1.1" is an unsupported framework.	Scientist	C:\dev\play\Scientist.net\src\Scientist\project.json	6
Error	NU1006	Dependencies in project.json were modified. Please run "dnu restore" to generate a new lock file.	Scientist	C:\dev\play\Scientist.net\src\Scientist\project.lock.json	1
Error		'*' is not a valid version string.	Scientist.Test	C:\dev\play\Scientist.net\test\Scientist.Test\project.json	1

I was thinking that in order for the experiments to be run concurrently, they must be on different threads. So rather than testing the timing component, why not record the ThreadId for each task and just verify that they're all different?
One key thing you have to be sure of is that no task completes before all of them are started. Otherwise that thread could be returned to the threadpool and reused.
Right now, this PR tries to tackle that with a long delay (1000ms). Rather than do that, let's do something deterministic. You could have each task wait on a CountDownEvent set to the number of concurrent tasks we plan to run. That way, we guarantee that none of the tasks complete until they've all been started. And we won't need to rely on timing issues.

@Haacked about building:
Are you able to build using build.cmd?  If so, then it looks like you might need to install the Visual Studio official MSI Installer (direct link) to build inside of Visual Studio.

Thanks @joncloud! That fixed it.

Right now, this PR tries to tackle that with a long delay (1000ms). Rather than do that, let's do something deterministic. You could have each task wait on a CountDownEvent set to the number of concurrent tasks we plan to run. That way, we guarantee that none of the tasks complete until they've all been started. And we won't need to rely on timing issues.

Hey @Haacked.  Are you saying to use the CountdownEvent just in the test code, or are you actually suggesting to change the internals of ExperimentInstance to do the CountdownTask and signalling etc in there?
I tried to rewrite the test using CountdownTask but I got stuck trying to figure out where to .Reset() the counter.
This is what I had now:
            // Our long running task
            var task = new Func<Task<int>>(() =>
            {
                return Task.Run(() =>
                {
                    // Decrement the counter
                    countdown.Signal();

                    // Wait till all tasks for this batch have started
                    if (!countdown.Wait(5000))
                    {
                        throw new Exception("Timed out waiting");
                    }

                    // Not safe to reset here since there could be a timing hole with another task in this batch that hasn't hit Wait() yet
                    countdown.Reset();
                    return Thread.CurrentThread.ManagedThreadId;
                });
            });

All good!  I managed to get it working by using two CountdownEvents and the bool return from .Signal() indicating this was the call that dropped the count to zero...  so now it's safe to reset the counters.  Latest commit has this reworked test

Ah damn, the test sometimes fails due to the randomised task order, it means I cant assume that Control + Experiment1 are in batch 1, and Experiment 2 +3 are in batch 2 etc

OK i think it's good now :grinning:

Really nice work! I think that unit test with the CountDownEvent could alone make for a good blog post hint hint!
Thanks!


fix: fixed and updated grpc-out options (PR#231)

Fix for grpc-out and Typescript code generation added in PR#231
Relates to issue #230
All options work properly now.
Fixes:

Switched to grpc_tools_node_protoc_ts from ts-protoc-gen
Updated Node to v15.
Updated tests
Extracted vars to variables.sh (extracted all others as well) for easier updating

Thanks for this contribution - I'm going to review this today.

I just stumbled across this issue and I was wondering when it will be merged. When should we expect a release with this? Or any tips on how I could try this myself?

Should be soon - so sorry it's taken me a while to get to the QA

Sorry this took so long - thank you for your contribution!!


its -> it's (this is really a contraction), and avoid comma splice

I noticed this typo while @nathenharvey was presenting to a customer :grin:

In the spirit of four eyes can I get a :+1: here before I fix this? @nathenharvey @thommay

Your grammar-kungfu is excellent :+1:


Add<PHONE_NUMBER>_asmap.dat

This adds the asmap.dat result for the coordinated launch from https://github.com/fjahr/asmap-data/issues/12 from the epoch<PHONE_NUMBER>. We had a match from 3 out of 5 participants in the coordinated launch.
To confirm the result of the encoding you also need to check out https://github.com/bitcoin/bitcoin/pull/28793 to get the latest version of asmap-tool. Then you can run the following series commands to ensure you get the same result after compression:
$ shasum -a 256 path/to/final_result.txt
8641982bbe0b3ad06e35c5ccda702821a814159f86ba2d265f96bc1f2890ab88  path/to/final_result.txt

$ python3 contrib/asmap/asmap-tool.py encode path/to/final_result.txt path/to/1710770400_asmap.dat

$ shasum -a 256 path/to/1710770400_asmap.dat
d628364786e292cc6770e562b3f232cf073ce334dc07b6bea93104c1ebeb1df9  path/to/1710770400_asmap.dat

Closes #12

ACK 5d295f67b206790eddc3c83a28f9252ab5d58e72 with d628364786e292cc6770e562b3f232cf073ce334dc07b6bea93104c1ebeb1df9

ACK 5d58e72 with d628364786e292cc6770e562b3f232cf073ce334dc07b6bea93104c1ebeb1df9

Thanks a lot @Emzy @0xB10C ❤


Allow to send notifications directly

Problem
When a user invite another user who has not yet installed an application, the application is not allowed to listen to the inbox of the invited user, and thus no notification will be sent.
Proposed solution
Allow, in certain cases, to send notifications (apods:Notification) directly to users, that is, when the activity is emitted on the outbox rather than when it is received on the inbox. Maybe do that only if we detect the user has not installed the application ?
To prevent too many unwanted invitations, allow users to turn off notifications from a particular app, even if it is not a registered application (see https://github.com/assemblee-virtuelle/activitypods/issues/202)
When the user click on the invitation link, they will need to install the application.

Done for WTMP. It works out of the box.


Misaligned command list

The first element of each command group is misaligned.
https://user-images.githubusercontent.com/10538213/182946297-c3043b54-5f19-48d3-ad45-d932f001c344.mov
Info:

Luma theme version: 0.2.5.
OS: macOS 12.5

thanks for reporting!


Bug 2021668: Allow mig-controller to get subdomain

Description
In order for the mig-controller to be able to get the subdomain from the
target clusters, we need permission to acces the cluster's ingress
config object. This PR adds those permissions to the mig-controller
serviceaccount.
Check each of the following when appropriate to help reviewers verify work is complete.
Modifying an existing version

[ ] I modified operator permissions in the OLM CSV and operator.yml
[ ] I modified the operator deployment in the OLM CSV and operator.yml
[ ] I modified operand permissions in the OLM CSV and ansible role
[ ] I modified CRDS in the OLM CSV and ansible role

Adding a new release version

[ ] I created a new z release directory in deploy/olm-catalog/crane-operator
[ ] I updated channels in the crane-operator.package.yaml
[ ] I created a new release directory in deploy/non-olm
[ ] I created or updated the major.minor link in deploy/non-olm
[ ] I updated the spec.skips parameter in the CSV

cc @alaypatel07 @pranavgaikwad
I only added the permissions needed to the clusterserviceversion directly. This seems to align with what @jmontleon had mentioned earlier in the week but I saw:

I modified operator permissions in the OLM CSV and operator.yml

And want to be clear, I did not do that, I only updated the CSV.

Related to https://github.com/konveyor/mig-controller/pull/1231


[BUG]: Unable to build docker image after a fresh fork.

How are you running AnythingLLM?
Docker (local)
What happened?
Unable to build docker image after a fresh fork.
Are there known steps to reproduce?

Forked the Anything LLM repo
git clone https://github.com/<me>/anything-llm.git
cd .\anything-llm\docker\
docker build -t <me>/anythingllm:latest .

Error:
[+] Building 2.4s (32/37)                                                                                docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 7.21kB                                                                                0.0s
 => [internal] load metadata for docker.io/library/ubuntu:jammy-20230916                                                                      2.2s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => CANCELED [base 1/1] FROM docker.io/library/ubuntu:jammy-20230916@sha256:9b8dec3bf938bc80fbe758d856e96fdfab5f56c39d44b0cff351e847bb1b01ea  0.0s
 => => resolve docker.io/library/ubuntu:jammy-20230916@sha256:9b8dec3bf938bc80fbe758d856e96fdfab5f56c39d44b0cff351e847bb1b01ea                0.0s
 => => sha256:b4b521bfcec90b11d2869e00fe1f2380c21cbfcd799ee35df8bd7ac09e6f63ea 424B / 424B                                                    0.0s
 => => sha256:3565a89d9e81a4cb4cb2b0d947c7c11227a3f358dc216d19fc54bfd77cd5b542 2.30kB / 2.30kB                                                0.0s
 => => sha256:9b8dec3bf938bc80fbe758d856e96fdfab5f56c39d44b0cff351e847bb1b01ea 1.13kB / 1.13kB                                                0.0s
 => CACHED [build-amd64 1/7] RUN echo "Preparing build of AnythingLLM image for non-ARM architecture"                                         0.0s
 => CACHED [build-amd64 2/7] RUN DEBIAN_FRONTEND=noninteractive apt-get update &&     DEBIAN_FRONTEND=noninteractive apt-get install -yq --n  0.0s
 => CACHED [build-amd64 3/7] RUN groupadd -g "1000" anythingllm &&     useradd -l -u "1000" -m -d /app -s /bin/bash -g anythingllm anythingl  0.0s
 => ERROR [build-amd64 4/7] COPY ./docker/docker-entrypoint.sh /usr/local/bin/                                                                0.0s
 => ERROR [build-amd64 5/7] COPY ./docker/docker-healthcheck.sh /usr/local/bin/                                                               0.0s
 => ERROR [build-amd64 6/7] COPY --chown=anythingllm:anythingllm ./docker/.env.example /app/server/.env                                       0.0s
 => CACHED [build-amd64 7/7] RUN chmod +x /usr/local/bin/docker-entrypoint.sh &&     chmod +x /usr/local/bin/docker-healthcheck.sh            0.0s
 => CACHED [build 1/2] RUN echo "Running common build flow of AnythingLLM image for all architectures"                                        0.0s
 => CACHED [build 2/2] WORKDIR /app                                                                                0.0s
 => ERROR [server-deps 1/7] COPY ./server/package.json ./server/yarn.lock ./server/                                                           0.0s
 => CACHED [server-deps 2/7] WORKDIR /app/server                                                                                0.0s
 => CACHED [server-deps 3/7] RUN yarn install --production --network-timeout 100000 && yarn cache clean                                       0.0s
 => CACHED [server-deps 4/7] WORKDIR /app                                                                                0.0s
 => CACHED [server-deps 5/7] WORKDIR /app/server                                                                                0.0s
 => CACHED [server-deps 6/7] RUN npx --no node-llama-cpp download                                                                             0.0s
 => CACHED [server-deps 7/7] WORKDIR /app                                                                                0.0s
 => ERROR [production-stage 1/8] COPY --chown=anythingllm:anythingllm ./server/ ./server/                                                     0.0s
 => ERROR [frontend-deps 1/4] COPY ./frontend/package.json ./frontend/yarn.lock ./frontend/                                                   0.0s
 => CACHED [frontend-deps 2/4] WORKDIR /app/frontend                                                                                0.0s
 => CACHED [frontend-deps 3/4] RUN yarn install --network-timeout 100000 && yarn cache clean                                                  0.0s
 => CACHED [frontend-deps 4/4] WORKDIR /app                                                                                0.0s
 => ERROR [build-stage 1/4] COPY ./frontend/ ./frontend/                                                                                0.0s
 => CACHED [build-stage 2/4] WORKDIR /app/frontend                                                                                0.0s
 => CACHED [build-stage 3/4] RUN yarn build && yarn cache clean                                                                               0.0s
 => CACHED [build-stage 4/4] WORKDIR /app                                                                                0.0s
 => CACHED [production-stage 2/8] COPY --chown=anythingllm:anythingllm --from=build-stage /app/frontend/dist ./server/public                  0.0s
 => ERROR [production-stage 3/8] COPY --chown=anythingllm:anythingllm ./collector/ ./collector/                                               0.0s
------
 > [build-amd64 4/7] COPY ./docker/docker-entrypoint.sh /usr/local/bin/:
------
------
 > [build-amd64 5/7] COPY ./docker/docker-healthcheck.sh /usr/local/bin/:
------
------
 > [build-amd64 6/7] COPY --chown=anythingllm:anythingllm ./docker/.env.example /app/server/.env:
------
------
 > [server-deps 1/7] COPY ./server/package.json ./server/yarn.lock ./server/:
------
------
 > [production-stage 1/8] COPY --chown=anythingllm:anythingllm ./server/ ./server/:
------
------
 > [frontend-deps 1/4] COPY ./frontend/package.json ./frontend/yarn.lock ./frontend/:
------
------
 > [build-stage 1/4] COPY ./frontend/ ./frontend/:
------
------
 > [production-stage 3/8] COPY --chown=anythingllm:anythingllm ./collector/ ./collector/:
------
Dockerfile:152
--------------------
 150 |
 151 |     # Copy the collector
 152 | >>> COPY --chown=anythingllm:anythingllm ./collector/ ./collector/
 153 |
 154 |     # Install collector dependencies
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 7ddefbf1-0010-4e74-b0d0-2f26b90a6374::5775m9yhyt0morvib1mk9f8ym: "/collector": not found

Very strange...I commented-out line 152 in the Dockerfile. Now each time I run the docker build command, the script fails on a different line!
Dockerfile:139
--------------------
 137 |     # Build the frontend
 138 |     FROM frontend-deps AS build-stage
 139 | >>> COPY ./frontend/ ./frontend/
 140 |     WORKDIR /app/frontend
 141 |     RUN yarn build && yarn cache clean
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 7ddefbf1-0010-4e74-b0d0-2f26b90a6374::k0yqc0m5571h2p13w2lrqipn9: "/frontend": not found

---

Dockerfile:146
--------------------
 144 |     # Setup the server
 145 |     FROM server-deps AS production-stage
 146 | >>> COPY --chown=anythingllm:anythingllm ./server/ ./server/
 147 |
 148 |     # Copy built static frontend files to the server public directory
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 7ddefbf1-0010-4e74-b0d0-2f26b90a6374::nokiuthurjf2t9p35yw4xavsj: "/server": not found

---

Dockerfile:118
--------------------
 116 |     FROM build AS frontend-deps
 117 |
 118 | >>> COPY ./frontend/package.json ./frontend/yarn.lock ./frontend/
 119 |     WORKDIR /app/frontend
 120 |     RUN yarn install --network-timeout 100000 && yarn cache clean
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 7ddefbf1-0010-4e74-b0d0-2f26b90a6374::cw213rcbiecvhauejifibn9iy: "/frontend/package.json": not found

This could be because the context is wrong?
https://github.com/Mintplex-Labs/anything-llm/blob/fa4ab0f65f290f79ee968210cb88ae145c2845d1/docker/docker-compose.yml#L14
docker build -t <me>/anythingllm:latest . I think would have you in the /docker folder context and not in ../. where you need to be.
docker build -t <me>/anythingllm:latest -f ./Dockerfile ../. should resolve this

docker build -t <me>/anythingllm:latest -f ./Dockerfile ../. worked. Thank you very much.

Are you running docker run -d -p 3001:3001 --name anythingllm-container <me>/anythingllm:latest in the docker folder or at the root? Should be at the root I would think


Size error when using laplacian_loss

Hi, @jasongorski @heronog @ViktorM @keithroe @moconnor725
I am calculating laplacian_loss for two meshs. I get error in matching tensor sizes.
Code:
import kaolin as kal
mesh = kal.rep.TriangleMesh.from_obj(filename)
mesh1 = kal.rep.TriangleMesh.from_obj(filename1)
lap = kal.metrics.mesh.laplacain_loss(mesh,mesh1)
Error:
RuntimeError: The size of tensor a (65804) must match the size of tensor b (89408) at non-singleton dimension 0
Any suggestions will be helpful.

Please return the full error logs with the traceback.
I'm guessing that your two mesh have different number of vertices, I don't think laplacian loss would make sense in this context ?

Can you give a more detail about laplacian loss for two meshs


bletiny - Add help command and subcommands

This patch introduces help commands to the bletiny app.
Right now interaction with the app is hard, because
it returns almost no information after executing commands.
To find out how to interact with the app one has to look
directly into the code.
With this patch user can invoke
help commands to list all possible parameters or commands
to pass to the app.
E.g.
b help - lists all toplevel commands like adv, conn, set, etc.
b adv help - lists all adv subcommands and parameters.

This looks great.  Thanks, Michal!
I just have one comment.  The help functions which take no arguments are defined with empty parameter lists, e.g.,
static void bletiny_tx_help()
In C++, would be fine.  In C, an empty parameter list has quirky semantics.  It means the function takes an "unspecified" number of arguments, which is almost never the desired behavior (I would say never).  Instead, these functions should probably have a "void" parameter list, e.g.,
static void bletiny_tx_help(void)
Aside from that, I think everything looks great.
Thanks,
Chris

Thanks for the comments, Christopher.
Updated as requested and rebased onto develop.


Add Cross WOC Banner or Poster

Is your feature request related to a problem? Please describe.
Add Cross WOC Banner or Poster
Describe the solution you'd like
Add Cross WOC to  Banner or Poster

@Ayush7614 Go for it and Please add GSSOC banner as well.

@Vishal-raj-1 you can also add crosswoc level because I can do it under crosswoc


fix: app launcher performance on mac

Previous discussion: https://github.com/johnlindquist/kit/pull/1161
I decided to "revert" some of the changes in that PR and just add a check for win32 so we can keep the performance on a mac and have support for win32.
I considered forking get-app-icon, but realistically it doesn't really support arrays of files to get icons for and would be a large amount of effort when this code can fix it and this is a breaking problem on my work computer.
Curious to get your thoughts @johnlindquist @fcrespo82

I think it could be a good compromise for now.
I found another way to extract windows icons, and it's a little better at extracting icons from links. At least in my tests.
I'll try to hack a simple library to extract windows icons and see if it is worth it.
I took the liberty of opening a discussion #1168 to document this effort to make it work cross-platform.


Popout window project

Previously added ->
Full desktop version
Add transitions and animations
Add Deployment
When the user clicks (or taps) the hamburger button, the mobile menu appears.
When the user clicks (or taps) the close (X) button, the mobile menu disappears.
When the user clicks (or taps) any of the mobile menu options, the mobile menu disappears.
When the user clicks (or taps) any of the mobile menu options, a correct part of the page is displayed.
Form validation by using DOM, JavaScript and CSS
For those used the following tools ->
CSS Flexbox
CSS Grid
HTML Semantics
HTML Box Model
HTML Form etc.
CSS Transitions
CSS Animations
GITHUB Page
JavaScript
DOM Manipulation
In this branch add ->
When the user clicks (or taps) the button to check project details, the popup with details about the project appears.
When the user clicks (or taps) the close (X) button, the popup disappears.

Hi here is how it shoes on my inspect , I  don't


fix #1

I tested it myself and it seems that the issue has been fixed.

PR for the main branch is only available for the version update.
so, I will close the PR.


New features and bug fix

What has been added?

Method 'get_artist_albums' for this api endpoint
Few methods for follow management (this and this endpoints)
Basic "CursorBasedPaging" for "get_followed_artists" method
Method for close aiohttp session and context manager for this
Example:

auth = await spoofy.easy_auth(
        client_id='client_id',
        client_secret='client_secret',
        scope=('scope'),
        cache_file='tokens.json'
)
async with spoofy.Client(auth) as sp:
    print(await sp.get_me())

or:
auth = await spoofy.easy_auth(
        client_id='client_id',
        client_secret='client_secret',
        scope=('scope'),
        cache_file='tokens.json'
)
sp = spoofy.Client(auth)
print(await sp.get_me())
await sp.close_session()

What has been edited?

Added kwargs (to be able to set additional query/body parameters, for example custom market/country parameter) and additional args for several methods for more flexibility

What has been fixed?

Getting some old albums (like this one) cause an "ValueError" error in "Album" class. This happened because this and some other old albums have 0000 release year in Spotify.
Now if in setting release date happened "ValueError", release date setting as None object

I didn't update the documentation for these changes, because I never worked with it.

Really good work, I'm in awe.
The documentation gets automatically built when merged to master iirc, so documenting changes in the source is enough.
You're invigorating my interest in the project, though I'm busy with work and other projects as of right now. Once I get some more time I will probably go back and do some work, primarily set up testing.
The changes are very well written, merged.


Allow multiple, multiple file uploaders for a single entry

Thanks!

I'm glad to help out! I'm really happy with this file type! Just that one bug and now I use it everywhere! So really thank you!


Earth2Java Chickens take Fall Damage 1.20.1

The Earth2Java chickens take fall damage, I doubt that's intentional. I recorded a video of the issue but sadly Github doesn't support files bigger than 10 Megabytes.
I am using the Forge 1.20.1 version if it makes any difference.

This ha been fixed in 1.11.0 for mc 1.21.
Will be back ported to MC 1.20.1.


[5.8] bump TabNavigator vertical threshold to 7

Explanation: Bumps the TabNavigator vertical threshold to 7, as 5 was still able to fit horizontally.
Scope: Minor CSS Change
Issue: rdar://101369883
Risk: Small
Testing: Test with a tabnav that has 8 tabs to go into vertical
Reviewer: @mportiz08
Original PR: https://github.com/apple/swift-docc-render/pull/525

@swift-ci test


Stop the lifecycle if the context moved to done

This goes in the same vein as #219, to allow cancelling a running build.
A context can move to done at any of those step, meaning we shouldn't execute the following ones.
Execute() has no tests at all, and it would be quite difficult to write a tests which cancel the context at a specific step. I'm happy to look into writing tests if a suggestion is provided though.

@dmathieu I am confused as to which problem this PR is solving. I just tried to Ctrl-C a running pack build with the latest release of pack (v0.2.1) and I observed that the container was stopped and the lifecycle did not continue running (as expected).


Fix false negatives for Style/EmptyLiteral

Improve Style/EmptyLiteral to detect other common ways of creating empty literals.
Array.new      # ✔ existing offense
Hash.new       # ✔ existing offense

Array[]        # ⚠ new offense
Array([])      # ⚠ new offense
Array.new([])  # ⚠ new offense
Hash[]         # ⚠ new offense
Hash([])       # ⚠ new offense
Hash.new([])   # ⚠ new offense

Also: improve offense message by including the actual offense source

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

@vlad-pisanov @bbatsov Why is Hash.new([]) an offense? That parameter is the default value for unknown keys. (It's better to do this with the block form, but that's a different discussion.) That's not the same as a literal {}, or what am I missing?

@franzliedke That's an oversight that's fixed on master.

See https://github.com/rubocop/rubocop/pull/13178


[only test] default  open pipelineX

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run p0 10


Remove Model alias to be compatible with lucidjs

https://github.com/juampi92/adonis-mongoose-model/blob/4a8c3693687730641d99fcf2394880f0a49e00ef/providers/MongooseProvider.js#L64
I think this should be removed and added to the documentation to do it manually as you do with the Mongoose alias. I have installed the provider and now I can't use lucidjs Model.
Thank you for this useful provider :)

Solved your issue on release 3.0.0
https://github.com/juampi92/adonis-mongoose-model/releases/tag/3.0.0


Any update on this issue(2303)?

Issue
https://github.com/nhn/tui.editor/issues/2303
I have  seen a lot of request regarding SSR. As we just have to provide an way  convert markdown to html on server(Node/Next.js), then the problem will be automatically  solved.
Anyway, thanks for  providing such an editor.

@rahul-adpushup
Thank you for the issue.
SSR support is a task we need to do. but I have to research into supporting SSR.
There are no exact milestones yet. If I have a plan, I will update it on related issues.

@jwlee1108 Is there any way to render markdown into HTML outside of the browser.
https://www.npmjs.com/package/marked can not work in case of custom blocks and plugins/

@rahul-adpushup
When using additional features, there are quite complex converting logics, so I don't think it can be covered with a single library.
I understand your discomfort, but it's not something I can solve in a short term. Sorry. 🙏

Hi, @jwlee1108
I am trying to use https://github.com/nhn/tui.editor/blob/master/docs/en/custom-html-renderer.md
How can i use https://github.com/nhn/tui.editor/blob/master/docs/en/custom-block.md here.
It's not working with  new $$ syntax.


WIP: keras.weights: init at 2018-08-06

Motivation for this change
This is a WIP PR for integrating Keras weights into Nixpkgs. Resolving: https://github.com/NixOS/nixpkgs/issues/46922
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

Hoping to get some feedback on this. Should this go into the pkgs/applications/science/machine-learning/weights/keras or should it go into pkgs/data/machine-learning/keras/weights?

I noticed that if I use the store path as just a symlink to the downloaded source. Then if someone downstream places the derivation in their buildInputs it fails with an error:
bash: source: /nix/store/caw8gg9xk4m34pmj4ywx36mgl377wkj1-resnet50-2018-08-06: cannot execute binary file

You can use it normally by referring to the derivation in your environment variables however.

I found that fetchurl has a meta attribute, so that meta attributes can also be placed on these derivations as well. So I could put the maintainer information there, but there is still no version attribute.
However even if I use fetchurl it appears that buildInputs cannot use such derivations as it expects the drv.out to be point to something that is executable either as a directory or as an executable file. It doesn't work when the drv.out points to just a normal file.

After examining some other data derivations, I've settled on something like this:
  stdenvNoCC.mkDerivation rec {
    name = "resnet50-${version}";
    version = "2018-08-06";
    src = fetchurl {
      url = https://github.com/keras-team/keras-applications/releases/download/resnet/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5;
      sha256 = "017m98glf5jm9qwsb64mki6s28by2qm3s3pkqidw3z7kmwyv9j36";
    };
    installPhase = ''
      install -D -m 0644 "${src}" "$out/weights.h5"
    '';
    phases = [ "installPhase" ];
  }

We only copy files in to the derivation instead of creating symlinks.
By making sure we create a directory, and fixing the name to weights.h5 it allows downstream users to always know how to refer to the downloaded weights, and it is possible to use it in checkInputs or buildInputs and it won't complain. However you still need to refer to them directly since there are no setup hooks environment variables to refer to them.
I still find it weird to force that package derivations must create directories. I've also found that some derivations refer to cacert package in their buildInputs, but that only makes sense due to the presence of setup hook that automatically sets up a standard environment variable. In the case where it there are no standard environment variables and hence no setup hook, then it doesn't seem that it is useful at all to add such data derivations into buildInputs or checkInputs.

Hoping to get some feedback on this. Should this go into the pkgs/applications/science/machine-learning/weights/keras or should it go into pkgs/data/machine-learning/weights/keras?

I understand those weights as being a set of shared well-known values so it is data to me. No need to create too many sub-level though so I'd vote to locate this under
pkgs/data/machine-learning/keras

You intend to later add other model variants? Is that why you split common.nix and resnet50.nix ?

Thinking aloud : not sure it makes things easier for you to split into several nix files.
Maybe an approach similar to Source-Han fonts could be easier?

Yes there are many other model variants, and I intend to add them in later, other contributors will find it easier to also add more in the future. These are just the well-known pretrained weights in the Keras/Tensorflow community.

@c0bw3b I've toyed with the idea of putting weights as a separate output in the derivations that the weights relate to. So for example these resnet weights are associated to keras-applications python package.
However after trying the separate output, I realized that this was not behaving how I expected. It would install both the python package and the weights even if I only wanted the weights.
So I'm thinking it makes sense to have a pkgs.machineLearningWeights similar to pkgs.haskellPackages or pkgs.pythonPackages that then puts weights relevant to the same package name.

Reopen and rebase if you're still interested in this.


WebGPU: fix OIT

See https://forum.babylonjs.com/t/an-error-occurs-when-starting-oit-with-webgpu/55050

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15912/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15912/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15912/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15912/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15912/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15912/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15912/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15912/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15912/merge/testResults/webgpuplaywright/index.html

Visualization tests for WebGL 1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15912/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15912/merge/testResults/webgl2playwright/index.html

Note that this could be a breaking change to the line mesh (I had to update a visu test), but I consider it more of a bug, because before the fix, the mesh was incorrectly considered transparent (i.e. rendered with blending enabled and depth writing disabled).

Visualization tests for WebGL 1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15912/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.


Embassy main proc_macro doesn't have rustdoc for every generated element

The procedural macro to generate the main for embassy doesn't have rustdoc for every generated element.
The following expansion shows that some members have neither documentation or #[doc(hidden)] making them discoverable by rustdoc making the doc coverage fail if documenting private items.
#[doc(hidden)]
async fn ____embassy_main_task(spawner: Spawner) {
    { ::core::panicking::panic("not yet implemented") }
}
fn __embassy_main(spawner: Spawner) -> ::embassy_executor::SpawnToken<impl Sized> {
    type Fut = impl ::core::future::Future + 'static;
    const POOL_SIZE: usize = 1;
    static POOL: ::embassy_executor::raw::TaskPool<Fut, POOL_SIZE> = ::embassy_executor::raw::TaskPool::new();
    unsafe { POOL._spawn_async_fn(move || ____embassy_main_task(spawner)) }
}
unsafe fn __make_static<T>(t: &mut T) -> &'static mut T {
    ::core::mem::transmute(t)
}
#[doc(hidden)]
#[export_name = "main"]
pub unsafe extern "C" fn __xtensa_lx_rt_main_trampoline() {
    __xtensa_lx_rt_main()
}
#[allow(clippy::inline_always)]
#[inline(always)]
fn __xtensa_lx_rt_main() -> ! {
    let mut executor = esp32s3_hal::embassy::executor::Executor::new();
    let executor = unsafe { __make_static(&mut executor) };
    executor
        .run(|spawner| {
            spawner.must_spawn(__embassy_main(spawner));
        })
}

There are a large number of documentation improvements which are still needed, which you can track in #1221. This is all being worked on and should be much better by the time of our next release.
I will add this to the list.

Thank you very much for taking care of this.
After further investigation, this is a general proc_macro issue and how they work in Rust. Since they get treated as user code, they get picked up by rustdoc and cargo doc but no warning is given with #[warn(missing_docs)].
The good news is that this "issue" doesn't affect all code but only proc_macro code that gets expanded into user's code. A few #[doc ...] should do the trick.


Fix problem with error in Celery 4: Object of type 'Message' is not JSON serializable

In Celery 4, the default serialization format was changed to JSON, so the error here is that there is no way to serialize the Message object in JSON format.

Very nice, thank you so much!


Prepare repository for next .github release

What has been done in this PR?
Prepare project for next .github release

Add ci-publish command alias that will be used instead of ci-release for publishing artifacts.
Move docs templates to docs folder (as mdoc is expected).

Simplify SBT build

Re-order settings.
Remove unneeded settings.
Inline settings in build.sbt (since it is not too big).

Simplify dependencies
Both munit & docker-testkit-core dependencies have been set as Provided with a version range (instead of a fixed one). This will allow users of our
library to use different versions of both dependencies as long as they comply with our range. This eases mantainability since we don't need to keep releasing new versions of the library as long as the APIs that we use from the two libraries don't change.

Yeah, that's my intention. I'm working on it in the 47degrees/fetch repository and will then propagate to the rest.

@BenFradet is this good to merge?