Store Backups on Cloud Storage

A nice feature would be the ability to store backups on cloud storage such as AWS S3, Google Cloud Storage, or Azure Cloud Storage. Backups aren't terribly useful if your whole machine goes down and the backups were stored locally.

I have not tested this, but it seems that you should be able to set the mscs-backup-location variable in the mscs.properties to point to your cloud storage.  The default key/value for this variable is mscs-backup-location=/opt/mscs/backups, but according to the rdiff-backup docs this could look like [[[user@]host.foo]::destination_directory, so something like mscs-backup-location=nprail@awsserver.com::mscs_backups might do the trick without any modification to the script.
If you test this and it works, it might be nice to add this kind of information into either the wiki or README.

Well, the script has a check that will make the above fail.  We should probably remove that check and add --create-full-path to the rdiff-backup command instead.

According to this article, rdiff-backup does not work with AWS S3 because it requires rdiff-backup to be installed on the remote machine as well. But the article talks about another tool called Duplicity that works with S3. Duplicity is similar to rdiff-backup and written by the same person. I'm going to make a fork and try to switch to Duplicity and see if it works better.

Interesting, my work box already has duplicity installed.  Ubuntu appears to install duplicity when the ubuntu-desktop package is installed, I wonder if the same can be said for the ubuntu-server package.

It was not pre-installed on my server. I just installed it.

I found this script that converts from rdiff-backup to duplicity.  If we do a full swap, we will need to add a script like this to the update.d directory as well.

I checked for duplicity on my server and I would have to install it so it seems it does not come with the ubuntu-server package.
This script looks like it only restores the latest backup and converts it to duplicity so therefor you would loose all your older backups. Maybe there is a way around this?
I do like that it still supports backup to  a local directory, using something like file:///usr/local/backup as the destination.
It looks like you can specify full vs incremental backups. It looks like duplicity returns an error if a full backup does not exist. This either needs to be handled or maybe an additional command to run a full backup on demand?
I have some more reading to do on the docs page, but this does look good so far.

I was going to go ahead and submit an interim patch that uses rdiff-backup to take care of the directory creation as mentioned in my second comment above, but I need to give the patch some more thought -- my initial attempt failed.
Line 1148:
if ! $RDIFF_BACKUP -v5 --print-statistics $EXCLUDE_OPTION "$WORLDS_LOCATION/$1" "$BACKUP_LOCATION/$1" >> "$BACKUP_LOG"; then

The rdiff-backup command all by itself works just fine, it creates the directory as expected.  The problem is that the output is being piped to $BACKUP_LOG which by default is in the backup directory that does not exist yet.  We will either need to write to a temporary file and concatenate later or change the location of the log file.

I just read through the rdiff-backup man page and realized that log files are automatically written to $BACKUP_LOCATION/<world>/rdiff-backup-data/backup.log for backup sessions and $BACKUP_LOCATION/<world>/rdiff-backup-data/restore.log for restore sessions.  If we want to retain the $BACKUP_LOG as-is, we can probably drop the pipe command, add --terminal-verbosity 0, and do something like cat $BACKUP_LOCATION/<world>/rdiff-backup-data/backup.log >> $BACKUP_LOG.

When I originally added the rdiff-backup code, I added the log because I didn't think it did otherwise. I think dropping the log may be a good idea.
I also noticed my log is quite large (157Mb), I wonder if we should start using the log rotate function on it if we keep it.

I can't figure it out from the man page, but hopefully duplicity automatically creates the target directory since it doesn't seem to have anything similar to the --create-full-path option. It does however have a --log-file option that we could use with $BACKUP_LOG.

I'm currently working on switching the script to duplicity. Since I have school and work to do alongside this as well as the fact that I'm not super adept at Bash, it may take me a while to finish. Maybe 2 weeks.

I took a stab at this, and it became complicated by the fact that duplicity, by default, wants to encrypt the archive.  This requires that the user setup a GPG key.  I made a limited attempt to script an automatic key generation, but I couldn't get it to work due to some kind of permission issue. There is the --no-encryption option that could be explored, but it seems like encryption might not be such a bad thing.
Maybe the solution is to default to using the --no-encryption option for duplicity if we can't detect that a GPG key is installed (defaults to being installed at ~/.gnupg/secring.gpg).

Encryption is nice but the only problem is that if you lose you GPG key, those backups are useless. I don't think that it should be GPG encrypted by default. For example, if the key is auto-generated, it stays on the machine that you are backing up. If the machine has a data loss (which is why you are backing up in the first place), that GPG key is gone.  (Which I hear is nearly impossible)
But I do think there should be an option to encrypt backups. Just not by default. Or at least make it super clear that you need to backup you GPG key somewhere safe.
By the way, I haven't gotten anywhere on my version of the switch to duplicity. I really don't know bash well enough to attempt this sort of thing.

You can write out how you would run the commands manually and any additional steps you make like checking for specific things.

Hi,
I know this is a pretty old issue, but there's actually a pretty simple solution for this that I came across when I took some cloud training recently. As far as I'm aware, all of the major cloud providers have a command line utility for cloud storage that will allow you to sync the local directory with the remote cloud storage.
With GCP (Google Cloud Platform), you can use the gsutil tool, specifically the gsutil rsync command:
gsutil rsync /opt/mscs/backups/myWorld gs://mybucket/myWorldBackup

This will sync the /opt/mscs/backups/myWorld folder on your local machine to  the myWorldBackup folder in your GCP bucket (named mybucket). You could run this command periodically using cron so the backups stay in-sync with the cloud storage. You could also use bucket Object Lifecycle Management features to automatically delete files/folders in your bucket after a certain number of days, or add the -d flag to the command above to automatically delete any files/folders in your bucket that are not in the local folder.
I'm not sure about the other cloud providers (i.e. Amazon AWS or Microsoft Azure), but I have to imagine they have something similar.

I use rclone for this purpose. It makes copying files to and from cloud storage (any vendor) easy.
I think it is time we close this issue.  This is not really in scope for MSCS.


Add support for UI Bootstrap 0.14 Prefixes

This updates the existing angular-aside code to use UI Bootstrap 0.14 with the updated $uibModal service rather than the depreciated $modal service. Would close #32.
Does this seem like it's missing anything? Did a quick test by dropping into an existing app and it seemed work and suppress the $modal depreciation errors.

Hi @cfilby,
Thanks for nice, clean PR. It seems complete. Maybe some info about the changes could be added to README too. Such as wrapping $uibModal and version compatibility with ui-bootstrap.

@dbtek Thanks! I went ahead and updated the README.

Perfect @cfilby. Thanks again.


Make Exiting Templates Responsive for all screens

Hi
I want to work on it! I think we can use media-queries for this.

Hi
I want to work on it! I think we can use media-queries for this.

Sure @imran-mirza79 do one thing make them responsive one by one so do one thing just create a new issue for making responsive a particular template which you like

Hi
I want to work on it! I think we can use media-queries for this.

Sure @imran-mirza79 do one thing make them responsive one by one so do one thing just create a new issue for making responsive a particular template which you like

okay


can we visualize mesh file directly? such as obj or ply file.

the file is in cloud storage with a name of segment id, such as 31234.obj
currently, I can create manifest and neuroglancer mesh format to do it. it would be nice to visualize the whole mesh directly without fragments.

To clarify, because of your last sentence: You would like support for different mesh file formats, or are you looking for a way to visualize arbitrarily large meshes - as a single fragment file?

different mesh file formats.
This is for the rhombomere segments visualization, I have manually created manifest files to make it work. Not urgent now.


Fix E2 reading exploit

fixes #2585

This is my bad
The changes in this PR will cause view requests to be sent for invalid players (i probably added guards to that code but cant remember)

You need to instead move the isvalid check to a new case which just performs the cantool check

This is my bad

The changes in this PR will cause view requests to be sent for invalid players (i probably added guards to that code but cant remember)

You need to instead move the isvalid check to a new case which just returns out (we already do a cantool check further up so they must not have access at this point)
There is a case which performs cantool already, but it also sends a message out to the owning player. Double check this works when the owner is invalid (looks like it does)
If the viewrequest code has a guard for invalid players then this will work (cause it already does a cantool check), but that’s not great and very prone to regressions

This fix seemed to work perfectly fine without any errors in my testing. I will test again just to be extra safe.

Probably wouldn’t cause a bug, but it does unnecessarily couple this behaviour to the view requests system
If the view request function suddenly didn’t handle invalid chip owners it would cause a regression here, which is essentially unrelated code
Wire isn’t exactly the poster boy for code quality though so I doubt it’ll be a blocker

Probably wouldn’t cause a bug, but it does unnecessarily couple this behaviour to the view requests system
If the view request function suddenly didn’t handle invalid chip owners it would cause a regression here, which is essentially unrelated code
Wire isn’t exactly the poster boy for code quality though so I doubt it’ll be a blocker

Looks like with my current fix it seems to fix the issue, but generates an error since it tries sending the request. I'll fix this real quick.

Alright, current code should fix the exploit without causing any errors now.


Remove high school parameter

I'd like to hear everyone's opinion of not recording high school. It takes time when filling out the form, and it doesn't add much value to the project cards.
If hackEDU ever has a database of it's members and their respective clubs, we can add the hs parameter back in, and fill it in automatically.

Knowing which clubs our projects are coming from gives us insight into
which clubs are doing things well and which aren't. Does selecting your
school in a dropdown take so much time it has a significant impact on
UX?
On Mon, Mar 16, 2015, at 04:50 AM, Max Wofford wrote:

I'd like to hear everyone's opinion of not recording high school. It takes time when filling out the form, and it doesn't add much value to the project cards.

If hackEDU ever has a database of it's members and their respective clubs, we can add the hs parameter back in, and fill it in automatically.

—
Reply to this email directly or view it on GitHub[https://github.com/hackedu/shipit/issues/36].

I don't know how much impact on UX it has. I guess I don't agree with the way this data is being stored. Each project can only go in one club folder, and new club folders can't be created from shipit. If teams from multiple clubs ship things, they have to submit their projects in only one club folder, which skews our metrics.

Closing due to inactivity.


Build Error

When I try to use Uwp app samples  It occured build error like log
Error   CS0012  The type 'IAsyncOperationWithProgress<,>' is defined in an assembly that is not referenced. You must add a reference to assembly 'Windows, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime'.  AdaptiveStreaming   E:\samplecode\Windows-universal-samples-master\Windows-universal-samples-master\Samples\AdaptiveStreaming\cs\Scenario2.xaml.cs
I just installed visualstudio 2015 enterprise 2015 trial version 14.0.23107.0 D14REL
with latest windows 10 sdk,
When I see   visualstudio 's  References window
It can see   added Universal Windows References collectly, But I don't know why it occurd build failuer
How Can I fix?

Works for me.

What do you use visualstudio version?

same as yours

Is there any way to fix?

Try to fork the repo again, and set the folder security permission for user SYSTEM to full rights.

I've found that doing a "clean" and then rebuilding will sometimes clear this up. My guess is that something went wrong with the original NuGet fetch.

ok perfect

I have the same issue but with another project. Cleaning and rebuilding does not work for me sadly...
Severity	Code	Description	Project	File	Line	Suppression State
Error	CS0012	The type 'IAsyncAction' is defined in an assembly that is not referenced. You must add a reference to assembly 'Windows, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime'.	WebServerTask	C:\Users\JM\Downloads\samples-develop\samples-develop\App2App WebServer\WebServerApp\WebServerTask\BackgroundTask.cs	59	Active

I have the same error as the above. Anyone can help to comment? Thanks.

In my case I did format my computer :(

Looks like a duplicate of https://github.com/Microsoft/Windows-universal-samples/issues/195

same error :(

Some of the older samples reference the 10240 SDK rather than the 10586 SDK. Update the references to 10586, or install the 10240 SDK.

adding a reference to windows.winmd file located at C:\Program Files (x86)\windows kits\10\UnionMetadata\10.0.15063.0\Facade\ solved the problem for me.

DOWNLOAD THE VISUAL STUDIO INSTALLTION EXECUTABLE AND MODIFY THE BUILD
(https://codedocu.com/Details?d=1587&a=9&f=181&l=0&v=d&t=UWP-error:-CS0012-You-must-add-a-refernece-to-assembly-Windows)
check that link it worked for me

adding a reference to windows.winmd file located at C:\Program Files (x86)\windows kits\10\UnionMetadata\10.0.15063.0\Facade\ solved the problem for me.
Actually that resolved the error (CS0012) for me.
Just because I am new to C # programming, could somebody explain why in some computer it is required to add the reference and in other it can compile without it.
Notice that the Visual studio configuration and the SDKs are identical in both computers.
Thanks a lot!


The attribute name in error message should be same with the correct proxy attribute in body

Signed-off-by: Tzvika Avni<EMAIL_ADDRESS>

/ok-to-test

/lgtm


Filling of workflow parameters does not work if cell is containerized again

Fetching the data from the catalog relies on catalog.cells[{n}].node_id = catalog.cell[{n}].chart_obj.nodes.{id}.properties.og_node_id. The values in the catalog changes when the cell is containerized. If used in a chart, the value is not updated.
We should rely on a value that doesn’t change. Two options:

rely on cell.task_name (id of the image).

add chart_obj.task_name.nodes.{id}.properties.task_name
what if cell interface changes?

devise deterministic node_id (eg. hash of [title, inputs, outputs, params, deps]?)

This seems to work because we rely on the cell name, not id.


Support Terraria <IP_ADDRESS> + bump nuspec package

Adds support for <IP_ADDRESS> + related maintenance stuff for otapi3 to be on fancy new Terraria, in a hypothetical world.

Branch "h/<IP_ADDRESS>" is not allowed to deploy to CI due to environment protection rules.

This is why I don't believe in protection


[ie/facebook:ads] Fix extractor

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

Update extractor to work with new data structure
Fixes #10701
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Also, please no more force-pushing


Fix build error

Tasks
Uncaught TypeError: Error resolving module specifier “.prisma/client/index-browser”. Relative module specifiers must start with “./”, “../” or “/”.

#607 実装時に発生した模様

[ ] 修正する

Writing the Issue

[ ] Write each task for this issue using checkboxes
[ ] Write all verbal instructions as tasks

Before Working on the Issue

[ ] Assign yourself
[ ] Share your screen on Discord
[ ] Write which issue you are starting on Slack
[ ] Git: Fetch the latest main
[ ] Git: Create a branch with the name of the issue

Pre-PR Checks

[ ] Insure that changes include only what is necessary for this PR
[ ] Implement necessary Unit tests
[ ] Implement necessary E2E tests
[ ] Perform functionality checks

Removing the import of a Prisma enum type fixed the issue.

Somewhere in my code I had import an enum type. This seems to be apparently a Prisma problem.

So, remove any import { Enum } from '@prisma/client'; from your code.

See https://github.com/prisma/prisma/issues/12504

https://stackoverflow.com/questions/71601464/uncaught-typeerror-error-resolving-module-specifier-prisma-client-index-brow

これで解決した。
https://github.com/prisma/prisma/issues/12504#issuecomment-1372632754

こちらの方がシンプル
https://github.com/prisma/prisma/issues/12504#issuecomment-1285883083


Live preview request

VSCode Version:1.5.3
OS Version: windows 8.1

Can you please write extension for live preview in vscode . It's a feature in adobe brackets and i want
to use it in vscode. sometimes i have to  switch to brackets for using that feature.
thanks

VS Code's approach is to delegate specialized functionality to other tools working alongside the editor. I believe https://www.npmjs.com/package/gulp-livereload or something could be used to achieve something like you request.

Hi @er1shivam - I am doing a short user research study on this issue. If you have time tomorrow or Tuesday can you sign up? https://calendly.com/waderyan/try-vscode


Regression in stacked bar plots with x as datetime

ALL software version info
hvplot           : 0.10.0
holoviews        : 1.19.0
bokeh            : 3.4.2
python           : 3.12.4

# jupyter
IPython          : 8.26.0
ipykernel        : 6.29.5
ipywidgets       : 8.1.3
jupyter_client   : 8.6.2
jupyter_core     : 5.7.2
jupyter_server   : 2.14.1
jupyterlab       : 4.2.2
nbclient         : 0.10.0
nbconvert        : 7.16.4
nbformat         : 5.10.4
notebook         : 7.2.1
qtconsole        : not installed
traitlets        : 5.14.3

Description of expected behavior and the observed behavior
Stacked bar plot with x as datetime worked in previous versions of hvplot, but no longer seems to render properly:

Complete, minimal, self-contained example code that reproduces the issue
import pandas as pd
import hvplot.pandas

plot_data = pd.read_csv("plot_data.csv", parse_dates=["t"])
plot_data.hvplot.bar(y="sec", x="t", by="func", stacked=True)

plot_data.csv
If you set stacked=False, the plot renders properly:

If you use a string column for x, the plot renders properly:
plot_data.hvplot.bar(y="sec", x="month", by="func", stacked=True)

Guess it's a duplicate of https://github.com/holoviz/holoviews/issues/6288

☝🏻 totally. I'll close this as a dupe.


Result Aggregation Chaining

New Feature
Request Aggregation Call Chaining
Motivation for New Feature
We have the need to retrieve a sorted and paged set of data from one microservice and use the data from this call subsequent calls to other microservices.
E.g.
(This is a hypothetical example to demonstrate the need to chain calls)
For a menu system for a Coffee Shop, we sell both drinks, hard goods, and pre-made items. When we want to display related items for one of the categories, we need to pass the identifiers to the other microservice.
BFF - /api/menus/{menu-id}?sort=name&page=1&size=10
BFF -> Drink Service GET /api/drinks?sort=name&page=1&size=10
BFF -> Hard Goods Service GET /api/hard-goods?relations=1,...,n
Here the BFF has to know the 10 items from the drinks based on the sort order and paging to know which identifiers to use in order to find related products.
Is there a way in Ocelot to have a subsequent call for aggregation be dependent upon data returned from a previous call?
This is almost like "promise chaining" in jscript. I understand reasons to avoid this, but given the business model for my employer, this type of scenario is necessary.
I am trying to determine if we can use Ocelot for this or if we need to write our own aggregation pattern.

Is there a way in Ocelot to have a subsequent call for aggregation be dependent upon data returned from a previous call?

No. There is no way! Practically, but in theory...
The Request Aggregation feature was designed for parallel requests only. You can combine content data of multiple parallel routes into one aggregated response. There is no content data processing and parsing of downstream responses, only combining. In this case there are no dependencies between parallel routes. So, this is parallel workflow execution.
"Subsequent call" means we build sequential workflow with dependencies. It is hard to implement some kind of sequential workflow processor. The clients should care about this sequential workflows.
More about sequentioal workflow problem here: issue 1070 feedback

#1070

Also, there is no way to describe sequential Aggregation/Workflow by ocelot configuration.
Finally,
In theory, implementation of sequential workflow being processed by Ocelot requires your development and enhancement of gateway pipeline. And anyway you will need to implement parsers/extractors to substitute data to other routes.
You can try to build custom Aggregators as BFF solution by implementation of the IDefinedAggregator interface with injection.
Pay attention that parsing logic will be on the gateway side, which is bad because of slowing down the performance of gateway.

Thank you @raman-m
Yes, we are aware of the pros/cons of this approach. We were not seeing that it is possible and I wanted to check to make sure we were not missing something.
Much appreciated.

Duplicate of #1070 !
No good user scenario description.


Entity Framework inheritance and InterfaceType - Query returns null for base types

Is there an existing issue for this?

[X] I have searched the existing issues

Product
Hot Chocolate
Describe the bug
When using EF inheritance and an interface type in HC, and the query returns an entity of the base type, then HC returns null.
(See reproduction steps for a complete example)
Running this query:
query {
  foos(where: {id: {eq: 1}}) { #The entity with id = 1 is of type Foo
    id
    x
  }
}

returns this error to the client:
{
  "errors": [
    {
      "message": "Cannot return null for non-nullable field.",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "foos"
      ],
      "extensions": {
        "code": "HC0018"
      }
    }
  ]
}

Running this query:
query {
  foos(where: {id: {eq: 2}}) { #The entity with id = 2 is of type Bar
    id
    x
  }
}

Succeeds with:
{
  "data": {
    "foos": [
      {
        "id": 2,
        "x": 2
      }
    ]
  }
}

Looking further into debug logs we can see that the compiled query expression for EF becomes:
DbSet<Foo>()
          .Where(_s0 => _s0.Id == __p_0)
          .Select(_s1 => (_s1 is Bar) ? (Foo)new Bar{
              Id = ((Bar)_s1).Id,
              X = ((Bar)_s1).X
          }
           : null)

I.e. it seems to never test for the InterfaceType type? Am I configuring something wrong or is this a bug?
Steps to reproduce

Create a new asp.net core project on .NET 7 using minimal api.
Add this to the .csproj:

<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <TargetFramework>net7.0</TargetFramework>
        <Nullable>enable</Nullable>
        <ImplicitUsings>enable</ImplicitUsings>
    </PropertyGroup>
    <ItemGroup>
      <PackageReference Include="HotChocolate.AspNetCore" Version="12.16.0" />
      <PackageReference Include="HotChocolate.Data.EntityFramework" Version="12.16.0" />
      <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.2" />
      <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.2" />
    </ItemGroup>
</Project>

Add this to Program.cs:

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);

builder.Services
    .AddDbContext<GraphQLDbContext>(o => o
        .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=GraphQLDbContext;Trusted_Connection=True;"));

builder.Services
    .AddGraphQLServer()
    .RegisterDbContext<GraphQLDbContext>()
    .AddQueryType<Query>()
    .AddType<Bar>()
    .AddProjections()
    .AddFiltering();

var app = builder.Build();

var serviceScopeFactory = app.Services.GetRequiredService<IServiceScopeFactory>();
using (var scope = serviceScopeFactory.CreateScope())
using (var ctx = scope.ServiceProvider.GetRequiredService<GraphQLDbContext>())
{
    ctx.Database.EnsureDeleted();
    ctx.Database.EnsureCreated();
    ctx.Foos.Add(new Foo {Id = 1, X = 1});
    ctx.Foos.Add(new Bar {Id = 2, X = 2, Y = 3});
    ctx.SaveChanges();
}

app.MapGet("/", () => "Hello World!");
app.MapGraphQL();
app.Run();

public class GraphQLDbContext : DbContext
{
    protected GraphQLDbContext()
    {
    }

    public GraphQLDbContext(DbContextOptions options) : base(options)
    {
    }

    public DbSet<Foo> Foos => Set<Foo>();

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Foo>().ToTable("Foo");
        modelBuilder.Entity<Bar>().ToTable("Bar");
    }

}

public class Query
{
    [UseProjection]
    [UseFiltering]
    public IEnumerable<Foo> GetFoos(GraphQLDbContext dbContext) => dbContext.Foos;
}

[InterfaceType("Foo")]
public class Foo
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int Id { get; set; }
    public int X { get; set; }
}

public class Bar : Foo
{
    public int Y { get; set; }
}

Run a query that returns all entities or filter the entity with id = 1 (which is a Foo, i.e. the InterfaceType)

Relevant log output
dbug: Microsoft.EntityFrameworkCore.Query[10111]
      Compiling query expression:
      'DbSet<Foo>()
          .Where(_s0 => _s0.Id == __p_0)
          .Select(_s1 => (_s1 is Bar) ?
No response
Version
12.16.0

Here's a full repro of the issue: andagr/hc-issue-5694

@andagr
I think the problem here is that you do not have an ObjectType<Foo> registered.
In GraphQL you cannot return an "interface". You always return implementations. If in your model you can instantiate "Foo" and return it, then you have to register a ObjectType of Foo aswell otherwise you would get an runtime error if you return Foo.
If you register a ObjectType<Foo>, then Foo would be in the list of possible types and would be resolved here correctly:
https://github.com/ChilliCream/graphql-platform/blob/main/src/HotChocolate/Data/src/Data/Projections/SelectionVisitor`1.cs#L114-L115


Add files via upload

Yes, I just replaced the file with another one and have made it to develop
instead of master
On Tue, Oct 4, 2022 at 8:50 AM Fabiana @.***> wrote:

@SahilJatoi744 https://github.com/SahilJatoi744 can you please change
the branch from master to develop.
Also, please have you commit message aligned with the expected format .
(eg. feat: (description), docs: (description))
Also may I ask you to give more details on why this is relevant and what
is this example adding to the repo?
—
Reply to this email directly, view it on GitHub
https://github.com/ydataai/pandas-profiling/pull/1094#issuecomment-1267214183,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVL37ZIIIE2UTJEUHLR6Y3LWBRG3VANCNFSM6AAAAAAQ4WUKI4
.
You are receiving this because you were mentioned.Message ID:
@.***>


chore: use generic task

Related issue
https://github.com/Substra/substra/pull/299
Problem: for the model download, we need to identify the "local train tasks" (ie composite traintuples) to download the model from the right task
I added a filter on the tag for that, may find a better way to do this in the future
Summary
Notes
Please check if the PR fulfills these requirements

[ ] If the feature has an impact on the user experience, the changelog has been updated
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] The commit message follows the conventional commit specification

make test-local works


v1.7 backports 2020-08-28

#12215 -- vagrant: Don't use the NFS device's IP as node IP (@pchaigno)
#12996 -- Upgrade Cilium docs theme version (@Neelajacques)
#12997 -- docs: limit copybutton to content area only (@genbit)
#12989 -- Fix bug where cilium-health reports connectivity failures to stale IPs (@kkourt)

Once this PR is merged, you can update the PR labels via:
$ for pr in 12215 12996 12997 12989; do contrib/backporting/set-labels.py $pr done 1.7; done

test-backport-1.7

k8s tests hit flake #11634
ginkgo tests hit flakes #12994 , #12777 .
All known flakes, can ignore to merge.


[Polkadot] Migrate to sidecar api

Currently we call subscan's API, better to call rpc directly

close it for now: https://paritytech.github.io/substrate-api-sidecar/dist doesn't have transaction api endpoint

close it for now: https://paritytech.github.io/substrate-api-sidecar/dist doesn't have transaction api endpoint


for dep in head2deps.get(head_id): TypeError: 'NoneType' object is not iterable

Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/nel/micro-portraits/microportraits/main.py", line 2, in
main()
File "/home/nel/micro-portraits/microportraits/microportraits.py", line 1394, in main
extract_microportraits(args.inputfile, sys.stdout, args.surface)
File "/home/nel/micro-portraits/microportraits/microportraits.py", line 1367, in extract_microportraits
sentence_level_portraits = extract_sentence_level_portraits(nafobj)
File "/home/nel/micro-portraits/microportraits/microportraits.py", line 1161, in extract_sentence_level_portraits
term_portrait = extract_sentence_portrait(nafobj, term)
File "/home/nel/micro-portraits/microportraits/microportraits.py", line 1048, in extract_sentence_portrait
add_rows_for_description(dep[0],nafobj,head2deps,term_portrait,'property')
File "/home/nel/micro-portraits/microportraits/microportraits.py", line 1014, in add_rows_for_description
for dep in head2deps.get(head_id):
TypeError: 'NoneType' object is not iterable

now with attachment
naf.zip

Fixed: in correct parsers, all coordinators have dependents, but not all parsers are correct. Code now skips step of collecting daughters for coordinators without dependents.


scan return object

The scan endpoint should return a json object with an array of results.
{
result: [{ip:" "}...]
]
This way we can expand on the returned information of needed without needing to rewrite all clients.

Now responds with:
{
  "devices": [
    {
      "host": "<IP_ADDRESS>",
      "port": 80
    },
    {
      "host": "<IP_ADDRESS>",
      "port": 80
    },
    {
      "host": "<IP_ADDRESS>",
      "port": 80
    },
    {
      "host": "<IP_ADDRESS>",
      "port": 80
    },
    {
      "host": "<IP_ADDRESS>",
      "port": 80
    },
    {
      "host": "<IP_ADDRESS>",
      "port": 80
    },
    {
      "host": "<IP_ADDRESS>",
      "port": 80
    }
  ]
}

Documentation was tweaked.


Theme meta being updated?

This is trivial really, but something I noticed after the site was rebuilt recently.
https://themes.gohugo.io/after-dark/
shows old theme ISC license in product card but updated README
https://github.com/comfusion/after-dark/blob/master/theme.toml#L2
shows current theme meta, including updated license to WTFPL

@digitalcraftsman updates the themes at intervals, which is not connected to rebuilds.

I've updated the themes.

Beautiful!


Add Game Referee tests for modern ChiaLisp

Thanks.

Thanks for doing this work.  We're going to add a cl23 test on top of this as well as a standard compile candle based on this code.


next() equivalent for async middleware?

Hi, what is the right way to skip/passthrough the request to the next middleware in an async middleware?
For example:
app.use(async (req, res) => {
  // I wanted to call next() here
})

As stated in https://github.com/kartikk221/hyper-express/blob/master/docs/Middlewares.md you can have two types of middlewares. Synchornous middlewares and asynchronous middlewares. The example you posted above is an asynchronous middleware and for asynchronous middlewares you do NOT need to call next() as the request will continue once your middleware async resolves. So for example:
app.use(async (req, res) => {
  // This will happen first
  await some_operation_1(req);

  // This will happen second
  await some_operation_2(req);

  // Since you have no more code below and this callback resolves, HyperExpress will automatically continue to the next middleware/handler
})


data-layzr-bg is removed in 2.0.0?

Hi there,
I really like your layzr.js. I hope "data-layzr-bg" feature keep in v2.0.0. ;)
Cheers,
S

@samuelsiau it has been removed in v2, mainly because it conflicts with srcset support.  currentSrc doesn't work in Safari or IE10/11, so there's no way to determine the truly "best" source for the background image.
luckily, using the src:after event, you can mimic the behavior. just get the src attribute, and set it as a background image. sample code below:
instance.on('src:after', element => {
  element.style.backgroundImage = `url("${ element.getAttribute('src') }")`
})

Is it just me, or does src:after fire only when a scroll triggers the lazy loading? I have an image in the viewport on load and it doesn't fire, so I can't set the background image with that method.

@cshold assuming youre using the check function to load the images in the initial viewport, it should fire. the check method is the one thats run on scroll - so there should be no difference in its behavior when called manually

Yup, was using:
instance
          .update()           // track initial elements
          .check()            // check initial elements
          .handlers(true)     // bind scroll and resize handlers

Like in your answer to https://github.com/callmecavs/layzr.js/issues/56
Will keep digging and let you know if I can't figure it out. Cheers.

Yep, that's the correct usage. Try the src:before event too. The source should be available in that function before it's been set.


Reload UX is glitchy when I "Add folder to workspace"

https://github.com/coder/vscode-coder/assets/22407953/a87ed812-c6de-4603-b3ae-941e4387e4ac
This only occurs the first time. Once a workspace is established, other folders can be added seamlessly

I suppose VS Code reloads itself when creating a workspace, and then as it reloads it tries to reconnect as well, which fails.  I am not sure why it tries to reconnect when it is reloading anyway, I would guess a bug with the remote SSH plugin, but maybe our plugin somehow causes it?
If https://github.com/microsoft/vscode/issues/72529 lands it would also fix it (by avoiding the reload entirely).


My RigidBody2D with a Camera2D won't move if I rotate it (GDScript)

Godot version
4.0.3.stable
System information
Windows 11, gl_compatibility
Issue description
If I change the rotation_degrees of a RigidBody2D with a Camera2D, it won't move. If there's no Camera2D, the car moves successfully with a rotation.
Steps to reproduce

Add a Camera2D to a RigidBody2D car
Set cam.enabled = true
Use the directionals to move the RigidBody2D

The car rotates depending on pressed directionals

Minimal reproduction project
godot_camrotationbug.zip
Look at src/entities/AutomobileEntity.gd

Change the constant ROTATION_ENABLED at the top to true or false. The car will move if false.

This really isn't a minimal project, can you please create a minimal project that shows the issue?

Oh, but isn't that torque meant for other kind of top-down car games?

If you don't want to mess with that you can just use CharacterBody2D, it seems you're using RigidBody2D in a way it's not meant to
It's for rotating objects, it isn't the torque of an engine, torque is just the rotation equivalent of force (kinda, not really, but kinda)

@AThousandShips Well, I did try using CharacterBody2D, but I've two issues with it:

Friction. You can't slide through ice-like walls unless you check for collisions and their angles. I was able to slide with CharacterBody2D, but had to implement a very limited slide collision check.
Forces. You can't apply forces; you've to tweak the speed manually.

The game I'm trying to mimmick (SharkBite Bay), done in ActionScript 3 by some guy, uses a rigid body from a general relativity library. Also, the car doesn't move like in most common 2D top-down car games. Directionals do not increase/decrease rotation like in other games...

Look at the documentation above to see, you're not supposed to set the rotation every frame as it breaks the simulation, you need to use other means

But I've locked the rotation with ``

No, where are you getting that?

RigidBody2D.lock_rotation

If true, the body cannot rotate. Gravity and forces only apply linear movement.

[How to implement the movement system from SharkBite Bay Adventure?](https://gamedev.stackexchange.com/q/205831/172220)
[Constant rotation tween in Godot 4](https://stackoverflow.com/q/76400925/19692949)

That doesn't say you can change it freely, the following still stands:

Please also keep in mind that physics bodies manage their own transform which overwrites the ones you set.

Neither of those use RigidBody2D, the first uses CharacterBody2D and the later Node2D

I asked these questions before using RigidBody2D. Well, what can I do then? CharacterBody2D is very inflexible, for example... if you hit a wall with a very high speed, the car gets stuck on the wall due to accumulated speed. To fix this I've to manually check if the car collided in a certain angle and reset the speed in that direction, and of course this only works for rectangles. Using RigidBody2D I don't need to worry about this.

Then follow the instructions for how to rotate them, you can't set the rotation of a RigidBody like this, or use the custom integrator for rotation
This is a limitation of this type of body, as documented

I'm not sure changing anything in _integrate_forces will resolve the camera problem. When I remove the camera, the car works. So it's clearly a bug.

Have you tried? Try making a way to rotate the car that follows the proper way of doing things and see if it resolves your problem, as you are, as far as I know, not doing things correctly, and if you are you can't expect it to work correctly

I've played with state.angular_velocity = 1 in _integrate_forces and that doesn't break the camera behaviour and makes the movement work, so it may help, but I'm not entirely sure how I'd create a tweener to work with this.
I was not using Godot's built-in Tween because:

It requires a duration. There's no duration in my case.
It goes either clockwise or counterclockwise wrongly sometimes (e.g. I want to go to target angle through the fatest route: clockwise or counterclockwise).

Aside that, there is one issue with setting state.angular_velocity! Depending on how I move the car, the angle abruptly changes itself even without assigning rigidbody2d.rotation_degrees or rigidbody2d.rotation. Bug?

Use a tweeler to assign the target angle, and use angular velocity to move towards it
But this isn't a help desk, while the camera thing might be a bug, and someone will look into that. But for support questions and help please first turn to the other community channels, this is for bug reporting, I've tried to help you by pointing you in the right direction, but this isn't what this is for.


Moderation

Admins who are also assigned as Moderators can manage members’ reports of problematic posts and comments. We should have a CTA: To be reviewed
This CTA should show a lists of all comments and posts that members have reported and allows the moderator to take action and delete the post or comment.

lets look at this again in the future


Versioned proto-based JSON serialization for Evidence type

I wonder if we really to go this way and add this horrible hack to the codebase.
As far as I can tell there has been difference in the serialized structure of the Evidence proto struct between 0.34, 0.37 and 0.38.
$ cd cometbft
$ git fetch origin
$ git checkout v0.34.x

$ buf breaking --against '.git#branch=v0.37.x' | rg -I evidence
proto/tendermint/abci/types.proto:81:12:Field "4" on message "RequestBeginBlock" changed type from "tendermint.abci.Misbehavior" to "tendermint.abci.Evidence".
proto/tendermint/types/evidence.proto:4:1:File option "go_package" changed from "github.com/cometbft/cometbft/proto/tendermint/types" to "github.com/tendermint/tendermint/proto/tendermint/types".

$ buf breaking --against '.git#branch=v0.38.x' | rg -i evidence                                                                                 99% at 09:35:19
proto/tendermint/types/evidence.proto:4:1:File option "go_package" changed from "github.com/cometbft/cometbft/proto/tendermint/types" to "github.com/tendermint/tendermint/proto/tendermint/types".

As such, I think it should be fine for now to serialize the evidence through use either version of the proto struct and discard this hack altogether.
@mzabaluev What do you think?


Menu-bar broken handling of alt-key, left-arrow, and right-arrow

It's very common behavior on windows to move between menu's with the left and right arrows.  This is and has been standard behavior for Menu's since before Windows 3.1.  We're used to it, and we love it. This is a by-product of re-implementing the menu bar in CSS.
Reproduction:

Press Alt-F
Press the right arrow
(you should now be in the edit window)

Additional key related bug:

Press Alt
(you should now have the file menu selected but not open)
Press F
(File menu should now be open)

There are several other quibbles.
1. The color of the popup menus should match the menu-bar color (not be white!)
2. The selection color of the menu is wrong.  It doesn't use the theme.
This is a superset of the Linux bug 'Enable jumping between menus using left-right arrow keys #5998'

Is the expected behavior different between Linux and Windows? If not, then this should be merged with #5998.

This is a duplicate of #5998 and #4057. You may want to subscribe in both locations for updates.


docs: Upload Jupyter Notebook SRS Document .md file

Description
Pull Request to upload Jupyter Notebook SRS Document to company files.
Fixes # (issue)
Nil
Type of change

[X] Documentation (update or new)

How Has This Been Tested?
N/A
Testing Checklist:
N/A
Checklist:
N/A

SRS Document for Jupyter Notebook Project Prototype merged successfully


Add a Firestore composite index for Event

What this PR does / why we need it:
WebAPI.ListEvent lately added requires this composite index.
Which issue(s) this PR fixes:
Ref https://github.com/pipe-cd/pipecd/issues/2611
Does this PR introduce a user-facing change?:

NONE

I guess we also need to update the indexes for MySQL.

@nghialv You're right. For debugging, this is needed as soon as possible. So let me address it as a separate PR 🙏

Sure.
/approve


Staticman Instance gives 'Internal Server Error'

I tried hosting my own instance of Staticman on Heroku. I cloned the repo, added the Github access token, Private RSA Key and hosted it as heroku app.
It's currently being run at https://staticmanaima.herokuapp.com
When I visit the site, it gave 'Hello from Staticman version 3.0.0!
Then I added the account from which I had taken the GitHub access token and added it in collaborators of my main repo but when I try to connect it through
https://staticmanaima.herokuapp.com/v2/connect/sachin10101998/aima-exercises/ it gives 'Internal Server Error'
Has someone faced this issue before? Any help would be greatly appreciated.

Hi, it would be better if you provide more info about your instance.

What was the commit at which Staticman was deployed?  Different versions of Staticman can behave differently, so it's better to make it clear.
It seems that you're using v2, so what is the associated GitHub bot?  We can't see it from the collaborators of your aforementioned GitHub repo.  When we try to reproduce this error, we need to invite your bot as a collaborator, so it's important that you provide us the user name of your bot.
Are you aware of https://github.com/eduardoboucas/staticman/issues/283, in which users report some broken legacy features?  https://github.com/eduardoboucas/staticman/pull/285 might solve your problem.
Have you added support for Akismet and/or Mailgun?  It would be better for us to know that for replicating the error.

@VincentTam

I haven't added staticman.yml files to my repo yet. I use staticman v2. I cloned the Staticman repo, set up the config.development.json file and pushed it to heroku by adding github access token from @staticmanaima github account.
I invited @statimanaima from my main account as collaborator and tried to accept the invite by visiting that url which I mentioned in the first place i.e https://staticmanaima.herokuapp.com/v2/connect/sachin10101998/aima-exercises/
#285 hasn't been merged. should I make these changes in my clone to make it work?
No, I havn't added that.

Thanks for your response.  For my first question, I mean, the Git SHA1 hash of the HEAD of your remote branch heroku/master.  For example, my bot @staticmanlab was at 8eb6c32 last week.  Others can compare this with the HEAD of the dev branch: https://github.com/eduardoboucas/staticman/compare/dev..VincentTam:deploy, so that we know which version you are using, and what you have modified.

I believe I have something misconfigured. When I tried to add staticmanlab as a collaborator and accepted the invite using https://usinginstanceurl/v2/connect/my-username/myrepo , It worked perfectly returning an OK.
Issuing the above stated command gave me this bec497b18e89d769eba0c204be120501df27eaac

Your bot @staticmanaima takes the role of "developer" in each project to which it has write access.  It shouldn't own any project.  That's why we need these API token to restrict the bot's access.  I should have asked for the output of
git diff upstream/dev..heroku/master

instead.  The upstream here means this repo: https://github.com/eduardoboucas/staticman.git.  You may change it to origin if you've directly cloned it.  Anyways, my question is what exactly you've changed.  Note that the SHA1 hash bec497b1 above doesn't match any commits in this repo and in your fork.

I had read your first reply slowly, now I've almost got it.  You've edited config.development.json, so what exactly is this file?  As a non-developer, I spent several days to get right the API config with Heroku last year.  I've never succeeded with NODE_ENV: development.  I always deploy to Heroku with production instead.  Anyways, it would be clearer if you provide us the exact technical details.

I made another instance of staticman and made the following changes:

Created a Procfile with web: npm start inside it.
Created a config.production.json file with the following contents.
{
"gitlabToken": process.env.GITLAB_TOKEN,
"githubToken": process.env.GITHUB_TOKEN,
"rsaPrivateKey": JSON.stringify(process.env.RSA_PRIVATE_KEY)
}
Added !config.production.json to gitignore file
Created a private RSA key for use with the API: openssl genrsa -out key.pem and then set heroku config variables.
$heroku config:set NODE_ENV="production"
$heroku config:set RSA_PRIVATE_KEY="$(cat key.pem)"
$heroku config:set GITHUB_TOKEN="My Token"
Then i just heroku create new app and pushed it there.
I made no changes in the staticman-key.pub file and it's same as it is in the original Staticman repo.

OK.  I got it finally from your repo.  My mind blocked me.  You're working on top of 4e2f33b.  After #243, it's reported that legacy authentication has broken in #283.  You may try #285 to rollback Staticman v3's use of GitHub App.

Is there any other way around?
If not, how do I Merge a pr which hasn't been merged upstream as in this case #285 in my fork of the repo.

See the first two commands in this Stack Overflow answer: https://stackoverflow.com/a/28954238/3184351
Git, designed by Linus Torvalds, is a tool for testing stuff, so it's sensible to learn how to git merge new stuff that hasn't been merged into the official repo.

Am still unable to get it running.
What changes do I need to make in staticman-key.pub file?

What changes do I need to make in staticman-key.pub file?

That file is irrelevant.  I've tested that myself with my instance.  It seems that 4eb5ce28b5e3f10371ea80381d280d711345f44b is breaking the legacy support.

How come @staticmanlab is not affected by it and is running perfectly?

staticman-key.pub is for display only.  It doesn't affect the functioning of the app.  Btw, the README is incorrect due to #256.

No, I meant that if you try to build a staticmanlab2 version , will #283 cause problems?

I dunno. I've chosen PR 231, which doesn't work with 4eb5ce2 or 9ce2c482fd39cb174b7d6c06560ae1c540d926a0.  So I won't merge PR 283.  You may test and tell us the results.

This is too confusing. Can you finally tell what Staticman should I clone (yours or eduardoboucas?) and where exactly is your heroku code branch deploy as you mentioned above. I couldn't find it anywhere.

This is too confusing. Can you finally tell what Staticman should I clone (yours or eduardoboucas?) and where exactly is your heroku code branch deploy as you mentioned above. I couldn't find it anywhere.

There're no obligations, just suggestions based on hours of testing as an amateur.  I'll keep using Git references (e.g. branch names, commit hash) to make things clear.  My deploy branch is based on 55d14306d851059a2a27d24b5eb4cb17c5009477 due to the reason in my previous comment.  Here's the link to
deploy.  I've tried incorporating #289 without the "rollback", so as to solve #90, but I didn't push that to GitHub.  You can see from the commit history of that branch that I've merged #231.  As the name "Staticman Lab" suggests, it's supposed to be a laboratory for testing new, often unmerged, features/PR's.
I'm not including recent commits on this repo's dev/master branches, which are using #243.  The reason is two-folded. First, Staticman is for open source lovers.  Some of them (like me) would like to see this app to rely only (at least, in principle) on open-source technology.  GitHub Apps are not in line with this pursuit.  Second, every API has its limits.  When everyone uses the same instance, then issue #222 is likely to resurface.  The adoption of GitHub Apps doesn't really solve the "too many requests" and "invitation not found" problems, as you can see from #279.
Another reason for using alternative API instances is issue #83.  I quote the project owner's response for your reference.

Our implementation of Akismet needs some work done. It's currently set to use whatever key is supplied in the Staticman API, which means one single Akismet account is used to filter spam on all sites. Akismet accounts have usage limits, so I believe it's disabled completely in the public Staticman instance.
We could take the same approach we used with reCAPTCHA and allow each site to supply their own Akismet API key, now that we support encryption.

This suggestion has been proposed in unmerged PR #195.  You may see #298 for the possible impact after invitating a Staticman bot without reCAPTCHA setup.  GitHub Apps don't prevent this problem.
You're right that things might seem confusing.  Now, the official docs can't keep up with v3, and docs requests like #291 and #293 are inactive because it's a moving target.  People are writing their own versions of guides, like

Data Science Blog
zcrc.me
Minimal Mistake's Staticman v3 guide
Staticman nested comments + email notifications

As a non developer, I started by understanding the basic ideas (without looking the code, since I don't know Node.JS), then testing PR's, searching for errors and asking for help.  That's why I've built up demo deploy branches on GitHub and on Framagit, as well as Hugo/Jekyll demo sites, for newcomers to test/fork/clone.
When compared to Gitalk, Isso, Disqus, etc, the setup is more involved.  On the other hand, Staticman offers a greater flexibility since Staticman is independent of blog generators (c.f. https://github.com/eduardoboucas/staticman/issues/264#issuecomment-460446511), so you may customise your UI, and more importantly, own your comments.

Update: I've unmerged PR231, and tried merging 9ce2c482fd39cb174b7d6c06560ae1c540d926a0 in my instance for Framagit to avoid disrupting @staticmanlab's service.

moderation
true
false

GitHub
:x:
:v:

GitLab
:v:
:v:

When moderation: true on GitHub, I got
{
  "success":false,
  "rawError":{"_smErrorCode":"GITHUB_CREATING_PR"},
  "errorCode":"GITHUB_CREATING_PR"
}

Need to give #288 a try.

Please do not change anything in @staticmanlab as for now. I am bit occupied with figuring out the working of staticman after the private instance is running (which I am currently using yours). I'll get back to this issue in a day or two.

Please do not change anything in @staticmanlab as for now. I am bit occupied with figuring out the working of staticman after the private instance is running (which I am currently using yours). I'll get back to this issue in a day or two.

Both my instances for Framagit and GitLab are associated to @staticmanlab, so yes for the more popular one (later), and no for the less popular one, which I'll use for testing.  In this case, the service of the bot will be reassured.  In any case, they're supposed to be used for testing, and are hosted on free Heroku dyno.  After 1000 hours, my free monthly hours will be used up, but that should be enough for @staticmanaima.

If I give you another Heroku account and a Github Bot account, could you make a copy of @staticmanlab for me?

If I give you another Heroku account and a Github Bot account, could you make a copy of @staticmanlab for me?

Please don't do so.  I've recently read the terms of service due to issue #298.  Lemme find the relevant terms.

B. Account Terms
1. Account Controls

Users. Subject to these Terms, you retain ultimate administrative control over your User Account and the Content within it.

3. Account Requirements
We have a few simple rules for User Accounts on GitHub's Service.

If you don't mind the webhook problem mentioned in #288, try that PR, and make the necessary modifications according to the self-host API guide on Data Science Blog (see the link above). (You can avoid errors by manually deleted merged branches by clicking the button on the PR page after the merge.  That's just one more click per PR.  One already clicks a button for merging.)  Otherwise, you may base your modifications on #219.

Alright, give me a day or two and I'll do that.
I'll get back to you real soon.

I cloned Staticman from your deploy branch and everything is working perfectly now. @staticmanaima is working great now. Thanks for your help. Closing this issue now.

@sachin10101998 You may consider merging

9ce2c482fd39cb174b7d6c06560ae1c540d926a0 to include fixes for deprecated GitHub API methods
#301 to fix #90: compare @staticmanlab's merge request body before merging this PR
https://gitlab.com/pcercuei/pcercuei.gitlab.io/merge_requests/123
with the result after
https://gitlab.com/pcercuei/pcercuei.gitlab.io/merge_requests/144

Octokit/Rest part is already taken care of when I cloned it from your deploy I guess.
Everything is working fine now, so I don't want to experiment/test more as I have a deadline for my project. After the project is over, I'd certainly look forward to merging these changes or if anything breaks before it.

Hi @VincentTam I tried deploying your staticman instance to heroku. I succesfully set up everything but when i post a comment on my website, it returns a error 500 - Internal server error which says time out or duplicate. Any leads on this?
The repositiory is https://github.com/sealedhermit/sealedhermit.github.io. The site is live at https://sealedhermit.github.io. It would be of great help if you can point me in a right direction. I have been on this for weeks now.

Nevermind. I figured that out. Everything works well now. Thank you.

Nevermind. I figured that out. Everything works well now. Thank you.

Out of curiosity, what was it? I think is a good idea to share it even if you solved it by yourself, in case someone else might be stepping on a similar kind of issue.


支持非安全连接和IP地址么，感觉小规模私有化部署这些要求有时候可能并不需要

you may try to deploy it that way. however browsers require SSL connections. that's not a LiveKit requirement.

非常感谢，这对我很有帮助


Documentation error: list_all() seems to be list() now.

The page here suggests that you can use Device::list_all() but when you look at the documentation for device you see that it is list() instead.

Feel free to submit a PR to fix this and the other documentation error you spotted. If not I'll get around to it over the weekend hopefully.

No problem. PR should be coming this way tomorrow.

Quick question: I forked your documentation repo and am editing the HTML manually. I have a feeling there is a better/right way of changing it. If the manual way is OK, then I'll send the pull request.

Oh! All of the documentation is generated using cargo doc and so it resides with pcap's source code.
https://github.com/ebfull/pcap/blob/master/src/lib.rs#L17

Ah OK. Thanks, still learning.

https://github.com/ebfull/pcap/pull/33


Support for native template tag

Today I found nice tag useful for this kind of libraries. The template tag is great, that it won't parse it's contents. And it probably could be optimalized by browsers since it is suppose to be template, to be copied and reused.
Sorry if it support is done already, I couldn't find it in doc...

@Akxe could you please elaborate how would you like AngularJS to support the <template> tag? " nice tag useful for this kind of libraries" is a bit vague...

Well there should be support for that (possibility to use this) and I fought that it should be in the angularjs docs.

@Akxe I'm sorry, but I really don't understand what you mean by "should be support for that (possibility to use this)". How would you like to use the <template> tag in your code? How would you expect AngularJS to handle it?

As the specs says. It would use it to clone content parse it and add it to DOM.

As http://www.html5rocks.com/en/tutorials/webcomponents/template/ says : " Security issues - encourages the use of .innerHTML. Run-time string parsing of user-supplied data can easily lead to XSS vulnerabilities."

@Akxe I hope you've played already with the current version of AngularJS and you understand that it is special kind of animal when it comes to handling DOM - and the process is definitively not as simple as "parse it and add it to DOM" - rather AngularJS uses its own way of processing templates with the $compile service. So I'm not sure how a <template> tag would play here. At the end of a day the <template> tag itself is just a way of keeping an inert DOM in the document itself. It could be used to hold templates but how those templates are processed is completely up to the framework.
The only thing that comes close to the <template> tag in the current version of AngularJS is https://docs.angularjs.org/api/ng/directive/script
Now, I don't think there is anything actionable here in 1.x - Angular2 that is cooking here is going to use <template> tags, but then again, this tag is just a container.
The last thing - I'm not sure why you bringing "Run-time string parsing" and XSS issues here as in AngularJS templates are parsed to the DOM by a browser. If you are aware of any security holes in the current implementation please share them using this address<EMAIL_ADDRESS>Going to close this one as I'm not sure there is anything actionable here.

@Akxe the use of <template> was discussed several times. In all cases, the conclusion was:

IE does not support it (as a template tag, it does as a custom tag)
We will need to support both mechanisms anyhow
We end up with two ways to do the same thing

This leaned most to think that the time is not right for <template> in 1.x, at least not now. As @pkozlowski-opensource wrote, Angular 2 is taking a fresh look at this problem and they are implementing templates using <template>


Add pkgconfig results to LDFLAGS

Without this patch, the linker doesn't find -lprotobuf when protobuf
is installed to a location that is not on the linker's default search
path.
How to reproduce:

install protobuf 3 to non-standard location
sudo apt-get install -qq -y autoconf automake libtool curl make g++ unzip
git clone https://github.com/google/protobuf.git
cd protobuf
./autogen.sh
mkdir -p $HOME/install
./configure --prefix=$HOME/install
make
make install  # no sudo required for installing to home dir

set up environment variables properly
export PATH=$HOME/install/bin:$PATH
export CMAKE_PREFIX_PATH=$HOME/install:$CMAKE_PREFIX_PATH
export CPATH=$HOME/install:$CPATH
export LD_LIBRARY_PATH=$HOME/install/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$HOME/install/lib/pkgconfig:$PKG_CONFIG_PATH

try to build grpc normally
git clone https://github.com/grpc/grpc.git
cd grpc
git submodule update --init
V=1 make

Without this patch, the build fails:
echo " HAS_PKG_CONFIG = true, HAS_SYSTEM_OPENSSL_NPN = true, HAS_SYSTEM_ZLIB = true, HAS_SYSTEM_PROTOBUF = true, HAS_PROTOC = true, HAS_VALID_PROTOC = true," | tr , '\n' >cache.mk
mkdir -p `dirname /home/martin/odil/src/grpc/bins/opt/grpc_cpp_plugin`
c++ -g  -fPIC -Llibs/opt -pthread    /home/martin/odil/src/grpc/objs/opt/src/compiler/cpp_plugin.o /home/martin/odil/src/grpc/libs/opt/libgrpc_plugin_support.a  -lprotoc -lprotobuf -ldl -lrt -lm -lpthread -lz -lprotoc -lprotobuf -o /home/martin/odil/src/grpc/bins/opt/grpc_cpp_plugin
/usr/bin/ld: cannot find -lprotoc
collect2: error: ld returned 1 exit status
make: *** [/home/martin/odil/src/grpc/bins/opt/grpc_cpp_plugin] Error 1

The bug is both present at current master and v1.0.0.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

I signed it!

Woops! Thanks!

This is ok to test.

Any news on this? As far as I can see, there are no regressions caused by this PR (the test failures seem to be unrelated errors). I've followed the same pattern as how it's done for openssl in the Makefile, BTW.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

This patch fixes my current problem. Any chance this can be merged soon?

Thank you for your pull request. Before we can look at your contribution, we need to ensure all contributors are covered by a Contributor License Agreement.
After the following items are addressed, please respond with a new comment here, and the automated system will re-verify.

User @mintar isn't covered by a CLA. They will need to complete the form at https://identity.linuxfoundation.org/projects/cncf

Regards,
CLA GitHub bot

Hi @mintar : Are you still interested in having this merged? Can you sign the updated CLA?
@nicolasnoble : do you want to continue this review?

Sure. I've just signed the CLA again.


Efficient binary SST file format

At some point we need a more efficient binary SST file format.

After this is in place we will want:

cmd tool to convert to/from this format, so we can easily read file contents for debugging
corresponding sparse index file for each SST to allow reads without having to read whole file into memory (though we will want some kind of caching file)

Some notes, need to edit this a bit:

SST file contains header, entries
header contains sequence number, possibly CRC, anything else?
entry contains key length, key contents, data length, data contents, deleted flag

data can be set to 0 length as an optimization when it is deleted

all length and seq number fields defined as 64-bit integers. or lower for length??
can use single byte for deleted flag
separate manifest, index files

manifest could contain header information, possibly indicate if a file is scheduled for deletion
index file contains sparse set of keys and their location within the file

compress SST file on disk for additional savings (?)
will want cmd tools for dealing with binary data.

at a minimum want a tool to convert from a binary to text (json?) format to inspect data
if we are going to do that it would be handy to have a converter from that text format back to binary, to allow any changes to be made in a straightforward way

An additional optimization is to gzip every segment of the SST file. That is, the values between one sparse index and another.  Can then read the whole block into memory, decompress, and cache it. Saves I/O and space on disk.


⚠ ClamAV has degraded performance

In 3130035, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 178 ms

Resolved: ClamAV performance has improved in 76c1309.


Error when claiming a plot

[x] This issue isn't duplicated - you can check if it is by using the search bar located at the top left hand corner and select "Issues" on the left.
[x] This issue includes appropriate markdown for sections - e.g. code blocks for crash dumps.
[x] This issue is understandable - feel free to use your native language to write issues if you are not comfortable with English.

Issue description
Error when claiming a plot.

Reproducing the issue

run command /p claim
...

Client information
PocketMine-MP Version: PocketMine-MP 1.7dev-146 「[REDACTED]」 implementing API version 3.0.0-ALPHA9 for Minecraft: PE v<IP_ADDRESS>
Plugin Version: MyPlot v1.2.2
PHP version: 7.2

Optional information
[05:31:30] [Server thread/CRITICAL]: Unhandled exception executing command 'p claim' in plot: Return value of MyPlot\MyPlot::getEconomyProvider() must be an instance of MyPlot\provider\EconomyProvider, null returned
[05:31:30] [Server thread/CRITICAL]: TypeError: "Return value of MyPlot\MyPlot::getEconomyProvider() must be an instance of MyPlot\provider\EconomyProvider, null returned" (EXCEPTION) in "MyPlot.phar/src/MyPlot/MyPlot" at line 78

What economy are you attempting to use?

I'm not trying to use economy.
I have economy disabled
UseEconomy: false

What settings do you have in your config?

#########################################
___  ___       ______  _         _
|  /  |       | ___ | |       | |
| .  . | _   _ | |/ /| |  ___  | |
| |/| || | | ||  __/ | | / _ \ | __|
| |  | || || || |    | || () || |_
_|  |/ _, |_|    || ___/  _|
__/ |
|___/
#########################################
The language that should be used in MyPlot
Available languages: eng, nl, vi, spa, chs, zho, deu, cze

English language pack by @jasonwynn10
Dutch language pack by @Wies
Vietnamese language pack by @daany123
Spanish language pack by @thelucyclub
Chinese ( ROC ) pack by @jerryzooyoyo
Chinese ( PRC ) pack by @jerryzooyoyo
German language pack by @morpheusTP and @SalmonGER
Czech lanauge pack by @GamakCZ
language: eng
The data provider where plot data is stored.
Current providers are: sqlite, mysql, json, and yaml.
DataProvider: sqlite
contains settings for mysql provider to use when selected
MySQLSettings:
Host: <IP_ADDRESS>
Port: 3306
Username: default
Password: password
DatabaseName: MyPlot
Use an economy with MyPlot. This will allow for plot pricing such as claiming, clearing, etc.
Currently supported economy plugins: Economy$, PocketMoney
MyPlot will use any economy plugin found on the server.
Be sure not to use more than 1 economy plugin!
UseEconomy: false
Amount of plots to be cached.
Increasing this number will improve performance, but also increase memory usage.
PlotCacheSize: 256
When a player enters a plot, a popup with basic info will be shown
ShowPlotPopup: true
Amount of blocks to reset per tick.
Increasing this number will speed up '/p clear' and '/p reset' but also increases lag
ClearBlocksPerTick: 256
These settings will be used when creating a new world with the default generator.
DefaultWorld:
Restrict entities (e.g. tnt) from moving except falling
This will prevent things like tnt cannons from ruining other plots
RestrictEntityMovement: true
Update liquids (e.g. Water) from updating and moving
This will allows things like water to lag the server in plot worlds
UpdatePlotLiquids: false
How much it costs to claim a plot (Economy must be set to 'true')
ClaimPrice: 0
How much it costs to clear a plot (Economy must be set to 'true')
ClearPrice: 0
How much it costs to dispose a plot (Economy must be set to 'true')
DisposePrice: 0
How much it costs to reset a plot (Economy must be set to 'true')
ResetPrice: 0
The size of a plot
PlotSize: 75
The height of a plot
GroundHeight: 20
The width of the road
RoadWidth: 7
The block that the road is made of (Default is Oak Planks)
RoadBlock: '5:0'
The block that plot walls are made of (Default is Stone Slabs)
WallBlock: '44:0'
The block used as the plot floor (Default is Grass)
PlotFloorBlock: '2:0'
The block that fills the rest of the plot (Default is Dirt)
PlotFillBlock: '3:0'
The block at the bottom (Default is Bedrock)
BottomBlock: '7:0'

Also, what shows in the console when debug mode is enabled

2017-10-03 [15:34:34] [Server thread/CRITICAL]: Unhandled exception executing command 'p claim' in plot: Return value of MyPlot\MyPlot::getMaxPlotsOfPlayer() must be of the type integer, string returned
2017-10-03 [15:34:34] [Server thread/CRITICAL]: TypeError: "Return value of MyPlot\MyPlot::getMaxPlotsOfPlayer() must be of the type integer, string returned" (EXCEPTION) in "MyPlot.phar/src/MyPlot/MyPlot" at line 397
2017-10-03 [15:34:34] [Server thread/DEBUG]: #0 MyPlot.phar/src/MyPlot/subcommand/ClaimSubCommand(44): MyPlot\MyPlot->getMaxPlotsOfPlayer(pocketmine\Player object)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #1 MyPlot.phar/src/MyPlot/Commands(119): MyPlot\subcommand\ClaimSubCommand->execute(pocketmine\Player object, array Array())
2017-10-03 [15:34:34] [Server thread/DEBUG]: #2 src/pocketmine/command/SimpleCommandMap(241): MyPlot\Commands->execute(pocketmine\Player object, string p, array Array())
2017-10-03 [15:34:34] [Server thread/DEBUG]: #3 src/pocketmine/Server(1971): pocketmine\command\SimpleCommandMap->dispatch(pocketmine\Player object, string p claim)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #4 src/pocketmine/Player(2181): pocketmine\Server->dispatchCommand(pocketmine\Player object, string p claim)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #5 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(219): pocketmine\Player->chat(string /p claim)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #6 src/pocketmine/network/mcpe/protocol/CommandRequestPacket(47): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleCommandRequest(pocketmine\network\mcpe\protocol\CommandRequestPacket object)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #7 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(91): pocketmine\network\mcpe\protocol\CommandRequestPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #8 src/pocketmine/network/mcpe/protocol/BatchPacket(115): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\CommandRequestPacket object)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(91): pocketmine\network\mcpe\protocol\BatchPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #10 src/pocketmine/Player(3054): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/RakLibInterface(143): pocketmine\Player->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #12 src/raklib/server/ServerHandler(97): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string <IP_ADDRESS>:60959, raklib\protocol\EncapsulatedPacket object, integer 0)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #13 src/pocketmine/network/mcpe/RakLibInterface(82): raklib\server\ServerHandler->handlePacket()
2017-10-03 [15:34:34] [Server thread/DEBUG]: #14 src/pocketmine/network/Network(89): pocketmine\network\mcpe\RakLibInterface->process()
2017-10-03 [15:34:34] [Server thread/DEBUG]: #15 src/pocketmine/Server(2503): pocketmine\network\Network->processInterfaces()
2017-10-03 [15:34:34] [Server thread/DEBUG]: #16 src/pocketmine/Server(2257): pocketmine\Server->tick()
2017-10-03 [15:34:34] [Server thread/DEBUG]: #17 src/pocketmine/Server(2136): pocketmine\Server->tickProcessor()
2017-10-03 [15:34:34] [Server thread/DEBUG]: #18 src/pocketmine/Server(1718): pocketmine\Server->start()
2017-10-03 [15:34:34] [Server thread/DEBUG]: #19 src/pocketmine/PocketMine(556): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string phar://C:/Users/Mark/Desktop/Testing PM v1.2 - Copy/PocketMine-MP.phar/, string C:\Users\Mark\Desktop\Testing PM v1.2 - Copy, string C:\Users\Mark\Desktop\Testing PM v1.2 - Copy\plugins)
2017-10-03 [15:34:34] [Server thread/DEBUG]: #20 C:/Users/Mark/Desktop/Testing PM v1.2 - Copy/PocketMine-MP.phar(1): require(string phar://C:/Users/Mark/Desktop/Testing PM v1.2 - Copy/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

In your first poet, you didn’t say which git commit of the repo you were using. Please provide that information

BC-Breaks
I think it's the only Alpha9 commit ATM.

Don't use that branch. If you want a working version I will update API3 now

@NML32 please make sure you remove usernames and passwords before posting - removed them for safety now.

@thebigsmileXD The username and password do not need hidden due to SQLite being used rather than MySQL. Also, the database IP would be unknown, so the username and password data are useless for people anyway.

@jasonwynn10 One could easily guess the IP by the user profile. SQLite can also be accessed from outside, there is no difficulty on that. Due to having local host as IP, I know: IP probably findable via his profile, probably main server. But you are right. PM Plugins do not have security anyways, any plugin can access any plugin's data anyways.


replace docker with podman in build and serve script

closes #100

CI builds without errors (see https://github.com/capsulecorplab/papra/actions/runs/3888801819) and publishes to GitHub pages on my forked repo https://capsulecorplab.github.io/papra/


Add a title

Add a description, then create pull request

This and #3 were created while making a guide on making pull requests


Add yield curve data example.

Please add a section in the demo tree/database that would demonstrate how to properly return yield curve data back to Macrobond.

By tagging the time series with the metadata RateMethod={simple, effective} and either MaturityDate (time stamp) or MaturityDays (integer), the Yield curve analysis in the Macrobond application can automatically use this information when creating a yield curve.
Is it that you want to accomplish?

Yes, thanks you. Can Macrobond display 3d surfaces?

We will look into adding a case where this metadata is included.

Unfortunately there is no support to draw 3D surfaces. You can include several yield curves as lines, but not as surfaces.


Upgrade to Chromium 85.0.4183.102

Addresses #1179. I will let you know once I have a successful build.

My build succeeded; feel free to merge.

Builds and runs fine on my end!

Tried changing network connectivity, no issues ;)


add BLAS backends for basic arithmetic

This is a port of PR #126 by @shamazmazum and is largely written by
him.

Could you add @shamazshamazum as Co-authored-by:  for posterity

I can try.
Also there's more code slosh here to get some of the MAGICL functionality backend-capable. Over time the code slosh will decrease.

@notmgsk done;
Even though the co-author is done, I'd still like actual review.

Speed-ups are still tangible:
;;; Timing #<FUNCTION (LABELS TEST-SQRT :IN TEST-IT) {100586726B}>
Time for backend LISP: 0.076001 seconds

;;; Timing #<FUNCTION (LABELS TEST-PLUS :IN TEST-IT) {100586728B}>
Time for backend LISP: 12.76011 seconds
Time for backend BLAS: 0.224002 seconds

;;; Timing #<FUNCTION (LABELS TEST-SCALE :IN TEST-IT) {10058672AB}>
Time for backend LISP: 9.14408 seconds

;;; Timing #<FUNCTION (LABELS TEST-TIMES :IN TEST-IT) {10058672CB}>
Time for backend LISP: 12.824107 seconds
Time for backend BLAS: 0.196001 seconds

This uses the code
(defun test-it ()
  (let ((a (rand '(100 100)))
        (b (rand '(1000 1000)))
        (c (rand '(1000 1000))))
    (labels ((test-sqrt ()
               (loop :repeat 100
                     :do (map #'sqrt a)))
             (test-plus ()
               (loop :repeat 100
                     :do (.+ b c)))
             (test-scale ()
               (loop :repeat 100
                     :do (scale b 2.0d0)))
             (test-times ()
               (loop :repeat 100
                     :do (.* b c))))
      (time-backends #'test-sqrt)
      (time-backends #'test-plus)
      (time-backends #'test-scale)
      (time-backends #'test-times))))

Thanks @shamazmazum !

Thanks @stylewarning! :)


Update version of code-coverage

Targets code-coverage version of 0.1.13 which uses node 16. This is necessary in order to update @grafana/ dependencies
See https://github.com/grafana/code-coverage/pull/21

You can delete the yarn-error.log file and then merge this 😊

oops!


parserTypeName inconsistencies between fuzzy and new frontend

While working through the Joern quickstart guide using a CPG generated by c2cpg, I noticed the following inconsistency in the parserTypeName for ControlStructure nodes:

Old
New (C)
New (C++)

IfStatement
CASTIfStatement
CPPASTIfStatement

WhileStatement
CASTWhileStatement
CPPASTWhileStatement

There may very well be more such cases, but these are the only ones I've encountered so far.

Closing in favour of https://github.com/ShiftLeftSecurity/codepropertygraph/issues/1343.


Can't able to change Text Color in RichText Markdown

Recently I have been working on my project and have to use markdown for my Android project and come across your Library.
The issue I faced when I turn my device in dark mode. Can you please solve this ASAP or provide me the documentation for that.

Did you try wrapping the BasicRichText in RichTextThemeProvider? Something like below?
RichTextThemeProvider(
    textStyleProvider = {
        LocalTextStyle.current.copy(
            color = colorResource(id = <your color resource id>),
        )
    },
) {
    BasicRichText {
        Markdown(
            content = <markdown content>
        )
    }
}


new block-based prime sieve benchmark

New benchmark: mpl/bench/primes-blocked/
It uses a modified algorithm of the existing prime sieve. The new algorithm computes the sieve in a block-based manner, which has significantly better locality at the expense of a small loss in span.
The new algorithm is much faster (about 4x), although this could be partially due to compilation differences. (We've noticed in the past that the old primes algorithm seems to suffer from inefficient codegen.)
For the new algorithm, the high-level idea is: break the output of the sieve into blocks, and compute each block independently (in parallel across the blocks and sequentially within blocks). To compute a block, we loop through all primes up to sqrt(n) and mark multiples of those primes that fall within the block range.
Note that each block needs to loop through all primes up to sqrt(n). If there were too many blocks, then the algorithm would not be work-efficient. So, to ensure work-efficiency, we use at most sqrt(n) blocks. (Technically it's possible to use more blocks, e.g. as many as O(sqrt(n) * log(n)), because there are O(sqrt(n) / log(n)) primes less than sqrt(n). But sqrt(n) blocks is plenty in terms of potential parallelism.)

Ah, looks like I reinvented the wheel! I think this algorithm is known as "segmented sieve". Cool.


Device with product ID 7 not yet supported!

Hi,
I tried to test your promising package. Unfortunately, I always get the message:
Device with product ID 7 not yet supported! Please file an issue at ...
Do you have a fix, please? I'm using a Loupedeck CT on a Mac.
Thx and best regards,
Lars

Hm, that's strange. According to my research with Loupedeck CT, the USB device ID is 0003, not 0007, which is what the software is looking for.
I wonder if you have a newer device? When did you buy it?
Try manually instantiating the device if you know what type it is:
import { LoupedeckCT } from 'loupedeck'

const device = new LoupedeckCT({ path: '/dev/path/to/your/device', autoConnect: false })
await device.connect()
console.info('Connection successful!')

device.on('down', ({ id }) => {
    console.info(`Button pressed: ${id}`)
})

Let me know how that goes!

Hi,
indeed I bought the Loupedeck CT last week so maybe they changed the ID.
I will give t a try to manually connect it in the way you described above. However it would be great to have a more "general" method running to be flexible and independent of the current hardware environment.
Best regards,
Lars

Interesting, maybe there's something different about the device. I will make a note of that.
If all the functionality works as intended using the manual instantiation, then we could just add that deviceID as an alias, so it gets found correctly.

However it would be great to have a more "general" method running to be flexible and independent of the current hardware environment.

What do you mean exactly?

However it would be great to have a more "general" method running to be flexible and independent of the current hardware environment.

What do you mean exactly?

Well, it would be nice to get to work on my computer with my hardware by selecting the correct ID manually. But what if another user wants to use my tool where the ID is different? on his computer. This is what I was meaning with "general method". Run through all ports and try to find the correct one... To be honest I have no idea how this could look like or if this possible. Until today I've tried not to deal with hardware :-)
BTW: I thought the USB ports are available via /dev/ttyUSBxxx. But not on Mac. There are over 100 ttys, but none which could be clearly identified as the USBs. Do you have an advice please?
Cheers,
Lars

Well, it would be nice to get to work on my computer with my hardware by selecting the correct ID manually. But what if another user wants to use my tool where the ID is different? on his computer. This is what I was meaning with "general method".

I believe that's what the manual instantiation is for? Or maybe I don't understand well enough.

BTW: I thought the USB ports are available via /dev/ttyUSBxxx. But not on Mac. There are over 100 ttys, but none which could be clearly identified as the USBs. Do you have an advice please?

It should show up in there. On my Mac it shows up as /dev/tty.usbmodemxx. Try ls /dev/tty* | grep usb

ls /dev/tty* | grep usb

My mistake. I was looking for the USB tty but without having a device connected. Now I see it at /dev/tty.usbmodem101.

@latenitefilms that's great info, thank you!
 Does that mean that a V1 CT can also act like a V2 CT if it has newer firmware loaded? Or does the V1 CT refuse to load newer firmware?
It sounds like at the end of the day they are still identical devices even though they report different product ID's, and that their behavior depends more on the firmware version installed.
Is that a correct assumption?

From what I understand, if a Loupedeck CT or Live is running Firmware v0.2.5 or later, then it uses the Razer/single screen method. There's so many different hardware versions of the devices, and what firmware they are allowed to update to seems pretty varied. However this is just an assumption - I'm GUESSING that that if they do need to update firmware for the older devices, they'll just increment the older version numbers - i.e. v<IP_ADDRESS>.
The Loupedeck CT V2 (with the new product number) seems identical function wise as the older model, but I think they improved some of the insides.

That's super useful information! Thank you!
I'll try to get my hands on a newer CT at some point so I can troubleshoot and add support.

Do you have any solution found?

Do you have any solution found?
Meanwhile I tried to use the Serial connection but get:
Loupedeck Serial Error: Error: Resource busy, cannot open /dev/tty.usbmodem101

My fault: I had the Loupedeck software open and running. So the USB port was already open.


Maestro in GitHub Action times out "Maestro Android driver did not start up in time"

Hey hey,
I've got a GitHub Action, which runs on macos-12 and starts up an emulator to run tests on. The Action fails to start and ends up with this error:
java.util.concurrent.TimeoutException: Maestro Android driver did not start up in time
	at maestro.drivers.AndroidDriver.awaitLaunch(AndroidDriver.kt:138)
	at maestro.drivers.AndroidDriver.open(AndroidDriver.kt:102)
	at maestro.Maestro$Companion.android(Maestro.kt:543)
	at maestro.Maestro$Companion.android$default(Maestro.kt:536)
	at maestro.cli.session.MaestroSessionManager.createMaestro(MaestroSessionManager.kt:149)
	at maestro.cli.session.MaestroSessionManager.access$createMaestro(MaestroSessionManager.kt:46)
	at maestro.cli.session.MaestroSessionManager$newSession$session$1.invoke(MaestroSessionManager.kt:78)
	at maestro.cli.session.MaestroSessionManager$newSession$session$1.invoke(MaestroSessionManager.kt:77)
	at maestro.cli.db.KeyValueStore.withExclusiveLock(KeyValueStore.kt:37)
	at maestro.cli.session.SessionStore.withExclusiveLock(SessionStore.kt:74)
	at maestro.cli.session.MaestroSessionManager.newSession(MaestroSessionManager.kt:77)
	at maestro.cli.session.MaestroSessionManager.newSession$default(MaestroSessionManager.kt:54)
	at maestro.cli.command.TestCommand.call(TestCommand.kt:124)
	at maestro.cli.command.TestCommand.call(TestCommand.kt:42)
	at picocli.CommandLine.executeUserObject(CommandLine.java:1933)
	at picocli.CommandLine.access$1200(CommandLine.java:145)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
	at maestro.cli.DisableAnsiMixin$Companion.executionStrategy(DisableAnsiMixin.kt:22)
	at picocli.CommandLine.execute(CommandLine.java:2058)
	at maestro.cli.AppKt.main(App.kt:125)

I have noticed others already mentioned this, and there was a PR updating the timeout to 15 seconds (here: https://github.com/mobile-dev-inc/maestro/blob/main/maestro-client/src/main/java/maestro/drivers/AndroidDriver.kt#L781) but is there a way to pass this down as a ENV Variable possibly?
That way I could see if the issue is the wait time, or perhaps something else?
This is how the action looks like - Java and emulator runner.
    - name: Set up JDK
      uses: actions/setup-java@v3
      with:
        java-version: 11
        distribution: 'temurin'
    - name: Cold boot device, test
      uses: reactivecircus/android-emulator-runner@v2
      with:
        api-level: 33
        target: google_apis_playstore
        arch: x86_64
        profile: pixel_4
        avd-name: AVD
        force-avd-creation: false
        emulator-options: -no-snapshot-load -gpu swiftshader_indirect -no-window -noaudio -no-boot-anim -camera-back none
        script: |
          maestro test ./maestro/flows/Login.yaml;

@latorante Right now there isn't a way to customize the wait time, but if you want to contribute to Maestro, please feel free to open a PR and drive the solution.

Thanks @felipevolpone and @retyui . I will consider those options!

@theinterlocker7 did it work?

If you have access to large github runners, try linux 4core and install KVM.
See here

likely a duplicate of #1585


Approved paths and auth injection

This is a CORS proxy server that, this change allows injecting secret keys for specific hostnames and prevents access to non-allowed paths for these hostnames. For other hostnames, it allows broad access still.
The server.js file sets up the CORS proxy server using the cors-anywhere library. It reads the pathAllowlist.json and destinationAllowlist.txt files for allowed hostnames and paths. The pathAllowlist.json file contains allowed paths for hostnames, and the destinationAllowlist.txt file contains allowed destination hostnames.
The cors-anywhere.js file is the core implementation of the CORS proxy. It handles requests and checks whether the requested hostname and path are allowed. If allowed, it proxies the request to the target URL.

Thanks for the quick review, I believe I have addressed all your comments, if I've missed something please let me know! @CodeKrakken


i3: 4.16.1 -> 4.17

Motivation for this change
RELEASE-NOTES-4.17
Things done

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

[ ] NixOS
[ ] macOS
[x] 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 nix-review --run "nix-review wip"
[x] 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)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @modulistic, @fpletz

@GrahamcOfBorg test i3wm

Also built and tested locally :+1:

@sikmir thanks!


Update: Audio Indicator Enhanced

Update to fix some quirks arising on Zen v. 1.0.2-b.0
URL: https://github.com/Kaedriz/ZenMods/blob/main/AudioIndicatorEnhanced/AudioIndicatorEnhanced.css

Sorry if posted in the wrong place, docs don't exactly tell how to update theme, could be improved.


use flash_attn xentropy when available

uses xentropy module if installed
see memory improvement numbers in https://github.com/Dao-AILab/flash-attention/issues/475#issuecomment-1704571675

Maybe this and #526 should be added to the Dockerfile?


Uploading bits with incorrect field name results in confusing error

Upload endpoints give confusing errors when users attempt an upload without using bits as their param name.
For example, if I'm a user and I run:
curl -k "$CF_API_ENDPOINT/v3/packages/PACKAGE_GUID/upload" -F<EMAIL_ADDRESS>-H "Authorization: $(cf oauth-token)"

I get "Unknown field(s): 'borts_name', 'borts_path', Bits path An application zip file must be uploaded" as an error message.
This could be confusing as a user because they do not ever specify the *_path and *_name params as those are populated by nginx.
This applies to Buildpack and Package uploads on V3.
Found by @ewrenn8

Poked around at this a bit, and it seems possible that we can add something to nginx to reject the request if it doesn't have a bits form field.  We'd rather not change our message validation logic to special case the Unknown field to not trigger.


Update attrib_to_hide_files.yml

Adding dest

@jwindley-splunk : Thanks for creating a PR with the patch. Merging!


Fixing a Path Traversal Vulnerability

Hello,
It's possible that you don't use this code in production or the project is not maintained anymore, but we wanted to also increase security awareness and make the public codes more secure when they are being learnt by LLMs. also if it's only for development, securing the server increases security of the developer. Sorry if it bothers you.
We are a group of researchers from Leiden University, and found a vulnerability in your project.
Due to unsafe usage of path.join, this project is vulnerable to Local File Inclusion vulnerability.
You can read more about this vulnerability and its side effects here: https://cwe.mitre.org/data/definitions/22.html
The vulnerable code is at ./server.js file, which you can access online via: https://raw.githubusercontent.com/ricklon/the-gallery/HEAD/server.js
If any of path.join arguments is a relative path to the parent directory (../), the returned path can be outside the intended directory and this might lead to leakage of sensitive files.
Running the project:
We used node command to run the file directly: node ./server.js
Verified proof-of-concept(poc) to read passwd file(Path traversal vulnerability):
curl --path-as-is server_address:port/../../../../../../../../../../../../../../../../../../../etc/hostname

Denial of service vulnerability:
We also verified that this vulnerability can also lead to a Denial of Service attack, as it first loads the whole file content into memory, then tries to send the response.
Loading a large file (for example reading /dev/urandom/) can use all the memory within a few seconds and crash the server.
By default, running the vulnerable file opens a port in the network scope. Thus the Attack Vector (AV) of CVSS is: (N)etwork
Impact:
We've calculated the base score of the vulnerability as 9.1, with a severity of "Critical" using following the following vector_string: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
You can view the CVSS score online via: https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
This patch is generated with the help of LLMs, we verified it's working and doesn't break application functionality but still we recommend you verify that it correctly mitigates the bug and doesn't hurt the functionality of your software.
Credits: Jafar Akhoundali and Hamidreza Hamidi
Feedback:
We would like to know your opinion about the quality of this report by filling a really brief survey with 4 questions:
https://leidenuniv.eu.qualtrics.com/jfe/form/SV_4JkS2loxBXVDlum

Thank you for the report. I'll review and evaluate applying the patch.

FYI: The patch works only on unix-like systems.